防火墙芯片内部连接表的老化方法

文档序号:7652108阅读:358来源:国知局
专利名称:防火墙芯片内部连接表的老化方法
技术领域
本发明属于网络技术领域,涉及网络安全和组网技术,具体涉及一种维护防火墙芯片内 部连接表的方法。
背景技术
随着网络技术的不断发展,人们对网络的响应速度、数据包吞吐量和网络安全的要求越 来越高,需要延迟小、流量大的安全防火墙。这就需要芯片来实现硬件加速提高放防火墙的 性能。目前,以太网络(Ethernet)上绝大部分数据包都是传输控制协议包(TCP包)和用户 数据报协议包(UDP包)。这些数据包是按照连接来分组的,同一组TCP包或UDP包具有相 同数据包5元组,即源IP、目的IP、源端口、目的端口、协议号。因此,CPU需要对这样的 数据包组头一个或几个数据包进行分析和规则匹配,得到该数据包组的匹配结果,建立一个 连接规则。其后的同一组的其他数据包只需按照前面的连接规则处理就可以了,因此这些数 据包在芯片内部就可以实现丢弃或转发,不必转送到CPU处理。这就要求芯片对通过的数据 包能够快速地査找到相应的连接规则,并根据连接规则对数据包进行必要的修改和转发。
目前,在防火墙芯片实现访问连接表的方法说明如下
首先,对于未建立连接规则的TCP包和UDP包,芯片找不到连接规则,因此会将这些 数据包转送到CPU, CPU对这样的数据包进行分析和规则匹配,得到该数据包组的匹配结果, 然后建立一个用于匹配该组数据包的连接规则。CPU然后将这个数据包回送到芯片中,回送 前CPU也可以对数据包进行必要的修改,同时将新建立的连接规则写入到芯片内的连接表 中。芯片按照CPU的控制指令将数据转发出去。
对于之后通过防火墙芯片的这组数据包的其他后续数据包,防火墙芯片根据数据包的5 元组采用HASH算法找到相对应的连接规则,然后根据连接规则修改数据包并找到转发的网 络出口,直接转发该数据包,不再上送到CPU处理。
在Ethernet网络中,防火墙需要同时保存大量的连接规则,例如,对于一个吞吐量为2.5G 的防火墙,同时保持连接的连接规则通常有150万左右。这些连接表项分别对应于各个连接, 当该连接上一段时间内没有数据包通过时,就认为这个连接已经关闭,需要回收表项,以便 让新的连接使用。
3由于每个连接建立的时间不一样,因此判断超时与否的起点也不同,对于如此大数量的 连接表,让芯片为每一个连接表项维护一个定时器是不可能的。而如果让CPU去维护定时器, 由于表项建立好之后,报文不送CPU,这样CPU并不知道该连接上是否有数据通过,容易误 认为该连接己经超时,而错误地删掉该表项。

发明内容
本发明的目的在于解决现有的防火墙芯片连接表维护所存在的问题,提出防火墙芯片内 部连接表的一种老化方法,该方法可以实现连接表项的合理删除。
为实现上述目的,本发明提出由防火墙芯片和CPU协同完成连接表的老化工作,具体步 骤如下
(1) 将连接表中各表项的"access位"作为访问标记位;防火墙芯片收到报文后,根据 报文的五元组査找连接表,如果命中连接表中的某表项,就在该表项的"access位"置一访 问标记;
(2) CPU对连接表的每个表项维护一个定时器,定时检查各表项的"access位";如果 "access位"存在所述访问标记,则清除该表项"access位"的访问标记;如果"access位"
为不存在所述访问标记,则删除该连接表项。
本发明方法可以通过设置CPU检査连接表周期的长短,调整防火墙芯片内容连接表的老 化速度,以适应系统服务需求。
本发明让CPU维护各表项的定时器,解决了由于每个连接建立的时间不一样而导致的判 断超时与否的起点不同的问题;本发明为连接表中各表项建立了访问标记位供CPU检查,解 决了由于已建表项的报文不送CPU而导致的CPU不知道某连接上是否有数据通过的问题, 通过防火墙芯片和CPU的协同工作,实现了防火墙芯片内连接表的合理老化,避免了误删除。


图1是本发明防火墙芯片的操作流程图。 图2是本发明CPU的操作流程图。
具体实施例方式
以下将结合附图和具体的实施例对本发明方法作进一步的说明。 本发明提出由防火墙芯片和CPU协同完成连接表的老化方法参见图1和图2。 本发明将连接表中各表项的"access位"作为访问标记位。如图1所示,防火墙芯片收 到报文后,根据报文的源地址、目的地址、源端口、目的端口、协议号五元组查找连接表, 如果命中连接表中的某表项,就在该表项的"access位"置一访问标记。作为具体实现,可以将"access位"置1作为访问标记,也可以将"access位"置0作为访问标记。如果没有命 中的连接表项,则说明连接表中还没有建立起相应的连接,应当交由CPU建立新连接后写入 连接表,但是建立连接表项不属于本发明内容。
CPU对连接表的每个表项维护一个定时器。如图2所示,CPU定时检查各表项的"access 位",在以将"access位"置1作为访问标记的情况下,如果"access位"为1,则该表项"access 位"清零,如果"access位"为0,则删除该连接表项;相反,在以将"access位"置0作为 访问标记的情况下,如果"access位"为0,则将该表项"access位"置1,如果"access位" 为l,则删除该连接表项。
以上所述仅为本发明的示意性实施例而已,并不用于限制本发明,对于本领域的技术人 员来说,本发明可以有各种更改和变化。凡在本发明的精神和原则之内,所作的任何修改、 等同替换、改进等,均应包含在本发明的保护范围之内。
权利要求
1、防火墙芯片内部连接表的老化方法,其特征在于,由防火墙芯片和CPU协同完成连接表的老化工作,具体步骤如下(1)将连接表中各表项的“access位”作为访问标记位;防火墙芯片收到报文后,根据报文的五元组查找连接表,如果命中连接表中的某表项,就在该表项的“access位”置一访问标记;(2)CPU对连接表的每个表项维护一个定时器,定时检查各表项的“access位”;如果“access位”存在所述访问标记,则清除该表项“access位”的访问标记;如果“access位”为不存在所述访问标记,则删除该连接表项。
2、 根据权利要求l所述的防火墙芯片内部连接表的老化方法,其特征在于,所述访问标 记为将"access位"置1; CPU定时检查各表项的"access位"时,如果"access位"为1, 则将该表项"access位"清零。
3、 根据权利要求l所述的防火墙芯片内部连接表的老化方法,其特征在于,所述访问标 记为将"access位"置0; CPU定时检查各表项的"access位"时,如果"access位"为0, 则将该表项"access位"置1。
4、 根据权利要求1至3中任意一项所述的防火墙芯片内部连接表的老化方法,其特征在 于,CPU检查连接表周期的长短,可以根据系统对防火墙芯片内容连接表的老化速度需求进 行调整。
全文摘要
本发明公开了防火墙芯片内部连接表的一种老化方法,将连接表中各表项的“access位”作为访问标记位,防火墙芯片收到报文后,根据报文的五元组查找连接表,如果命中连接表中的某表项,就在该表项的“access位”置一访问标记;CPU对连接表的每个表项维护一个定时器,定时检查各表项的“access位”;如果“access位”存在所述访问标记,则清除该表项“access位”的访问标记;如果“access位”为不存在所述访问标记,则删除该连接表项。本发明让CPU维护各表项的定时器,为连接表中各表项建立了访问标记位供CPU检查,通过防火墙芯片和CPU的协同工作,实现了防火墙芯片内连接表的合理老化。
文档编号H04L12/56GK101296071SQ200710098398
公开日2008年10月29日 申请日期2007年4月25日 优先权日2007年4月25日
发明者万鹤林, 涛 曾, 方 李, 沈利军, 王万亭, 邹希良 申请人:北京天融信网络安全技术有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1