一种数据包的转发方法和装置的制作方法

文档序号:7718285阅读:84来源:国知局
专利名称:一种数据包的转发方法和装置的制作方法
技术领域
本发明涉及防火墙技术领域,特别是涉及一种数据包的转发方法和装置。
背景技术
目前的防火墙系统都是基于状态检测技术的。防火墙在收到包之后匹配访问策 略,如果策略允许通过,就建立session (连接)转发出去,并把当前的policy—age (策略 年龄)记录到这个session中,其中session由源地址、源端口 、目的地址、目的端口 、协议 号确定,policy—age是用来记录访问策略修改次数的全局变量。防火墙在收到后续的属于 这个session的包后,比较一下session中记录的策略年龄和policy_age,如果相等就直 接转发出去,不需要再匹配访问策略等工作;如果不相等就重新匹配访问策略、查找路由和 ARP(AddressResolve Protocol,地址解析协议)转发出去。目前的技术都是针对访问策略、 路由和ARP的修改来增加policy—age,这样当访问策略、路由和ARP有任一修改后,都需要 把所有的session重新走一遍匹配访问策略、查找路由和ARP等工作。这在一般稳定的网 络环境中是不会有问题的,因为用户不会经常修改访问策略和路由,即使是在有动态路由 协议的网络环境中,路由协商好后路由也不会再变化。而且当访问策略和路由发生变化时, 所有的session的确需要重新匹配访问策略和查找路由。但是当ARP变化后,只有和这个 ARP相关的session才需要重新查找ARP ;其他session的ARP没有变化,不需要重新匹配 访问策略和查找路由。 但是,当访问策略、路由和ARP变化时,转发系统会把session中记录的策略年龄 和全局的policy—age来比较,如果不相等,就重新匹配访问策略、查找路由和ARP。这样在 ARP变化频繁的网络环境中,防火墙转发系统就会频繁震荡,造成系统的整体性能下降。

发明内容
本发明要解决的问题是提供一种数据包的转发方法和装置,以克服现有技术中在 ARP变化频繁的网络环境中,防火墙转发系统会频繁震荡的缺陷。 为达到上述目的,本发明的技术方案提供一种数据包的转发方法,所述方法包括 以下步骤A、接收数据包;B、当与所述数据包对应的连接中记录的策略年龄等于全局的策 略年龄,且所述连接中记录的邻居年龄不等于全局的邻居年龄时,判断所述连接中记录的 邻居信息是否修改过,如果是,则转步骤C,否则转步骤D ;C、匹配所述数据包的访问策略、 建立连接、查找路由和地址解析协议并记录到所述连接中,将全局策略年龄和邻居年龄的 值记录到所述连接中;D、转发所述数据包。 进一步,在所述步骤B中,具体包括B1、判断所述连接中记录的策略年龄是否等 于全局的策略年龄,如果是,则转步骤B2,否则转步骤C ;B2、判断所述连接中记录的邻居年 龄是否等于全局的邻居年龄,如果是,则转步骤D,否则转步骤B3 ;B3、判断所述连接中记录 的邻居信息是否修改过,如果是,则转步骤C,否则转步骤D。 进一步,在步骤A与步骤B之间,还包括E、查找是否存在与所述数据包对应的连接,如果是,则转步骤B,否则转步骤C。
本发明的技术方案还提供一种数据包的转发装置,所述装置包括数据包接收单
元,用于接收数据包;连接检测单元,用于当与所述数据包对应的连接中记录的策略年龄等
于全局的策略年龄,且所述连接中记录的邻居年龄不等于全局的邻居年龄时,判断所述连
接中记录的邻居信息是否修改过;连接建立单元,用于根据连接检测单元的检测结果,匹配
所述数据包的访问策略、建立连接、查找路由和地址解析协议并记录到所述连接中,将全局
策略年龄和邻居年龄的值记录到所述连接中;数据包转发单元,用于转发所述数据包。 进一步,所述连接检测单元包括策略年龄检测子单元,用于判断所述连接中记录
的策略年龄是否等于全局的策略年龄;邻居年龄检测子单元,用于判断所述连接中记录的
邻居年龄是否等于全局的邻居年龄;邻居信息修改检测子单元,用于判断所述连接中记录
的邻居信息是否修改过。 进一步,所述装置还包括连接查找单元,用于根据所述数据包接收单元接收到的
数据包,查找与所述数据包对应的连接。 与现有技术相比,本发明有益效果如下 当与接收到的数据包对应的连接中记录的策略年龄等于全局的策略年龄,且所述 连接中记录的邻居年龄不等于全局的邻居年龄时,本发明判断所述连接中记录的邻居信息 是否修改过,如果没有被修改过,就直接转发出去,不用重新匹配访问策略、查找路由/ARP 等工作,从而消除因为网络环境中的ARP变化引起的防火墙转发系统震荡,使得防火墙转 发系统性能更加稳定、可靠。


图1是本发明实施例的一种数据包的转发方法的流程图;
图2是本发明实施例的一种数据包的转发装置的结构示意图。
具体实施例方式
下面结合附图和实施例,对本发明的具体实施方式
作进一步详细描述。以下实施 例用于说明本发明,但不用来限制本发明的范围。 本发明实施例的一种数据包的转发方法如图l所示,防火墙转发系统收到数据 包,如果查找到session就比较session中记录的ts_policy_age/ts_neigh_age禾口全局的 policy—age/neigh—age,如果二者都不相等,就判断session中记录的ts_neigh信息是否
被修改过,如果没有被修改过,就直接转发出去。参照图l,本实施例包括以下步骤
步骤sl01,接收数据包。 步骤S102,查找是否存在与数据包对应的session,如果是,则转步骤s103,否则 转步骤sl06。 步骤sl03,判断所述session中记录的策略年龄ts_p0liCy_age是否等于全局的 策略年龄policy—age,如果是,则转步骤s104,否则转步骤sl06。 步骤sl04,判断所述session中记录的邻居年龄tsneigh—age是否等于全局的邻 居年龄neigh_age,如果是,则转步骤s107,否则转步骤sl05。 步骤s105,判断所述session中记录的邻居信息tS_neigh是否修改过,如果是,则转步骤sl06,否则转步骤s107。 步骤S106,匹配所述数据包的访问策略、建立session、查找路由和ARP并记录 到所述session中,将全局策略年龄policy—age和邻居年龄neigh—age的值记录到所述 session中; 步骤sl07,转发所述数据包。 本发明实施例的一种数据包的转发装置如图2所示,包括数据包接收单元、连接 查找单元、连接检测单元、连接建立单元和数据包转发单元。其中连接查找单元分别与数据 包接收单元、连接检测单元和连接建立单元连接,连接检测单元分别与连接建立单元和数 据包转发单元连接,连接建立单元和数据包转发单元连接。 数据包接收单元用于接收数据包;连接查找单元用于根据所述数据包接收单元接 收到的数据包,查找与所述数据包对应的连接;连接检测单元用于当与所述数据包对应的 连接中记录的策略年龄等于全局的策略年龄,且所述连接中记录的邻居年龄不等于全局的 邻居年龄时,判断所述连接中记录的邻居信息是否修改过;连接建立单元用于根据连接检 测单元的检测结果,匹配所述数据包的访问策略、建立连接、查找路由和地址解析协议并记 录到所述连接中,将全局策略年龄和邻居年龄的值记录到所述连接中;数据包转发单元用 于转发所述数据包。 连接检测单元包括策略年龄检测子单元、邻居年龄检测子单元和邻居信息修改检
测子单元。策略年龄检测子单元用于判断所述连接中记录的策略年龄是否等于全局的策
略年龄;邻居年龄检测子单元用于判断所述连接中记录的邻居年龄是否等于全局的邻居年
龄;邻居信息修改检测子单元用于判断所述连接中记录的邻居信息是否修改过。 在本发明实施例中,当与接收到的数据包对应的连接中记录的策略年龄等于全局
的策略年龄,且所述连接中记录的邻居年龄不等于全局的邻居年龄时,本发明判断所述连
接中记录的邻居信息是否修改过,如果没有被修改过,就直接转发出去,不用重新匹配访问
策略、查找路由/ARP等工作,从而消除因为网络环境中的ARP变化引起的防火墙转发系统
震荡,使得防火墙转发系统性能更加稳定、可靠。尤其在快速转发和匹配访问策略、查找路
由和ARP的处理过程有很大性能差异时,效果更好。 以上所述仅是本发明的优选实施方式,应当指出,对于本技术领域的普通技术人 员来说,在不脱离本发明技术原理的前提下,还可以做出若干改进和润饰,这些改进和润饰 也应视为本发明的保护范围。
权利要求
一种数据包的转发方法,其特征在于,所述方法包括以下步骤A、接收数据包;B、当与所述数据包对应的连接中记录的策略年龄等于全局的策略年龄,且所述连接中记录的邻居年龄不等于全局的邻居年龄时,判断所述连接中记录的邻居信息是否修改过,如果是,则转步骤C,否则转步骤D;C、匹配所述数据包的访问策略、建立连接、查找路由和地址解析协议并记录到所述连接中,将全局策略年龄和邻居年龄的值记录到所述连接中;D、转发所述数据包。
2. 如权利要求1所述的数据包的转发方法,其特征在于,在所述步骤B中,具体包括 B1、判断所述连接中记录的策略年龄是否等于全局的策略年龄,如果是,则转步骤B2,否则转步骤C ;B2、判断所述连接中记录的邻居年龄是否等于全局的邻居年龄,如果是,则转步骤D,否 则转步骤B3 ;B3、判断所述连接中记录的邻居信息是否修改过,如果是,则转步骤C,否则转步骤D。
3. 如权利要求1或2所述的数据包的转发方法,其特征在于,在步骤A与步骤B之间, 还包括E、 查找是否存在与所述数据包对应的连接,如果是,则转步骤B,否则转步骤C。
4. 一种数据包的转发装置,其特征在于,所述装置包括 数据包接收单元,用于接收数据包;连接检测单元,用于当与所述数据包对应的连接中记录的策略年龄等于全局的策略年 龄,且所述连接中记录的邻居年龄不等于全局的邻居年龄时,判断所述连接中记录的邻居 信息是否修改过;连接建立单元,用于根据连接检测单元的检测结果,匹配所述数据包的访问策略、建立 连接、查找路由和地址解析协议并记录到所述连接中,将全局策略年龄和邻居年龄的值记 录到所述连接中;数据包转发单元,用于转发所述数据包。
5. 如权利要求4所述的数据包的转发装置,其特征在于,所述连接检测单元包括 策略年龄检测子单元,用于判断所述连接中记录的策略年龄是否等于全局的策略年龄;邻居年龄检测子单元,用于判断所述连接中记录的邻居年龄是否等于全局的邻居年龄;邻居信息修改检测子单元,用于判断所述连接中记录的邻居信息是否修改过。
6. 如权利要求4或5所述的数据包的转发装置,其特征在于,所述装置还包括连接查找 单元,用于根据所述数据包接收单元接收到的数据包,查找与所述数据包对应的连接。
全文摘要
本发明公开了一种数据包的转发方法,包括A、接收数据包;B、当与所述数据包对应的连接中记录的策略年龄等于全局的策略年龄,且所述连接中记录的邻居年龄不等于全局的邻居年龄时,判断所述连接中记录的邻居信息是否修改过,如果是,则转步骤C,否则转步骤D;C、匹配所述数据包的访问策略、建立连接、查找路由和地址解析协议并记录到所述连接中,将全局策略年龄和邻居年龄的值记录到所述连接中;D、转发所述数据包。本发明还公开了一种数据包的转发装置。本发明消除了因为网络环境中的ARP变化引起的防火墙转发系统震荡,使得防火墙转发系统性能更加稳定、可靠。
文档编号H04L29/06GK101771685SQ20091021755
公开日2010年7月7日 申请日期2009年12月31日 优先权日2009年12月31日
发明者王震 申请人:北京天融信科技有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1