专利名称:一种发送报文的方法、装置和系统的制作方法
技术领域:
本发明涉及通信技术领域,特别涉及一种发送报文的方法、装置和系统。
背景技术:
路由器是连接因特网中各局域网与广域网的设备。路由器可以根据信道的情况主动选择和设定路由,并根据路由转发表对业务流量进行转发。发明人发现,现有技术存在如下技术问题路由器工作过程中,路由器的接口板可能会发生控制面类故障。接口板控制面类故障导致接口板与主控板之间的控制通道被关闭,接口板无法将报文上送至主控板。
发明内容
为了当接口板与主控板之间的控制通道被关闭时,主控板仍然可以接收接口板发送或者转发的报文,本发明实施例提供了一种发送报文的方法、发送报文的装置和发送报文的系统。一方面,本发明实施例提供了一种发送报文的方法,包括当路由器的接口板出现故障时,所述接口板判断所述故障是否是控制面类故障;如果所述故障是控制面类故障,所述接口板将第一报文经所述路由器的辅助板发送或者转发至所述路由器的主控板,其中所述辅助板为所述路由器中的交换网板或除所述接口板外的任一接口板。另一方面,本发明实施例提供了一种发送报文的装置,包括判断单元,用于当路由器的接口板出现故障时,判断所述故障是否是控制面类故障;发送单元,用于如果所述故障是控制面类故障,将第一报文经所述路由器的辅助板发送或者转发至所述路由器的主控板,其中所述辅助板为所述路由器中的交换网板或除所述接口板外的任一接口板。另一方面,本发明实施例提供了一种发送报文的系统,包括辅助板、主控板和发送报文的装置,其中,所述发送报文的装置包括判断单元,用于当路由器的接口板出现故障时,判断所述故障是否是控制面类故障;发送单元,用于如果所述故障是控制面类故障,将第一报文经所述路由器的所述辅助板发送或者转发至所述路由器的所述主控板,其中所述辅助板为所述路由器中的交换网板或除所述接口板外的任一接口板。本发明实施例提供的技术方案带来的有益效果是当接口板与主控板之间的控制通道被关闭时,主控板仍然可以接收接口板发送或者转发的报文。
为了更清楚地说明本发明实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。图1是本发明实施例提供的路由器结构示意图;图2是本发明实施例提供的接口板故障分布示意图;图3是本发明实施例1提供的一种发送报文的方法的流程图;图4是本发明实施例2提供的一种发送报文的方法的流程图;图5是本发明实施例2提供的转发表项实时更新流程示意图;图6是本发明实施例3提供的一种发送报文的装置的第一结构示意图;图7是本发明实施例3提供的一种发送报文的装置的第二结构示意图;图8是本发明实施例4提供的一种发送报文的系统的结构示意图。
具体实施例方式本发明实施例提供的方法可以应用于分布式路由器。参见图1,图1为本发明实施例提供的路由器的结构示意图。如图1所示,该路由器包括主控板1、接口板2和交换网板3。为了提高转发能力,路由器可以采用集中控制和分布转发的结构,该集中控制主要表现为在主控板1上对控制协议进行路由表的计算,并形成转发表项,下发至不同的接口板2的转发面,其中接口板的转发面和控制面的分界线如图1中虚线所示,接口板2中的CPU(Central Processing Unit,中央处理器)20属于该控制面,接口板2中的PIC (Physical Interface Card,物理接口卡)21、NP (Network Processor网络处理器)22和转发表项存储器23属于该转发面;该分布转发主要表现为在分布式接口板2上根据本板存储的转发表项对业务报文独立进行转发控制。为更清楚的表述本发明的目的、技术方案和优点,下面将结合附图对本发明实施方式作进一步的描述。实施例1参考图3,图3是本发明实施例1提供的一种发送报文的方法的流程图。该方法包括SlOl 当路由器的接口板出现故障时,该接口板判断该故障是否是控制面类故障。具体实现时,接口板可以包括PCB (Printed Circuit Board,印刷电路板)、CPU以及内存。上述部件可以构成一个嵌入式系统。该嵌入式系统可以加载接口板用于故障管理的软件。当接口板发生故障时,用于故障管理的软件可以根据故障的类型对该故障是否属于控制面类故障做出判断。接口板上的故障可以分为4类故障。如图2所示,故障1为控制面类故障,故障2为转发面存储类故障、故障3为转发面PIC卡类故障、故障4为转发面转发模块类故障。控制面类故障可以是非法内存,也可以是死循环。S102:如果该故障是控制面类故障,该接口板将第一报文经该路由器的辅助板发送或者转发至该路由器的主控板,其中该辅助板为该路由器中的交换网板或除该接口板外的任一接口板。
5
该第一报文可以是控制协议报文,也可以是包含状态信息的报文或包含统计信息的报文。其中该控制协议报文为接口板转发的报文,该包含状态信息的报文和包含统计信息的报文为接口板发送的报文。该控制协议报文具体可以分为以下两种一种是用于维持连接状态的报文,另一种是用于更新路由转发表的报文。用于维持连接状态的报文,具体可以是路由消息中的Hello报文;对于用于维持连接状态的报文而言,接口板接收到该报文后,可以将该报文转发至辅助板,即其他接口板或者交换网板;该辅助板将该报文上送至主控板;主控板接收到该报文后,可以生成对应的响应报文,并将该响应报文发送至网络侧。用于更新路由转发表的报文,具体可以是路由协议报文、隧道协议报文、 MPLS (Multi-Protocol Label Switching,多协议标签交换)协议报文。其中,路由协议可以是IGP(Interior gateway protocol,内部网关协议)或者BGP(Border Gateway Protocol, 边界网关协议)。隧道协议可以是TE(Traffic Engineering,测量工程)、GRE(Generic Routing Encapsulation,通用路由封装协议)或 RSVP(Resource Reservation Protocol, 资源预留协议)。MPLS协议具体可以是LDP (Label Distribution Protocol,标签分发协议)。对于用于更新路由转发表的报文而言,接口板接收到该报文后,可以将该报文转发至辅助板,即其他接口板或者交换网板。该辅助板可以将该报文上送至主控板。主控板接收到该报文后,可以生成对应的转发表项,并将该转发表项发送至接口板。具体地,当主控板检测到控制面类故障时,将该转发表项经该辅助板发送至接口板。接口板接收到该报文后,根据转发表项,更新自己的路由转发表。另外,主控板生成对应的转发表项后,可以将该转发表项发送至其他的接口板,以便其他的接口板更新自己的路由转发表。另外,主控板接收到用于更新路由转发表的报文后,可以将该报文转发至网络侧。该包含状态信息的报文中的状态信息可以是NP的寄存器的状态。接口板可以主动向主控板发送包含状态信息的报文。主控板也可以向接口板发送状态信息请求报文,接口板发送包含状态信息的报文进行响应。包含统计信息的报文中的统计信息可以是接口板接收的报文的数量,或者总字节数;也可以是接口板转发的报文的数量,或者总字节数。其中接收或者转发的报文可以为业务流量对应的报文。接口板可以主动向主控板发送包含统计信息的报文。主控板也可以向接口板发送统计信息请求报文,接口板发送包含统计信息的报文进行响应。可见,本实施例中,当路由器的接口板出现故障时,该接口板判断该故障是否是控制面类故障。如果是,该接口板将第一报文发送至该路由器的辅助板,以便于该辅助板将第一报文转发至该路由器的主控板。通过本实施例提供的方法,当接口板与主控板之间的控制通道被关闭时,主控板仍然可以接收接口板发送或者转发的报文。实施例2参考图4,图4是本发明实施例2提供的一种发送报文的方法的流程图。实际应用中,路由器的接口板上的故障分为4类,第1类为控制面类故障,第2类为转发面存储类故障、第3类为转发面PIC卡类故障、第4类为转发面转发模块类故障。第2类、第3类和第4类均为转发面类故障。路由器的接口板出现第2类、第3类或者第4类故障将直接影响转发面对业务流量的转发。对于第2类、第3类或者第4类故障,可以采用整板复位对故障进行处理。当接口板发生的故障为第1类故障时,接口板的转发面没有故障,可以对业务流量进行转发。如果采用整板复位对第1类故障进行处理,将导致业务流量的转发发生中断。本实施例中提供的方法可以用于对第1类故障进行处理,处理方案如下发送报文的方法包括S201 当路由器的接口板出现故障时,该接口板判断该故障是否是控制面类故障, 如果是,将第一报文经该路由器的辅助板发送或者转发至该路由器的主控板,其中该辅助板为该路由器中的交换网板或除该接口板外的任一接口板。S201中,当路由器的接口板出现故障时,该接口板可以通过如下途径判断该故障是否是控制面类故障该接口板的NP发送心跳报文至该接口板的CPU ;其中,可以将心跳报文的间隔设置为百毫秒量级,保证连续多次丢失心跳的间隔在秒级左右。当路由器的接口板出现故障时,该接口板的NP判断是否能够接收到该接口板的 CPU发送的心跳响应报文,如果是,则该接口板出现的故障不是控制面类故障;如果否,则该接口板出现的故障是控制面类故障。相应的,该接口板将第一报文经辅助板发送至主控板。本实施例中判断该故障是否是控制面类故障的方法并不局限于此,在此不再赘述。可选的,本实施例中该接口板判断该故障是否是控制面类故障之后,还包括如果该故障是控制面类故障,该接口板对该接口板的CPU进行独立复位。具体地,当该接口板出现控制面类故障时,该接口板可以只对该接口板的CPU进行复位,即该接口板对CPU进行独立复位,而不复位该接口板中的PIC、NP等转发面芯片。 具体实现时,CPU芯片中有用于复位的管脚。对该管脚发送触发信号,即可实现对CPU的独立复位。对CPU进行独立复位可以解决控制面类故障中的部分软件故障以及部分硬件故障,这些故障可以统称为软失效。具体实现时,软失效可以是内存单比特跳表,可以是内存多比特跳变。在接口板的CPU的独立复位模式下,CPU首先加载启动文件,其中启动文件的加载方式可以是本地Flash (闪存)加载,也可以是向该路由器的主控板请求加载。优选的,CPU 通过本地Flash加载启动文件。然后CPU向主控板进行单板注册,并建立控制通道。其中, 控制通道可以是接口板的控制面和主控板之间的IPCanter-Process Communication,进程间通信)通道。控制通道也可以是接口板的控制面和接口板的转发面之间的PTSO^ysi cal-I^ransport-Sub-layer,物理传送子层)通道。控制通道建立后,主控板对接口板的接口进行注册。在CPU的启动过程中可以省略微码的加载,对硬件的初始化采用软初始化方式, 对硬件的配置操作采用shadow (影子)或FIFO (First Input First Output,先入先出)方
7式来进行缓存;在对CPU进行独立复位中,不能有复位单板的操作,初始化时不能影响外部硬件接口 ;控制通道建立后,由驱动接管硬件,并开始接收对硬件的操作。本实施例中当该接口板出现的故障为控制面类故障时,仅对该接口板的CPU进行独立复位。与整板复位相比,业务流量的转发不会发生中断。对该接口板的CPU进行独立复位完成后,接口板可以通过控制通道向主控板上送报文。在该接口板的CPU出现故障后至CPU完成独立复位前,该接口板的CPU处于故障状态,不能正常使用。本实施例提供的辅助板转发的方案可以实现第一报文的上送和第二报文的下发。该第一报文可以是控制协议报文,也可以是包含状态信息的报文或包含统计信息的报文。其中该控制协议报文为接口板转发的报文,该包含状态信息的报文和包含统计信息的报文为接口板发送的报文。该控制协议报文具体可以分为以下两种一种是用于维持连接状态的报文,另一种是用于更新路由转发表的报文。用于维持连接状态的报文,具体可以是路由消息中的Hello报文;对于用于维持连接状态的报文而言,接口板接收到该报文后,可以将该报文转发至辅助板,即其他接口板或者交换网板;该辅助板将该报文上送至主控板;主控板接收到该报文后,可以生成对应的响应报文,并将该响应报文发送至网络侧。用于更新路由转发表的报文,具体可以是路由协议报文、隧道协议报文、MPLS协议报文。其中,路由协议可以是IGP或者BGP。隧道协议可以是TE、GRE或RSVP。MPLS协议具体可以是LDP。对于用于更新路由转发表的报文而言,接口板接收到该报文后,可以将该报文转发至辅助板,即其他接口板或者交换网板。该辅助板可以将该报文上送至主控板。主控板接收到该报文后,可以生成对应的转发表项,并将该转发表项发送至接口板,具体地,当主控板检测到控制面类故障时,将该转发表项经该辅助板发送至接口板;接口板接收到该报文后,根据转发表项,更新自己的路由转发表。另外,主控板生成对应的转发表项后,可以将该转发表项发送至其他的接口板,以便其他的接口板更新自己的路由转发表。另外,主控板接收到用于更新路由转发表的报文后,可以将该报文转发至网络侧。该包含状态信息的报文中的状态信息可以是NP的寄存器的状态。接口板可以主动向主控板发送包含状态信息的报文。主控板也可以向接口板发送状态信息请求报文,接口板发送包含状态信息的报文进行响应。包含统计信息的报文中的统计信息可以是接口板接收的报文的数量,或者总字节数;也可以是接口板转发的报文的数量,或者总字节数。其中接收或者转发的报文可以为业务流量对应的报文。接口板可以主动向主控板发送包含统计信息的报文。主控板也可以向接口板发送统计信息请求报文,接口板发送包含统计信息的报文进行响应。下面以第一报文为控制协议报文为例进行详细描述当接口板出现控制面类故障时,该接口板的PIC接收控制协议报文,将该控制协议报文发送至该接口板的NP。该接口板的NP根据该接口板的路由转发表,可以获知该控制协议报文的动作类型为上送至主控板。其中,路由转发表存储于该接口板的转发表项存储器中。该接口板的NP将目标板号(Target Board,TB)和目的端口号(Target Port,TP) 封装在该控制协议报文中,并将封装后的控制协议报文发送至辅助板。辅助板收到该控制协议报文后,可以根据目的端口号将该控制协议报文转发至该路由器的主控板。其中,目标板号为辅助板号。目的端口号为该主控板中CPU的端口号。其中该辅助板可以为交换网板或者该路由器中除该接口板外的任一接口板。该交换网板支持控制协议报文的上送和下发功能。当该辅助板为该路由器中除该接口板外的任一接口板时,该接口板的NP将封装后的第一报文经该路由器的辅助板发送至该路由器的主控板具体为该接口板的NP将封装后的第一报文经该路由器的交换网板发送至该路由器的主控板。S202:该接口板接收由该辅助板转发的第二报文,其中该第二报文为该主控板生成并当该主控板检测到该故障为控制面类故障时发送至该辅助板的报文。S202中,该第二报文为该主控板生成并当该主控板检测到该故障为控制面类故障时发送至辅助板的报文。具体地,该第二报文可以是统计信息请求报文,也可以是对第一报文进行响应并生成的用于更新路由转发表的报文。该主控板可以检测接口板是否发生控制面故障。具体实现时,该主控板发送心跳报文至该接口板的CPU,当该主控板接收到该接口板的CPU发送的响应报文时,该主控板确定该接口板出现的故障不是控制面类故障。当该主控板不能接收到该接口板的CPU发送的响应报文时,该主控板确定该接口板出现的故障是控制面类故障。主控板根据检测结果确定第二报文的下发方式。当该检测结果为无控制面类故障时,通过控制通道将该第二报文进行下发至该接口板。当该检测结果为有控制面类故障时, 将该第二报文经辅助板发送至该接口板。主控板将该第二报文经辅助板发送至该接口板。具体实现实时,可以是主控板预先存储辅助板号以及接口板的CPU的端口号。主控板将该辅助板号以及该接口板的CPU的端口号封装在第二报文中。该辅助板号以及该接口板的CPU的端口号分别是第二报文的目的板号以及第二报文的目的端口号。辅助板收到第二报文后,可以根据第二报文中的目的端口号,将第二报文转发至接口板。可选的,S202可以具体包括该接口板接收由该辅助板转发的该第二报文,该第二报文为用于更新路由转发表的报文,其中该第二报文为该主控板根据该第一报文生成并当该主控板检测到该故障为控制面类故障时发送至该辅助板的报文,该第一报文为控制协议报文。该接口板根据该第二报文对该接口板的路由转发表进行更新。当第二报文为用于更新路由转发表的报文时,该路由器也可以将该第二报文下发至该路由器的其他接口板。该接口板接收该第二报文后,根据该第二报文对该路由器中路由转发表进行更新。具体如图5中虚线6和实线7所示。其中图5是本发明实施例2提供的更新路由转发表的流程图。图5中虚线6表示转发表项经第一辅助板4发送的路径,第一辅助板4为该
9路由器中除接口板2外的任一接口板;实线7表示第二转发表项经第二辅助板5发送的路径,第二辅助板5为该路由器的交换网板3。该接口板的NP接收该转发表项后,根据该第二报文对该接口板的转发表存储器进行更新。可选的,该接口板判断该故障是否是控制面类故障之后,该方法还包括如果该故障是控制面类故障,该接口板判断该控制面类故障是否是软件故障,如果是,将该接口板的CPU的用户态主进程切换至用户态备进程,以便于该用户态备进程代替该用户态主进程将该第一报文发送或者转发至该路由器的主控板。其中,该用户态备进程位于该接口板的CPU中。具体地,本实施例可以通过用户态主备进程实现接口板发送或者转发的报文通过控制通道上送至主控板。当该故障为控制面类的软件故障时,比如接口板的CPU检测出其主进程出现了故障,该接口板的CPU将该接口板的CPU的用户态主进程切换至用户态备进程,由该用户态备进程代替该用户态主进程进行报文的上送和下发操作;其中该用户态备进程位于该接口板的CPU中。本实施例中,还可以采用并发的机制将第一报文发送或者转发至主控板。具体地, 该接口板发送或者转发第一报文前,不判断自身是否出现故障,将该第一报文经辅助板发送或者转发至主控板。另外,该接口板将该第一报文经该接口板的CPU发送或者转发至该主控板。即该接口板将该第一报文经两条路径发送或者转发至该主控板。其中将该第一报文经该接口板的CPU发送或者转发至该主控板的方法为现有技术,不再赘述。主控板接收到两个相同的第一报文后,可以丢弃一个,对另一个第一报文进行相应处理。同理,本实施例还可以采用选收的机制来实现第二报文的下送操作。具体地,主控板将第二报文经辅助板发送至接口板的NP。另外,该主控板将第二报文经该接口板的CPU 发送至该接口板的NP,由该接口板的NP进行选择性接收。具体地,如果该接口板的NP接收到该接口板CPU发送的第二报文后,可以将从该辅助板接收到的第二报文丢弃,进而执行后续相应处理。本实施例中,当接口板的CPU出现控制面类故障时,通过辅助板转发报文的机制, 实现了接口板与主控板的交互。本实施例中,当路由器的接口板出现故障时,该接口板判断该故障是否是控制面类故障。如果是,该接口板将第一报文经该路由器的辅助板发送至该路由器的主控板,使得当接口板与主控板之间的控制通道被关闭时,主控板仍然可以接收到接口板发送的报文。此外,本实施例还采用了接口板CPU独立复位模式,使得故障恢复的时间缩短。本实施例采用辅助板模式使得接口板和主控板之间的报文收发的可靠性提高。实施例3参考图6,图6是本发明实施例3提供的一种发送报文的装置的第一结构示意图。 该发送报文的装置可以是路由器的接口板。该发送报文的装置可以通过实施例1提供的方法实现。该发送报文的装置包括判断单元601,用于当路由器的接口板出现故障时,判断该故障是否是控制面类故障。601具体实现时,请参考实施例1中的S101,此处不再赘述。发送单元602,用于如果该故障是控制面类故障,将第一报文经该路由器的辅助板发送或者转发至该路由器的主控板,其中该辅助板为该路由器中的交换网板或除该接口板外的任一接口板。602具体实现时,请参考实施例1中的S102,此处不再赘述。可选的,该发送报文的装置还可以包括复位单元603,如图7所示,图7是本发明实施例3提供的一种接口板的第二结构示意图。复位单元603用于该接口板判断该故障是否是控制面类故障之后,如果该故障是控制面类故障,对该接口板的中央处理器CPU进行独立复位。具体地,当该接口板出现控制面类故障时,该接口板可以只对该接口板的CPU进行复位,即该接口板对CPU进行独立复位,而不复位该接口板中的PIC、NP等转发面芯片。 具体实现时,CPU芯片中有用于复位的管脚。对该管脚发送触发信号,即可实现对CPU的独立复位。对CPU进行独立复位可以解决控制面类故障中的部分软件故障以及部分硬件故障,这些故障可以统称为软失效。具体实现时,软失效可以是内存单比特跳表,可以是内存多比特跳变。在接口板的CPU的独立复位模式下,CPU首先加载启动文件,其中启动文件的加载方式可以是本地Flash (闪存)加载,也可以是向该路由器的主控板请求加载。优选的,CPU 通过本地Flash加载启动文件。然后CPU向主控板进行单板注册,并建立控制通道。其中, 控制通道可以是接口板的控制面和主控板之间的IPCanter-Process Communication,进程间通信)通道。控制通道也可以是接口板的控制面和接口板的转发面之间的PTSO^ysi cal-I^ransport-Sub-layer,物理传送子层)通道。控制通道建立后,主控板对接口板的接口进行注册。在CPU的启动过程中可以省略微码的加载,对硬件的初始化采用软初始化方式, 对硬件的配置操作采用shadow (影子)或FIFO (First Input First Output,先入先出)方式来进行缓存;在对CPU进行独立复位中,不能有复位单板的操作,初始化时不能影响外部硬件接口 ;控制通道建立后,由驱动接管硬件,并开始接收对硬件的操作。本实施例中当该接口板出现的故障为控制面类故障时,仅对该接口板的CPU进行独立复位。与整板复位相比,业务流量的转发不会发生中断。对该接口板的CPU进行独立复位完成后,接口板可以通过控制通道向主控板上送报文。在该接口板的CPU出现故障后至CPU完成独立复位前,该接口板的CPU处于故障状态,不能正常使用。本实施例提供的辅助板转发的方案可以实现第一报文的上送和第二报文的下发。该第一报文可以是控制协议报文,也可以是包含状态信息的报文或包含统计信息的报文。其中该控制协议报文为接口板转发的报文,该包含状态信息的报文和包含统计信息的报文为接口板发送的报文。该控制协议报文具体可以分为以下两种一种是用于维持连接状态的报文,另一种是用于更新路由转发表的报文。用于维持连接状态的报文,具体可以是路由消息中的Hello报文;对于用于维持连接状态的报文而言,接口板接收到该报文后,可以将该报文转发
11至辅助板,即其他接口板或者交换网板;该辅助板将该报文上送至主控板;主控板接收到该报文后,可以生成对应的响应报文,并将该响应报文发送至网络侧。用于更新路由转发表的报文,具体可以是路由协议报文、隧道协议报文、MPLS协议报文。其中,路由协议可以是IGP或者BGP。隧道协议可以是TE、GRE或RSVP。MPLS协议具体可以是LDP。对于用于更新路由转发表的报文而言,接口板接收到该报文后,可以将该报文转发至辅助板,即其他接口板或者交换网板。该辅助板可以将该报文上送至主控板。主控板接收到该报文后,可以生成对应的转发表项,并将该转发表项发送至接口板,具体地,当主控板检测到控制面类故障时,将该转发表项经该辅助板发送至接口板;接口板接收到该报文后,根据转发表项,更新自己的路由转发表。另外,主控板生成对应的转发表项后,可以将该转发表项发送至其他的接口板,以便其他的接口板更新自己的路由转发表。另外,主控板接收到用于更新路由转发表的报文后,可以将该报文转发至网络侧。该包含状态信息的报文中的状态信息可以是NP的寄存器的状态。接口板可以主动向主控板发送包含状态信息的报文。主控板也可以向接口板发送状态信息请求报文,接口板发送包含状态信息的报文进行响应。包含统计信息的报文中的统计信息可以是接口板接收的报文的数量,或者总字节数;也可以是接口板转发的报文的数量,或者总字节数。其中接收或者转发的报文可以为业务流量对应的报文。接口板可以主动向主控板发送包含统计信息的报文。主控板也可以向接口板发送统计信息请求报文,接口板发送包含统计信息的报文进行响应。下面以第一报文为控制协议报文为例进行详细描述当接口板出现控制面类故障时,该接口板的PIC接收控制协议报文,将该控制协议报文发送至该接口板的NP。该接口板的NP根据该接口板的路由转发表,可以获知该控制协议报文的动作类型为上送至主控板。其中,路由转发表存储于该接口板的转发表项存储器中。该接口板的NP将目标板号(Target Board,TB)和目的端口号(Target Port,TP) 封装在该控制协议报文中,并将封装后的控制协议报文发送至辅助板。辅助板收到该控制协议报文后,可以根据目的端口号将该控制协议报文转发至该路由器的主控板。其中,目标板号为辅助板号。目的端口号为该主控板中CPU的端口号。其中该辅助板可以为交换网板或者该路由器中除该接口板外的任一接口板。该交换网板支持控制协议报文的上送和下发功能。当该辅助板为该路由器中除该接口板外的任一接口板时,该接口板的NP将封装后的第一报文经该路由器的辅助板发送至该路由器的主控板具体为该接口板的NP将封装后的第一报文经该路由器的交换网板发送至该路由器的主控板。在本实施例的上述实施方式中,该发送报文的装置还可以包括接收单元。该接收单元用于接收由该辅助板转发的第二报文,其中该第二报文为该主控板生成并当该主控板检测到该故障为控制面类故障时发送至该辅助板的报文。接收单元具体实现时,请参考实施例2中的S202,此处不再赘述。在本实施例的另一实施方式中,该接收单元包括接收子单元以及更新子单元。
该接收子单元用于接收由该辅助板转发的该第二报文,该第二报文为用于更新路由转发表的报文,其中该第二报文为该主控板根据该第一报文生成并当该主控板检测到该故障为控制面类故障时发送至该辅助板的报文,该第一报文为控制协议报文。该更新子单元用于根据该接收子单元收到的该第二报文对该路由器的路由转发表进行更新。当第二报文为用于更新路由转发表的报文时,该路由器也可以将该第二报文下发至该路由器的其他接口板。该接口板接收该第二报文后,根据该第二报文对该路由器中路由转发表进行更新。具体如图5中虚线6和实线7所示。其中图5是本发明实施例2提供的更新路由转发表的流程图。图5中虚线6表示转发表项经第一辅助板4发送的路径,第一辅助板4为该路由器中除接口板2外的任一接口板;实线7表示第二转发表项经第二辅助板5发送的路径,第二辅助板5为该路由器的交换网板3。该接口板的NP接收该转发表项后,根据该第二报文对该接口板的转发表存储器进行更新。可选的,该发送报文的装置在包括判断单元601和发送单元602的基础上还包括切换单元。该切换单元用于该判断该故障是否是控制面类故障之后,如果该故障是控制面类故障,判断该控制面类故障是否是软件故障,如果是,将该接口板的CPU的用户态主进程切换至用户态备进程,以便于该备进程代替该主进程将该第一报文发送或者转发至该路由器的主控板。本实施例中该复位单元603和该切换单元由该接口板的CPU来实现。具体地,本实施例可以通过用户态主备进程实现接口板发送或者转发的报文通过控制通道上送至主控板。当该故障为控制面类的软件故障时,比如接口板的CPU检测出其主进程出现了故障,该接口板的CPU将该接口板的CPU的用户态主进程切换至用户态备进程,由该用户态备进程代替该用户态主进程进行报文的上送和下发操作;其中该用户态备进程位于该接口板的CPU中。本实施例中,还可以采用并发的机制将第一报文发送或者转发至主控板。具体地, 该接口板发送或者转发第一报文前,不判断自身是否出现故障,将该第一报文经辅助板发送或者转发至主控板。另外,该接口板将该第一报文经该接口板的CPU发送或者转发至该主控板。即该接口板将该第一报文经两条路径发送或者转发至该主控板。其中将该第一报文经该接口板的CPU发送或者转发至该主控板的方法为现有技术,不再赘述。主控板接收到两个相同的第一报文后,可以丢弃一个,对另一个第一报文进行相应处理。同理,本实施例还可以采用选收的机制来实现第二报文的下送操作。具体地,主控板将第二报文经辅助板发送至接口板的NP。另外,该主控板将第二报文经该接口板的CPU 发送至该接口板的NP,由该接口板的NP进行选择性接收。具体地,如果该接口板的NP接收到该接口板CPU发送的第二报文后,可以将从该辅助板接收到的第二报文丢弃,进而执行后续相应处理。本实施例中,当接口板的CPU出现控制面类故障时,通过辅助板转发报文的机制, 实现了接口板与主控板的交互。本实施例中,当路由器的接口板出现故障时,该接口板判断该故障是否是控制面
13类故障。如果是,该接口板将第一报文经该路由器的辅助板发送至该路由器的主控板,使得当接口板与主控板之间的控制通道被关闭时,主控板仍然可以接收到接口板发送的报文。此外,本实施例还采用了接口板CPU独立复位模式,使得故障恢复的时间缩短。本实施例采用辅助板模式使得接口板和主控板之间的报文收发的可靠性提高。实施例4参考图8,图8是本发明实施例4提供的一种发送报文的系统的结构示意图。发送报文的系统具体实现时,可以是路由器。参见图8,该系统包括辅助板40、主控板50和发送报文的装置60。其中,发送报文的装置60可以通过实施例3提供的装置实现。参见图 8,该发送报文的系统包括辅助板40、主控板50和发送报文的装置60。其中,该发送报文的装置60包括判断单元,用于当路由器的接口板出现故障时,判断该故障是否是控制面类故障。判断单元具体实现时,请参见实施例3中的601,此处不再赘述。发送单元,用于如果该故障是控制面类故障,将第一报文经该路由器的该辅助板发送或者转发至该路由器的该主控板,其中该辅助板为该路由器中的交换网板或除该接口板外的任一接口板。发送单元具体实现时,请参见实施例3中的602,此处不再赘述。可选的,该发送报文的装置60进一步包括复位单元,用于该接口板判断该故障是否是控制面类故障之后,如果该故障是控制面类故障,对该接口板的中央处理器CPU进行独立复位。复位单元具体实现时,请参见实施例3中的603,此处不再赘述。可选的,该发送报文的装置60进一步包括接收单元,用于该将第一报文经该路由器的辅助板发送或者转发至该路由器的主控板之后,接收由该辅助板转发的第二报文,其中该第二报文为该主控板生成并当该主控板检测到该故障为控制面类故障时发送至该辅助板的报文。接收单元具体实现时,请参考实施例1中的S202,此处不再赘述。可选的,该接收单元包括接收子单元,用于接收由该辅助板转发的该第二报文,该第二报文为用于更新路由转发表的报文,其中该第二报文为该主控板根据该第一报文生成并当该主控板检测到该故障为控制面类故障时发送至该辅助板的报文,该第一报文为控制协议报文。更新子单元,用于根据该接收子单元收到的该第二报文对该接口板的路由转发表进行更新。当第二报文为用于更新路由转发表的报文时,该路由器也可以将该第二报文下发至该路由器的其他接口板。该接口板接收该第二报文后,根据该第二报文对该路由器中路由转发表进行更新。具体如图5中虚线6和实线7所示。其中图5是本发明实施例2提供的更新路由转发表的流程图。图5中虚线6表示转发表项经第一辅助板4发送的路径,第一辅助板4为该路由器中除接口板2外的任一接口板;实线7表示第二转发表项经第二辅助板5发送的路径,第二辅助板5为该路由器的交换网板3。该接口板的NP接收该转发表项后,根据该第二报文对该接口板的转发表存储器进行更新。可选的,该发送报文的装置60进一步包括切换单元,用于该判断该故障是否是控制面类故障之后,如果该故障是控制面类故障,判断该控制面类故障是否是软件故障,如果是,将该接口板的CPU的用户态主进程切换至用户态备进程,以便于该备进程代替该主进程将该第一报文发送或者转发至该路由器的主控板。具体地,本实施例可以通过用户态主备进程实现接口板发送或者转发的报文通过控制通道上送至主控板。当该故障为控制面类的软件故障时,比如接口板的CPU检测出其主进程出现了故障,该接口板的CPU将该接口板的CPU的用户态主进程切换至用户态备进程,由该用户态备进程代替该用户态主进程进行报文的上送和下发操作;其中该用户态备进程位于该接口板的CPU中。本实施例中,还可以采用并发的机制将第一报文发送或者转发至主控板。具体地, 该接口板发送或者转发第一报文前,不判断自身是否出现故障,将该第一报文经辅助板发送或者转发至主控板。另外,该接口板将该第一报文经该接口板的CPU发送或者转发至该主控板。即该接口板将该第一报文经两条路径发送或者转发至该主控板。其中将该第一报文经该接口板的CPU发送或者转发至该主控板的方法为现有技术,不再赘述。主控板接收到两个相同的第一报文后,可以丢弃一个,对另一个第一报文进行相应处理。同理,本实施例还可以采用选收的机制来实现第二报文的下送操作。具体地,主控板将第二报文经辅助板发送至接口板的NP。另外,该主控板将第二报文经该接口板的CPU 发送至该接口板的NP,由该接口板的NP进行选择性接收。具体地,如果该接口板的NP接收到该接口板CPU发送的第二报文后,可以将从该辅助板接收到的第二报文丢弃,进而执行后续相应处理。本实施例中,当接口板的CPU出现控制面类故障时,通过辅助板转发报文的机制, 实现了接口板与主控板的交互。本实施例中,当路由器的接口板出现故障时,该接口板判断该故障是否是控制面类故障。如果是,该接口板将第一报文经该路由器的辅助板发送至该路由器的主控板,使得当接口板与主控板之间的控制通道被关闭时,主控板仍然可以接收到接口板发送的报文。此外,本实施例还采用了接口板CPU独立复位模式,使得故障恢复的时间缩短。本实施例采用辅助板模式使得接口板和主控板之间的报文收发的可靠性提高。需要说明的是,本说明书中的各个实施例均采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似的部分互相参见即可。 对于装置类实施例而言,由于其与方法实施例基本相似,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存
15在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备
所固有的要素。在没有更多限制的情况下,由语句“包括一个......”限定的要素,并不排
除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。本领域普通技术人员可以理解实现上述实施例的全部或部分步骤可以通过硬件来完成,也可以通过程序来指令相关的硬件完成,所述的程序可以存储于一种计算机可读存储介质中,上述提到的存储介质可以是只读存储器,磁盘或光盘等。以上所述仅为本发明的较佳实施例,并不用以限制本发明,凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
权利要求
1.一种发送报文的方法,其特征在于,包括当路由器的接口板出现故障时,所述接口板判断所述故障是否是控制面类故障;如果所述故障是控制面类故障,所述接口板将第一报文经所述路由器的辅助板发送或者转发至所述路由器的主控板,其中所述辅助板为所述路由器中的交换网板或除所述接口板外的任一接口板。
2.根据权利要求1所述的方法,其特征在于,所述接口板判断所述故障是否是控制面类故障之后,所述方法进一步包括如果所述故障是控制面类故障,所述接口板对所述接口板的中央处理器CPU进行独立复位。
3.根据权利要求1或2所述的方法,其特征在于,所述接口板将第一报文经所述路由器的辅助板发送或者转发至所述路由器的主控板之后,所述方法进一步包括所述接口板接收由所述辅助板转发的第二报文,其中所述第二报文为所述主控板生成并当所述主控板检测到所述故障为控制面类故障时发送至所述辅助板的报文。
4.根据权利要求3所述的方法,其特征在于,所述接口板接收由所述辅助板转发的第二报文,其中所述第二报文为所述主控板生成并当所述主控板检测到所述故障为控制面类故障时发送至所述辅助板的报文包括所述接口板接收由所述辅助板转发的所述第二报文,所述第二报文为用于更新路由转发表的报文,其中所述第二报文为所述主控板根据所述第一报文生成并当所述主控板检测到所述故障为控制面类故障时发送至所述辅助板的报文,所述第一报文为控制协议报文;所述接口板根据所述第二报文对所述接口板的路由转发表进行更新。
5.根据权利要求1所述的方法,其特征在于,所述接口板判断所述故障是否是控制面类故障之后,所述方法进一步包括如果所述故障是控制面类故障,所述接口板判断所述控制面类故障是否是软件故障, 如果是,将所述接口板的CPU的用户态主进程切换至用户态备进程,以便于所述备进程代替所述主进程将所述第一报文发送或者转发至所述路由器的主控板。
6.一种发送报文的装置,其特征在于,包括判断单元,用于当路由器的接口板出现故障时,判断所述故障是否是控制面类故障;发送单元,用于如果所述故障是控制面类故障,将第一报文经所述路由器的辅助板发送或者转发至所述路由器的主控板,其中所述辅助板为所述路由器中的交换网板或除所述接口板外的任一接口板。
7.根据权利要求6所述的装置,其特征在于,进一步包括复位单元,用于所述接口板判断所述故障是否是控制面类故障之后,如果所述故障是控制面类故障,对所述接口板的中央处理器CPU进行独立复位。
8.根据权利要求6或7所述的装置,其特征在于,进一步包括接收单元,用于所述将第一报文经所述路由器的辅助板发送或者转发至所述路由器的主控板之后,接收由所述辅助板转发的第二报文,其中所述第二报文为所述主控板生成并当所述主控板检测到所述故障为控制面类故障时发送至所述辅助板的报文。
9.根据权利要求8所述的装置,其特征在于,所述接收单元包括接收子单元,用于接收由所述辅助板转发的所述第二报文,所述第二报文为用于更新路由转发表的报文,其中所述第二报文为所述主控板根据所述第一报文生成并当所述主控板检测到所述故障为控制面类故障时发送至所述辅助板的报文,所述第一报文为控制协议报文;更新子单元,用于根据所述接收子单元收到的所述第二报文对所述接口板的路由转发表进行更新。
10.根据权利要求6所述的接口板,其特征在于,进一步包括切换单元,用于所述判断所述故障是否是控制面类故障之后,如果所述故障是控制面类故障,判断所述控制面类故障是否是软件故障,如果是,将所述接口板的CPU的用户态主进程切换至用户态备进程,以便于所述备进程代替所述主进程将所述第一报文发送或者转发至所述路由器的主控板。
11.一种发送报文的系统,其特征在于,包括辅助板、主控板和发送报文的装置,其中, 所述发送报文的装置包括判断单元,用于当路由器的接口板出现故障时,判断所述故障是否是控制面类故障;发送单元,用于如果所述故障是控制面类故障,将第一报文经所述路由器的所述辅助板发送或者转发至所述路由器的所述主控板,其中所述辅助板为所述路由器中的交换网板或除所述接口板外的任一接口板。
12.根据权利要求11所述的系统,其特征在于,所述发送报文的装置进一步包括复位单元,用于所述接口板判断所述故障是否是控制面类故障之后,如果所述故障是控制面类故障,对所述接口板的中央处理器CPU进行独立复位。
13.根据权利要求11或12所述的系统,其特征在于,所述发送报文的装置进一步包括接收单元,用于所述将第一报文经所述路由器的辅助板发送至所述路由器的主控板之后,接收由所述辅助板转发的第二报文,其中所述第二报文为所述主控板生成并当所述主控板检测到所述故障为控制面类故障时发送至所述辅助板的报文。
14.根据权利要求13所述的系统,其特征在于,所述接收单元包括接收子单元,用于接收由所述辅助板转发的所述第二报文,所述第二报文为用于更新路由转发表的报文,其中所述第二报文为所述主控板根据所述第一报文生成并当所述主控板检测到所述故障为控制面类故障时发送至所述辅助板的报文,所述第一报文为控制协议报文;更新子单元,用于根据所述接收子单元收到的所述第二报文对所述接口板的路由转发表进行更新。
15.根据权利要求11所述的系统,其特征在于,所述发送报文的装置进一步包括切换单元,用于所述判断所述故障是否是控制面类故障之后,如果所述故障是控制面类故障,判断所述控制面类故障是否是软件故障,如果是,将所述接口板的CPU的用户态主进程切换至用户态备进程,以便于所述备进程代替所述主进程将所述第一报文发送或者转发至所述路由器的主控板。
全文摘要
本发明公开了一种发送报文的方法、装置及系统,属于通信技术领域。该发送报文的方法包括当路由器的接口板出现故障时,该接口板判断该故障是否是控制面类故障;如果该故障是控制面类故障,该接口板将第一报文经该路由器的辅助板发送或者转发至该路由器的主控板,其中该辅助板为该路由器中的交换网板或除该接口板外的任一接口板。此外,本发明实施例还提供了相应的装置及系统。本发明实施例可以使得当接口板与主控板之间的控制通道被关闭时,主控板仍然可以接收接口板发送或者转发的报文。
文档编号H04L12/56GK102447634SQ20111045370
公开日2012年5月9日 申请日期2011年12月29日 优先权日2011年12月29日
发明者文慧智, 程亮 申请人:华为技术有限公司