基于桥的二层交换式防火墙包过滤的方法

文档序号:6479189阅读:1240来源:国知局
专利名称:基于桥的二层交换式防火墙包过滤的方法
技术领域
本发明涉及一种防火墙包过滤的方法,尤其是一种基于桥在链路层和网络层之间实现防火墙包过滤的方法。
本发明的目的是这样实现的一种基于桥的二层交换式防火墙包过滤的方法它至少包括如下步骤步骤1在网桥中设置转发数据库,网桥端口设置为混杂模式;步骤2捕获连接局域网端口上流经的数据包,并将介质访问控制(MAC)地址和端口对应关系的信息记录在转发数据库中或更新上述信息;步骤3在网桥内部的包转发过程中,于链路层对数据包进行包过滤检查,决定数据包被丢弃或转发或提交上层协议(IP)层处理。
网桥内部的数据包在转发之前,将和用户定义的安全规则进行匹配检查,用户定义的安全规则主要针对IP层的IP地址信息和传输层的协议类型、端口信息等,所有的数据包将在根据检查结果决定被丢弃、转发或是提交上层协议(IP)层处理。
再有,进入网桥的数据包将被提取出其所包含的IP报文的IP包头信息和传输层包头信息进行安全策略检查,决定数据包是拒绝还是接收(这个检查过程并不改变原以太网帧的MAC地址信息),如是拒绝则将数据包丢弃;如是转发,则将数据包中的以太网帧的目标MAC地址与转发数据库的MAC地址进行匹配;如果数据库给出了目标MAC地址的对应端口,并且检查端口信息为转发状态,则数据包被路由到该端口,完成包过滤。
具体地安全策略检查数据包网络层包头的源IP地址、目的IP地址;传输层包头的源端口、目的端口信息的检查。
防火墙在完成包过滤检查的同时,也完全兼容IEEE802.1d以太网桥协议,防火墙内部的以太网帧在包过滤检查完毕后,最终将向哪个端口转发决定于以802.1d协议为基础实现并维护的转发数据库信息和/或网桥端口状态信息。
根据上述技术方案分析可知,本发明基于桥的防火墙在链路层和网络层之间实现了包过滤,在完全支持目前的主流网络交换机生成树协议(802.1d)网桥的基础上,改变了防火墙的调用接口。不仅使防火墙可以灵活地适合各类用户的复杂网络,同时方便了用户,而且还使防火墙仍然具有良好的包过滤功能。
图3为本发明链路层到IP层的包过滤数据流向示意图;图4为本发明桥数据包处理模块流程图。
本发明的基础就是利用网桥实现报文转发,但是在转发过程中,又可以由用户定义安全规则,即完全在链路层实现防火墙的包过滤功能。


图1、2所示,本发明的防火墙在工作时所有的以太网口被绑定为一个虚拟的网桥设备,端口1和端口2为交换式防火墙的两个以太网端口。以太端口被设置为混杂模式,该端口相连的局域网上的所有数据均将被接收、进而被进一步处理。
用网桥方式实现的防火墙对接收到的数据包的处理有赖于两个条件网桥所维护的转发数据库(或可称之为网桥的路由信息库)和网桥的每个物理端口(即网口)的可用状态。
网桥的转发数据库的形成和维护是一个动态的学习与记录过程,当某一以太网帧初次被转发时网桥会尝试将其通过所有的物理端口向外转发,若通过某一端口转发出去后能正常达到其目标主机,则该次转发的路由信息(包括目的MAC地址、转发所用的端口)将会被记入转发数据库。
网桥的端口状态可能是转发或是阻塞状态,参见图3,当出现环路或其它非树状拓扑结构时,数据包将在传输过程中形成死循环。802.1d网桥利用stp生成树算法,会与其它的网桥设备会互发BPDU(Bridge ProtocolData Unit) 包来维护整个通过网桥拓扑,确定每个网桥设备及其端口的可用状态,对于如图3的情况,网桥的其中一个(或多个)端口将被设为阻断状态,而决不会造成网络的回路。
进入网桥的数据包在转发时防火墙将会将它的目标MAC地址与网桥的转发数据库中的MAC地址进行匹配,如果数据库已经记录了该MAC地址的对应端口,并且该端口处于转发状态,则该数据包就可以由该端口转发出去,这个过程完全在链路层实现。
以上基本上是IEEE802.1d以太网桥对数据包的标准处理过程。本发明的不同之处就在于在标准协议的基础之上添加了防火墙的接口。本发明主要处理步骤是桥对数据包的处理,包括桥数据包处理、桥广播、桥转发、桥本地处理、桥安全策略检查等。其中桥数据包处理模块是网桥的核心处理步骤,直接决定数据包是在链路层被转发、丢弃还是由上层协议来处理。如图4所示,具体地,首先判断桥是否为转发状态,如果不是,则丢弃包;如果是,则在散列表中查找目的以太网地址,找到后并检查不是本地处理,则进入桥安全策略检查.安全策略检查数据包网络层包头的源IP地址、目的IP地址;传输层包头的源端口、目的端口等信息的检查。在此处进行数据包过滤,根据过滤的结果,将数据做丢弃、转发或送上层IP层处理;如果在散列表中查找目的以太网地址,找到后并检查是本地处理,则直接进行本地处理后返回;若在散列表中查找目的以太网地址,没有找到目标以太网地址,则将数据包送桥广播处理后返回。
在本发明的使用过程中,用户可以自定义针对于IP地址、端口、协议类型的安全策略。当一个数据包在将被转发时,将直接在链路层检查每个数据包所包含的IP报文的有关(IP地址、端口、协议等)信息,并根据用户定义的规则最终确定数据包被转发还是被丢弃或是交给上层协议(IP层)处理。
本发明是在链路层对数据包进行安全策略检查,决定该数据包是被丢弃、转发或交给上层协议(IP层)处理。包过滤检查仅仅发生于网桥内部的包转发过程中,这是和路由方式下的包过滤有很大的不同的。因此,是在网桥的转发处理过程中实现了防火墙功能,同时仍然保持了802.1d生成树网桥的特点,它不仅保证了通过网桥的数据转发,而且能防止通过多端口网桥实现互联的局域网环路问题。所以,可以安全地应用于各种复杂的网络环境。
以上实施例仅用以说明本发明而非限制,尽管参照以上较佳实施例对本发明进行了详细说明,本领域的普通技术人员应当理解,可以对本发明进行修改、变形或者等同替换,而不脱离本发明的精神和范围,其均应涵盖在本发明的权利要求范围当中。
权利要求
1.一种基于桥的二层交换式防火墙包过滤的方法,其特征在于它至少包括如下步骤步骤1在网桥中设置转发数据库,网桥端口设置为混杂模式;步骤2捕获连接局域网端口上流经的数据包,并将介质访问控制(MAC)地址和端口对应关系的信息记录在转发数据库中或更新上述信息;步骤3在网桥内部的包转发过程中,于链路层对数据包进行包过滤检查,决定数据包被丢弃或转发或提交上层协议(IP)层处理。
2.根据权利要求1所述的基于桥的二层交换式防火墙包过滤的方法,其特征在于网桥内部的数据包在转发之前,将和用户定义的安全规则进行匹配检查,用户定义的安全规则主要针对IP层的IP地址信息和传输层的协议类型、端口信息等,所有的数据包将在根据检查结果决定被丢弃、转发或是提交上层协议(IP)层处理。
3.根据权利要求1所述的基于桥的二层交换式防火墙包过滤的方法,其特征在于进入网桥的数据包将被提取出其所包含的IP报文的IP包头信息和传输层包头信息进行安全策略检查,决定数据包是拒绝还是接收(这个检查过程并不改变原以太网帧的MAC地址信息),如是拒绝则将数据包丢弃;如是转发,则将数据包中的以太网帧的目标MAC地址与转发数据库的MAC地址进行匹配;如果数据库给出了目标MAC地址的对应端口,并且检查端口信息为转发状态,则数据包被路由到该端口,完成包过滤。
4.根据权利要求3所述的基于桥的二层交换式防火墙包过滤的方法,其特征在于安全策略检查数据包网络层包头的源IP地址、目的IP地址;传输层包头的源端口、目的端口信息的检查。
5.根据权利要求1所述的基于桥的二层交换式防火墙包过滤的方法,其特征在于防火墙在完成包过滤检查的同时,也完全兼容IEEE802.1d以太网桥协议,防火墙内部的以太网帧在包过滤检查完毕后、最终将向哪个端口转发决定于以802.1d协议为基础实现并维护的转发数据库信息和/或网桥端口状态信息。
全文摘要
一种基于桥的二层交换式防火墙包过滤的方法,它至少包括如下步骤在网桥中设置转发数据库,网桥端口设置为混杂模式;捕获连接局域网端口上流经的数据包,并将介质访问控制(MAC)地址和端口对应关系的信息记录在转发数据库中或更新上述信息;在网桥内部的包转发过程中,于链路层对数据包进行包过滤检查,决定数据包被丢弃或转发或提交上层协议(IP)层处理。本发明防火墙不在网络层处理并转发IP报文,因此该防火墙加入到用户的网络和路由器之间时,用户主机不必修改原来指向的网关设置,路由器也不必增加路由设置,简化用户使用操作过程。
文档编号G06F12/16GK1437114SQ0210065
公开日2003年8月20日 申请日期2002年2月8日 优先权日2002年2月8日
发明者宋斌, 高红, 李江力 申请人:联想(北京)有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1