对流表和nat会话表进行老化的方法和装置的制造方法

文档序号:10626824阅读:261来源:国知局
对流表和nat会话表进行老化的方法和装置的制造方法
【专利摘要】本发明公开了一种对流表和NAT会话表进行老化的方法和装置,属于网络通信技术领域。所述方法包括:在接口IP改变、公网IP资源改变或接口链路状态改变后,获取改变前的IP信息;将所述改变前的IP信息以节点的形式插入到预设的IP信息树型存储结构的等待树中;根据所述等待树中的IP节点数量,以及老化定时时间,确定是否对流表和NAT会话表进行老化;当确定对所述流表和所述NAT会话表进行老化时,扫描所述流表和所述NAT会话表,将所述流表和所述NAT会话表中的与所述IP信息树型存储结构中的所述改变前的IP信息对应的流表结点和NAT会话结点老化掉。可以主动老化流表和NAT会话表、减少扫描流表和NAT会话表的次数。
【专利说明】
对流表和NAT会话表进行老化的方法和装置
技术领域
[0001]本发明涉及网络通信技术领域,具体涉及一种对流表和NAT会话表进行老化的方法和装置。
【背景技术】
[0002]随着网络通信技术的发展,网络的作用也越来越大,在通过网络上网时,状态检测网络设备会通过流表(flow表),记录网络连接信息(主要包括源IP、目的IP、源端口、目的端口、网络协议等五元组信息),会通过NAT (Network Address Translat1n,网络地址翻译)会话表(由NAT Binding(绑定)组成的表),记录私网IP地址转化为公网IP地址的映射关系。在日常的运维中,网络设备的接口 IP有时会因为网络拓扑变化而需要改变;网络设备的公网IP资源有时会因为运营商ISP的规划而被改变;网络设备的接口链路状态有时可能会改变(比如dowruchange)。在接口 IP改变、公网IP资源改变或接口链路状态改变后,IP会发生改变,改变前的IP在状态检测网络设备的流表和NAT会话表中还会有表节点。为了避免占用资源,会对改变前的IP的表节点进行老化处理。
[0003]针对流表和NAT会话表中的改变前的IP的表节点的老化处理,目前主要有以下两种技术:第一种:被动老化,在IP发生改变后,状态检测网络设备不主动扫描流表和NAT会话表,等待改变前的IP的表节点的自然超时老化。第二种:主动老化,在IP发生改变后,触发一次流表和NAT会话表扫描,将改变前的IP的表节点老化掉。
[0004]然而,对于被动老化的技术,需要超时时间到后才能老化掉改变前的IP的表节点,而流表和会话表的超时时间一般是两分钟,这样的话,状态检测网络设备不能及时地释放改变前的IP的会话,会极大减少状态检测网络设备的并发连接数、会造成状态检测网络设备的内存资源和转发性能的无谓消耗;对于改变前的IP的会话,状态检测网络设备会继续转发该会话上的数据包,会给后端服务器带来很大的安全隐患。对于主动老化技术,每个IP发生改变都会触发一次流表和NAT会话表扫描,而由于网络中IP很多,状态检测网络设备的流表和NAT会话表中的表节点可以达到百万千万级甚至上亿级,每个IP发生改变都触发一次流表和NAT会话表扫描,会给状态检测网络设备带来极大的性能损耗。

【发明内容】

[0005]为了解决现有技术的问题,本发明提供了一种对流表和NAT会话表进行老化的方法和装置,可以主动老化流表和NAT会话表,状态检测网络设备可以及时地释放改变前的IP的会话,不再继续转发改变前的IP的会话上的数据包;通过IP信息树型存储结构可以减少扫描流表和NAT会话表的次数,降低状态检测网络设备的性能损耗,使得状态检测网络设备能及时且高效地释放相关的会话资源,提高后端服务器的安全性,减少状态检测网络设备的资源消耗。
[0006]为了解决上述问题,本发明公开了一种对流表和NAT会话表进行老化的方法,所述方法包括:
[0007]在接口 IP改变、公网IP资源改变或接口链路状态改变后,获取改变前的IP信息;
[0008]将所述改变前的IP信息以节点的形式插入到预设的IP信息树型存储结构的等待树中;
[0009]根据所述等待树中的IP节点数量,以及老化定时时间,确定是否对流表和地址翻译NAT会话表进行老化;
[0010]当确定对所述流表和所述NAT会话表进行老化时,扫描所述流表和所述NAT会话表,将所述流表和所述NAT会话表中的与所述IP信息树型存储结构中的所述改变前的IP信息对应的流表结点和NAT会话结点老化掉。
[0011]进一步地,在接口 IP改变、公网IP资源改变或接口链路状态改变后,获取改变前的IP信息之前,还包括:
[0012]获取状态检测网络设备启动信息;
[0013]创建所述IP信息树型存储结构。
[0014]进一步地,所述IP信息树型存储结构包括:平衡二叉树前缀树Patricia树型存储结构、平衡二叉树红黑树树型存储结构或平衡二叉树自平衡树SBT树型存储结构。
[0015]进一步地,根据所述等待树中的IP节点数量,以及老化定时时间,确定是否对流表和NAT会话表进行老化,包括:
[0016]将所述等待树中的IP节点数量与预设的IP节点数量阈值进行比较;
[0017]当所述等待树中的IP节点数量大于等于预设的IP节点数量阈值时,判断所述流表和所述NAT会话表是否处于被扫描状态;
[0018]如果所述流表和所述NAT会话表没有处于被扫描状态,则确定对所述流表和所述NAT会话表进行老化。
[0019]进一步地,将所述等待树中的IP节点数量与预设的IP节点数量阈值进行比较之后,还包括:
[0020]当所述等待树中的IP节点数量小于预设的IP节点数量阈值时,确定不对所述流表和所述NAT会话表进行老化。
[0021 ] 进一步地,根据老化定时时间,确定是否对流表和NAT会话表进行老化,包括:
[0022]每隔一预设的时间间隔,判断所述等待树中的IP节点数量是否为零;
[0023]如果所述等待树中的IP节点数量不为零,则将老化定时时间对应的计时器的计时时间增加一预设时间值;
[0024]判断所述老化定时时间对应的计时器的计时时间是否大于等于预设的老化定时时间阈值;
[0025]如果大于等于所述老化定时时间阈值,则判断所述流表和所述NAT会话表是否处于被扫描状态;
[0026]如果所述流表和所述NAT会话表没有处于被扫描状态,则确定对所述流表和所述NAT会话表进行老化。
[0027]进一步地,判断所述等待树中的IP节点数量是否为零之后,还包括:
[0028]如果为零,则确定不对所述流表和所述NAT会话表进行老化。
[0029]进一步地,判断所述老化定时时间对应的计时器的计时时间是否大于等于预设的老化定时时间阈值之后,还包括:
[0030]如果小于所述老化定时时间阈值,则确定不对所述流表和所述NAT会话表进行老化。
[0031]进一步地,判断所述流表和所述NAT会话表是否处于被扫描状态之后,还包括:
[0032]如果所述流表和所述NAT会话表处于被扫描状态,则确定不对所述流表和所述NAT会话表进行老化。
[0033]进一步地,扫描所述流表和所述NAT会话表,将所述流表和所述NAT会话表中的与所述IP信息树型存储结构中的所述改变前的IP信息对应的流表结点和NAT会话结点老化掉,包括:
[0034]扫描所述NAT会话表,得到一个NAT绑定节点;
[0035]判断所述NAT绑定节点是否为空;
[0036]如果所述NAT绑定节点不为空,则获取所述NAT绑定节点对应的IP信息;
[0037]将所述NAT绑定节点对应的IP信息依次与所述等待树中的改变前的IP信息进行比较;
[0038]如果所述等待树中存在与所述NAT绑定节点对应的IP信息一致的改变前的IP信息,则删除所述NAT绑定节点,然后执行扫描所述NAT会话表的步骤;
[0039]如果所述NAT绑定节点为空,则扫描所述流表,得到一个流标识ID ;
[0040]判断所述流ID是否有效;
[0041]如果所述流ID有效,则根据所述流ID,得到所述流ID对应的流的IP信息;
[0042]将所述流ID对应的流的IP信息依次与所述等待树中的改变前的IP信息进行比较;
[0043]如果所述等待树中存在与所述流ID对应的流的IP信息一致的改变前的IP信息,则将所述流ID对应的流置为老化状态,对所述流ID对应的流进行流老化,然后执行扫描所述流表的步骤;
[0044]如果所述流ID无效,则清空所述IP信息树型存储结构。
[0045]进一步地,扫描所述流表和所述NAT会话表,将所述流表和所述NAT会话表中的与所述IP信息树型存储结构中的所述改变前的IP信息对应的流表结点和NAT会话结点老化掉,包括:
[0046]扫描所述流表,得到一个流标识ID ;
[0047]判断所述流ID是否有效;
[0048]如果所述流ID有效,则根据所述流ID,得到所述流ID对应的流的IP信息;
[0049]将所述流ID对应的流的IP信息依次与所述等待树中的改变前的IP信息进行比较;
[0050]如果所述等待树中存在与所述流ID对应的流的IP信息一致的改变前的IP信息,则将所述流ID对应的流置为老化状态,对所述流ID对应的流进行流老化,然后执行扫描所述流表的步骤;
[0051 ] 如果所述流ID无效,则扫描所述NAT会话表,得到一个NAT绑定节点;
[0052]判断所述NAT绑定节点是否为空;
[0053]如果所述NAT绑定节点不为空,则获所述取NAT绑定节点对应的IP信息;
[0054]将所述NAT绑定节点对应的IP信息依次与所述等待树中的改变前的IP信息进行比较;
[0055]如果所述等待树中存在与所述NAT绑定节点对应的IP信息一致的改变前的IP信息,则删除所述NAT绑定节点,然后执行扫描所述NAT会话表的步骤;
[0056]如果所述NAT绑定节点为空,则清空所述IP信息树型存储结构。
[0057]为了解决上述问题,本发明还公开了一种对流表和NAT会话表进行老化的装置,所述装置包括:
[0058]获取模块,用于在接口 IP改变、公网IP资源改变或接口链路状态改变后,获取改变前的IP信息;
[0059]插入模块,用于将所述改变前的IP信息以节点的形式插入到预设的IP信息树型存储结构的等待树中;
[0060]确定模块,用于根据所述等待树中的IP节点数量,以及老化定时时间,确定是否对流表和地址翻译NAT会话表进行老化;
[0061]老化模块,用于当确定对所述流表和所述NAT会话表进行老化时,扫描所述流表和所述NAT会话表,将所述流表和所述NAT会话表中的与所述IP信息树型存储结构中的所述改变前的IP信息对应的流表结点和NAT会话结点老化掉。
[0062]进一步地,所述装置还包括:
[0063]启动模块,用于获取状态检测网络设备启动信息;
[0064]创建模块,用于创建所述IP信息树型存储结构。
[0065]进一步地,所述IP信息树型存储结构包括:平衡二叉树前缀树Patricia树型存储结构、平衡二叉树红黑树树型存储结构或平衡二叉树自平衡树SBT树型存储结构。
[0066]进一步地,所述确定模块包括:
[0067]第一比较单元,用于将所述等待树中的IP节点数量与预设的IP节点数量阈值进行比较;
[0068]第一判断单元,用于当所述等待树中的IP节点数量大于等于预设的IP节点数量阈值时,判断所述流表和所述NAT会话表是否处于被扫描状态;
[0069]第一确定单元,用于如果所述流表和所述NAT会话表没有处于被扫描状态,则确定对所述流表和所述NAT会话表进行老化。
[0070]进一步地,所述确定模块还包括:
[0071]第二确定单元,用于当所述等待树中的IP节点数量小于预设的IP节点数量阈值时,确定不对所述流表和所述NAT会话表进行老化。
[0072]进一步地,所述确定模块包括:
[0073]第二判断单元,用于每隔一预设的时间间隔,判断所述等待树中的IP节点数量是否为零;
[0074]计时单元,用于如果所述等待树中的IP节点数量不为零,则将老化定时时间对应的计时器的计时时间增加一预设时间值;
[0075]第三判断单元,用于判断所述老化定时时间对应的计时器的计时时间是否大于等于预设的老化定时时间阈值;
[0076]第四判断单元,用于如果大于等于所述老化定时时间阈值,则判断所述流表和所述NAT会话表是否处于被扫描状态;
[0077]第三确定单元,用于如果所述流表和所述NAT会话表没有处于被扫描状态,则确定对所述流表和所述NAT会话表进行老化。
[0078]进一步地,所述确定模块还包括:
[0079]第四确定单元,用于如果所述等待树中的IP节点数量为零,则确定不对所述流表和所述NAT会话表进行老化。
[0080]进一步地,所述确定模块还包括:
[0081]第五确定单元,用于如果小于所述老化定时时间阈值,则确定不对所述流表和所述NAT会话表进行老化。
[0082]进一步地,所述确定模块还包括:
[0083]第六确定单元,用于如果所述流表和所述NAT会话表处于被扫描状态,则确定不对所述流表和所述NAT会话表进行老化。
[0084]进一步地,所述老化模块包括:
[0085]第一扫描单元,用于扫描所述NAT会话表,得到一个NAT绑定节点;
[0086]第五判断单元,用于判断所述NAT绑定节点是否为空;
[0087]第一获取单元,用于如果所述NAT绑定节点不为空,则获取所述NAT绑定节点对应的IP彳g息;
[0088]第二比较单元,用于将所述NAT绑定节点对应的IP信息依次与所述等待树中的改变前的IP信息进行比较;
[0089]第一老化单元,用于如果所述等待树中存在与所述NAT绑定节点对应的IP信息一致的改变前的IP信息,则删除所述NAT绑定节点,然后通知所述第一扫描单元执行扫描所述NAT会话表的步骤;
[0090]第二扫描单元,用于如果所述NAT绑定节点为空,则扫描所述流表,得到一个流标识ID ;
[0091]第六判断单元,用于判断所述流ID是否有效;
[0092]第二获取单元,用于如果所述流ID有效,则根据所述流ID,得到所述流ID对应的流的IP信息;
[0093]第三比较单元,用于将所述流ID对应的流的IP信息依次与所述等待树中的改变前的IP信息进行比较;
[0094]第二老化单元,用于如果所述等待树中存在与所述流ID对应的流的IP信息一致的改变前的IP信息,则将所述流ID对应的流置为老化状态,对所述流ID对应的流进行流老化,然后通知所述第二扫描单元执行扫描所述流表的步骤;
[0095]第一清空单元,用于如果所述流ID无效,则清空所述IP信息树型存储结构。
[0096]进一步地,所述老化模块包括:
[0097]第三扫描单元,用于扫描所述流表,得到一个流标识ID ;
[0098]第七判断单元,用于判断所述流ID是否有效;
[0099]第三获取单元,用于如果所述流ID有效,则根据所述流ID,得到所述流ID对应的流的IP信息;
[0100]第四比较单元,用于将所述流ID对应的流的IP信息依次与所述等待树中的改变前的IP信息进行比较;
[0101]第三老化单元,用于如果所述等待树中存在与所述流ID对应的流的IP信息一致的改变前的IP信息,则将所述流ID对应的流置为老化状态,对所述流ID对应的流进行流老化,然后通知所述第三扫描单元执行扫描所述流表的步骤;
[0102]第四扫描单元,用于如果所述流ID无效,则扫描所述NAT会话表,得到一个NAT绑定节点;
[0103]第八判断单元,用于判断所述NAT绑定节点是否为空;
[0104]第四获取单元,用于如果所述NAT绑定节点不为空,则获所述取NAT绑定节点对应的IP彳g息;
[0105]第五比较单元,用于将所述NAT绑定节点对应的IP信息依次与所述等待树中的改变前的IP信息进行比较;
[0106]第四老化单元,用于如果所述等待树中存在与所述NAT绑定节点对应的IP信息一致的改变前的IP信息,则删除所述NAT绑定节点,然后通知所述第四扫描单元执行扫描所述NAT会话表的步骤;
[0107]第二清空单元,用于如果所述NAT绑定节点为空,则清空所述IP信息树型存储结构。
[0108]与现有技术相比,本发明可以获得包括以下技术效果:
[0109]I)在接口 IP改变、公网IP资源改变或接口链路状态改变后,根据IP信息树型存储结构的等待树中的IP节点数量,以及老化定时时间,确定是否对流表和NAT会话表进行老化,可以主动老化流表和NAT会话表,状态检测网络设备可以及时地释放改变前的IP的会话,不再继续转发改变前的IP的会话上的数据包;并且将改变前的IP信息以节点的形式插入到预设的IP信息树型存储结构的等待树中,通过IP信息树型存储结构可以减少扫描流表和NAT会话表的次数,降低状态检测网络设备的性能损耗,使得状态检测网络设备能及时且高效地释放相关的会话资源,提高后端服务器的安全性,减少状态检测网络设备的资源消耗。
[0110]2)扫描流表和NAT会话表时,将流ID对应的流的IP信息依次与IP信息树型存储结构的等待树中的改变前的IP信息进行比较、将NAT绑定节点对应的IP信息依次与IP信息树型存储结构的等待树中的改变前的IP信息进行比较,IP信息树型存储结构的查询的时间复杂度为O(1gn),这样就相当于扫描了流表O(1gn)次、扫描了 NAT会话表O(1gn)次,从而极大降低了扫描流表和NAT会话表的频率。
【附图说明】
[0111]此处所说明的附图用来提供对本发明的进一步理解,构成本发明的一部分,本发明的示意性实施例及其说明用于解释本发明,并不构成对本发明的不当限定。在附图中:
[0112]图1是本发明实施例提供的第一种对流表和NAT会话表进行老化的方法流程图;
[0113]图2是本发明实施例提供的一种平衡二叉树Patricia树型存储结构示意图;
[0114]图3是本发明实施例提供的一种根据等待树中的IP节点数量,确定是否对流表和NAT会话表进行老化的方法流程图;
[0115]图4是本发明实施例提供的一种根据老化定时时间,确定是否对流表和NAT会话表进行老化的方法流程图;
[0116]图5是本发明实施例提供的第二种对流表和NAT会话表进行老化的方法流程图;
[0117]图6是本发明实施例提供的第三种对流表和NAT会话表进行老化的方法流程图;
[0118]图7是本发明实施例提供的第一种对流表和NAT会话表进行老化的装置结构示意图;
[0119]图8是本发明实施例提供的第二种对流表和NAT会话表进行老化的装置结构示意图。
【具体实施方式】
[0120]以下将配合附图及实施例来详细说明本发明的实施方式,藉此对本发明如何应用技术手段来解决技术问题并达成技术功效的实现过程能充分理解并据以实施。
[0121]如在说明书及权利要求当中使用了某些词汇来指称特定组件。本领域技术人员应可理解,硬件制造商可能会用不同名词来称呼同一个组件。本说明书及权利要求并不以名称的差异来作为区分组件的方式,而是以组件在功能上的差异来作为区分的准则。如在通篇说明书及权利要求当中所提及的“包含”为一开放式用语,故应解释成“包含但不限定于”。“大致”是指在可接收的误差范围内,本领域技术人员能够在一定误差范围内解决所述技术问题,基本达到所述技术效果。此外,“耦接”一词在此包含任何直接及间接的电性耦接手段。因此,若文中描述一第一装置耦接于一第二装置,则代表所述第一装置可直接电性耦接于所述第二装置,或通过其他装置或耦接手段间接地电性耦接至所述第二装置。说明书后续描述为实施本发明的较佳实施方式,然所述描述乃以说明本发明的一般原则为目的,并非用以限定本发明的范围。本发明的保护范围当视所附权利要求所界定者为准。
[0122]还需要说明的是,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的商品或者系统不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种商品或者系统所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的商品或者系统中还存在另外的相同要素。
[0123]实施例描沐
[0124]下面以一实施例对本发明方法的实现作进一步说明。如图1所示,为本发明实施例的一种对流表和NAT会话表进行老化的方法流程图,该方法包括:
[0125]SlOl:在接口 IP改变、公网IP资源改变或接口链路状态改变后,获取改变前的IP
?目息O
[0126]其中,改变前的IP信息包括改变前的IP的版本和地址。
[0127]其中,IP的版本包括IPv4 (Internet Protocol Vers1n 4,互联网协议版本4)、IPv6 (Internet Protocol Vers1n 6,互联网协议版本 6)等。
[0128]具体地,在接口 IP改变、公网IP资源改变或接口链路状态改变后,状态检测网络设备发送消息通知业务处理模块,业务处理模块从消息中提取改变前的IP信息。
[0129]S102:将改变前的IP信息以节点的形式插入到预设的IP信息树型存储结构的等待树中。
[0130]其中,IP信息树型存储结构包括:平衡二叉树Patricia (前缀树)树型存储结构、平衡二叉树红黑树树型存储结构或平衡二叉树SBT(Size Balanced Tree,自平衡树)树型存储结构。
[0131]具体地,平衡二叉树Patricia树型存储结构、平衡二叉树红黑树树型存储结构或平衡二叉树SBT树型存储结构等,能在0(log η,η为需要进行操作的总节点数)时间内完成插入、查找和删除操作,可以提高扫描效率。
[0132]具体地,IP信息树型存储结构,可以是在接口 IP改变、公网IP资源改变或接口链路状态改变后,获取改变前的IP信息之前,在获取状态检测网络设备启动信息后创建的,即在状态检测网络设备启动后,创建IP信息树型存储结构。
[0133]S103:根据等待树中的IP节点数量,以及老化定时时间,确定是否对流表和NAT会话表进行老化。
[0134]具体地,等待树中的IP节点数量,以及老化定时时间二个条件并行进行判断,当通过二者中任一判断出对流表和NAT会话表进行老化时,则确定对流表和NAT会话表进行老化。
[0135]S104:当确定对流表和NAT会话表进行老化时,扫描流表和NAT会话表,将流表和NAT会话表中的与IP信息树型存储结构中的改变前的IP信息对应的流表结点和NAT会话结点老化掉。
[0136]具体地,在扫描流表和NAT会话表时,可以先扫描NAT会话表再扫描流表,也可以先扫描流表再扫描NAT会话表,对此不做限定,可以根据实际应用状况进行设置。
[0137]具体地,参见图2,为本实例创建的一种平衡二叉树Patricia树型存储结构,各数据成员意义如下:*pending_tree(等待树):改变前的IP信息的节点挂在等待树;pending_num:目前的IP节点数量;pending_threshold:IP节点数量阈值,IP节点数量达到IP节点数量阈值,触发扫描流表和NAT会话表;sec_passed:老化定时时间对应的计时器的计时时间;sec_threshold:老化定时时间阈值;如果老化定时时间对应的计时器的计时时间达到老化定时时间阈值,触发扫描流表和NAT会话表;*working_tree:正在扫描的改变前的IP信息的节点,working_tree不需要存储数据,仅仅指向pending_tree,由于需要扫描流表和NAT会话表,为了方便扫描,当先扫描NAT会话表后扫描流表时,可以在扫描NAT会话表时使用pending_tree,扫描流表时使用working_tree (由于working_tree不需要存储数据,仅仅指向pending_tree,所以是间接使用pending_tree),当先扫描流表后扫描NAT会话表时,可以在扫描流表时使用pending_tree,扫描NAT会话表时使用working_tree (由于working_tree不需要存储数据,仅仅指向pending_tree,所以是间接使用pending_tree) ;is_in_scan:Scan (扫描)处理标志,避免流表和NAT会话表扫描过程被打断,可以设置扫描处理标志为I时,流表和NAT会话表处于被扫描状态、扫描处理标志为O时,流表和NAT会话没有处于被扫描状态;if_node:节点号;ifl_idx:网络设备接口的索引号;ifip =IPVx型结构,存储IP的版本和地址,包括IPv4、或IPv6的地址。
[0138]具体地,参见图3,在一优选的实施例中,根据等待树中的IP节点数量,确定是否对流表和NAT会话表进行老化,包括:
[0139]S201:将等待树中的IP节点数量与预设的IP节点数量阈值进行比较,当等待树中的IP节点数量大于等于预设的IP节点数量阈值时,执行S202 ;当等待树中的IP节点数量小于预设的IP节点数量阈值时,执行S204。
[0140]具体地,预设的IP节点数量阈值可以根据实际应用状况进行设置,如可以设置为10、100 等。
[0141]S202:判断流表和NAT会话表是否处于被扫描状态,如果流表和NAT会话表没有处于被扫描状态,则执行S203 ;如果流表和NAT会话表处于被扫描状态,则执行S204。
[0142]具体地,由于等待树中的IP节点数量,以及老化定时时间二个条件并行进行判断,当通过二者中任一判断出对流表和NAT会话表进行老化时,则确定对流表和NAT会话表进行老化,所以为了避免重复进行老化,在确定执行老化前,先判断一下流表和NAT会话表是否处于被扫描状态,如果处于被扫描状态,则流表和NAT会话表正在被老化,可以不再执行老化。
[0143]具体地,可以通过查询扫描处理标志(is_in_scan)来判断流表和NAT会话表是否处于被扫描状态。
[0144]S203:确定对流表和NAT会话表进行老化,然后执行S104。
[0145]具体地,确定对流表和NAT会话表进行老化后,可以将扫描处理标志(is_in_scan)置为被扫描状态,如设置扫描处理标志为I时,流表和NAT会话表处于被扫描状态,则将扫描处理标志置为I。
[0146]S204:确定不对流表和NAT会话表进行老化,然后结束。
[0147]具体地,参见图4,在一优选的实施例中,根据老化定时时间,确定是否对流表和NAT会话表进行老化,包括:
[0148]S301:每隔一预设的时间间隔,判断等待树中的IP节点数量是否为零,如果等待树中的IP节点数量不为零,则执行S302 ;如果等待树中的IP节点数量为零,则执行S306。
[0149]其中,预设的时间间隔可以是0.1秒、0.5秒、I秒等,可以根据实际应用状况进行选择,对此不做限定。
[0150]S302:将老化定时时间对应的计时器的计时时间增加一预设时间值。
[0151]其中,预设时间值可以与预设的时间间隔相同,如预设的时间间隔为I秒,预设时间值也为I秒,即每隔I秒判断等待树中的IP节点数量不为零时,则老化定时时间对应的计时器的计时时间增加I秒,直到老化定时时间对应的计时器的计时时间大于等于预设的老化定时时间阈值。预设时间值可以与预设的时间间隔不相同,如预设的时间间隔为0.5秒,预设时间值为I秒,即每隔0.5秒判断等待树中的IP节点数量不为零时,则老化定时时间对应的计时器的计时时间增加I秒,直到老化定时时间对应的计时器的计时时间大于等于预设的老化定时时间阈值。
[0152]S303:判断老化定时时间对应的计时器的计时时间是否大于等于预设的老化定时时间阈值,如果大于等于预设的老化定时时间阈值,则执行S304 ;如果小于预设的老化定时时间阈值,则执行S306。
[0153]S304:判断流表和NAT会话表是否处于被扫描状态,如果流表和NAT会话表没有处于被扫描状态,则执行S305 ;如果流表和NAT会话表处于被扫描状态,则执行S306。
[0154]具体地,由于等待树中的IP节点数量,以及老化定时时间二个条件并行进行判断,当通过二者中任一判断出对流表和NAT会话表进行老化时,则确定对流表和NAT会话表进行老化,所以为了避免重复进行老化,在确定执行老化前,先判断一下流表和NAT会话表是否处于被扫描状态,如果处于被扫描状态,则流表和NAT会话表正在被老化,可以不再执行老化。
[0155]具体地,可以通过查询扫描处理标志(is_in_scan)来判断流表和NAT会话表是否处于被扫描状态。
[0156]S305:确定对流表和NAT会话表进行老化,然后执行S104。
[0157]具体地,确定对流表和NAT会话表进行老化后,可以将扫描处理标志(is_in_scan)置为被扫描状态,如设置扫描处理标志为I时,流表和NAT会话表处于被扫描状态,则将扫描处理标志置为I。
[0158]S306:确定不对流表和NAT会话表进行老化,然后结束。
[0159]具体地,参见图5,在一优选的实施例中,当先扫描NAT会话表,再扫描流表时:扫描流表和NAT会话表,将流表和NAT会话表中的与IP信息树型存储结构中的改变前的IP信息对应的流表结点和NAT会话结点老化掉,包括:
[0160]S401:扫描NAT会话表,得到一个NAT绑定节(binding)点。
[0161]S402:判断NAT绑定节点是否为空,如果NAT绑定节点不为空,则执行S403 ;如果NAT绑定节点为空,则执行S406。
[0162]具体地,NAT绑定节点为空,则证明已经扫描完NAT会话表中的所有NAT绑定节点。
[0163]S403:获取NAT绑定节点对应的IP信息。
[0164]其中,IP信息包括IP的版本和地址。
[0165]S404:将NAT绑定节点对应的IP信息依次与等待树中的改变前的IP信息进行比较,如果等待树中存在与NAT绑定节点对应的IP信息一致的改变前的IP信息,则执行S405 ;如果等待树中没有存在与NAT绑定节点对应的IP信息一致的改变前的IP信息,则执行 S401。
[0166]具体地,等待树中存在与NAT绑定节点对应的IP信息一致的改变前的IP信息,则证明NAT绑定节点对应的IP信息已经发生改变,可以将NAT绑定节点删除掉。
[0167]S405:删除NAT绑定节点,然后执行S401。
[0168]S406:扫描流表,得到一个流标识ID。
[0169]S407:判断流ID是否有效,如果流ID有效,则执行S408 ;如果流ID无效,则执行S411o
[0170]具体地,如果流ID无效,则证明已经扫描完流表。
[0171 ] S408:根据流ID,得到流ID对应的流的IP信息。
[0172]S409:将流ID对应的流的IP信息依次与等待树中的改变前的IP信息进行比较,如果等待树中存在与流ID对应的流的IP信息一致的改变前的IP信息,则执行S410 ;如果等待树中没有存在与流ID对应的流的IP信息一致的改变前的IP信息,则执行S406。
[0173]具体地,等待树中存在与流ID对应的流的IP信息一致的改变前的IP信息,则证明流ID对应的流的IP信息已经发生改变,可以将流ID对应的流老化掉。
[0174]S410:将流ID对应的流置为老化状态,对流ID对应的流进行流老化,然后执行S406o
[0175]S411:清空IP信息树型存储结构,然后结束。
[0176]具体地,清空IP信息树型存储结构,即清空IP信息树型存储结构中的改变前的IP信息、老化定时时间、IP节点数量等数据。
[0177]具体地,清空IP信息树型存储结构后,可以将扫描处理标志(is_in_sCan)置为没有被扫描状态,如设置扫描处理标志为O时,流表和NAT会话表没有处于被扫描状态,则将扫描处理标志置为O。
[0178]具体地,参见图6,在一优选的实施例中,当先扫描流表,再扫描NAT会话表时:扫描流表和NAT会话表,将流表和NAT会话表中的与IP信息树型存储结构中的改变前的IP信息对应的流表结点和NAT会话结点老化掉,包括:
[0179]S501:扫描流表,得到一个流标识ID。
[0180]S502:判断流ID是否有效,如果流ID有效,则执行S503 ;如果流ID无效,则执行S506o
[0181]具体地,如果流ID无效,则证明已经扫描完流表。
[0182]S503:根据流ID,得到流ID对应的流的IP信息。
[0183]其中,IP信息包括IP的版本和地址。
[0184]S504:将流ID对应的流的IP信息依次与等待树中的改变前的IP信息进行比较,如果等待树中存在与流ID对应的流的IP信息一致的改变前的IP信息,则执行S505 ;如果等待树中没有存在与流ID对应的流的IP信息一致的改变前的IP信息,则S501。
[0185]具体地,等待树中存在与流ID对应的流的IP信息一致的改变前的IP信息,则证明流ID对应的流的IP信息已经发生改变,可以将流ID对应的流老化掉。
[0186]S505:将流ID对应的流置为老化状态,对流ID对应的流进行流老化,然后执行S501o
[0187]S506:扫描NAT会话表,得到一个NAT绑定节点。
[0188]S507:判断NAT绑定节点是否为空,如果NAT绑定节点不为空,则执行S508 ;如果NAT绑定节点为空,则执行S511。
[0189]具体地,NAT绑定节点为空,则证明已经扫描完NAT会话表中的所有NAT绑定节点。
[0190]S508:获取NAT绑定节点对应的IP信息。
[0191]S509:将NAT绑定节点对应的IP信息依次与等待树中的改变前的IP信息进行比较,如果等待树中存在与NAT绑定节点对应的IP信息一致的改变前的IP信息,则执行S510 ;如果等待树中没有存在与NAT绑定节点对应的IP信息一致的改变前的IP信息,则执行 S506。
[0192]具体地,等待树中存在与NAT绑定节点对应的IP信息一致的改变前的IP信息,则证明NAT绑定节点对应的IP信息已经发生改变,可以将NAT绑定节点删除掉。
[0193]S510:删除NAT绑定节点,然后执行S506。
[0194]S511:清空IP信息树型存储结构,然后结束。
[0195]具体地,清空IP信息树型存储结构,即清空IP信息树型存储结构中的改变前的IP信息、老化定时时间、IP节点数量等数据。
[0196]具体地,清空IP信息树型存储结构后,可以将扫描处理标志(iS_in_Scan)置为没有被扫描状态,如设置扫描处理标志为O时,流表和NAT会话表没有处于被扫描状态,则将扫描处理标志置为O。
[0197]本实施例所述的对流表和NAT会话表进行老化的方法,在接口 IP改变、公网IP资源改变或接口链路状态改变后,根据IP信息树型存储结构的等待树中的IP节点数量,以及老化定时时间,确定是否对流表和NAT会话表进行老化,可以主动老化流表和NAT会话表,状态检测网络设备可以及时地释放改变前的IP的会话,不再继续转发改变前的IP的会话上的数据包;并且将改变前的IP信息以节点的形式插入到预设的IP信息树型存储结构的等待树中,通过IP信息树型存储结构可以减少扫描流表和NAT会话表的次数,降低状态检测网络设备的性能损耗,使得状态检测网络设备能及时且高效地释放相关的会话资源,提高后端服务器的安全性,减少状态检测网络设备的资源消耗。扫描流表和NAT会话表时,将流ID对应的流的IP信息依次与IP信息树型存储结构的等待树中的改变前的IP信息进行比较、将NAT绑定节点对应的IP信息依次与IP信息树型存储结构的等待树中的改变前的IP信息进行比较,IP信息树型存储结构的查询的时间复杂度为O(1gn),这样就相当于扫描了流表O(1gn)次、扫描了 NAT会话表O(1gn)次,从而极大降低了扫描流表和NAT会话表的频率。
[0198]如图7所示,是本发明实施例的一种对流表和NAT会话表进行老化的装置结构图,该装置包括:
[0199]获取模块601,用于在接口 IP改变、公网IP资源改变或接口链路状态改变后,获取改变前的IP信息;其中,改变前的IP信息包括改变前的IP的版本和地址;
[0200]插入模块602,用于将改变前的IP信息以节点的形式插入到预设的IP信息树型存储结构的等待树中;
[0201]确定模块603,用于根据等待树中的IP节点数量,以及老化定时时间,确定是否对流表和地址翻译NAT会话表进行老化;
[0202]老化模块604,用于当确定对流表和NAT会话表进行老化时,扫描流表和NAT会话表,将流表和NAT会话表中的与IP信息树型存储结构中的改变前的IP信息对应的流表结点和NAT会话结点老化掉。
[0203]进一步地,参见图8,该装置还包括:
[0204]启动模块605,用于获取状态检测网络设备启动信息;
[0205]创建模块606,用于创建IP信息树型存储结构。
[0206]进一步地,IP信息树型存储结构包括:平衡二叉树前缀树Patricia树型存储结构、平衡二叉树红黑树树型存储结构或平衡二叉树自平衡树SBT树型存储结构。
[0207]进一步地,确定模块603包括:
[0208]第一比较单元,用于将等待树中的IP节点数量与预设的IP节点数量阈值进行比较;
[0209]第一判断单元,用于当等待树中的IP节点数量大于等于预设的IP节点数量阈值时,判断流表和NAT会话表是否处于被扫描状态;
[0210]第一确定单元,用于如果流表和NAT会话表没有处于被扫描状态,则确定对流表和NAT会话表进行老化。
[0211]进一步地,确定模块603还包括:
[0212]第二确定单元,用于当等待树中的IP节点数量小于预设的IP节点数量阈值时,确定不对流表和NAT会话表进行老化。
[0213]进一步地,确定模块603包括:
[0214]第二判断单元,用于每隔一预设的时间间隔,判断等待树中的IP节点数量是否为零;
[0215]计时单元,用于如果等待树中的IP节点数量不为零,则将老化定时时间对应的计时器的计时时间增加一预设时间值;
[0216]第三判断单元,用于判断老化定时时间对应的计时器的计时时间是否大于等于预设的老化定时时间阈值;
[0217]第四判断单元,用于如果大于等于老化定时时间阈值,则判断流表和NAT会话表是否处于被扫描状态;
[0218]第三确定单元,用于如果流表和NAT会话表没有处于被扫描状态,则确定对流表和NAT会话表进行老化。
[0219]进一步地,确定模块603还包括:
[0220]第四确定单元,用于如果等待树中的IP节点数量为零,则确定不对流表和NAT会话表进行老化。
[0221]进一步地,确定模块603还包括:
[0222]第五确定单元,用于如果小于老化定时时间阈值,则确定不对流表和NAT会话表进行老化。
[0223]进一步地,确定模块603还包括:
[0224]第六确定单元,用于如果流表和NAT会话表处于被扫描状态,则确定不对流表和NAT会话表进行老化。
[0225]进一步地,老化模块604包括:
[0226]第一扫描单元,用于扫描NAT会话表,得到一个NAT绑定节点;
[0227]第五判断单元,用于判断NAT绑定节点是否为空;
[0228]第一获取单元,用于如果NAT绑定节点不为空,则获取NAT绑定节点对应的IP信息;其中,IP信息包括IP的版本和地址;
[0229]第二比较单元,用于将NAT绑定节点对应的IP信息依次与等待树中的改变前的IP信息进行比较;
[0230]第一老化单元,用于如果等待树中存在与NAT绑定节点对应的IP信息一致的改变前的IP信息,则删除NAT绑定节点,然后通知第一扫描单元执行扫描NAT会话表的步骤;
[0231]第二扫描单元,用于如果NAT绑定节点为空,则扫描流表,得到一个流标识ID ;
[0232]第六判断单元,用于判断流ID是否有效;
[0233]第二获取单元,用于如果流ID有效,则根据流ID,得到流ID对应的流的IP信息;
[0234]第三比较单元,用于将流ID对应的流的IP信息依次与等待树中的改变前的IP信息进行比较;
[0235]第二老化单元,用于如果等待树中存在与流ID对应的流的IP信息一致的改变前的IP信息,则将流ID对应的流置为老化状态,对流ID对应的流进行流老化,然后通知第二扫描单元执行扫描流表的步骤;
[0236]第一清空单元,用于如果流ID无效,则清空IP信息树型存储结构。
[0237]进一步地,老化模块604包括:
[0238]第三扫描单元,用于扫描流表,得到一个流标识ID ;
[0239]第七判断单元,用于判断流ID是否有效;
[0240]第三获取单元,用于如果流ID有效,则根据流ID,得到流ID对应的流的IP信息;其中,IP信息包括IP的版本和地址;
[0241]第四比较单元,用于将流ID对应的流的IP信息依次与等待树中的改变前的IP信息进行比较;
[0242]第三老化单元,用于如果等待树中存在与流ID对应的流的IP信息一致的改变前的IP信息,则将流ID对应的流置为老化状态,对流ID对应的流进行流老化,然后通知第三扫描单元执行扫描流表的步骤;
[0243]第四扫描单元,用于如果流ID无效,则扫描NAT会话表,得到一个NAT绑定节点;
[0244]第八判断单元,用于判断NAT绑定节点是否为空;
[0245]第四获取单元,用于如果NAT绑定节点不为空,则获取NAT绑定节点对应的IP信息;
[0246]第五比较单元,用于将NAT绑定节点对应的IP信息依次与等待树中的改变前的IP信息进行比较;
[0247]第四老化单元,用于如果等待树中存在与NAT绑定节点对应的IP信息一致的改变前的IP信息,则删除NAT绑定节点,然后通知第四扫描单元执行扫描NAT会话表的步骤;
[0248]第二清空单元,用于如果NAT绑定节点为空,则清空IP信息树型存储结构。
[0249]本实施例所述的对流表和NAT会话表进行老化的装置,在接口 IP改变、公网IP资源改变或接口链路状态改变后,根据IP信息树型存储结构的等待树中的IP节点数量,以及老化定时时间,确定是否对流表和NAT会话表进行老化,可以主动老化流表和NAT会话表,状态检测网络设备可以及时地释放改变前的IP的会话,不再继续转发改变前的IP的会话上的数据包;并且将改变前的IP信息以节点的形式插入到预设的IP信息树型存储结构的等待树中,通过IP信息树型存储结构可以减少扫描流表和NAT会话表的次数,降低状态检测网络设备的性能损耗,使得状态检测网络设备能及时且高效地释放相关的会话资源,提高后端服务器的安全性,减少状态检测网络设备的资源消耗。扫描流表和NAT会话表时,将流ID对应的流的IP信息依次与IP信息树型存储结构的等待树中的改变前的IP信息进行比较、将NAT绑定节点对应的IP信息依次与IP信息树型存储结构的等待树中的改变前的IP信息进行比较,IP信息树型存储结构的查询的时间复杂度为O(1gn),这样就相当于扫描了流表O(1gn)次、扫描了 NAT会话表O(1gn)次,从而极大降低了扫描流表和NAT会话表的频率。
[0250]所述装置与前述的方法流程描述对应,不足之处参考上述方法流程的叙述,不再
--赘述。
[0251 ] 本发明提出的对流表和NAT会话表进行老化的方法和装置,既可应用于IPv4也可用于IPv6的网络设备中。也可以用于多核网络设备中。还可以应用于其它状态检测网络设备的类似老化应用场景中。
[0252] 上述说明示出并描述了本发明的若干优选实施例,但如前所述,应当理解本发明并非局限于本文所披露的形式,不应看作是对其他实施例的排除,而可用于各种其他组合、修改和环境,并能够在本文所述发明构想范围内,通过上述教导或相关领域的技术或知识进行改动。而本领域人员所进行的改动和变化不脱离本发明的精神和范围,则都应在本发明所附权利要求的保护范围内。
【主权项】
1.一种对流表和NAT会话表进行老化的方法,其特征在于,所述方法包括: 在接口 IP改变、公网IP资源改变或接口链路状态改变后,获取改变前的IP信息; 将所述改变前的IP信息以节点的形式插入到预设的IP信息树型存储结构的等待树中; 根据所述等待树中的IP节点数量,以及老化定时时间,确定是否对流表和地址翻译NAT会话表进行老化; 当确定对所述流表和所述NAT会话表进行老化时,扫描所述流表和所述NAT会话表,将所述流表和所述NAT会话表中的与所述IP信息树型存储结构中的所述改变前的IP信息对应的流表结点和NAT会话结点老化掉。2.如权利要求1所述的方法,其特征在于,在接口IP改变、公网IP资源改变或接口链路状态改变后,获取改变前的IP信息之前,还包括: 获取状态检测网络设备启动信息; 创建所述IP信息树型存储结构。3.如权利要求1或2所述的方法,其特征在于,所述IP信息树型存储结构包括:平衡二叉树前缀树Patricia树型存储结构、平衡二叉树红黑树树型存储结构或平衡二叉树自平衡树SBT树型存储结构。4.如权利要求1所述的方法,其特征在于,根据所述等待树中的IP节点数量,以及老化定时时间,确定是否对流表和NAT会话表进行老化,包括: 将所述等待树中的IP节点数量与预设的IP节点数量阈值进行比较; 当所述等待树中的IP节点数量大于等于预设的IP节点数量阈值时,判断所述流表和所述NAT会话表是否处于被扫描状态; 如果所述流表和所述NAT会话表没有处于被扫描状态,则确定对所述流表和所述NAT会话表进行老化。5.如权利要求4所述的方法,其特征在于,将所述等待树中的IP节点数量与预设的IP节点数量阈值进行比较之后,还包括: 当所述等待树中的IP节点数量小于预设的IP节点数量阈值时,确定不对所述流表和所述NAT会话表进行老化。6.如权利要求1所述的方法,其特征在于,根据老化定时时间,确定是否对流表和NAT会话表进行老化,包括: 每隔一预设的时间间隔,判断所述等待树中的IP节点数量是否为零; 如果所述等待树中的IP节点数量不为零,则将老化定时时间对应的计时器的计时时间增加一预设时间值; 判断所述老化定时时间对应的计时器的计时时间是否大于等于预设的老化定时时间阈值; 如果大于等于所述老化定时时间阈值,则判断所述流表和所述NAT会话表是否处于被扫描状态; 如果所述流表和所述NAT会话表没有处于被扫描状态,则确定对所述流表和所述NAT会话表进行老化。7.如权利要求6所述的方法,其特征在于,判断所述等待树中的IP节点数量是否为零之后,还包括: 如果为零,则确定不对所述流表和所述NAT会话表进行老化。8.如权利要求6所述的方法,其特征在于,判断所述老化定时时间对应的计时器的计时时间是否大于等于预设的老化定时时间阈值之后,还包括: 如果小于所述老化定时时间阈值,则确定不对所述流表和所述NAT会话表进行老化。9.如权利要求4或6所述的方法,其特征在于,判断所述流表和所述NAT会话表是否处于被扫描状态之后,还包括: 如果所述流表和所述NAT会话表处于被扫描状态,则确定不对所述流表和所述NAT会话表进行老化。10.如权利要求1所述的方法,其特征在于,扫描所述流表和所述NAT会话表,将所述流表和所述NAT会话表中的与所述IP信息树型存储结构中的所述改变前的IP信息对应的流表结点和NAT会话结点老化掉,包括: 扫描所述NAT会话表,得到一个NAT绑定节点; 判断所述NAT绑定节点是否为空; 如果所述NAT绑定节点不为空,则获取所述NAT绑定节点对应的IP信息; 将所述NAT绑定节点对应的IP信息依次与所述等待树中的改变前的IP信息进行比较; 如果所述等待树中存在与所述NAT绑定节点对应的IP信息一致的改变前的IP信息,则删除所述NAT绑定节点,然后执行扫描所述NAT会话表的步骤; 如果所述NAT绑定节点为空,则扫描所述流表,得到一个流标识ID ; 判断所述流ID是否有效; 如果所述流ID有效,则根据所述流ID,得到所述流ID对应的流的IP信息; 将所述流ID对应的流的IP信息依次与所述等待树中的改变前的IP信息进行比较;如果所述等待树中存在与所述流ID对应的流的IP信息一致的改变前的IP信息,则将所述流ID对应的流置为老化状态,对所述流ID对应的流进行流老化,然后执行扫描所述流表的步骤; 如果所述流ID无效,则清空所述IP信息树型存储结构。11.如权利要求1所述的方法,其特征在于,扫描所述流表和所述NAT会话表,将所述流表和所述NAT会话表中的与所述IP信息树型存储结构中的所述改变前的IP信息对应的流表结点和NAT会话结点老化掉,包括: 扫描所述流表,得到一个流标识ID ; 判断所述流ID是否有效; 如果所述流ID有效,则根据所述流ID,得到所述流ID对应的流的IP信息; 将所述流ID对应的流的IP信息依次与所述等待树中的改变前的IP信息进行比较;如果所述等待树中存在与所述流ID对应的流的IP信息一致的改变前的IP信息,则将所述流ID对应的流置为老化状态,对所述流ID对应的流进行流老化,然后执行扫描所述流表的步骤; 如果所述流ID无效,则扫描所述NAT会话表,得到一个NAT绑定节点; 判断所述NAT绑定节点是否为空; 如果所述NAT绑定节点不为空,则获所述取NAT绑定节点对应的IP信息; 将所述NAT绑定节点对应的IP信息依次与所述等待树中的改变前的IP信息进行比较; 如果所述等待树中存在与所述NAT绑定节点对应的IP信息一致的改变前的IP信息,则删除所述NAT绑定节点,然后执行扫描所述NAT会话表的步骤; 如果所述NAT绑定节点为空,则清空所述IP信息树型存储结构。12.—种对流表和NAT会话表进行老化的装置,其特征在于,所述装置包括: 获取模块,用于在接口 IP改变、公网IP资源改变或接口链路状态改变后,获取改变前的IP彳g息; 插入模块,用于将所述改变前的IP信息以节点的形式插入到预设的IP信息树型存储结构的等待树中; 确定模块,用于根据所述等待树中的IP节点数量,以及老化定时时间,确定是否对流表和地址翻译NAT会话表进行老化; 老化模块,用于当确定对所述流表和所述NAT会话表进行老化时,扫描所述流表和所述NAT会话表,将所述流表和所述NAT会话表中的与所述IP信息树型存储结构中的所述改变前的IP信息对应的流表结点和NAT会话结点老化掉。13.如权利要求12所述的装置,其特征在于,所述装置还包括: 启动模块,用于获取状态检测网络设备启动信息; 创建模块,用于创建所述IP信息树型存储结构。14.如权利要求12或13所述的装置,其特征在于,所述IP信息树型存储结构包括:平衡二叉树前缀树Patricia树型存储结构、平衡二叉树红黑树树型存储结构或平衡二叉树自平衡树SBT树型存储结构。15.如权利要求12所述的装置,其特征在于,所述确定模块包括: 第一比较单元,用于将所述等待树中的IP节点数量与预设的IP节点数量阈值进行比较; 第一判断单元,用于当所述等待树中的IP节点数量大于等于预设的IP节点数量阈值时,判断所述流表和所述NAT会话表是否处于被扫描状态; 第一确定单元,用于如果所述流表和所述NAT会话表没有处于被扫描状态,则确定对所述流表和所述NAT会话表进行老化。16.如权利要求15所述的装置,其特征在于,所述确定模块还包括: 第二确定单元,用于当所述等待树中的IP节点数量小于预设的IP节点数量阈值时,确定不对所述流表和所述NAT会话表进行老化。17.如权利要求12所述的装置,其特征在于,所述确定模块包括: 第二判断单元,用于每隔一预设的时间间隔,判断所述等待树中的IP节点数量是否为零; 计时单元,用于如果所述等待树中的IP节点数量不为零,则将老化定时时间对应的计时器的计时时间增加一预设时间值; 第三判断单元,用于判断所述老化定时时间对应的计时器的计时时间是否大于等于预设的老化定时时间阈值; 第四判断单元,用于如果大于等于所述老化定时时间阈值,则判断所述流表和所述NAT会话表是否处于被扫描状态; 第三确定单元,用于如果所述流表和所述NAT会话表没有处于被扫描状态,则确定对所述流表和所述NAT会话表进行老化。18.如权利要求17所述的装置,其特征在于,所述确定模块还包括: 第四确定单元,用于如果所述等待树中的IP节点数量为零,则确定不对所述流表和所述NAT会话表进行老化。19.如权利要求17所述的装置,其特征在于,所述确定模块还包括: 第五确定单元,用于如果小于所述老化定时时间阈值,则确定不对所述流表和所述NAT会话表进行老化。20.如权利要求15或17所述的装置,其特征在于,所述确定模块还包括: 第六确定单元,用于如果所述流表和所述NAT会话表处于被扫描状态,则确定不对所述流表和所述NAT会话表进行老化。21.如权利要求12所述的装置,其特征在于,所述老化模块包括: 第一扫描单元,用于扫描所述NAT会话表,得到一个NAT绑定节点; 第五判断单元,用于判断所述NAT绑定节点是否为空; 第一获取单元,用于如果所述NAT绑定节点不为空,则获取所述NAT绑定节点对应的IP信息; 第二比较单元,用于将所述NAT绑定节点对应的IP信息依次与所述等待树中的改变前的IP信息进行比较; 第一老化单元,用于如果所述等待树中存在与所述NAT绑定节点对应的IP信息一致的改变前的IP信息,则删除所述NAT绑定节点,然后通知所述第一扫描单元执行扫描所述NAT会话表的步骤; 第二扫描单元,用于如果所述NAT绑定节点为空,则扫描所述流表,得到一个流标识ID ; 第六判断单元,用于判断所述流ID是否有效; 第二获取单元,用于如果所述流ID有效,则根据所述流ID,得到所述流ID对应的流的IP ?目息; 第三比较单元,用于将所述流ID对应的流的IP信息依次与所述等待树中的改变前的IP信息进行比较; 第二老化单元,用于如果所述等待树中存在与所述流ID对应的流的IP信息一致的改变前的IP信息,则将所述流ID对应的流置为老化状态,对所述流ID对应的流进行流老化,然后通知所述第二扫描单元执行扫描所述流表的步骤; 第一清空单元,用于如果所述流ID无效,则清空所述IP信息树型存储结构。22.如权利要求12所述的装置,其特征在于,所述老化模块包括: 第三扫描单元,用于扫描所述流表,得到一个流标识ID ; 第七判断单元,用于判断所述流ID是否有效; 第三获取单元,用于如果所述流ID有效,则根据所述流ID,得到所述流ID对应的流的IP ?目息; 第四比较单元,用于将所述流ID对应的流的IP信息依次与所述等待树中的改变前的IP信息进行比较; 第三老化单元,用于如果所述等待树中存在与所述流ID对应的流的IP信息一致的改变前的IP信息,则将所述流ID对应的流置为老化状态,对所述流ID对应的流进行流老化,然后通知所述第三扫描单元执行扫描所述流表的步骤; 第四扫描单元,用于如果所述流ID无效,则扫描所述NAT会话表,得到一个NAT绑定节占.V, 第八判断单元,用于判断所述NAT绑定节点是否为空; 第四获取单元,用于如果所述NAT绑定节点不为空,则获所述取NAT绑定节点对应的IP信息; 第五比较单元,用于将所述NAT绑定节点对应的IP信息依次与所述等待树中的改变前的IP信息进行比较; 第四老化单元,用于如果所述等待树中存在与所述NAT绑定节点对应的IP信息一致的改变前的IP信息,则删除所述NAT绑定节点,然后通知所述第四扫描单元执行扫描所述NAT会话表的步骤; 第二清空单元,用于如果所述NAT绑定节点为空,则清空所述IP信息树型存储结构。
【文档编号】H04L29/12GK105991552SQ201510056361
【公开日】2016年10月5日
【申请日】2015年2月3日
【发明人】李安坤
【申请人】阿里巴巴集团控股有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1