表项清除方法及装置与流程

文档序号:12131997阅读:284来源:国知局
表项清除方法及装置与流程

本申请涉及计算机通信领域,尤其涉及表项清除方法及装置。



背景技术:

交换机、路由器等作为重要的转发设备,在互联网中起着至关重要的作用。当该类转发设备的出接口异常时,通常需要清除该出接口的对应的转发表项,使转发设备学习新的转发表项,找到新的出接口,对接收到的流量进行转发。

然而,清除异常出接口的转发表项,通常可能会增加转发设备的系统负荷。因此,如何降低针对清除异常出接口对应的转发表项时的系统负荷就成为亟待解决的问题。



技术实现要素:

有鉴于此,本申请提供一种表项清除方法及装置,用以降低转发设备的系统负荷。

具体地,本申请是通过如下技术方案实现的:

根据本申请实施例的第一方面,提供一种表项清除方法,所述方法应用于转发设备,所述转发设备包括若干个出接口,所述若干个出接口对应的结构体中分别预配置了对应的接口指示变量;所述转发设备的转发表中的出接口相同的转发表项被分别组织成对应的链表;所述链表中的转发表项分别预配置了对应的表项指示变量;所述方法包括:

当接收到下发的针对目标出接口的转发表项时,将与所述目标出接口对应的接口指示变量的取值赋值给与所述转发表项对应的表项指示变量;

当检测到所述目标出接口异常时,修改与所述目标出接口对应的接口指示变量的取值;

将与所述目标出接口对应的链表中表项指示变量与所述目标出接口的接口指示变量的取值不同的转发表项作为无效表项清除。

根据本申请实施例的第二方面,提供一种表项清除装置,所述装置应用于转发设备,所述转发设备包括若干个出接口,所述若干个出接口对应的结构体中分别预配置了对应的接口指示变量;所述转发设备的转发表中的出接口相同的转发表项被分别组织成对应的链表;所述链表中的转发表项分别预配置了对应的表项指示变量;所述装置包括:

赋值单元,用于当接收到下发的针对目标出接口的转发表项时,将与所述目标出接口对应的接口指示变量的取值赋值给与所述转发表项对应的表项指示变量;

修改单元,用于当检测到所述目标出接口异常时,修改与所述目标出接口对应的接口指示变量的取值;

清除单元,用于将与所述目标出接口对应的链表中表项指示变量与所述目标出接口的接口指示变量的取值不同的转发表项作为无效表项清除。

本申请提供一种表项清除的方法,当接收到下发的针对目标出接口的转发表项时,转发设备可以将与所述目标出接口对应的接口指示变量的取值赋值给与所述转发表项对应的表项指示变量。当检测到所述目标出接口异常时,转发设备可以修改与所述目标出接口对应的接口指示变量的取值。并可以将与所述目标出接口对应的链表中表项指示变量与所述目标出接口的接口指示变量的取值不同的转发表项作为无效表项清除。

由于转发设备不再多次反复遍历以哈希表组织的转发表,查找需要清除的转发表项进行删除;而是可以根据链表,快速查找到转发表项,并基于目标出接口的接口结构体中的接口指示变量和转发表项中的表项指示变量,将该目标出接口对应的需要清除的转发表项集体置于无效,并可以将无效的转发表项删除,从而可以有效地降低了CPU的负荷,提高CPU的资源利用率。

附图说明

图1是本申请一示例性实施例示出的一种表项清除方法的流程图;

图2是本申请一示例性实施例示出的一种表项清除装置所在设备的硬件结构图;

图3是本申请一示例性实施例示出的一种表项清除装置的框图。

具体实施方式

这里将详细地对示例性实施例进行说明,其示例表示在附图中。下面的描述涉及附图时,除非另有表示,不同附图中的相同数字表示相同或相似的要素。以下示例性实施例中所描述的实施方式并不代表与本申请相一致的所有实施方式。相反,它们仅是与如所附权利要求书中所详述的、本申请的一些方面相一致的装置和方法的例子。

在本申请使用的术语是仅仅出于描述特定实施例的目的,而非旨在限制本申请。在本申请和所附权利要求书中所使用的单数形式的“一种”、“所述”和“该”也旨在包括多数形式,除非上下文清楚地表示其他含义。还应当理解,本文中使用的术语“和/或”是指并包含一个或多个相关联的列出项目的任何或所有可能组合。

应当理解,尽管在本申请可能采用术语第一、第二、第三等来描述各种信息,但这些信息不应限于这些术语。这些术语仅用来将同一类型的信息彼此区分开。例如,在不脱离本申请范围的情况下,第一信息也可以被称为第二信息,类似地,第二信息也可以被称为第一信息。取决于语境,如在此所使用的词语“如果”可以被解释成为“在……时”或“当……时”或“响应于确定”。

交换机、路由器等作为重要的转发设备,在互联网中起着至关重要的作用。当该类转发设备的出接口异常时,通常需要清除该出接口的对应的转发表项。例如,在三层网络中,转发设备的出接口Down掉,此时,需要转发设备清除ARP/ND表项,以使得设备可以重新学习ARP/ND表项。又例如,在使用生成树协议搭建的二层网络中,如果网络拓扑发生变化,作为网桥的转发设备需要清除出接口上的MAC表项,以使转发设备重新学习新的网络拓扑的MAC表项。

在相关技术中,当转发设备的某个出接口异常时,需要对该出接口的转发表项进行清除。但是,通常情况下,转发表项是以哈希表的结构被进行组成,形成转发表。转发表中包含了转发设备上的出接口及出接口对应的转发表项。当对上述转发表项进行删除时,转发设备可以以异常出接口的接口ID为索引,遍历转发表,查找异常的出接口对应的转发表项,然后将该转发表项删除。

此外,当转发设备为框式转发设备时,在异常出接口转发表项的清除过程中,框式转发设备的主控板需要将需要清除的转发表项通过内部通道下发给业务板,由业务板查找对应的转发表项进行清除。

然而,在相关技术中,一方面,当转发设备有多个出接口需要清除转发表项时,在查找该出接口对应的转发表项时,需要多次遍历转发表。由于转发表以由哈希表的数据结构组织的,多次遍历转发表,会大大增加CPU资源的占用,从而增大CPU的负荷。

另一方面,当有多个转发表项需要清除时,由于主控板向业务板下发需要清除的转发表项,会占用大量的通道资源,可能会造成内部通道拥堵,甚至丢包的发生。

综上所述,使用相关技术的表项清除的方法,大大增加了转发设备的系统负荷。

有鉴于此,本申请提供一种表项清除的方法,当接收到下发的针对目标出接口的转发表项时,转发设备可以将与所述目标出接口对应的接口指示变量的取值赋值给与所述转发表项对应的表项指示变量。当检测到所述目标出接口异常时,转发设备可以修改与所述目标出接口对应的接口指示变量的取值。并可以将与所述目标出接口对应的链表中表项指示变量与所述目标出接口的接口指示变量的取值不同的转发表项作为无效表项清除。

此外,当转发设备为框式转发设备时,在表项清除的过程中,框式设备的主控板不再将需要删除的表项下发给业务板,而是主控板将异常出接口的接口ID发送给业务板,由业务板使用本申请提供的表项清除的方法将该异常出接口对应的转发表项作为无效的转发表项进行删除。

一方面,由于转发设备不再多次反复遍历哈希表,查找需要清除的转发表项进行删除;而是可以根据链表,快速查找到转发表项,并基于目标出接口的接口结构体中的接口指示变量和转发表项中的表项指示变量,将该目标出接口对应的需要清除的转发表项集体置于无效,并可以将无效的转发表项删除,从而可以有效地降低了CPU的负荷,提高CPU的资源利用率。

另一方面,当转发设备为框式转发设备时,由于框式设备的主控板不再需要向业务板发送需要删除的转发表项,而是将异常出接口的接口ID发送给业务板,由业务板基于接口ID完成异常出接口表项的清除工作,从而可以有效地节省内部通道的资源。

综上所述,使用本申请实施例提供的表项清除的方法,可以有效地降低转发设备的系统负荷。

参见图1,图1是本申请一示例性实施例示出的一种表项清除方法的流程图,所述方法应用于转发设备,所述转发设备包括若干个出接口。所述若干个出接口对应的结构体中分别预配置了对应的接口指示变量。所述转发设备的转发表中出接口相同的转发表项被分别组织成对应的链表。所述链表中的转发表项分别预配置了对应的表项指示变量。所述方法具体包括如下所述的步骤:

步骤101:当接收到下发的针对目标出接口的转发表项时,将与所述目标出接口对应的接口指示变量的取值赋值给与所述转发表项对应的表项指示变量。

步骤102:当检测到所述目标出接口异常时,修改与所述目标出接口对应的接口指示变量的取值。

步骤103:将与所述目标出接口对应的链表中表项指示变量与所述目标出接口的接口指示变量的取值不同的转发表项作为无效表项清除。

上述转发设备,是指在互联网中具有转发功能的设备,通常情况下,该类转发设备包括若干出接口,每个出接口对应有储存在该转发设备中的若干转发表项。当学习到新的转发表项时,转发设备可以更新已有的转发表项。当转发设备上的出接口异常或者网络拓扑发生变化时,转发设备可以清除该出接口上的转发表项,以重新学习新的转发表项等。上述转发设备可以是三层转发设备,如路由器,也可以是二层转发设备,如交换机,在这里只对其进行示例性的说明,不对转发设备进行特定地限定。

上述转发表项,通常情况下,转发表项可以以哈希表的形式被组织形成转发表。在本申请实施例中,开发人员还以链表的形式对上述转发表项进行了组成。对于二层网络来说,该转发表项可以是MAC表项,对于三层网络来说,该转发表项可以是ARP/ND表项。

上述接口指示变量,是开发人员在转发设备的出接口的结构体中设置的一个变量,在本申请实施例中,主要起标识作用,通过与上述表项指示变量的共同作用,标识该出接口对应的转发表项是否有效。

上述表项指示变量,是开发人员在链表的转发表项中添加的变量,在本申请实施例中,主要起标识作用,通过与上述接口指示变量的共同作用,标识该转发表项是否有效。通常情况下,当新学习到针对目标出接口的转发表项时,可以在转发表项中添加表项指示变量,并可以将上述接口指示变量的赋值给表项指示变量。

在本申请实施例中,通过对表项清除机制的改进,即由现有的直接清除表项的机制改进为通过将表项置于无效,再对无效的表项进行清除这两个步骤完成表项的清除。转发设备不再多次反复遍历哈希表,查找需要清除的转发表项进行删除,而是可以根据链表,快速查找到转发表项,并基于目标出接口的接口结构体中的接口指示变量和转发表项中的表项指示变量,将该目标出接口对应的需要清除的转发表项集体置于无效,并可以将无效的转发表项从转发表中删除,从而可以有效地降低了CPU的负荷,提高CPU的资源利用率。

下面对为完成本申请提出的表项清除方法而需进行的配置,进行详细地说明。

对于针对转发表项的配置,在本申请实施例中,开发人员可以以链表的形式组织上述转发表项。通过链表组织转发表项的组织方式,可以将同一出接口对应的转发表项进行“链接”,使得转发设备可以不再多次遍历以哈希表组织的转发表,而是可以通过链表中保存的指向转发表项的指针快速地查找到无效转发表项,并将其从内存中删除。

对于链表的组织方式,通常情况下,开发人员可以在目标出接口的接口结构体中配置链表结点,该链表结点中储存有指向该出接口对应的某个转发表项的指针,通过该指针,可以快速抵查找到该转发表项。同时,该查找到的转发表项中也储存有向前和向后指针,用以分别指向该转发表项关联的上一个和下一个转发表项,使得转发设备可以通过向前和向后的指针,查找到该出接口对应的所有转发表项。

其中,两个转发表项如果具有关联关系,则表明这两个转发表项是同一出接口对应的转发表项。本申请提供的以链表的形式对转发表项进行组织,其实是对同一出接口对应的所有转发表项进行组织。换句话来说,就是每个出接口都对应有链表,该链表中包含了该出接口对应的所有转发表项。

这里只是对以链表形式组织转发表项的一种示例性说明,在本申请中不对其进行特定地限定。

此外,还需要说明的是,在使用链表对上述转发表项进行组织时,一般容易想到的方法是采用单向链表的方法,即链表中只储存有指向下一个转发表项的地址的指针。为了可以查找到该出接口对应的全部的转发表项,这就要求接口结构体中储存的是该出接口对应链表的首个结点,此外,使用单向链表,只可以向下访问转发表项,而不能双向访问转发表项,因此为使用链表查找转发表项造成了极大地不便。

而在本申请实施例中,开发人员使用双向链表对上述转发表项进行组织,一方面,使用双向链表,可以使得出接口的结构体中储存链表的任一结点,方便链表节点的原地加入和删除;另一方面,使用双向链表,可以实现双向遍历转发表项的指针,加快对转发表项地访问速度。

此外,对于转发表项的配置,还包括,在转发表项中储存有转发表项在哈希表中的结点,以及开发人员在转发表项中预配置了表项指示变量。

对于接口指示变量的配置,开发人员可以预先将接口指示变量配置在出接口的结构体中。该指示变量的初始值为该转发设备的系统生成的随机值。

对于表项指示变量的配置,开发人员可以在每个转发表项中配置表项指示变量。

在这里,需要说明的是,上述出接口的结构体中的接口指示变量和该出接口对应的转发表项中的表项指示变量,主要起标识作用,用以区分转发表项是否有效。换句话来说,如果接口指示变量与表项指示变量相同时,表明该转发表项有效;如果该接口指示变量与表项指示变量不相同时,则表明该转发表项无效。

下面对清除表项的方法,进行详细地介绍。

在本申请实施例中,当接收到下发的针对目标出接口的转发表项时,将与所述目标出接口对应的接口指示变量的取值赋值给与所述转发表项对应的表项指示变量。

在实现时,当接收到下发的针对目标出接口的转发表项时,转发设备可以将该目标出接口的接口结构体中的接口指示变量的取值赋值给与该转发表项对应的表项指示变量,使得该转发表项中的表项指示变量的取值与接口指示变量的取值相同。

需要说明的是,下发的转发表项,一般为转发设备新学习到的针对目标出接口的转发表项,将与该转发表项对应的目标出接口中的接口指示变量的取值赋值给与该转发表项对应的表项指示变量,主要是标识该新学习到的转发表项是有效的。

此外,还需要说明的是,当接收到下发的针对目标出接口的转发表项时,转发设备可以将该目标出接口的接口结构体中的接口指示变量的取值赋值给该表项指示变量。这样做的好处在于,在转发设备将目标出接口对应的无效的转发表项清除后,不需要将该出接口中的接口指示变量恢复成初始值,而是在该目标出接口学习到新的转发表项后,将修改后接口指示变量的取值赋值给与新的转发表项对应的表项指示变量即可。由于减少了接口指示变量恢复成初始值的步骤,因此可以有效地提高表项清除的效率。

在本申请实施例中,当检测到所述目标出接口异常时,修改与所述目标出接口对应的接口指示变量的取值。

在实现时,转发设备可以对目标出接口进行检测,如果检测到该目标出接口异常,转发设备可以将该目标出接口对应的转发表项置为无效。在将该目标出接口对应的转发表项无效的过程中,转发设备可以修改目标出接口的接口结构体中预配置的接口指示变量的取值,使得接口指示变量的取值与该目标出接口对应的转发表项中的表项指示变量的取值不同,通过不同的取值,将该目标出接口对应的转发表项标记为无效。对于修改上述指示变量的取值,可以通过对将接口指示变量的取值加一等方法来进行修改,在这里不对其进行特别地限定。

在这里,需要说明的是,本申请所述的出接口异常,是指该出接口对应的转发表项需要清除,则表明该出接口异常。出现出接口异常的情况,可以是,出接口故障或者是网络拓扑等发生变化等情况。在这里,只是对出现出接口异常的情况进行示例性的说明,不进行特别地限定。

此外,还需要说明的是,对于转发表项的无效,一般容易想到的方法是将异常的目标出接口对应的转发表项一条一条进行无效处理。而在本申请实施例中,转发设备可以通过修改异常的目标出接口的接口结构体中储存的接口指示变量的方法,将该异常的目标出接口对应的转发表项集体标记为无效。由于本申请实施例提供的方法可以对异常的目标出接口对应的所有转发表项同时进行无效处理,所以可以有效加快表项无效的速度,提高表项清除的效率。

在本申请实施例中,将与所述目标出接口对应的链表中表项指示变量与所述目标出接口的接口指示变量的取值不同的转发表项作为无效表项清除。

对于将与所述目标出接口对应的链表中表项指示变量与所述目标出接口的接口指示变量的取值不同的转发表项作为无效表项清除,转发设备既可以采用主动删除转发表项的方法,也可以采用周期遍历各链表,分别对转发表项进行删除。

主动删除转发表项的方法如下:

在本申请实施例中,当接收到报文时,在转发表中匹配与所述报文对应的目标转发表项;当在转发表中匹配到与所述报文对应的目标转发表项时,比较所述目标转发表项中的表项指示变量与该目标转发表项对应的出接口中的接口指示变量的取值是否相同;如果所述目标转发表项中的表项指示变量与该目标转发表项对应的出接口中的接口指示变量的取值不同,将该目标转发表项作为无效表项从转发表中和与该目标转发表项对应的链表中清除。

上述主动删除转发表项的方法,主要是在转发设备转发报文的过程中实现的。在实现时,当接收到报文时,转发设备可以在转发表中匹配与该接收到的报文对应的目标转发表项。如果匹配与该报文对应的目标转发表项时,转发设备可以获取该目标转发表项中的表项指示变量,并可以基于该目标转发表项中携带的出接口信息,获取该出接口的接口结构体中的接口指示变量。

转发设备可以比较该表项指示变量与接口指示变量中的取值。如果述目标转发表项中的表项指示变量与该目标转发表项对应的出接口中的接口指示变量的取值不同,转发设备可以标记该目标转发表项无效。此时,转发设备可以将该标记为无效的转发表项从转发表中和与该目标转发表项对应的链表中清除。同时,转发设备还可以清除该目标转发表项对应的出接口的接口结构体中的链表结点。

在本申请实施例中,如果所述目标转发表项中的表项指示变量与该目标转发表项对应的出接口中的接口指示变量的取值相同,基于所述目标转发表项,转发所述报文。

在实现时,如果所述目标转发表项中的表项指示变量与该目标转发表项对应的出接口中的接口指示变量的取值相同,转发设备可以确定该目标转发表项有效,则转发设备可以基于该目标转发表项,将所述报文转发。

采用周期遍历接口链表,对转发表项进行删除的方式如下:

在本实施例中,转发设备可以周期性地遍历各链表中的转发表项,分别查询无效的转发表项。并可以将查询到的所述无效的转发表项从转发表和与该无效的转发表项对应的链表中清除。

在实现时,开发人员可以在转发设备的每个出接口的接口结构体中预配置定时器,通过定时器设定遍历链表的周期。

转发设备可以基于该出接口的接口结构体中储存的接口链表结点,查找该结点指向的转发表项,并可以比较该转发表项中的表项指示变量是否与该出接口中的接口指示变量相同,如果该表项指示变量与该接口指示变量不同时,转发设备可以确定该转发表项无效,并可以将该转发表项删除。此时,转发设备还可以将该链表结点从该接口结构体中删除。

在删除上述转发表项前,转发设备可以获取该转发表项中储存的向前和向后的指针,双向查找该向前和向后的指针指向的转发表项,并继续上述判断无效操作,当转发表项无效时,将转发表项从转发表和该链表中删除。

同时采用主动删除转发表项的方法和定期遍历链表,对转发表项进行删除的这两种方法,由于可以毫无遗漏地将目标出接口对应的转发表项全部删除,因此可以有效地提高转发表项删除的速率。

在本申请实施例中,当所述转发设备为框式转发设备;所述框式设备包括主控板和业务板;所述修改所述目标出接口的接口结构体中的指示变量的取值,包括:业务板接收主控板发送的转发表项清除消息,并获取所述转发表项清除消息携带的所述目标出接口的接口ID;业务板基于所述接口ID,查找所述目标出接口的接口结构体;修改与所述目标出接口对应的接口指示变量的取值。

在实现时,当该转发设备为框式转发设备时,框式设备的主控板可以对出接口进行检测,当检测到目标出接口异常时,主控板可以将清除该目标出接口对应的转发表项的转发表项清除消息,下发给业务板。

对于修改所述目标出接口的接口结构体中的指示变量的取值,业务板可以接收到该表项清除消息后,并可以获取该消息中携带的目标出接口的接口ID。业务板可以基于该接口ID,查找到目标出接口,然后修改目标出接口的接口结构体中的接口指示变量的取值。

需要说明的是,在本申请提出的表项清除方法中,框式转发设备只是对于修改所述目标出接口的接口结构体中的指示变量的取值的步骤上略有不同,其余的步骤与上述的表项清除方法的步骤相同,在这里,不再赘述。

在本申请实施例中,所述转发设备包括二层转发设备和三层转发设备;所述转发表项包括MAC表项和ARP/ND表项。

需要说明的是,当本申请提出的表项清除方法应用于二层网络中时,本申请的转发设备可以包括二层转发设备,例如交换机等,此时,转发表项可以为MAC表项等。当本申请提出的表项清除方法应用于三层网络中时,本申请的转发设备可以包括三层转发设备,例如路由器等。此时,转发表项可以为ARP/ND表项等。

此外,需要说明的是,转发设备上的所有出接口都可以使用上述表项清除方法对需要清除的表项进行清除。所述目标出接口可以代指转发设备上任一的出接口。

本申请提供一种表项清除方法,当接收到下发的针对目标出接口的转发表项时,转发设备可以将与所述目标出接口对应的接口指示变量的取值赋值给与所述转发表项对应的表项指示变量。当检测到所述目标出接口异常时,转发设备可以修改与所述目标出接口对应的接口指示变量的取值。并可以将与所述目标出接口对应的链表中表项指示变量与所述目标出接口的接口指示变量的取值不同的转发表项作为无效表项清除。

此外,当转发设备为框式转发设备时,在表项清除的过程中,框式设备的主控板不再将需要删除的表项下发给业务板,而是主控板将异常出接口的接口ID发送给业务板,由业务板使用本申请提供的表项清除的方法将该异常出接口对应的转发表项作为无效的转发表项进行删除。

一方面,由于转发设备不再多次反复遍历哈希表,查找需要清除的转发表项进行删除;而是可以根据链表,快速查找到转发表项,并基于目标出接口的接口结构体中的接口指示变量和转发表项中的表项指示变量,将该目标出接口对应的需要清除的转发表项集体置于无效,并可以将无效的转发表项删除,从而可以有效地降低了CPU的负荷,提高CPU的资源利用率。

另一方面,当转发设备为框式转发设备时,由于框式设备的主控板不再需要向业务板发送需要删除的转发表项,而是将异常出接口的接口ID发送给业务板,由业务板基于接口ID完成异常出接口表项的清除工作,从而可以有效地节省内部通道的资源。

综上所述,使用本申请实施例提供的表项清除方法,可以有效地降低转发设备的系统负荷。

与前述表项清除的方法的实施例相对应,本申请还提供了表项清除的装置的实施例。

本申请表项清除装置的实施例可以应用在转发设备上。装置实施例可以通过软件实现,也可以通过硬件或者软硬件结合的方式实现。以软件实现为例,作为一个逻辑意义上的装置,是通过其所在转发设备的处理器将非易失性存储器中对应的计算机程序指令读取到内存中运行形成的。从硬件层面而言,如图2所示,为本申请表项清除装置所在转发设备的一种硬件结构图,除了图2所示的处理器、内存、网络出接口、以及非易失性存储器之外,实施例中装置所在的转发设备通常根据该表项清除的实际功能,还可以包括其他硬件,对此不再赘述。

请参考图3,图3是本申请一示例性实施例示出的一种表项清除装置的框图。所述装置应用于转发设备,所述转发设备包括若干个出接口,所述若干个出接口对应的结构体中分别预配置了对应的接口指示变量;所述转发设备的转发表中的出接口相同的转发表项被分别组织成对应的链表;所述链表中的转发表项分别预配置了对应的表项指示变量;所述装置包括:赋值单元310,修改单元320和清除单元330。

其中,赋值单元310,用于当接收到下发的针对目标出接口的转发表项时,将与所述目标出接口对应的接口指示变量的取值赋值给与所述转发表项对应的表项指示变量;

修改单元320,用于当检测到所述目标出接口异常时,修改与所述目标出接口对应的接口指示变量的取值;

清除单元330,用于将与所述目标出接口对应的链表中表项指示变量与所述目标出接口的接口指示变量的取值不同的转发表项作为无效表项清除。

在另一种可选的实现方式中,所述清除单元330,具体用于当接收到报文时,在转发表中匹配与所述报文对应的目标转发表项;当在转发表中匹配到与所述报文对应的目标转发表项时,比较所述目标转发表项中的表项指示变量与该目标转发表项对应的出接口中的接口指示变量的取值是否相同;如果所述目标转发表项中的表项指示变量与该目标转发表项对应的出接口中的接口指示变量的取值不同,将该目标转发表项作为无效表项从转发表中和与该目标转发表项对应的链表中清除。

在另一种可选的实现方式中,所述清除单元330,具体用于周期性地遍历各链表中的转发表项,分别查询无效的转发表项;将查询到的所述无效的转发表项从转发表和与该无效的转发表项对应的链表中清除。

在另一种可选的实现方式中,所述装置还包括:转发单元340,用于如果所述目标转发表项中的表项指示变量与该目标转发表项对应的出接口中的接口指示变量的取值相同,基于所述目标转发表项,转发所述报文。

上述装置中各个单元的功能和作用的实现过程具体详见上述方法中对应步骤的实现过程,在此不再赘述。

对于装置实施例而言,由于其基本对应于方法实施例,所以相关之处参见方法实施例的部分说明即可。以上所描述的装置实施例仅仅是示意性的,其中所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本申请方案的目的。本领域普通技术人员在不付出创造性劳动的情况下,即可以理解并实施。

以上所述仅为本申请的较佳实施例而已,并不用以限制本申请,凡在本申请的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本申请保护的范围之内。

当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1