一种流转发表项的回收方法和装置制造方法及图纸

技术编号:3482899 阅读:176 留言:0更新日期:2012-04-11 18:40
本发明专利技术实施例公开了一种流转发表项的回收方法和装置,所述流转发表项的回收方法包括以下步骤:遍历流转发表,查找无效的第一表项,在查找到所述无效的第一表项之后,记录所述流转发表的索引信息;当所述流转发表的索引信息对应的第二表项有效时,根据所述无效的第一表项的使用情况确定所述第二表项为吊死的流转发表项;根据所述流转发表的索引信息回收所述吊死的第二表项。本发明专利技术实施例通过遍历流转发表,查找无效的流转发表项,在查找到无效的流转发表项之后,对无效的流转发表项进行回收,从而保证了流转发表的表项的一致性,避免了流转发表资源的泄露。

【技术实现步骤摘要】

本专利技术涉及通信
,特别涉及一种流转发表项的回收方法和装置。技术背景数据通信设备对报文的转发处理通常有逐包转发和基于流转发两种方式。逐包转发就是对设备接收到的每个报文都要进行查找二层ARP (Address Resolution Protocol,地址解4斤协议)表、三层3各由表、四层ACL( Access Control List,访问控制列表)等动作然后进行转发。基于流转发,是指设备接收到首 包即报文的第一个包的时候查找包括二层ARP表、三层路由表、四层ACL表 等的多张表,建立流转发表项并将报文转发。建立的流转发表包括KEY (键 值)和DATA (动作表项)两部分。KEY是后续报文查找匹配的依据,通常包 括源IP地址、目的IP地址、源端口号、目的端口号和协议号的五元组信息; DATA主要包括下一跳IP地址或MAC地址、出接口索引、对于该报文做哪些 功能的使能操作、配置了哪些参数等信息。当有后续报文到来时,先用KEY 值去匹配建好的流转发表,对于相同KEY值的报文则直接利用之前建好的流 转发表DATA中的各种参数来进行报文转发。与逐包转发相比,基于流转发将 每转发一个包都需要对多张表的操作简化为只对首包查多张表,对后续包只 查一张流转发表的操作。因此,基于流转发能有效地提高数据通信设备的处 理性能和转发性能。流转发表中存储了大量的对流转发有用的信息,对资源的耗费比较大。 为了能充分利用系统资源,要有合理的回收机制来回收不再使用的流转发表 项。通常,数据通信设备通过流转发表的老化^L制来回收流转发表项。在一 定的老化时间内,没有被后续包命中的流转发表会被老化,并且流转发表的KEY和DATA都要分别被老化回收。在老化时间到时,先回收流转发表的 DATA再回收流转发表的KEY,当然也可以先回收KEY再回收DATA。但是,专利技术人发现数据通信设备中流转发表老化过程如果发生异常, 有可能导致流转发表只老化一半,形成吊死的KEY或者DATA,造成流转发表 资源泄露。现有的另一种流转发表的建立方法中,数据通信设备接收到报文首包后, 首先根据该报文首包数据查找MAC (Media Access Control,媒体接入控制) 表、路由表、ACL表等与报文转发相关的表项,建立流转发表的KEY,为KEY 分配的索引为index,然后根据查找报文转发相关表项的结果,以index为索引 建立流转发表的DATA。当然也可以先建立流转发表的DATA再建立流转发表 的KEY。但是,专利技术人发现流转发表创建过程中如果发生数据丢失,也可能造 成流转发表只建立KEY或者只建立DATA,形成吊死表项。在实现本专利技术的过程中,专利技术人发现现有技术至少存在以下问题数据 通信设备在流转发表老化或流转发表建立等过程中,有可能会产生流转发表 的KEY和DATA不能——对应的情形,形成吊死的流转发表项,造成流转发表 资源泄露。
技术实现思路
本专利技术实施例提供一种流转发表项的回收方法和装置,以实现对吊死的 流转发表项进行回收,确保流转发表项的一致性。为达到上述目的,本专利技术实施例一方面提供一种流转发表项的回收方法, 包括以下步骤遍历流转发表,查找无效的第一表项,在查找到所述无效的第一表项之 后,记录所述流转发表的索引信息;当所述流转发表的索引信息对应的第二表项有效时,根据所述无效的第 一表项的使用情况确定所述第二表项为吊死的流转发表项;根据所述流转发表的索引信息回收所述吊死的第二表项。另一方面,本专利技术实施例提供一种流转发表项的回收装置,包括 查找模块,用于遍历流转发表,查找无效的第一表项; 索引信息记录模块,用于在所述查找模块查找到所述无效的第一表项之后,记录所述流转发表的索引信息;吊死表项确定模块,用于当所述索引信息记录模块记录的流转发表的索引信息对应的第二表项有效时,根据所述无效的第一表项的使用情况确定所述第二表项为吊死的流转发表项;表项回收模块,用于根据所述流转发表的索引信息回收所述吊死的第二表项。与现有4支术相比,本专利技术实施例具有以下优点本专利技术实施例通过遍历 流转发表,查找无效的流转发表项,在查找到无效的流转发表项之后,对无 效的流转发表项进行回收,从而保证了流转发表的表项的一致性,避免了流 转发表资源的泄露。附图说明图1为本专利技术实施例流转发表项的回收方法的流程图; 图2为本专利技术流转发表项的回收方法实施例一的流程图; 图3为本专利技术流转发表项的回收方法实施例二的流程图; 图4为本专利技术实施例流转发表项的回收装置的结构示意图。具体实施方式本专利技术实施例提供一种流转发表项的回收方法,通过定时遍历所有的流 转发表项,找到流转发表中吊死的KEY或DATA,并对流转发表中吊死的KEY 或DATA进行回收,以保证流转发表的KEY和DATA——对应,避免流转发表 资源泄露。如图1所示,为本专利技术实施例流转发表项的回收方法的流程图,具体包 括以下步骤步骤S101,遍历流转发表,查找无效的第一表项,在查找到无效的第一表项之后,记录流转发表的索引信息。本专利技术实施例中,数据通信设备在遍 历流转发表时,采用定时遍历的方法,通过设置定时器,在设定的定时器时 间到达时,遍历该流转发表,查找流转发表中无效的第一表项。但本专利技术实 施例并不局限于此,任何遍历流转发表的方法均应落入本专利技术实施例的保护 范围。步骤S102,当流转发表的索引信息对应的第二表项有效时,根据无效的 第一表项的使用情况确定第二表项是否为吊死的流转发表项。具体为当第二表项有效时,判断步骤SIOI中查找到的无效的第一表项是否被使 用,在判断无效的第一表项仍未被使用,即该第一表项仍然无效之后,确定 第二表项为吊死的流转发表项。步骤S103,根据流转发表的索引信息回收吊死的第二表项。.在确定第二表项为吊死的流转发表项之后,根据记录的流转发表的索引 信息回收吊死的第二表项。另外,本专利技术实施例中,当第一表项为动作表项时,第二表项为键值表 项;或者,当第一表项为键值表项时,所述第二表项为动作表项。上述流转发表项的回收方法,通过遍历流转发表,查找无效的流转发表 项,在查找到无效的流转发表项之后,对无效的流转发表项进行回收,从而 保证了流转发表的表项的一致性,提高了基于流转发的系统的可靠性,并且 实现简单,安全可靠,不会对主流程造成影响。如图2所示,为本专利技术流转发表项的回收方法实施例一的流程图,对流 转发表中吊死的键值(KEY)进行回收具体包括以下步骤步骤S201,遍历流转发表,查找该流转发表中无效的动作表(DATA)表 项,在查找到无效的动作表(DATA)表项之后,执行步骤S202,如果没有查 找到无效的动作表(DATA)表项,则退出本次遍历操作。本专利技术实施例中,数据通信设备在遍历流转发表时,采用定时遍历的方 法,通过设置一定时器,在设定的定时器时间到达时,遍历流转发表,查找 流转发表中无效的动作表(DATA)表项。但本专利技术实施例并不局限于此,任 何遍历流转发表的方法均应落入本专利技术实施例的保护范围。步骤S202,记录该流转发表的索引信息,根据该流转发表的索引信息判 断该索引信息对应的流转发表的键值(KEY)是否被使用。在查找到无效的 动作表(DATA)表项之后,数据通信设备根据该无效的动作表(DATA)表 项所在流本文档来自技高网
...

【技术保护点】
一种流转发表项的回收方法,其特征在于,包括以下步骤:遍历流转发表,查找无效的第一表项,在查找到所述无效的第一表项之后,记录所述流转发表的索引信息;当所述流转发表的索引信息对应的第二表项有效时,根据所述无效的第一表项的使用情况确定所述第二表项为吊死的流转发表项;根据所述流转发表的索引信息回收所述吊死的第二表项。

【技术特征摘要】

【专利技术属性】
技术研发人员:李维张浩田向远邵建树龙志平顾晓浩
申请(专利权)人:华为技术有限公司
类型:发明
国别省市:94[中国|深圳]

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1