CN1435969A - 实现支持虚拟局域网防火墙的方法 - Google Patents

实现支持虚拟局域网防火墙的方法 Download PDF

Info

Publication number
CN1435969A
CN1435969A CN 02100852 CN02100852A CN1435969A CN 1435969 A CN1435969 A CN 1435969A CN 02100852 CN02100852 CN 02100852 CN 02100852 A CN02100852 A CN 02100852A CN 1435969 A CN1435969 A CN 1435969A
Authority
CN
China
Prior art keywords
packet
frame head
vlan
frame
network
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
CN 02100852
Other languages
English (en)
Other versions
CN1301607C (zh
Inventor
宋斌
刘春梅
宋春雨
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
BEIJING LEADSEC TECHNOLOGY CO LTD
Original Assignee
Lenovo Beijing Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Lenovo Beijing Ltd filed Critical Lenovo Beijing Ltd
Priority to CNB021008523A priority Critical patent/CN1301607C/zh
Publication of CN1435969A publication Critical patent/CN1435969A/zh
Application granted granted Critical
Publication of CN1301607C publication Critical patent/CN1301607C/zh
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Images

Landscapes

  • Small-Scale Networks (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

一种实现支持虚拟局域网防火墙的方法,对到达虚拟局域网防火墙的数据包进行包过滤之前,根据该数据包的帧头信息分别处理,配合在链路层、网络层或应用层的数据包过滤;至少包括:对到达防火墙的数据包在链路层进行交换的方法,在网络层的处理方法以及应用层代理的方法;本发明分别针对VLAN环境分别在链路层、网络层和应用层支持VLAN,解决了目前防火墙对VLAN不支持或者支持的不彻底的问题;并能够在虚拟网络环境中完全实现防火墙的包过滤、网络地址传输NAT和代理功能。

Description

实现支持虚拟局域网防火墙的方法
技术领域
本发明涉及一种实现支持虚拟局域网防火墙的方法,特别是指一种针对虚拟局域网环境在链路层、网络层和应用层对其支持的方法,属于网络技术领域。
背景技术
通常,一个网际协议(Internet Protocol,简称IP)子网或者以太网协议(IPX)子网属于一个广播域,因此,网络中的广播域是根据物理网络来划分的。这样的网络结构无论从效率和安全性角度来考虑都有所欠缺。同时,由于网络中的站点被束缚在所处的物理网络中,而不能够根据需要将其划分至相应的逻辑子网,因此网络的结构缺乏灵活性。为解决这一问题,从而引发了虚拟局域网(Virtual Local Area Network,简称VLAN)的概念,所谓VLAN是指网络中的站点不拘泥于所处的物理位置,而可以根据需要灵活地加入不同的逻辑子网中的一种网络技术。
目前,在交换式以太网中,利用VLAN技术,可以将由交换机连接成的物理网络划分成多个逻辑子网。也就是说,一个VLAN中的站点所发送的广播数据包将仅转发至属于同一VLAN的站点。而在传统局域网中,由于物理网络和逻辑子网的对应关系,因此任何一个站点所发送的广播数据包都将被转发至网络中的所有站点。
在交换式以太网中,各站点可以分别属于不同的VLAN。构成VLAN的站点不拘泥于所处的物理位置,它们既可以挂接在同一个交换机中,也可以挂接在不同的交换机中。
在目前的防火墙产品并不能支持VLAN,一些做法是把防火墙本身作为一个VLAN虚设备;但是这样的做法又不支持网桥,因此限制了防火墙在VLAN环境中的应用。
发明内容
本发明的主要目的在于提出一种实现支持虚拟局域网防火墙的方法,其针对VLAN环境在链路层、网络层和应用层支持VLAN,解决目前防火墙对VLAN不支持或者支持的不彻底的问题;能够在虚拟网络环境中完全实现防火墙的包过滤、网络地址传输(Network Address Transmission,简称NAT)和代理功能。
本发明的目的是这样实现的:
一种实现支持虚拟局域网防火墙的方法,对到达虚拟局域网防火墙的数据包进行包过滤之前,根据该数据包的帧头信息分别处理,配合在链路层、网络层或应用层的数据包过滤;至少包括:对到达防火墙的数据包在链路层进行交换的方法,在网络层的处理方法以及应用层代理的方法。
当到达防火墙的数据包的目的媒体存取控制(Media Access Control,简称MAC)地址和源MAC地址处于同一网段时,则仅在链路层交换该数据包;链路层进行交换方法的具体步骤为:
步骤100:去掉数据包的帧头信息,然后进行数据包过滤;
步骤110:将过滤后的数据包发送。
如上所述的步骤100具体包括:
步骤101:判断数据帧的类型;如果该数据帧为一般以太网帧,则执行步骤102;如果该数据帧为虚拟局域网帧,则执行步骤103;
步骤102:按照一般IP报文以太网帧头的长度移动该以太网帧头指针,执行步骤104;
步骤103:按照虚拟局域网帧头的长度移动该以太网帧头指针;
步骤104:进行数据包过滤。
当到达防火墙的数据包的目的MAC地址和源MAC地址不处于同一网段时,则通过网络层处理该数据包,具体的处理方法为:
步骤200:接收从链路层传来的数据包,并去掉该数据包的帧头信息;
步骤210:记录VLAN标记和目的MAC地址信息;
步骤220:进行网络层接收处理后进行数据包过滤;
步骤230:网络层发送处理;
步骤240:重构该数据包的帧头信息,并加入VLAN标记;
步骤250:将数据包发送到链路层。
去掉该数据包的帧头信息的具体步骤包括:
步骤201:判断数据帧的类型;如果该数据帧为一般以太网帧,则执行步骤202;如果该数据帧为虚拟局域网帧,则执行步骤203;
步骤202:按照一般IP报文以太网帧头的长度移动该以太网帧头指针;
步骤203:按照虚拟局域网帧头的长度移动该以太网帧头指针。
网络层接收处理为:在网络的接收处理中,当数据包被送到上层协议处理时,首先去掉相应的数据帧帧头,然后获取数据包的类型信息值;具体的步骤如下:
如果该数据帧头为虚拟局域网帧头;
则按照虚拟局域网帧头的长度移动该以太网帧头指针;
取出该数据帧头的数据包类型信息字。
网络层发送处理包括:
步骤231:根据所记录的VLAN标记和目的MAC地址信息重新填写以太网的帧头,并将帧类型设为虚拟局域网数据帧类型;
步骤232:标记网桥的MAC地址与接口的映射表;
步骤233:分别用目的MAC地址和源MAC地址在该网桥MAC地址的哈希(hash)表中查找相应的VLAN标记;
步骤234:比较该两个VLAN标记是否相同;如相同,则将其填写到以太网帧头中;否则,将该数据包丢弃。
应用层代理的方法为:
应用代理接收网络层处理的虚拟局域网报文;
释放存储数据包帧头的缓冲区,并在代理发送该报文时重新分配一缓冲区,为以太网帧头预留出相应的长度;
对地址解析协议(Address Resolution Protocol,简称ARP)报文进行防火墙应答或防火墙请求处理;具体如下:
当防火墙收到ARP请求时,重新分配一缓冲区;当报文为虚拟局域网数据时,则多分配4个字节,并预留相应的数据帧长度。
当防火墙发出ARP请求时,将该数据包循环填入当前记录的所有VLAN号进行发送。
本发明针对VLAN环境分别在链路层、网络层和应用层支持VLAN,解决了目前防火墙对VLAN不支持或者支持的不彻底的问题;并能够在虚拟网络环境中完全实现防火墙的包过滤、网络地址传输NAT和代理功能。
以下结合附图及具体的实施例对本发明作进一步的详细说明。
附图说明
图1为本发明的总体结构示意图。
具体实施方式
参见图1,本发明在防火墙上的数据包有三种流向:链路层直接交换、网络层NAT和应用层代理;对到达虚拟局域网防火墙的数据包进行包过滤之前,根据该数据包的帧头信息分别处理,配合在链路层、网络层或应用层的数据包过滤;至少包括:对到达防火墙的数据包在链路层进行交换的方法,在网络层的处理方法以及应用层代理的方法。
在链路层交换时,即当到达防火墙的数据包的目的MAC地址和源MAC地址处于同一网段时,并不需要改变数据包以太网帧头的内容,而是直接将数据包的实际内容放入发送接口的队列中;在这种情况下不需要做多余的处理,只需正确地将移动指针指到IP包的头,以使状态包过滤能进行正确的过滤。
对于后两种数据包流向情况,即:当到达防火墙的数据包的目的MAC地址和源MAC地址不处于同一网段时,首先在内存中开设一缓冲区,数据包传到网络层时,将以太网的数据帧头剥离,在数据包上到IP层以前,将VLAN标记和目的MAC地址保存在缓冲区之中;而在该数据包要被发送前,先从内存中查找相应的VLAN标记,并在重构以太网数据帧头时将VLAN标记再填回到相应的以太网帧头中。
参见表1其表示了正常IP报文以太网帧头和VLAN报文以太网帧头的结构:
字节位置 0-5 6-11 12-13 14-15 16-17
正常IP报文以太网帧头
目的MAC地址 源MAC地址 帧类型
VLAN报文以太网帧头
目的MAC地址 源MAC地址 0X8100 优先级 协议类型
从上面的表1中可以看出:VLAN报文的以太网帧头比一般的IP报文的帧头多四个字节,帧类型为0x8100,并且第16-17字节所表示的协议类型就是一般IP报文中的第12-13字节的帧类型。
链路层交换对VLAN处理的具体方法为:
在链路层对VLAN要进行两个处理:第一、进行包过滤。第二、记录目的MAC地址和与之相关联的VLAN标记。
包过滤时必须将IP头指针移动到正确的位置,即:指针指向IP报头。
网桥在处理数据帧时要记录目的MAC地址和接口的对应关系,所以可将VLAN标记记录下来,增加一个VLAN标记的参数。
网络层NAT的VLAN的处理
在网络层做NAT时并不重新分配缓冲区,只是在原缓冲区中修改IP地址、MAC地址和协议类型等内容,所以只要正确地修改上述内容即可。
在网络层的接收处理中,当网桥处理完报文后,需要将这些报文送到上层协议处理时,需要正确的去掉以太网帧头并正确的给类型变量赋值,以使上层的协议能正确的处理该报文。
在网络层的发送处理中,要发送IP包时,重新填写以太网帧头。在这里将帧类型填写为0x8100。VLAN标记则在缓冲区中获取,分别用目的MAC地址和源MAC地址在网桥的MAC地址的哈希表中查找其相应的VLAN标记并比较这两个VLAN标记是否相同;如相同则将其填写到以太网帧头中,否则将该数据包丢弃。这样做的目的主要是防止不同VLAN之间的主机可以通讯。
应用代理的VLAN处理
在网络层正确处理VLAN的报文后,应用代理就可以收到该报文,处理完后将为其分配的一段内存缓冲区释放。代理发送报文时重新分配这个缓冲区,为该以太网帧头预留出正确的长度。
ARP报文的处理
对于ARP报文分为防火墙应答和防火墙请求两种情况。
其中,防火墙应答的处理为:当防火墙收到ARP请求时,重新分配一缓冲区,如果为VLAN时则为该缓冲区多分配4个字节,并预留正确的帧长度。
防火墙请求的处理为:当防火墙自己发出ARP请求时,会将目的MAC地址设置为0xffffff,因此并无精确的发送方向,所以必须将该数据包循环填入当前记录的所有的VLAN号进行发送。
最后所应说明的是:以上实施例仅用以说明而非限制本发明的技术方案,尽管参照上述实施例对本发明进行了详细说明,本领域的普通技术人员应当理解:依然可以对本发明进行修改或者等同替换,而不脱离本发明的精神和范围的任何修改或局部替换,其均应涵盖在本发明的权利要求范围当中。

Claims (10)

1、一种实现支持虚拟局域网防火墙的方法,其特征在于:对到达虚拟局域网防火墙的数据包进行包过滤之前,根据该数据包的帧头信息分别处理,配合在链路层、网络层或应用层的数据包过滤;至少包括:对到达防火墙的数据包在链路层进行交换的方法,在网络层的处理方法以及应用层代理的方法。
2、根据权利要求1所述的实现支持虚拟局域网防火墙的方法,其特征在于:当到达防火墙的数据包的目的MAC地址和源MAC地址处于同一网段时,则仅在链路层交换该数据包;链路层进行交换方法的具体步骤为:
步骤100:去掉数据包的帧头信息,然后进行数据包过滤;
步骤110:将过滤后的数据包放入发送接口的队列中进行发送。
3、根据权利要求2所述的实现支持虚拟局域网防火墙的方法,其特征在于:步骤100具体包括:
步骤101:判断数据帧的类型;如果该数据帧为一般以太网帧,则执行步骤102;如果该数据帧为虚拟局域网帧,则执行步骤103;
步骤102:按照一般IP报文以太网帧头的长度移动该以太网帧头指针,执行步骤104;
步骤103:按照虚拟局域网帧头的长度移动该以太网帧头指针;
步骤104:进行数据包过滤。
4、根据权利要求1所述的实现支持虚拟局域网防火墙的方法,其特征在于:当到达防火墙的数据包的目的MAC地址和源MAC地址不处于同一网段时,则通过网络层处理该数据包,具体的处理方法为:
步骤200:接收从链路层传来的数据包,分配一段用于存储数据包帧头的缓冲区,并去掉该数据包的帧头信息;
步骤210:记录VLAN标记和目的MAC地址信息;
步骤220:进行网络层接收处理后进行数据包过滤;
步骤230:网络层发送处理;
步骤240:重构该数据包的帧头信息,并加入VLAN标记;
步骤250:将数据包发送到链路层。
5、根据权利要求4所述的实现支持虚拟局域网防火墙的方法,其特征在于:去掉该数据包的帧头信息具体包括:
步骤201:判断数据帧的类型;如果该数据帧为一般以太网帧,则执行步骤202;如果该数据帧为虚拟局域网帧,则执行步骤203;
步骤202:按照一般IP报文以太网帧头的长度移动该以太网帧头指针;
步骤203:按照虚拟局域网帧头的长度移动该以太网帧头指针。
6、根据权利要求4所述的实现支持虚拟局域网防火墙的方法,其特征在于:网络层接收处理为:在网络的接收处理中,当数据包被送到上层协议处理时,首先去掉相应的数据帧帧头,然后获取数据包的类型信息值;具体的步骤如下:
如果该数据帧头为虚拟局域网帧头;
则按照虚拟局域网帧头的长度移动该以太网帧头指针;
取出该数据帧头的最后两个字节,以后一字节为高位字节,前一字节为低位字节,组合为数据包类型信息字。
7、根据权利要求4所述的实现支持虚拟局域网防火墙的方法,其特征在于:网络层发送处理包括:
步骤231:根据所记录的VLAN标记和目的MAC地址信息重新填写以太网的帧头,并将帧类型设为虚拟局域网数据帧类型;
步骤232:标记网桥的MAC地址与接口的映射表;
步骤233:分别用目的MAC地址和源MAC地址在该网桥MAC地址的hash表中查找相应的VLAN标记;
步骤234:比较该两个VLAN标记是否相同;如相同,则将其填写到以太网帧头中;否则,将该数据包丢弃。
8、根据权利要求1所述的实现支持虚拟局域网防火墙的方法,其特征在于:应用层代理的方法为:
应用代理接收网络层处理的虚拟局域网报文;
释放存储数据包帧头的缓冲区,并在代理发送该报文时重新分配一缓冲区,为以太网帧头预留出相应的长度;
对ARP报文进行防火墙应答或防火墙请求处理。
9、根据权利要求8所述的实现支持虚拟局域网防火墙的方法,其特征在于:ARP报文防火墙应答处理为:当防火墙收到ARP请求时,重新分配一缓冲区;当报文为虚拟局域网数据时,则多分配4个字节,并预留正确的帧长度即可。
10、根据权利要求8所述的实现支持虚拟局域网防火墙的方法,其特征在于:当防火墙发出ARP请求时,将该数据包循环填入当前记录的所有VLAN号进行发送。
CNB021008523A 2002-02-01 2002-02-01 实现支持虚拟局域网防火墙的方法 Expired - Fee Related CN1301607C (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CNB021008523A CN1301607C (zh) 2002-02-01 2002-02-01 实现支持虚拟局域网防火墙的方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CNB021008523A CN1301607C (zh) 2002-02-01 2002-02-01 实现支持虚拟局域网防火墙的方法

Publications (2)

Publication Number Publication Date
CN1435969A true CN1435969A (zh) 2003-08-13
CN1301607C CN1301607C (zh) 2007-02-21

Family

ID=27627302

Family Applications (1)

Application Number Title Priority Date Filing Date
CNB021008523A Expired - Fee Related CN1301607C (zh) 2002-02-01 2002-02-01 实现支持虚拟局域网防火墙的方法

Country Status (1)

Country Link
CN (1) CN1301607C (zh)

Cited By (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN100452790C (zh) * 2004-03-04 2009-01-14 上海交通大学 实现虚拟防火墙多用户教学实验的方法
CN100496038C (zh) * 2005-11-03 2009-06-03 上海交通大学 远程大规模多用户并发控制的防火墙实验***的实现方法
CN101160774B (zh) * 2005-07-30 2010-09-29 华为技术有限公司 基于下一代网络业务的防火墙控制***及方法
CN1972297B (zh) * 2005-11-22 2011-02-09 飞塔公司 用于基于策略的内容过滤的计算机***与方法
CN1938982B (zh) * 2004-04-07 2011-11-16 思科技术公司 通过认证因特网控制消息协议分组来防止网络攻击的方法和装置
CN102571738A (zh) * 2010-12-08 2012-07-11 中国电信股份有限公司 基于虚拟局域网交换的入侵防御方法与***
CN107155182A (zh) * 2016-03-03 2017-09-12 深圳市多尼卡电子技术有限公司 一种保护客舱WiFi网络安全的方法和装置
CN115150106A (zh) * 2021-03-16 2022-10-04 中国科学技术大学 一种物理机的安全防护方法及网络节点设备

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH07170279A (ja) * 1993-12-14 1995-07-04 Nec Eng Ltd Lanブリッジシステムにおけるユーザグループ 設定方式
JPH10150459A (ja) * 1996-11-19 1998-06-02 Hitachi Cable Ltd 仮想lan機能付きスイッチングハブ
US6226748B1 (en) * 1997-06-12 2001-05-01 Vpnet Technologies, Inc. Architecture for virtual private networks
US6167052A (en) * 1998-04-27 2000-12-26 Vpnx.Com, Inc. Establishing connectivity in networks
JP4126856B2 (ja) * 2000-07-07 2008-07-30 沖電気工業株式会社 Tag−vlanのid自動識別方法

Cited By (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN100452790C (zh) * 2004-03-04 2009-01-14 上海交通大学 实现虚拟防火墙多用户教学实验的方法
CN1938982B (zh) * 2004-04-07 2011-11-16 思科技术公司 通过认证因特网控制消息协议分组来防止网络攻击的方法和装置
CN101160774B (zh) * 2005-07-30 2010-09-29 华为技术有限公司 基于下一代网络业务的防火墙控制***及方法
CN100496038C (zh) * 2005-11-03 2009-06-03 上海交通大学 远程大规模多用户并发控制的防火墙实验***的实现方法
CN1972297B (zh) * 2005-11-22 2011-02-09 飞塔公司 用于基于策略的内容过滤的计算机***与方法
CN102571738A (zh) * 2010-12-08 2012-07-11 中国电信股份有限公司 基于虚拟局域网交换的入侵防御方法与***
CN102571738B (zh) * 2010-12-08 2015-09-16 中国电信股份有限公司 基于虚拟局域网交换的入侵防御方法与***
CN107155182A (zh) * 2016-03-03 2017-09-12 深圳市多尼卡电子技术有限公司 一种保护客舱WiFi网络安全的方法和装置
CN107155182B (zh) * 2016-03-03 2020-12-11 深圳市多尼卡电子技术有限公司 一种保护客舱WiFi网络安全的方法和装置
CN115150106A (zh) * 2021-03-16 2022-10-04 中国科学技术大学 一种物理机的安全防护方法及网络节点设备

Also Published As

Publication number Publication date
CN1301607C (zh) 2007-02-21

Similar Documents

Publication Publication Date Title
US6747979B1 (en) Method and apparatus for bridging between networks
CN101227407B (zh) 基于二层隧道协议的报文发送方法及装置
US9008084B2 (en) Method of IPv6 at data center network with VM mobility using graceful address migration
CN1863133A (zh) 报文转发方法及装置
CN1879388A (zh) 双模式防火墙
EP2767047A1 (en) Distributed ipv6 neighbor discovery for large datacenter switching systems
CN1859304A (zh) 一种邻居发现的实现方法
CN1791065A (zh) 一种接入虚拟局域网的方法
CN106713144A (zh) 一种报文出口信息的读写方法及转发引擎
CN101043430A (zh) 一种设备之间网络地址转换的方法
CN1856967A (zh) 与网络有关的设定的自动切换
CN1301607C (zh) 实现支持虚拟局域网防火墙的方法
CN1691629A (zh) 在基于弹性分组环的网络中实现二层设备互连的方法
CN1668030A (zh) 对于通信网络中的多协议应用,处理字段帧的***与方法
CN1180581C (zh) 一种无线虚拟专用网的隧道封装方法
CN1777148A (zh) 一种路由表下一跳ip地址到mac地址解析方法
CN101039234A (zh) 一种分布式dhcp中继的实现方法
CN102143250B (zh) 非对称数字用户环线的IPv4/IPv6翻译和隧道组合通信方法
CN1614942A (zh) 网络通信中解决ip地址冲突的方法
CN1677950A (zh) 基于虚拟局域网的数据交换方法
CN1960316A (zh) 分片报文的网络地址转换方法
CN1897596A (zh) 在以太网应用中使用虚拟媒体访问控制地址的方法和***
CN101043392A (zh) 一种WiMAX网络中转发IP报文的装置及基站设备
CN1185831C (zh) 一种在宽带城域网中管理用户的方法
CN1914887A (zh) 至网际协议第六版通信网络设备的前缀自动分配

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
ASS Succession or assignment of patent right

Owner name: LEGEND WANGYU TECHNOLOGY (BEIJING) LTD.

Free format text: FORMER OWNER: LIANXIANG (BEIJING) CO. LTD.

Effective date: 20050218

C41 Transfer of patent application or patent right or utility model
TA01 Transfer of patent application right

Effective date of registration: 20050218

Address after: 100086, room 801-810, CLP information building, 6 South Avenue, Beijing, Haidian District, Zhongguancun

Applicant after: Lenovo Wangyu Technology (Beijing) Ltd.

Address before: 100085, No. 6, Pioneer Road, Haidian District information industry base, Beijing

Applicant before: Lenovo (Beijing) Co., Ltd.

C14 Grant of patent or utility model
GR01 Patent grant
C56 Change in the name or address of the patentee

Owner name: BEIJING LEADSEC INFORMATION TECHNOLOGY CO., LTD.

Free format text: FORMER NAME: LEADSEC TECHNOLOGY (BEIJING) CO., LTD.

CP01 Change in the name or title of a patent holder

Address after: 100086, room 801-810, CLP information building, 6 South Avenue, Beijing, Haidian District, Zhongguancun

Patentee after: Beijing Leadsec Technology Co.,Ltd.

Address before: 100086, room 801-810, CLP information building, 6 South Avenue, Beijing, Haidian District, Zhongguancun

Patentee before: Lenovo Wangyu Technology (Beijing) Ltd.

CF01 Termination of patent right due to non-payment of annual fee

Granted publication date: 20070221

Termination date: 20150201

EXPY Termination of patent right or utility model