表项清除方法及装置制造方法及图纸

技术编号:14824632 阅读:184 留言:0更新日期:2017-03-16 12:44
本申请提供一种表项清除方法及装置,所述方法包括:当接收到下发的针对目标出接口的转发表项时,装法设备将与所述目标出接口对应的接口指示变量的取值赋值给与所述转发表项对应的表项指示变量;当检测到所述目标出接口异常时,修改与所述目标出接口对应的接口指示变量的取值;将与所述目标出接口对应的链表中表项指示变量与所述目标出接口的接口指示变量的取值不同的转发表项作为无效表项清除。使用本申请提供的表项清除方法,可以有效地降低转发设备的系统负荷。

【技术实现步骤摘要】

本申请涉及计算机通信领域,尤其涉及表项清除方法及装置
技术介绍
交换机、路由器等作为重要的转发设备,在互联网中起着至关重要的作用。当该类转发设备的出接口异常时,通常需要清除该出接口的对应的转发表项,使转发设备学习新的转发表项,找到新的出接口,对接收到的流量进行转发。然而,清除异常出接口的转发表项,通常可能会增加转发设备的系统负荷。因此,如何降低针对清除异常出接口对应的转发表项时的系统负荷就成为亟待解决的问题。
技术实现思路
有鉴于此,本申请提供一种表项清除方法及装置,用以降低转发设备的系统负荷。具体地,本申请是通过如下技术方案实现的:根据本申请实施例的第一方面,提供一种表项清除方法,所述方法应用于转发设备,所述转发设备包括若干个出接口,所述若干个出接口对应的结构体中分别预配置了对应的接口指示变量;所述转发设备的转发表中的出接口相同的转发表项被分别组织成对应的链表;所述链表中的转发表项分别预配置了对应的表项指示变量;所述方法包括:当接收到下发的针对目标出接口的转发表项时,将与所述目标出接口对应的接口指示变量的取值赋值给与所述转发表项对应的表项指示变量;当检测到所述目标出接口异常时,修改与所述目标出接口对应的接口指示变量的取值;将与所述目标出接口对应的链表中表项指示变量与所述目标出接口的接口指示变量的取值不同的转发表项作为无效表项清除。根据本申请实施例的第二方面,提供一种表项清除装置,所述装置应用于转发设备,所述转发设备包括若干个出接口,所述若干个出接口对应的结构体中分别预配置了对应的接口指示变量;所述转发设备的转发表中的出接口相同的转发表项被分别组织成对应的链表;所述链表中的转发表项分别预配置了对应的表项指示变量;所述装置包括:赋值单元,用于当接收到下发的针对目标出接口的转发表项时,将与所述目标出接口对应的接口指示变量的取值赋值给与所述转发表项对应的表项指示变量;修改单元,用于当检测到所述目标出接口异常时,修改与所述目标出接口对应的接口指示变量的取值;清除单元,用于将与所述目标出接口对应的链表中表项指示变量与所述目标出接口的接口指示变量的取值不同的转发表项作为无效表项清除。本申请提供一种表项清除的方法,当接收到下发的针对目标出接口的转发表项时,转发设备可以将与所述目标出接口对应的接口指示变量的取值赋值给与所述转发表项对应的表项指示变量。当检测到所述目标出接口异常时,转发设备可以修改与所述目标出接口对应的接口指示变量的取值。并可以将与所述目标出接口对应的链表中表项指示变量与所述目标出接口的接口指示变量的取值不同的转发表项作为无效表项清除。由于转发设备不再多次反复遍历以哈希表组织的转发表,查找需要清除的转发表项进行删除;而是可以根据链表,快速查找到转发表项,并基于目标出接口的接口结构体中的接口指示变量和转发表项中的表项指示变量,将该目标出接口对应的需要清除的转发表项集体置于无效,并可以将无效的转发表项删除,从而可以有效地降低了CPU的负荷,提高CPU的资源利用率。附图说明图1是本申请一示例性实施例示出的一种表项清除方法的流程图;图2是本申请一示例性实施例示出的一种表项清除装置所在设备的硬件结构图;图3是本申请一示例性实施例示出的一种表项清除装置的框图。具体实施方式这里将详细地对示例性实施例进行说明,其示例表示在附图中。下面的描述涉及附图时,除非另有表示,不同附图中的相同数字表示相同或相似的要素。以下示例性实施例中所描述的实施方式并不代表与本申请相一致的所有实施方式。相反,它们仅是与如所附权利要求书中所详述的、本申请的一些方面相一致的装置和方法的例子。在本申请使用的术语是仅仅出于描述特定实施例的目的,而非旨在限制本申请。在本申请和所附权利要求书中所使用的单数形式的“一种”、“所述”和“该”也旨在包括多数形式,除非上下文清楚地表示其他含义。还应当理解,本文中使用的术语“和/或”是指并包含一个或多个相关联的列出项目的任何或所有可能组合。应当理解,尽管在本申请可能采用术语第一、第二、第三等来描述各种信息,但这些信息不应限于这些术语。这些术语仅用来将同一类型的信息彼此区分开。例如,在不脱离本申请范围的情况下,第一信息也可以被称为第二信息,类似地,第二信息也可以被称为第一信息。取决于语境,如在此所使用的词语“如果”可以被解释成为“在……时”或“当……时”或“响应于确定”。交换机、路由器等作为重要的转发设备,在互联网中起着至关重要的作用。当该类转发设备的出接口异常时,通常需要清除该出接口的对应的转发表项。例如,在三层网络中,转发设备的出接口Down掉,此时,需要转发设备清除ARP/ND表项,以使得设备可以重新学习ARP/ND表项。又例如,在使用生成树协议搭建的二层网络中,如果网络拓扑发生变化,作为网桥的转发设备需要清除出接口上的MAC表项,以使转发设备重新学习新的网络拓扑的MAC表项。在相关技术中,当转发设备的某个出接口异常时,需要对该出接口的转发表项进行清除。但是,通常情况下,转发表项是以哈希表的结构被进行组成,形成转发表。转发表中包含了转发设备上的出接口及出接口对应的转发表项。当对上述转发表项进行删除时,转发设备可以以异常出接口的接口ID为索引,遍历转发表,查找异常的出接口对应的转发表项,然后将该转发表项删除。此外,当转发设备为框式转发设备时,在异常出接口转发表项的清除过程中,框式转发设备的主控板需要将需要清除的转发表项通过内部通道下发给业务板,由业务板查找对应的转发表项进行清除。然而,在相关技术中,一方面,当转发设备有多个出接口需要清除转发表项时,在查找该出接口对应的转发表项时,需要多次遍历转发表。由于转发表以由哈希表的数据结构组织的,多次遍历转发表,会大大增加CPU资源的占用,从而增大CPU的负荷。另一方面,当有多个转发表项需要清除时,由于主控板向业务板下发需要清除的转发表项,会占用大量的通道资源,可能会造成内部通道拥堵,甚至丢包的发生。综上所述,使用相关技术的表项清除的方法,大大增加了转发设备的系统负荷。有鉴于此,本申请提供一种表项清除的方法,当接收到下发的针对目标出接口的转发表项时,转发设备可以将与所述目标出接口对应的接口指示变量的取值赋值给与所述转发表项对应的表项指示变量。当检测到所述目标出接口异常时,转发设备可以修改与所述目标出接口对应的接口指示变量的取值。并可以将与所述目标出接口对应的链表中表项指示变量与所述目标出接口的接口指示变量的取值不同的转发表项作为无效表项清除。此外,当转发设备为框式转发设备时,在表项清除的过程中,框式设备的主控板不再将需要删除的表项下发给业务板,而是主控板将异常出接口的接口ID发送给业务板,由业务板使用本申请提供的表项清除的方法将该异常出接口对应的转发表项作为无效的转发表项进行删除。一方面,由于转发设备不再多次反复遍历哈希表,查找需要清除的转发表项进行删除;而是可以根据链表,快速查找到转发表项,并基于目标出接口的接口结构体中的接口指示变量和转发表项中的表项指示变量,将该目标出接口对应的需要清除的转发表项集体置于无效,并可以将无效的转发表项删除,从而可以有效地降低了CPU的负荷,提高CPU的资源利用率。另一方面,当转发设备为框式转发设备时,由于框式设备的主控板本文档来自技高网...
表项清除方法及装置

【技术保护点】
一种表项清除方法,其特征在于,所述方法应用于转发设备,所述转发设备包括若干个出接口,所述若干个出接口对应的结构体中分别预配置了对应的接口指示变量;所述转发设备的转发表中的出接口相同的转发表项被分别组织成对应的链表;所述链表中的转发表项分别预配置了对应的表项指示变量;所述方法包括:当接收到下发的针对目标出接口的转发表项时,将与所述目标出接口对应的接口指示变量的取值赋值给与所述转发表项对应的表项指示变量;当检测到所述目标出接口异常时,修改与所述目标出接口对应的接口指示变量的取值;将与所述目标出接口对应的链表中表项指示变量与所述目标出接口的接口指示变量的取值不同的转发表项作为无效表项清除。

【技术特征摘要】
1.一种表项清除方法,其特征在于,所述方法应用于转发设备,所述转发设备包括若干个出接口,所述若干个出接口对应的结构体中分别预配置了对应的接口指示变量;所述转发设备的转发表中的出接口相同的转发表项被分别组织成对应的链表;所述链表中的转发表项分别预配置了对应的表项指示变量;所述方法包括:当接收到下发的针对目标出接口的转发表项时,将与所述目标出接口对应的接口指示变量的取值赋值给与所述转发表项对应的表项指示变量;当检测到所述目标出接口异常时,修改与所述目标出接口对应的接口指示变量的取值;将与所述目标出接口对应的链表中表项指示变量与所述目标出接口的接口指示变量的取值不同的转发表项作为无效表项清除。2.根据权利要求1所述的方法,其特征在于,所述将与所述目标出接口对应的链表中表项指示变量与所述目标出接口的接口指示变量的取值不同的转发表项作为无效表项清除,包括:当接收到报文时,在转发表中匹配与所述报文对应的目标转发表项;当在转发表中匹配到与所述报文对应的目标转发表项时,比较所述目标转发表项中的表项指示变量与该目标转发表项对应的出接口中的接口指示变量的取值是否相同;如果所述目标转发表项中的表项指示变量与该目标转发表项对应的出接口中的接口指示变量的取值不同,将该目标转发表项作为无效表项从转发表中和与该目标转发表项对应的链表中清除。3.根据权利要求1所述的方法,其特征在于,所述将与所述目标出接口对应的链表中表项指示变量与所述目标出接口的接口指示变量的取值不同的转发表项作为无效表项清除,包括:周期性地遍历各链表中的转发表项,分别查询无效的转发表项;将查询到的所述无效的转发表项从转发表和与该无效的转发表项对应的链表中清除。4.根据权利要求2所述的方法,其特征在于,所述方法还包括:如果所述目标转发表项中的表项指示变量与该目标转发表项对应的出接口中的接口指示变量的取值相同,基于所述目标转发表项,转发所述报文。5.根据权利要求1所述的方法,其特征在于,所述转发设备为框式转发设备;所述框式设备包括主控板和业务板;所述修改与所述目标出接口对应的接口指示变量的取值,包括:业务板接收主...

【专利技术属性】
技术研发人员:李喻
申请(专利权)人:杭州迪普科技股份有限公司
类型:发明
国别省市:浙江;33

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

1