[发明专利]一种报文转发方法、装置及网络设备有效
申请号: | 201010136616.3 | 申请日: | 2010-03-29 |
公开(公告)号: | CN101834783A | 公开(公告)日: | 2010-09-15 |
发明(设计)人: | 黄凯明 | 申请(专利权)人: | 北京星网锐捷网络技术有限公司 |
主分类号: | H04L12/56 | 分类号: | H04L12/56;H04L29/06 |
代理公司: | 北京同达信恒知识产权代理有限公司 11291 | 代理人: | 郭润湘 |
地址: | 100036 北京市海*** | 国省代码: | 北京;11 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 报文 转发 方法 装置 网络设备 | ||
技术领域
本发明涉及网络数据通讯领域,尤其涉及一种报文转发方法、装置及网络设备。
背景技术
防火墙的报文过滤功能并非仅仅以某个单个报文为目标,根据规则允许或阻止其通过;而是跟踪完整的数据交互过程,在一定的上下文环境中,审核数据交互过程双方每个往来报文的合法性。
防火墙一般通过“流”来记录数据交互过程的上下文环境。
以传输控制协议(Transmission Control Protocol,TCP)报文为例:同步(SYN,synchronize)报文是一次数据交互的开始,防火墙收到SYN报文后,创建一个流记录。在这种状况下,只允许SYN报文的响应端响应一个SYNACK报文,或SYN报文的发起端重发SYN报文;如果收到SYN报文发起端的非SYN报文,或收到SYN报文响应端的非同步确认(SYNACK)报文,都认为非法。如果防火墙收到一个非SYN报文,并且没有任何一条“流”记录与该报文匹配,也就是说不存在该非SYN报文的上下文环境,则认为该非SYN报文非法。其他类型报文,如结束(FIN)报文、确认(ACK)报文等,也是通过上下文环境,决定取舍。
目前,防火墙以“链表数组”的形式组织和管理流,这个“链表数组”通常称为“流表”。
还是以TCP报文为例,防火墙一般通过五元组标识一个TCP流,这五元组由源IP、目的IP、协议类型,源端口和目的端口五部分信息组成。
每收到一个TCP报文,防火墙从报头提取出源IP、目的IP、协议类型,源端口和目的端口,将五元组经过哈希(HASH)运算,得到的HASH结果(假设为X),作为“流表”的索引。
在“流表”的索引值为X位置上,是一条“流”记录链表,反过来说,该链表的每个节点是一个“流”记录,每个“流”的五元组的HASH运算结果都等于X。
防火墙把该TCP报文的五元组与链表上的每个节点所记录的五元组逐个匹配,如果能够匹配表示该报文所属的“流”已存在;否则,防火墙在确定该TCP报文符合创建新连接的条件后,将创建一个“流”,添加到在“流表”的索引值为X位置的“流”链表上,以记录该报文所属的连接的上下文环境。导致防火墙新创建一个“流”记录的报文,通常称为“首报文”。
透明模式的防火墙类似网桥,防火墙的各个接口成对配成“桥组”,每个桥组有且只有两个成员接口,网络报文从一个接口(即接收接口,以下称“入接口”)被防火墙接收,如果通过防火墙审查,允许转发,则该报文一定从与“入接口”同属一个桥组的另一个接口(即发送出口,以下称“出接口”)离开防火墙;反之,如果报文从“出接口”进,如果没有被防火墙甄别为非法而被丢弃的话,则一定会从“入接口”出。
创建流记录的过程中,透明模式防火墙需要在桥组表中找到接收“首报文”的“入接口”所属的桥组,接着获得与“入接口”同属于一个桥组的“出接口”,“入接口”与流的发起端(也就是“首报文”的发起端)对应,“出接口”与流的响应端(也就是“首报文”的响应端)对应,保存在流记录中。
当收到属于该流的后续报文,防火墙确认报文合法后,如果报文来源是“发起端”,则从“出接口”离开防火墙;如果报文来源是“响应端”,则从“入接口”离开防火墙。
通过把“入接口”和“出接口”与发起端和响应端对应,记录在“流”中,流创建后,防火墙无需再为了确定报文离开防火墙的路径,而查询桥组表,减少这项查询操作,有助于提高报文转发率。
发明人发现,现有技术中,透明模式的防火墙桥接的两个物理子网经该防火墙转发报文时,如果不论报文发送的方向如何,报文的内容一样,换言之,报文中包含的五元组一样,但是从该防火墙桥接的两个接口分别接收的,就会引发错误转发的问题,下面举一个实例进行说明:
假设透明模式防火墙桥接两个物理子网(子网Net_A和子网Net_B),子网Net_A接在防火墙的接口Intf_A上,子网Net_B接在防火墙的接口Intf_B上。
两个子网的PC机的IP都是动态配置的,网络中唯一的一台动态主机配置协议(DHCP,Dynamic Host Configuration Protocol)服务器放置在子网Net_A。
位于子网Net_A的主机PC_A在启动的时候发出DHCP-discover广播报文(源IP地址为0.0.0.0、目的IP地址为255.255.255.255、源端口为68、目的端口为67、协议类型为UDP协议)PKT_1,请求DHCP服务器为其分配IP,因为PKT_1是广播报文,所以子网Net_A的所有设备,包括防火墙在内,都会收到PKT_1。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于北京星网锐捷网络技术有限公司,未经北京星网锐捷网络技术有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201010136616.3/2.html,转载请声明来源钻瓜专利网。
- 上一篇:一种组播报文转发方法
- 下一篇:一种基于IPS设备的攻击检测方法及IPS设备