CN110691045B - 协议报文转发方法、线卡板、网络设备及存储介质 - Google Patents
协议报文转发方法、线卡板、网络设备及存储介质 Download PDFInfo
- Publication number
- CN110691045B CN110691045B CN201911026096.8A CN201911026096A CN110691045B CN 110691045 B CN110691045 B CN 110691045B CN 201911026096 A CN201911026096 A CN 201911026096A CN 110691045 B CN110691045 B CN 110691045B
- Authority
- CN
- China
- Prior art keywords
- chip
- chips
- cpu
- identifier
- maintenance
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L49/00—Packet switching elements
- H04L49/30—Peripheral units, e.g. input or output ports
- H04L49/3027—Output queuing
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L49/00—Packet switching elements
- H04L49/30—Peripheral units, e.g. input or output ports
Abstract
本申请提出一种协议报文转发方法、线卡板、网络设备及存储介质,涉及通信技术领域,通过由CPU将维护的转发策略表发送给至少两个NP芯片,从而使该至少两个NP芯片中对应状态标识为第一标识的维护芯片根据限流策略将接收到的协议报文发送给CPU,而该至少两个NP芯片中对应状态标识为第二标识的其他芯片则将接收到的协议报文发送给维护芯片,相比于现有技术,使得CPU仅接收到维护芯片发送的协议报文,而无需接收其他芯片发送的协议报文,从而避免了大量的NP芯片都达到限流的协议报文发送量时,CPU接收的协议报文的流量超出CPU处理协议报文的能力上限,提升了线卡板的稳定性。
Description
技术领域
本申请涉及通信技术领域,具体而言,涉及一种协议报文转发方法、线卡板、网络设备及存储介质。
背景技术
通常在中低端路由器中,一般由CPU(Central Processing Unit,中央处理器)负责路由信息计算、路由表查找、业务处理以及转发数据包等。但在高性能路由器中,一般采用基于NP(Networking Processor,网络处理器)芯片进行转发的方案,CPU一般负责处理协议报文、连接的建立以及业务的计算,然后将计算结果发送给NP芯片,由NP芯片对数据报文进行处理并指导端口port进行报文的转发,从而减少CPU的压力,提升路由器的报文处理能力。
为了提高路由器的报文吞吐量,一般会在CPU下面挂接多个NP芯片,所有NP芯片接收的协议报文都会发送给CPU进行处理。但由于CPU处理协议报文的能力一般是有限的,因此,一般会设置相应的限流策略,以避免CPU处理过多的协议报文导致CPU忙碌而无法处理其他的报文。
然而,目前的限流策略一般是限制NP芯片发送给CPU的协议报文发送量,当大量的NP芯片都达到了限流的报文发送量时,CPU依然可能处于忙碌状态而无法处理其他的报文,甚至造成设备异常。
发明内容
本申请的目的在于提供一种协议报文转发方法、线卡板、网络设备及存储介质,能够提升线卡板的稳定性。
为了实现上述目的,本申请实施例采用的技术方案如下:
第一方面,本申请实施例提供一种协议报文转发方法,应用于线卡板,所述线卡板包括CPU和至少两个NP芯片,所述方法包括:
所述CPU将维护的转发策略表发送给所述至少两个NP芯片,其中,所述转发策略表记录有每一个NP芯片各自对应的状态标识,当所述状态标识为第一标识时,所对应的NP芯片为维护芯片,当所述状态标识为第二标识时,所对应的NP芯片为其他芯片;
所述至少两个NP芯片中的维护芯片在接收到协议报文时,根据限流策略将接收到的协议报文发送给所述CPU,其中,所述限流策略用于指示向所述CPU发送协议报文的发送速率;
所述至少两个NP芯片中的其他芯片在接收到协议报文时,将接收到的协议报文发送给所述维护芯片。
第二方面,本申请实施例提供一种线卡板,包括CPU和至少两个NP芯片;
所述CPU,用于将维护的转发策略表发送给所述至少两个NP芯片,其中,所述转发策略表记录有每一个NP芯片各自对应的状态标识,当所述状态标识为第一标识时,所对应的NP芯片为维护芯片,当所述状态标识为第二标识时,所对应的NP芯片为其他芯片;
所述至少两个NP芯片中的维护芯片,用于在接收到协议报文时,根据限流策略将接收到的协议报文发送给所述CPU,其中,所述限流策略用于指示向所述CPU发送协议报文的发送速率;
所述至少两个NP芯片中的其他芯片,用于在接收到协议报文时,将接收到的协议报文发送给所述维护芯片。
第三方面,本申请实施例提供一种网络设备,包括网板以及本申请实施例第二方面提供的线卡板。
第四方面,本申请实施例提供一种计算机可读存储介质,其上存储有计算机程序,该计算机程序被执行时,使得线卡板实现本申请实施例第一方面提供的协议报文转发方法。
本申请实施例提供的一种协议报文转发方法、线卡板、网络设备及存储介质,通过由CPU将维护的转发策略表发送给至少两个NP芯片,从而使该至少两个NP芯片中对应状态标识为第一标识的维护芯片根据限流策略将接收到的协议报文发送给CPU,而该至少两个NP芯片中对应状态标识为第二标识的其他芯片则将接收到的协议报文发送给维护芯片,相比于现有技术,使得CPU仅接收到维护芯片发送的协议报文,而无需接收其他芯片发送的协议报文,从而避免了大量的NP芯片都达到限流的协议报文发送量时,CPU接收的协议报文的流量超出CPU处理协议报文的能力上限,提升了线卡板的稳定性。
为使本申请的上述目的、特征和优点能更明显易懂,下文特举较佳实施例,并配合所附附图,作详细说明如下。
附图说明
为了更清楚地说明本申请实施例的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,应当理解,以下附图仅示出了本申请的某些实施例,因此不应被看作是对范围的限定,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其它相关的附图。
图1示出一种聚合端口示意图;
图2示出本申请实施例的一种示意性应用场景图;
图3示出本申请实施例提供的网络设备的一种示意性结构框图;
图4示出本申请实施例提供的协议报文转发方法的一种示例性信令交互图;
图5示出本申请实施例提供的协议报文转发方法的另一种示意性信令交互图;
图6示出本申请实施例提供的协议报文转发方法的一种示意性流程图;
图7示出本申请实施例提供的协议报文转发方法的另一种示意性流程图。
具体实施方式
为使本申请实施例的目的、技术方案和优点更加清楚,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本申请一部分实施例,而不是全部的实施例。通常在此处附图中描述和示出的本申请实施例的组件可以以各种不同的配置来布置和设计。
因此,以下对在附图中提供的本申请的实施例的详细描述并非旨在限制要求保护的本申请的范围,而是仅仅表示本申请的选定实施例。基于本申请中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
应注意到:相似的标号和字母在下面的附图中表示类似项,因此,一旦某一项在一个附图中被定义,则在随后的附图中不需要对其进行进一步定义和解释。同时,在本申请的描述中,术语“第一”、“第二”等仅用于区分描述,而不能理解为指示或暗示相对重要性。
需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
下面结合附图,对本申请的一些实施方式作详细说明。在不冲突的情况下,下述的实施例及实施例中的特征可以相互组合。
如图1所示,在例如高性能路由器中,为了提高路由器的报文吞吐量,可以利用端口聚合技术,将两个路由器通过同一线卡板的聚合端口建立连接;并且,可以利用NP芯片指导硬件端口进行数据报文的转发。
比如,以图1中的路由器1为示意性对象,路由器1的六个端口与NP芯片的连接关系可以如图2所示,与端口1和端口2连接的NP芯片为NP1,与端口3和端口4连接的NP芯片为NP2,与端口5连接的NP芯片为NP3,与端口6连接的NP芯片为NP4;与NP1和NP2连接的FAP(Fabric Access Processors,网片访问处理器)芯片为FAP1,与NP3和NP4连接的FAP芯片为FAP2;且NP1、NP2、NP3、NP4均与CPU进行连接(图2未示出);FAP1和FAP2还可以通过FE(Fabric Element,交换矩阵板)与其他的FAP芯片建立连接,从而接收其他FAP芯片转发的报文。
示例性地,在如图2所示的应用场景中,端口1将接收的报文上送给NP1,NP1判断接收的报文为协议报文或是数据报文;若接收的报文是协议报文,则将接收的协议报文发送给CPU,由CPU处理该接收的协议报文;若接收的报文为数据报文,则由NP1对该接收的数据报文进行处理,并进行路由表查找,获得对应的出端口,从而通过相应的通信链路将该数据报文进行转发。
比如假定NP1查找路由表项获得对应的出端口为端口3,则可以在该数据报文中添加端口3的标识后发送给FAP1;FAP1查找路由表项,获得接收的报文中包含的端口3的标识对应的NP芯片为NP2,则将接收的报文发送给NP2;NP2根据接收的报文中包含的端口3的标识,从而将该接收的报文通过端口3发出。
由于CPU处理协议报文的能力是有限的,一般会设置相应的限流策略,以避免CPU处理过多的协议报文导致CPU忙碌而无法处理其他的报文。比如在图2所示应用场景中,可以采用限制NP芯片发送给CPU的协议报文发送量,使CPU的处理能力不被协议报文所占满。
然而,在例如聚合端口的应用场景中,CPU挂接的NP芯片的数量不是恒定的,聚合组中端口的加入和退出,可能会影响到CPU下挂接的NP芯片的数量,从而使得在例如上述的限流策略中,若大量的NP芯片都达到限流的报文发送量,则CPU的处理能力依然可能会被协议报文所占满。
比如,在如图2所示的应用场景中,假定NP1、NP2、NP3、NP4都挂接在同一CPU下,每个NP芯片发送给CPU的协议报文限值为50Mbps(Million bits per second,兆比特每秒),CPU处理协议报文的能力上限为150Mbps;假定此时NP1、NP2、NP3、NP4发送协议报文给CPU的流量均为50Mbps,则CPU接收协议报文的流量为200Mbps,超出了CPU处理协议报文的能力上限150Mbps,使得CPU处于忙碌状态而无法处理其他的报文,甚至造成设备异常。
为此,基于上述缺陷,本申请实施例提供的一种可能的实现方式为:通过由CPU将维护的转发策略表发送给至少两个NP芯片,从而使该至少两个NP芯片中对应状态标识为第一标识的维护芯片根据限流策略将接收到的协议报文发送给CPU,而该至少两个NP芯片中对应状态标识为第二标识的其他芯片则将接收到的协议报文发送给维护芯片,进而避免大量的NP芯片都达到限流的协议报文发送量时,CPU接收的协议报文的流量超出CPU处理协议报文的能力上限。
下面以图3所示网络设备中的线卡板作为示意性执行主体为例,对本申请实施例提供的协议报文转发方法进行示例性说明。
请参阅图4,图4示出本申请实施例提供的协议报文转发方法的一种示例性信令交互图,可以包括以下步骤:
步骤101,CPU将维护的转发策略表发送给至少两个NP芯片;
其中,在图4所示的信令交互图中,步骤101包括步骤101a和步骤101b;
步骤102,至少两个NP芯片中的维护芯片在接收到协议报文时,根据限流策略将接收到的协议报文发送给CPU;
步骤103,至少两个NP芯片中的其他芯片在接收到协议报文时,将接收到的协议报文发送给维护芯片。
在本申请实施例中,线卡板包括有CPU和至少两个NP芯片,CPU维护有转发策略表,该转发策略表包括多个表项,每一个表项记录有一个NP芯片各自对应的状态标识;其中,当状态标识为第一标识时,所对应的NP芯片为维护芯片;当状态标识为第二标识时,所对应的NP芯片为其他芯片。
针对线卡板上的NP芯片所接收到的报文,可以根据报文中的协议标识等信息对报文是协议报文还是数据报文进行判断,比如可以根据目的MAC、IP头的优先级等信息,判断的方式与现有方式相同,在此不再赘述。
由此,CPU将其所维护的转发策略表发送给至少两个NP芯片,以使每一个NP芯片根据各自在转发策略表中对应的状态标识转发协议报文。其中,该至少两个NP芯片中的维护芯片在接收到协议报文时,则根据限流策略将接收到的协议报文发送给CPU,该限流策略用于指示向CPU发送协议报文的发送速率;而该至少两个NP芯片中的其他芯片在接收到协议报文时,则将接收到的协议报文发送给维护芯片,从而使CPU仅接收到维护芯片发送的协议报文,而无需接收其他芯片发送的协议报文。
可见,基于上述设计,本申请实施例提供的一种协议报文转发方法,通过由CPU将维护的转发策略表发送给至少两个NP芯片,从而使该至少两个NP芯片中对应状态标识为第一标识的维护芯片根据限流策略将接收到的协议报文发送给CPU,而该至少两个NP芯片中对应状态标识为第二标识的其他芯片则将接收到的协议报文发送给维护芯片,相比于现有技术,使得CPU仅接收到维护芯片发送的协议报文,而无需接收其他芯片发送的协议报文,从而避免了大量的NP芯片都达到限流的协议报文发送量时,CPU接收的协议报文的流量超出CPU处理协议报文的能力上限,提升了线卡板的稳定性。
结合上述可知,在本申请实施例所提供的技术方案中,仅有维护芯片按照限流策略将接收的协议报文发送给CPU,而其他芯片则均将接收的协议报文发送给维护芯片。因此,若维护芯片出现工作异常,则有可能使得线卡板丢失处理协议报文的能力。
因此,在本申请实施例可能的一些应用场景中,为了确保维护芯片工作异常,可以设置监听机制,对维护芯片的工作状态进行监听。
示例性地,在图4的基础上,请参阅图5,图5示出本申请实施例提供的协议报文转发方法的另一种示意性信令交互图,可以包括以下步骤:
步骤104,维护芯片向至少两个NP芯片中的备份芯片发送心跳报文;
步骤105,当备份芯片在预设时间内未接收到维护芯片发送的心跳报文时,向CPU发送维护芯片故障的通知信息;
步骤106,CPU在接收到通知信息时,更新转发策略表,并发送给至少两个NP芯片。
其中,在图5所示的信令交互图中,步骤106包括步骤106a和步骤106b。
在本申请实施例中,结合图3所示,可以在线卡板包括的至少两个NP芯片中设置备份芯片,由维护芯片向该备份芯片发送心跳报文,从而使备份芯片监听维护芯片是否工作异常。
其中,在CPU发送给NP芯片的转发策略表中,可以利用第三标识指示备份芯片,即备份芯片在该转发策略表中对应的状态标识为第三标识。
并且,当备份芯片在预设时间内未接收到维护芯片发送的心跳报文时,备份芯片则向CPU发送维护芯片故障的通知消息,以指示维护芯片工作异常。
而CPU在接收到备份芯片发送的通知信息时,则更新该转发策略表,更新后的转发策略表中维护芯片对应的状态标识切换为第二标识,而备份芯片对应的状态标识切换为第一标识,并将更新后的转发策略表发送给该至少两个NP芯片中的所有NP芯片,以使该至少两个NP芯片中的每一NP芯片根据该更新后的转发策略表进行协议报文的转发。
由此,基于上述设计,本申请实施例提供的一种协议报文转发方法,由维护芯片向该至少两个NP芯片中的备份芯片发送心跳报文,从而当备份芯片在预设时间内未接收到维护芯片发送的心跳报文时,备份芯片向CPU发送维护芯片故障的通知信息,进而使CPU在接收到该通知信息时,将转发策略表中维护芯片对应的状态标识切换为第二标识,而备份芯片对应的状态标识切换为第一标识,并将更新后的转发策略表发送给该至少两个NP芯片中的所有NP芯片,以使该至少两个NP芯片中的每一NP芯片根据该更新后的转发策略表转发协议报文,避免了线卡板在维护芯片故障时丢失处理协议报文的功能。
值得说明的是,CPU在将转发策略表中备份芯片对应的状态标识切换为第一标识,还可以将所有其他芯片中的一个NP芯片对应的状态标识切换为第三标识。
一种可能的应用场景中,可以针对一个线卡板上的所有NP芯片进行限制,即CPU可以从所有NP芯片中选择一个NP芯片作为本板上的维护芯片,接收其他芯片转发来的协议报文,并根据限流策略向CPU发送协议报文。另外,在一些可能的应用场景中,本申请实施例上述的至少两个NP芯片所连接的硬件端口可以属于同一个聚合组,而在聚合组的应用场景中,硬件端口的加入或退出聚合组可能会导致参与转发协议报文的NP芯片出现变化。
因此,作为一种可能的实现方式,请参阅图6,图6示出本申请实施例提供的协议报文转发方法的一种示意性流程图,可以包括以下步骤:
步骤107,在聚合组中的硬件端口出现变化时,CPU按照预设规则从至少两个NP芯片中分别选取两个NP芯片,其中一个NP芯片作为维护芯片,另一个作为备份芯片,至少两个NP芯片中除所选取的两个NP芯片之外的NP芯片作为其他芯片;
步骤108,CPU在生成的转发策略表中,将选出的维护芯片所对应的状态标识设置为第一标识,将选出的备份芯片所对应的状态标识设置为第三标识,将其他芯片的状态标识设置为第二标识。
在本申请实施例中,在聚合组中的硬件端口出现变化时,比如存在硬件端口加入该聚合组,或者是存在硬件端口退出该聚合组时,CPU可以按照预设规则从至少两个NP芯片中分别选取两个NP芯片,比如按照排列顺序的先后选取两个排列顺序最靠前的两个NP芯片;并在生成的转发策略表中,将所选取的两个NP芯片中的其中一个NP芯片确定为维护芯片,且在该转发策略表中将维护芯片对应的状态标识设置为第一标识;而另一个NP芯片则确定为备份芯片,且在该转发策略表中将备份芯片对应的状态标识设置为第三标识;另外,将该至少两个NP芯片中除所选取的两个NP芯片之外的NP芯片确定为其他芯片,且在该转发策略表中将其他芯片对应的状态标识设置为第二标识,以使每一NP芯片根据转发策略表中记录的每一NP芯片各自对应的状态标识进行协议报文的转发。
也就是说,当聚合组中的硬件端口出现变化时,比如存在硬件端口加入或者退出该聚合组时,CPU则根据该聚合组包含的所有硬件端口各自连接的NP芯片,生成新的转发策略表,并发送给所有的NP芯片,从而使每一NP芯片根据接收的新的转发策略表进行协议报文的转发。
另外,在上述聚合组的应用场景中,当存在硬件端口退出该聚合组时,也可以采用不生成新的转发策略表的方式更新转发策略表,而是采用修改转发策略表的方式进行更新。
为此,请参阅图7,图7示出本申请实施例提供的协议报文转发方法的另一种示意性流程图,可以包括以下步骤:
步骤109,当至少两个NP芯片中的一个NP芯片连接的硬件端口退出聚合组时,CPU确定与退出聚合组的硬件端口相连接的NP芯片是否存在其他硬件端口属于聚合组;
步骤110,当与退出聚合组的硬件端口相连接的NP芯片不存在其他硬件端口属于聚合组时,CPU从转发策略表中删除该NP芯片所对应的转发策略表项,并向聚合组中所包含的硬件端口所连接的NP芯片发送更新后的转发策略表。
在本申请实施例中,当该至少两个NP芯片中的一个NP芯片连接的硬件端口退出聚合组时,CPU则对聚合组剩余的所有硬件端口进行遍历,确定与退出聚合组的硬件端口相连接的NP芯片是否存在其他硬件端口属于该聚合组;当CPU确定与退出聚合组的硬件端口相连接的NP芯片存在其他硬件端口属于该聚合组时,表征与退出聚合组的硬件端口相连接的NP芯片还有可能会参与该聚合组接收的协议报文的转发;而当CPU确定与退出聚合组的硬件端口相连接的NP芯片不存在其他硬件端口属于该聚合组时,表征该NP芯片不会再参与该聚合组接收的协议报文的转发,CPU则从转发策略表中删除该NP芯片所对应的转发策略表项,并将聚合组中所包含的硬件端口所连接的NP芯片发送更新后的转发策略表,以使聚合组中所包含的硬件端口所连接的NP芯片按照更新后的转发策略表进行协议报文的转发。
也就是说,当聚合组中的硬件端口出现变化时,比如存在硬件端口退出该聚合组时,若CPU确定与退出该聚合组的硬件端口相连接的NP芯片不存在其他硬件端口属于该聚合组时,CPU可以在转发策略表中删除该NP芯片对应的转发策略表项,并发送给聚合组中所包含的硬件端口所连接的NP芯片进行协议报文的转发,而无需生成新的转发策略表。
如果除上述所涉及的至少两个NP芯片之外,还存在另一个NP芯片(可称为待加入芯片),在将待加入芯片的硬件端口加入到现有的聚合组后,CPU可以重新生成一个新的转发策略表,并发送给线卡板的聚合组包括的硬件端口相连接的NP芯片,或只针对该待加入芯片生成一个转发策略表的表项,并将该表项发送给聚合组包括硬件端口所连接的NP芯片。
下面结合图3,以一个具体的示例对本申请实施例提供的协议报文转发方法进行说明。
如图3所示,假定聚合组包括的所有硬件端口连接的NP芯片包括NP1、NP2、NP3、NP4;CPU维护的转发策略表可以如下表1所示:
表1
NP芯片 | 状态标识 |
NP1 | 0 |
NP2 | 1 |
NP3 | 2 |
NP4 | 0 |
其中,可以预先定义“1”为第一标识,“0”为第二标识,“2”为第三标识。
CPU将如表1所示的转发策略表发送给NP1、NP2、NP3、NP4,以使NP1、NP2、NP3、NP4根据该转发策略表中记录每一NP芯片各自对应的状态标识进行协议报文的转发。
其中,NP1在接收到协议报文时,查找该转发策略表,确定NP1对应的状态标识为“0”,NP1为其他芯片,NP1则将接收的协议报文转发给对应第一标识“1”的NP2。
NP2在接收到协议报文时,查找该转发策略表,确定NP2对应的状态标识为“1”,NP2为维护芯片,NP2则按照限流策略将接收的协议报文发送给CPU。
NP3在接收到协议报文时,查找该转发策略表,确定NP3对应的状态标识为“2”,NP3为备份芯片,NP3则将接收的协议报文转发给对应第一标识“1”的NP2。
NP4在接收到协议报文时,查找该转发策略表,确定NP4对应的状态标识为“0”,NP4为其他芯片,NP4则将接收的协议报文转发给对应第一标识“1”的NP2。
可见,结合上述示例,若每个NP芯片发送给CPU的协议报文限流值均为50Mbps,则按照本申请实施例的协议报文转发方案,即使所有NP芯片接收协议报文的流量均达到50Mbps,但CPU接收协议报文的流量为50Mbps,而非现有技术方案的200Mbps,有效的将CPU接收协议报文的流量控制在CPU处理协议报文的能力范围内。
另外,NP3对应第三标识“2”,则NP3按照预设时间接收NP2发送心跳报文,以监听NP2是否工作异常;当NP3在预设时间内未接收到NP2发送的心跳报文时,NP3则向CPU发送NP2故障的通知信息;CPU接收到NP2故障的通知信息时,CPU则将NP2对应的状态标识更新为“0”,并将NP3对应的状态标识更新为“1”,且将NP1、NP4中的其中一个对应的状态标识更新为“2”,比如将NP1对应的状态标识更新为2”,则更新后的转发策略表可以如下表2所示:
表2
NP芯片 | 状态标识 |
NP1 | 2 |
NP2 | 0 |
NP3 | 1 |
NP4 | 0 |
在上述表1的基础上,在一种可能的应用场景中,当聚合组中存在硬件端口的加入或者退出时,CPU可以按照上述方式,生成新的转发策略表,并发送给聚合组包括的所有硬件端口连接的NP芯片,从而使每一NP芯片按照新的转发策略表进行协议报文的转发。
另外,作为另一种可能的实现方式,当聚合组中存在硬件端口的退出时,比如与NP1连接的硬件端口退出该聚合组时,CPU可以对聚合组剩余的所有硬件端口进行遍历,确定该聚合组中是否还包括与NP1连接的硬件端口;若该聚合组中还包括与NP1连接的硬件端口,则CPU不对转发策略表进行更新;若该聚合组中不包括与NP1连接的硬件端口,则CPU可以将NP1对应的转发策略表项进行删除,得到的转发策略表可以如下表3所示:
表3
NP芯片 | 状态标识 |
NP2 | 1 |
NP3 | 2 |
NP4 | 0 |
基于与上述协议报文转发方法相同的发明构思,本申请实施例还提供一种如图3所示网络设备中的线卡板,该线卡板包括CPU和至少两个NP芯片;其中:
CPU,用于将维护的转发策略表发送给至少两个NP芯片,其中,转发策略表记录有每一个NP芯片各自对应的状态标识,当状态标识为第一标识时,所对应的NP芯片为维护芯片,当状态标识为第二标识时,所对应的NP芯片为其他芯片;
至少两个NP芯片中的维护芯片,用于在接收到协议报文时,根据限流策略将接收到的协议报文发送给CPU,其中,限流策略用于指示向CPU发送协议报文的发送速率;
至少两个NP芯片中的其他芯片,用于在接收到协议报文时,将接收到的协议报文发送给维护芯片。
可选地,作为一种可能的实现方式,维护芯片还用于,向至少两个NP芯片中的备份芯片发送心跳报文,其中,备份芯片在转发策略表中对应的状态标识为第三标识;
当备份芯片在预设时间内未接收到维护芯片发送的心跳报文时,备份芯片用于,向CPU发送维护芯片故障的通知信息;
CPU还用于,在接收到通知信息时,更新转发策略表,并发送给至少两个NP芯片,其中,更新后的转发策略表中维护芯片所对应的状态标识切换为第二标识,备份芯片所对应的状态标识切换为第一标识。
可选地,作为一种可能的实现方式,至少两个NP芯片所连接的硬件端口属于同一个聚合组;
在聚合组中的硬件端口出现变化时,CPU还用于,按照预设规则从至少两个NP芯片中分别选取两个NP芯片,其中一个NP芯片作为维护芯片,另一个作为备份芯片,至少两个NP芯片中除所选取的两个NP芯片之外的NP芯片作为其他芯片;
CPU还用于,在生成的转发策略表中,将选出的维护芯片所对应的状态标识设置为第一标识,将选出的备份芯片所对应的状态标识设置为第三标识,将其他芯片的状态标识设置为第二标识。
可选地,作为一种可能的实现方式,至少两个NP芯片所连接的硬件端口属于同一个聚合组;
当至少两个NP芯片中的一个NP芯片连接的硬件端口退出聚合组时,CPU还用于,确定与退出聚合组的硬件端口相连接的NP芯片是否存在其他硬件端口属于聚合组;
当与退出聚合组的硬件端口相连接的NP芯片不存在其他硬件端口属于聚合组时,CPU还用于,从转发策略表中删除该NP芯片所对应的转发策略表项,并向聚合组中所包含的硬件端口所连接的NP芯片发送更新后的转发策略表。
另外,本申请实施例还提供一种如图3所示的网络设备,该网络设备包括网板以及本申请实施例提供的上述线卡板。
在本申请所提供的实施例中,应该理解到,所揭露设备和方法,也可以通过其它的方式实现。以上所描述的方法实施例仅仅是示意性的,例如,附图中的流程图显示了根据本申请实施例的方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图中的每个方框可以代表一个模块、程序段或代码的一部分,所述程序段或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。
也应当注意,在有些作为替换的实现方式中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个连续的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。
另外,在本申请实施例中的各功能模块可以集成在一起形成一个独立的部分,也可以是各个模块单独存在,也可以两个或两个以上模块集成形成一个独立的部分。
所述功能如果以软件功能模块的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,以执行本申请实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器、随机存取存储器、磁碟或者光盘等各种可以存储程序代码的介质。
综上所述,本申请实施例提供的一种协议报文转发方法、线卡板、网络设备及存储介质,通过由CPU将维护的转发策略表发送给至少两个NP芯片,从而使该至少两个NP芯片中对应状态标识为第一标识的维护芯片根据限流策略将接收到的协议报文发送给CPU,而该至少两个NP芯片中对应状态标识为第二标识的其他芯片则将接收到的协议报文发送给维护芯片,相比于现有技术,使得CPU仅接收到维护芯片发送的协议报文,而无需接收其他芯片发送的协议报文,从而避免了大量的NP芯片都达到限流的协议报文发送量时,CPU接收的协议报文的流量超出CPU处理协议报文的能力上限,提升了线卡板的稳定性。
另外,由维护芯片向该至少两个NP芯片中的备份芯片发送心跳报文,从而当备份芯片在预设时间内未接收到维护芯片发送的心跳报文时,备份芯片向CPU发送维护芯片故障的通知信息,进而使CPU在接收到该通知信息时,将转发策略表中维护芯片对应的状态标识切换为第二标识,而备份芯片对应的状态标识切换为第一标识,并将更新后的转发策略表发送给该至少两个NP芯片中的所有NP芯片,以使该至少两个NP芯片中的每一NP芯片根据该更新后的转发策略表转发协议报文,避免了线卡板在维护芯片故障时丢失处理协议报文的功能。
以上所述仅为本申请的优选实施例而已,并不用于限制本申请,对于本领域的技术人员来说,本申请可以有各种更改和变化。凡在本申请的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本申请的保护范围之内。
对于本领域技术人员而言,显然本申请不限于上述示范性实施例的细节,而且在不背离本申请的精神或基本特征的情况下,能够以其它的具体形式实现本申请。因此,无论从哪一点来看,均应将实施例看作是示范性的,而且是非限制性的,本申请的范围由所附权利要求而不是上述说明限定,因此旨在将落在权利要求的等同要件的含义和范围内的所有变化囊括在本申请内。不应将权利要求中的任何附图标记视为限制所涉及的权利要求。
Claims (10)
1.一种协议报文转发方法,其特征在于,应用于线卡板,所述线卡板包括中央处理器CPU和至少两个网络处理器NP芯片,所述方法包括:
所述CPU将维护的转发策略表发送给所述至少两个NP芯片,其中,所述至少两个NP芯片包括一个维护芯片以及其他芯片,所述转发策略表记录有每一个NP芯片各自对应的状态标识,当所述状态标识为第一标识时,所对应的NP芯片为所述维护芯片,当所述状态标识为第二标识时,所对应的NP芯片为所述其他芯片;
所述至少两个NP芯片中的维护芯片在接收到协议报文时,根据限流策略将接收到的协议报文发送给所述CPU,其中,所述限流策略用于指示向所述CPU发送协议报文的发送速率;
所述至少两个NP芯片中的其他芯片在接收到协议报文时,将接收到的协议报文发送给所述维护芯片。
2.如权利要求1所述的方法,其特征在于,所述至少两个NP芯片还包括一个备份芯片,其中,所述备份芯片在所述转发策略表中对应的状态标识为第三标识,所述方法还包括:
所述维护芯片向所述至少两个NP芯片中的所述备份芯片发送心跳报文;
当所述备份芯片在预设时间内未接收到所述维护芯片发送的心跳报文时,向所述CPU发送所述维护芯片故障的通知信息;
所述CPU在接收到所述通知信息时,更新所述转发策略表,并发送给所述至少两个NP芯片,其中,更新后的转发策略表中所述维护芯片所对应的状态标识切换为第二标识,所述备份芯片所对应的状态标识切换为第一标识。
3.如权利要求2所述的方法,其特征在于,所述至少两个NP芯片所连接的硬件端口属于同一个聚合组,所述方法还包括:
在所述聚合组中的硬件端口出现变化时,所述CPU按照预设规则从所述至少两个NP芯片中分别选取两个NP芯片,其中一个NP芯片作为维护芯片,另一个作为备份芯片,所述至少两个NP芯片中除所选取的两个NP芯片之外的NP芯片作为其他芯片;
所述CPU在生成的转发策略表中,将选出的维护芯片所对应的状态标识设置为第一标识,将选出的备份芯片所对应的状态标识设置为第三标识,将所述其他芯片的状态标识设置为第二标识。
4.如权利要求2所述的方法,其特征在于,所述至少两个NP芯片所连接的硬件端口属于同一个聚合组,所述方法还包括:
当所述至少两个NP芯片中的一个NP芯片连接的硬件端口退出所述聚合组时,所述CPU确定与退出所述聚合组的硬件端口相连接的NP芯片是否存在其他硬件端口属于所述聚合组;
当与退出所述聚合组的硬件端口相连接的NP芯片不存在其他硬件端口属于所述聚合组时,所述CPU从所述转发策略表中删除该NP芯片所对应的转发策略表项,并向所述聚合组中所包含的硬件端口所连接的NP芯片发送更新后的转发策略表。
5.一种线卡板,其特征在于,包括中央处理器CPU和至少两个网络处理器NP芯片;
所述CPU,用于将维护的转发策略表发送给所述至少两个NP芯片,其中,所述至少两个NP芯片包括一个维护芯片以及其他芯片,所述转发策略表记录有每一个NP芯片各自对应的状态标识,当所述状态标识为第一标识时,所对应的NP芯片为所述维护芯片,当所述状态标识为第二标识时,所对应的NP芯片为所述其他芯片;
所述至少两个NP芯片中的维护芯片,用于在接收到协议报文时,根据限流策略将接收到的协议报文发送给所述CPU,其中,所述限流策略用于指示向所述CPU发送协议报文的发送速率;
所述至少两个NP芯片中的其他芯片,用于在接收到协议报文时,将接收到的协议报文发送给所述维护芯片。
6.如权利要求5所述的线卡板,其特征在于,所述至少两个NP芯片还包括一个备份芯片,其中,所述备份芯片在所述转发策略表中对应的状态标识为第三标识,
所述维护芯片还用于,向所述至少两个NP芯片中的备份芯片发送心跳报文;
当所述备份芯片在预设时间内未接收到所述维护芯片发送的心跳报文时,所述备份芯片用于,向所述CPU发送所述维护芯片故障的通知信息;
所述CPU还用于,在接收到所述通知信息时,更新所述转发策略表,并发送给所述至少两个NP芯片,其中,更新后的转发策略表中所述维护芯片所对应的状态标识切换为第二标识,所述备份芯片所对应的状态标识切换为第一标识。
7.如权利要求6所述的线卡板,其特征在于,所述至少两个NP芯片所连接的硬件端口属于同一个聚合组;
在所述聚合组中的硬件端口出现变化时,所述CPU还用于,按照预设规则从所述至少两个NP芯片中分别选取两个NP芯片,其中一个NP芯片作为维护芯片,另一个作为备份芯片,所述至少两个NP芯片中除所选取的两个NP芯片之外的NP芯片作为其他芯片;
所述CPU还用于,在生成的转发策略表中,将选出的维护芯片所对应的状态标识设置为第一标识,将选出的备份芯片所对应的状态标识设置为第三标识,将所述其他芯片的状态标识设置为第二标识。
8.如权利要求6所述的线卡板,其特征在于,所述至少两个NP芯片所连接的硬件端口属于同一个聚合组;
当所述至少两个NP芯片中的一个NP芯片连接的硬件端口退出所述聚合组时,所述CPU还用于,确定与退出所述聚合组的硬件端口相连接的NP芯片是否存在其他硬件端口属于所述聚合组;
当与退出所述聚合组的硬件端口相连接的NP芯片不存在其他硬件端口属于所述聚合组时,所述CPU还用于,从所述转发策略表中删除该NP芯片所对应的转发策略表项,并向所述聚合组中所包含的硬件端口所连接的NP芯片发送更新后的转发策略表。
9.一种网络设备,其特征在于,包括网板以及如权利要求5-8任一项所述的线卡板。
10.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,该计算机程序被执行时,使得线卡板实现如权利要求1-4中任一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201911026096.8A CN110691045B (zh) | 2019-10-25 | 2019-10-25 | 协议报文转发方法、线卡板、网络设备及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201911026096.8A CN110691045B (zh) | 2019-10-25 | 2019-10-25 | 协议报文转发方法、线卡板、网络设备及存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN110691045A CN110691045A (zh) | 2020-01-14 |
CN110691045B true CN110691045B (zh) | 2022-02-11 |
Family
ID=69114786
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201911026096.8A Active CN110691045B (zh) | 2019-10-25 | 2019-10-25 | 协议报文转发方法、线卡板、网络设备及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN110691045B (zh) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112333097B (zh) * | 2020-09-29 | 2022-05-24 | 新华三信息安全技术有限公司 | 一种报文转发方法、装置及网关设备 |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101188607A (zh) * | 2006-11-17 | 2008-05-28 | 中兴通讯股份有限公司 | 基于网络处理器的dslam设备防止协议包攻击的方法 |
CN101237404A (zh) * | 2008-03-11 | 2008-08-06 | 华为技术有限公司 | 报文转发方法和装置 |
CN102215171A (zh) * | 2011-06-09 | 2011-10-12 | 中兴通讯股份有限公司 | 分布式报文处理系统架构及报文处理方法 |
CN103490931A (zh) * | 2013-09-25 | 2014-01-01 | 杭州华三通信技术有限公司 | 一种不中断业务升级过程中协议不中断的方法和装置 |
CN104753792A (zh) * | 2013-12-31 | 2015-07-01 | 华为技术有限公司 | 网络设备及转发报文的方法 |
CN107947950A (zh) * | 2017-11-22 | 2018-04-20 | 新华三技术有限公司 | 一种硬件组播出接口表项的下发方法和np线卡板 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9836540B2 (en) * | 2014-03-04 | 2017-12-05 | Cisco Technology, Inc. | System and method for direct storage access in a content-centric network |
-
2019
- 2019-10-25 CN CN201911026096.8A patent/CN110691045B/zh active Active
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101188607A (zh) * | 2006-11-17 | 2008-05-28 | 中兴通讯股份有限公司 | 基于网络处理器的dslam设备防止协议包攻击的方法 |
CN101237404A (zh) * | 2008-03-11 | 2008-08-06 | 华为技术有限公司 | 报文转发方法和装置 |
CN102215171A (zh) * | 2011-06-09 | 2011-10-12 | 中兴通讯股份有限公司 | 分布式报文处理系统架构及报文处理方法 |
CN103490931A (zh) * | 2013-09-25 | 2014-01-01 | 杭州华三通信技术有限公司 | 一种不中断业务升级过程中协议不中断的方法和装置 |
CN104753792A (zh) * | 2013-12-31 | 2015-07-01 | 华为技术有限公司 | 网络设备及转发报文的方法 |
CN107947950A (zh) * | 2017-11-22 | 2018-04-20 | 新华三技术有限公司 | 一种硬件组播出接口表项的下发方法和np线卡板 |
Also Published As
Publication number | Publication date |
---|---|
CN110691045A (zh) | 2020-01-14 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP5372615B2 (ja) | パケット転送システム、網管理装置、及び、エッジノード | |
JP2006229967A (ja) | 高速マルチキャスト・パス切り替え | |
CA3076119C (en) | Packet transmission method and apparatus | |
CN108123878B (zh) | 一种路由方法、装置及数据转发设备 | |
US8477655B2 (en) | Method, device, and system for establishing label switching path in fast rerouting switching | |
CN112311674B (zh) | 报文发送方法、装置及存储介质 | |
CN108173757B (zh) | 端口状态设置方法及装置 | |
US20100157818A1 (en) | Network system, server, quality degradation point estimating method, and program | |
CN109088822B (zh) | 数据流量转发方法、装置、系统、计算机设备及存储介质 | |
CN112822102A (zh) | 链路切换方法、装置、设备、系统及存储介质 | |
CN110691045B (zh) | 协议报文转发方法、线卡板、网络设备及存储介质 | |
CN108989204B (zh) | 一种链路状态确定方法及设备 | |
US20160380869A1 (en) | Enhanced Packet Flow Monitoring in a Network | |
CN110768917A (zh) | 一种报文传输方法及装置 | |
EP3355520B1 (en) | System and method for traffic steering and analysis | |
KR100734498B1 (ko) | 액세스 네트워크 시스템 및 내부 네트워크 중계 장치를이동시키는 방법 | |
CN108322375B (zh) | 一种以太网环保护倒换方法、节点及系统 | |
US20160065427A1 (en) | Communication system, control apparatus, information collection method, and program | |
CN108123871B (zh) | 等价多路径ecmp处理方法及装置 | |
CN104780063B (zh) | 节点设备登录方法及装置 | |
CN111464438B (zh) | Vrrp节点的状态管理方法、设备改进方法及装置 | |
CN116074236A (zh) | 报文转发方法及装置 | |
EP3104562B1 (en) | Method of aggregation of flows in ict networks | |
US20230291681A1 (en) | Data obtaining method and apparatus, device, and storage medium | |
WO2017000097A1 (zh) | 一种数据转发的方法、装置和系统 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |