一种rcpu端口有效性的检测方法和设备的制作方法

文档序号:8005985阅读:238来源:国知局
一种rcpu端口有效性的检测方法和设备的制作方法
【专利摘要】本发明公开了一种RCPU端口有效性的检测方法和设备,该方法包括:主控板的CPU向待检测的RCPU端口发送探测报文;接口板的ASIC芯片在通过RCPU端口收到探测报文后,如果确定RCPU报文头的目的MAC地址是该RCPU端口的MAC地址,剥离RCPU报文头,并确定HG报文头中携带的ASIC芯片的标识以及待检测的RCPU端口的标识,将剥离RCPU报文头的探测报文发送到待检测的RCPU端口;接口板的ASIC芯片在收到剥离RCPU报文头的探测报文后,剥离HG报文头,并向主控板的CPU发送剥离HG报文头的探测报文;主控板的CPU在收到探测报文对应的探测响应报文时,确定待检测的RCPU端口有效;否则确定待检测的RCPU端口无效。本发明实施例中,能准确检测出RCPU端口是否有效。
【专利说明】一种RCPU端口有效性的检测方法和设备
【技术领域】
[0001]本发明涉及通信【技术领域】,尤其是涉及了一种RCPU端口有效性的检测方法和设备。
【背景技术】
[0002]如图1所示,为网络设备的控制通道的结构示意图,网络设备一般采用框式结构,且该框式结构中包括 MPU(Main Processing Unit,主处理单兀)、LPU(Line Process Unit,线路处理单元)和Fabric Board (交换网板)。
[0003]其中,该网络设备可以为以太网交换机或路由器等。该MPU俗称主控板,且主控板包括 ASIC (Application Specific Integrated Circuit,专用集成电路)芯片和 CPU(Central Processing Unit,中央处理单元)等。该LPU俗称接口板,且接口板包括ASIC芯片、CPU和L2芯片(即二层交换芯片)等,且接口板的ASIC芯片为即硬件转发芯片。该交换网板包括CPU和L2芯片等。
[0004]其中,主控板负责控制平面事务处理,包括网络设备内部板间控制信息处理、网络设备与邻居网络设备进行协议交换等;在与邻居网络设备进行协议交换时,主控板在软件层面进行路由信息学习等,生成硬件转发表项,并将硬件转发表项发送到所有接口板的ASIC芯片,使得各接口板的ASIC芯片都具有硬件转发表项,继而基于硬件转发表项转发报文。接口板负责转发平面事务处理,该接口板向外提供线路连接端口,这些端口与邻居网络设备互连,通过适当配置形成通信网络。交换网板在接口板后端将各接口板连接起来,形成多个接口板的跨板转发。
[0005]随着技术的不断发展,当前有业务,如ISSU (In-Service Software Upgrade,不中断业务升级)业务,在实现过程中,需要主控板的CPU能够直接通过接口板的ASIC芯片上的指定端口将协议报文发送给邻居网络设备,且接口板的ASIC芯片上的指定端口在收到协议报文后,直接将协议报文转发给主控板的CPU ;在此过程中,协议报文不需要经过接口板的CPU。为此提出了 RCPU (Remote CPU,远程CPU)技术,且ASIC芯片上的指定端口称为RCPU 端 口。
[0006]在此RCPU技术中,接口板的L2芯片连接到接口板的RCPU端口,并连接到主控板的ASIC芯片,使本接口板的RCPU端口通过本接口板的L2芯片连接到主控板的CPU,并使主控板的CPU能够通过接口板的ASIC芯片的RCPU端口将协议报文发送给邻居网络设备,且接口板的ASIC芯片上的RCPU端口在收到来自邻居网络设备的协议报文后,直接将该协议报文转发给主控板的CPU。
[0007]现有技术中,为了保证RCPU端口的有效性,主控板的CPU需要检查接口板是否在位;如果接口板在位,则认为RCPU端口有效;如果接口板不在位,则认为RCPU端口无效。但是,当接口板在位且RCPU端口发生故障,或ASIC芯片发生故障,或L2芯片发生故障时,显然主控板的CPU无法感知到RCPU端口无效,并继续通过该RCPU端口发送协议报文,从而导致协议报文被堵塞丢弃,继而导致网络设备与邻居网络设备的协议报文交互中断。
【发明内容】

[0008]本发明实施例提供一种RCPU端口有效性的检测方法和设备,以准确检测出RCPU端口是否有效,并避免通过无效的RCPU端口发送协议报文。
[0009]为了达到上述目的,本发明实施例提供一种远程中央处理单元RCPU端口有效性的检测方法,该方法应用于包括主控板和多个接口板的网络设备中,该方法包括以下步骤:
[0010]所述主控板的中央处理单元CPU生成探测报文,所述探测报文从外到内包括RCPU报文头、以太网高速通道HG报文头和二层以太报文头;其中,所述RCPU报文头的目的介质访问控制MAC地址是待检测的RCPU端口的MAC地址;所述HG报文头中携带待检测的RCPU端口所在的ASIC芯片的标识、待检测的RCPU端口的标识;所述二层以太报文头的目的MAC地址是所述主控板的CPU的MAC地址;
[0011]所述主控板的CPU向所述待检测的RCPU端口发送所述探测报文;
[0012]接口板的专用集成电路ASIC芯片在通过RCPU端口收到所述探测报文之后,如果确定所述探测报文的RCPU报文头的目的MAC地址是所述RCPU端口的MAC地址,则剥离所述RCPU报文头,并从所述HG报文头中获得待检测的RCPU端口所在的ASIC芯片的标识以及待检测的RCPU端口的标识,并将剥离所述RCPU报文头的探测报文发送到所述待检测的RCPU 端 口 ;
[0013]接口板的ASIC芯片在通过RCPU端口收到剥离所述RCPU报文头的探测报文后,如果确定所述HG报文头中携带的ASIC芯片的标识为本ASIC芯片,且所述HG报文头中携带的RCPU端口的标识为收到剥离所述RCPU报文头的探测报文的RCPU端口,则剥离所述HG报文头,并通过本接口板的L2芯片向主控板的CPU发送剥离所述HG报文头的探测报文;
[0014]主控板的CPU在预设时间内收到自身向待检测的RCPU端口发送的探测报文对应的探测响应报文时,确定所述待检测的RCPU端口有效,否则确定为无效;其中,所述探测响应报文为接口板的ASIC芯片通过本接口板的L2芯片向主控板的CPU发送的剥离所述HG报文头的探测报文。
[0015]所述主控板的CPU向所述待检测的RCPU端口发送所述探测报文的过程,具体包括:
[0016]所述主控板的CPU向待检测的RCPU端口所在接口板的L2芯片发送所述探测报文;由所述接口板的L2芯片在收到所述探测报文之后,如果确定所述RCPU报文头的目的MAC地址是待检测的RCPU端口的MAC地址,则将所述探测报文发送给所述接口板的ASIC芯片上的所述待检测的RCPU端口。
[0017]所述接口板的ASIC芯片通过本接口板的L2芯片向主控板的CPU发送剥离所述HG报文头的探测报文的过程,具体包括:
[0018]所述接口板的ASIC芯片向本接口板的L2芯片发送剥离所述HG报文头的探测报文;由所述接口板的L2芯片在收到剥离所述HG报文头的探测报文之后,如果确定所述二层以太报文头的目的MAC地址是所述主控板的CPU的MAC地址,则将剥离所述HG报文头的探测报文发送给所述主控板的CPU。
[0019]所述探测报文的二层以太报文头之后为报文载荷,且所述报文载荷中携带特定特征码;所述主控板的CPU确定所述待检测的RCPU端口有效之前,所述方法进一步包括:所述主控板的CPU在收到探测报文对应的探测响应报文之后,如果确定所述二层以太报文头的目的MAC地址是本主控板的CPU的MAC地址,则剥离所述二层以太报文头,并判断剥离所述二层以太报文头的探测响应报文中携带的特定特征码与所述探测报文中携带的特定特征码是否相同;如果剥离所述二层以太报文头的探测响应报文中携带的特定特征码与所述主控板的CPU向待检测的RCPU端口发送的探测报文中携带的特定特征码相同,则执行确定所述待检测的RCPU端口有效的步骤;否则,认为收到的剥离所述二层以太报文头的探测响应报文无效,并丢弃收到的报文。
[0020]所述主控板的CPU向所述待检测的RCPU端口发送所述探测报文,具体包括:所述主控板的CPU周期性向所述待检测的RCPU端口发送探测报文;
[0021]所述主控板的CPU确定所述待检测的RCPU端口是否有效的过程,进一步包括:所述主控板的CPU在向待检测的RCPU端口发送预设次数的探测报文之后,如果能够收到自身向待检测的RCPU端口发送的探测报文对应的探测响应报文,则确定所述待检测的RCPU端口有效,否则确定为无效。
[0022]本发明实施例提供一种网络设备,用于对远程中央处理单元RCPU端口的有效性进行检测,所述网络设备包括主控板和多个接口板,所述主控板包括中央处理单元CPU,所述接口板包括二层L2芯片和专用集成电路ASIC芯片,且所述ASIC芯片上包括RCPU端口 ;其中:
[0023]所述CPU,用于生成探测报文,所述探测报文从外到内包括RCPU报文头、以太网高速通道HG报文头和二层以太报文头;其中,所述RCPU报文头的目的介质访问控制MAC地址是待检测的RCPU端口的MAC地址;所述HG报文头中携带待检测的RCPU端口所在的ASIC芯片的标识、待检测的RCPU端口的标识;所述二层以太报文头的目的MAC地址是所述主控板的CPU的MAC地址;以及,向所述待检测的RCPU端口发送所述探测报文;
[0024]所述ASIC芯片,用于在通过RCPU端口收到所述探测报文之后,如果确定所述探测报文的RCPU报文头的目的MAC地址是所述RCPU端口的MAC地址,则剥离所述RCPU报文头,并从所述HG报文头中获得待检测的RCPU端口所在的ASIC芯片的标识以及待检测的RCPU端口的标识,并将剥离所述RCPU报文头的探测报文发送到所述待检测的RCPU端口 ;
[0025]以及,在通过RCPU端口收到剥离所述RCPU报文头的探测报文后,如果确定所述HG报文头中携带的ASIC芯片的标识为本ASIC芯片,且所述HG报文头中携带的RCPU端口的标识为收到剥离所述RCPU报文头的探测报文的RCPU端口,则剥离所述HG报文头,并通过本接口板的L2芯片向主控板的CPU发送剥离所述HG报文头的探测报文;
[0026]所述CPU,还用于在预设时间内收到自身向待检测的RCPU端口发送的探测报文对应的探测响应报文时,确定所述待检测的RCPU端口有效,否则确定为无效;其中,所述探测响应报文为接口板的ASIC芯片通过本接口板的L2芯片向主控板的CPU发送的剥离所述HG报文头的探测报文。
[0027]所述CPU,具体用于向待检测的RCPU端口所在接口板的L2芯片发送所述探测报文;
[0028]所述L2芯片,用于在收到所述探测报文之后,如果确定所述RCPU报文头的目的MAC地址是待检测的RCPU端口的MAC地址,则将所述探测报文发送给所述接口板的ASIC芯片上的所述待检测的RCPU端口。
[0029]所述ASIC芯片,具体用于向本接口板的L2芯片发送剥离所述HG报文头的探测报文;
[0030]所述L2芯片,用于在收到剥离所述HG报文头的探测报文之后,如果确定所述二层以太报文头的目的MAC地址是所述主控板的CPU的MAC地址,则将剥离所述HG报文头的探测报文发送给所述主控板的CPU。
[0031]所述探测报文的二层以太报文头之后为报文载荷,且所述报文载荷中携带特定特征码;所述CPU,进一步用于在收到探测报文对应的探测响应报文之后,如果确定所述二层以太报文头的目的MAC地址是本主控板的CPU的MAC地址,则剥离所述二层以太报文头,并判断剥离所述二层以太报文头的探测响应报文中携带的特定特征码与所述探测报文中携带的特定特征码是否相同;如果剥离所述二层以太报文头的探测响应报文中携带的特定特征码与所述主控板的CPU向待检测的RCPU端口发送的探测报文中携带的特定特征码相同,则执行确定所述待检测的RCPU端口有效的步骤;否则,认为收到的剥离所述二层以太报文头的探测响应报文无效,并丢弃收到的报文。
[0032]所述CPU,进一步用于周期性向所述待检测的RCPU端口发送探测报文;
[0033]以及,在向待检测的RCPU端口发送预设次数的探测报文之后,如果能够收到自身向待检测的RCPU端口发送的探测报文对应的探测响应报文,则确定所述待检测的RCPU端口有效,否则确定为无效。
[0034]与现有技术相比,本发明实施例至少具有以下优点:本发明实施例中,主控板的CPU通过构造RCPU端口对应的探测报文,并基于探测报文的接收情况确定RCPU端口是否有效,从而能够准确检测出RCPU端口是否有效,提高RCPU端口是否有效的检测可靠性。进一步的,主控板的CPU在检测到RCPU端口无效时,避免通过该RCPU端口向邻居网络设备发送协议报文,并通过其它有效的RCPU端口向邻居网络设备发送协议报文,从而避免协议报文被堵塞丢弃,继而保证网络设备与邻居网络设备的协议报文交互不中断。
【专利附图】

【附图说明】
[0035]图1是现有技术中网络设备的控制通道的结构示意图;
[0036]图2是本发明实施例的应用场景示意图;
[0037]图3是本发明实施例提供的一种RCPU端口有效性的检测方法流程图。
【具体实施方式】
[0038]本发明实施例提供一种RCPU端口有效性的检测方法,用于对网络设备的RCPU端口进行有效性检测。其中,该网络设备至少包括主控板和多个接口板,该主控板包括CPU和ASIC芯片,各个接口板均包括ASIC芯片、CPU和L2芯片(即二层交换芯片),且ASIC芯片上包括RCPU端口。
[0039]以图2为本发明实施例的应用场景示意图,该网络设备包括主控板、接口板1、接口板2和交换网板;该主控板包括CPUl和ASIC芯片I ;该接口板I包括L2芯片1、CPU2和ASIC芯片2,且ASIC芯片2上包括RCPU端口 I ;该接口板2包括L2芯片2、CPU3和ASIC芯片3,且ASIC芯片3上包括RCPU端口 2 ;该交换网板包括CPU4、L2芯片3和ASIC芯片4。[0040]在上述应用场景下,如图3所示,该方法包括以下步骤:
[0041 ] 步骤301,主控板的CPU生成探测报文,该探测报文从外层到内层依次包括RCPU报文头、HG (以太网高速通道)报文头和二层以太报文头,即探测报文的最外层为RCPU报文头(即RCPU Header), RCPU报文头后为HG报文头(即HG Header), HG报文头后为二层以太报文头(即 L2Ethernet Header)。
[0042]本发明实施例中,RCPU报文头的目的MAC(Media Access Control,介质访问控制)地址是待检测的RCPU端口的MAC地址,RCPU报文头的源MAC地址可以根据实际情况任意选择,如可以选择源MAC地址为主控板的CPU的MAC地址。HG报文头中携带待检测的RCPU端口所在的ASIC芯片的标识、待检测的RCPU端口的标识。二层以太报文头的目的MAC地址是主控板的CPU的MAC地址,二层以太报文头的源MAC地址可以根据实际情况任意选择,如可以选择源MAC地址为主控板的CPU的MAC地址。
[0043]在图2所示应用场景下,当对RCPU端口 I的有效性进行检测时,确定待检测的RCPU端口为RCPU端口 I,HG报文头中携带的待检测的RCPU端口所在的ASIC芯片的标识为ASIC芯片2,HG报文头中携带的待检测的RCPU端口的标识为RCPU端口 I。当对RCPU端口2的有效性进行检测时,确定待检测的RCPU端口为RCPU端口 2,HG报文头中携带的待检测的RCPU端口所在的ASIC芯片的标识为ASIC芯片3,HG报文头中待检测的RCPU端口的标识为RCPU端口 2。
[0044]步骤302,主控板的CPU向待检测的RCPU端口发送探测报文。
[0045]为了方便描述,以待检测的RCPU端口为RCPU端口 I为例,则RCPU报文头的目的MAC地址是RCPU端口 I的MAC地址。此外,HG报文头中携带的待检测的RCPU端口所在的ASIC芯片的标识为ASIC芯片2,且待检测的RCPU端口的标识为RCPU端口 I。此外,二层以太报文头的目的MAC地址是主控板的CPU的MAC地址,即CPUl的MAC地址。
[0046]本发明实施例中,主控板的CPU向待检测的RCPU端口发送探测报文的过程,具体包括:主控板的CPU向待检测的RCPU端口所在接口板的L2芯片发送探测报文;之后,接口板的L2芯片在收到探测报文之后,如果确定RCPU报文头的目的MAC地址是待检测的RCPU端口的MAC地址,则将探测报文发送给本接口板的ASIC芯片上的所述待检测的RCPU端口。
[0047]在图2所示的应用场景下,主控板的CPU (即CUPl)向ASIC芯片2的RCPU端口 I发送探测报文时,由于探测报文的最外层为RCPU报文头,且RCPU报文头的目的MAC地址是RCPU端口 I的MAC地址,因此,CUPl首先将探测报文发送给ASIC芯片1,且ASIC芯片I在收到该探测报文之后,会将该探测报文发送到L2芯片1,即CUPl将探测报文发送给RCPU端口 I所在接口板的L2芯片I ;L2芯片I在收到该探测报文后,由于RCPU报文头的目的MAC地址是RCPU端口 I的MAC地址,因此L2芯片I将该探测报文发送到ASIC芯片2的RCPU端口 I。
[0048]步骤303,接口板的ASIC芯片在通过RCPU端口收到探测报文后,如果确定该探测报文的RCPU报文头的目的MAC地址是该RCPU端口的MAC地址,则剥离该RCPU报文头,并从HG报文头中获得待检测的RCPU端口所在的ASIC芯片的标识和待检测的RCPU端口的标识,并将剥离RCPU报文头的探测报文发送到待检测的RCPU端口。
[0049]在图2所示的应用场景下,ASIC芯片2在通过RCPU端口 I收到探测报文之后,如果发现该探测报文的最外层为RCPU报文头,则解析RCPU报文头的目的MAC地址;如果确定RCPU报文头的目的MAC地址是RCPU端口 I的MAC地址,则剥离该RCPU报文头。其中,通过在RCPU报文头中携带第一标识表示相应报文头为RCPU报文头,即ASIC芯片2获知该探测报文的最外层中携带有第一标识时,确定该探测报文的最外层为RCPU报文头。
[0050]进一步的,ASIC芯片2在剥离RCPU报文头之后,如果发现探测报文的最外层为HG报文头,则解析HG报文头中携带的待检测的RCPU端口所在的ASIC芯片的标识和待检测的RCPU端口的标识,并将剥离RCPU报文头的探测报文发送到待检测的RCPU端口所在的ASIC芯片的待检测的RCPU端口。例如,当待检测的RCPU端口所在的ASIC芯片的标识为ASIC芯片2,待检测的RCPU端口的标识为RCPU端口 I时,ASIC芯片2将剥离RCPU报文头的探测报文发送到ASIC芯片2的RCPU端口 I。其中,通过在HG报文头中携带第二标识表示相应报文头为HG报文头,即ASIC芯片2获知该探测报文的最外层中携带有第二标识时,确定该探测报文的最外层为HG报文头。
[0051]步骤304,接口板的ASIC芯片在通过RCPU端口收到剥离RCPU报文头的探测报文后,如果确定HG报文头中携带的ASIC芯片的标识为本ASIC芯片,HG报文头中携带的RCPU端口的标识为收到剥离RCPU报文头的探测报文的RCPU端口,则剥离HG报文头,并通过本接口板的L2芯片向主控板的CPU发送剥离HG报文头的探测报文。
[0052]在图2所示的应用场景下,ASIC芯片2在通过RCPU端口 I收到剥离RCPU报文头的探测报文后,如果发现探测报文的最外层为HG报文头,则解析HG报文头中携带的待检测的RCPU端口所在的ASIC芯片的标识和待检测的RCPU端口的标识;如果HG报文头中携带的ASIC芯片的标识为ASIC芯片2,且HG报文头中携带的RCPU端口的标识为RCPU端口 I,则剥离HG报文头,并通过接口板I的L2芯片I向主控板的CPU发送剥离HG报文头的探测报文。
[0053]本发明实施例中,接口板的ASIC芯片通过本接口板的L2芯片向主控板的CPU发送剥离HG报文头的探测报文,具体包括:
[0054]接口板的ASIC芯片向本接口板的L2芯片发送剥离HG报文头的探测报文;其中,剥离HG报文头的探测报文的最外层为二层以太报文头,且二层以太报文头的目的MAC地址是主控板的CPU的MAC地址(B卩CPUl的MAC地址);接口板的L2芯片在收到剥离HG报文头的探测报文后,如果确定二层以太报文头的目的MAC地址是主控板的CPU的MAC地址,则将剥离HG报文头的探测报文发送给主控板的CPU。
[0055]在图2所示的应用场景下,ASIC芯片2向接口板I的L2芯片I发送剥离HG报文头的探测报文,该剥离HG报文头的探测报文的最外层为二层以太报文头,且二层以太报文头的目的MAC地址是主控板的CPU的MAC地址;接口板I的L2芯片I在收到剥离HG报文头的探测报文后,如果确定二层以太报文头的目的MAC地址是主控板的CPU的MAC地址,则将剥离HG报文头的探测报文发送给主控板的CPU。至此,探测报文成功返回主控板。
[0056]步骤305,主控板的CPU判断在预设时间内是否收到自身向待检测的RCPU端口发送的探测报文对应的探测响应报文;如果是,执行步骤306 ;如果否,执行步骤307。其中,该探测响应报文为接口板的ASIC芯片通过本接口板的L2芯片向主控板的CPU发送的剥离HG报文头的探测报文。
[0057]步骤306,主控板的CPU确定待检测的RCPU端口有效。
[0058]步骤307,主控板的CPU确定待检测的RCPU端口无效。[0059]如图2所示,以待检测的RCPU端口为RCPU端口 I为例,如果主控板的CPU在预设时间(可以根据实际经验值设置)内收到自身向RCPU端口 I发送的探测报文对应的探测响应报文,则确定RCPU端口 I有效;如果主控板的CPU在预设时间内未收到自身向RCPU端口I发送的探测报文对应的探测响应报文,则确定RCPU端口 I无效。
[0060]本发明实施例中,主控板的CPU向待检测的RCPU端口发送的探测报文中,在二层以太报文头之后还包括报文载荷(payload),且该报文载荷中携带特定特征码(如一段特定字符串);如果主控板的CPU在预设时间内收到自身向RCPU端口发送的探测报文对应的探测响应报文,则主控板的CPU在收到探测报文对应的探测响应报文之后,如果确定二层以太报文头的目的MAC地址是本主控板的CPU的MAC地址,则剥离二层以太报文头,并判断剥离二层以太报文头的探测响应报文中携带的特定特征码与主控板的CPU向待检测的RCPU端口发送的探测报文中携带的特定特征码是否相同。
[0061]进一步的,如果收到的剥离二层以太报文头的探测响应报文中携带的特定特征码与主控板的CPU向待检测的RCPU端口发送的探测报文中携带的特定特征码相同,则执行确定待检测的RCPU端口有效的步骤;否则,认为收到的剥离二层以太报文头的探测响应报文无效,并丢弃收到的报文。
[0062]本发明实施例中,在主控板的CPU向待检测的RCPU端口发送探测报文时,该主控板的CPU将周期性向待检测的RCPU端口发送探测报文。进一步的,主控板的CPU确定待检测的RCPU端口是否有效的过程中,主控板的CPU在向待检测的RCPU端口发送预设次数(可以根据实际经验值进行设置)的探测报文之后,如果能够收到自身向待检测的RCPU端口发送的探测报文对应的探测响应报文,则确定待检测的RCPU端口有效;如果不能够收到自身向待检测的RCPU端口发送的探测报文对应的探测响应报文,则确定待检测的RCPU端口无效。
[0063]综上所述,本发明实施例中,通过在探测报文的最外层设置RCPU报文头,并设置该RCPU报文头的目的MAC地址是RCPU端口的MAC地址,从而能够检测出RCPU端口的接收处理功能;此外,通过在RCPU报文头之后设置HG报文头,并设置该HG报文头中携带待检测的RCPU端口所在的ASIC芯片的标识和待检测的RCPU端口的标识,从而能够检测出ASIC芯片的转发处理功能;此外,通过在HG报文头之后设置二层以太报文头,并设置该二层以太报文头的目的MAC地址是主控板的CPU的MAC地址,从而能够检测出RCPU端口的发送处理功能。
[0064]其中,当指定ASIC芯片为ASIC芯片2,指定端口为RCPU端口 I时,如果最终确定结果为RCPU端口 I有效,则说明主控板的CPU到ASIC芯片2上的RCPU端口 I之间的控制通道没有故障,RCPU端口 I的接收处理功能正常;此外,说明ASIC芯片2能够传输数据,该ASIC芯片2没有故障,ASIC芯片2的转发处理功能正常;此外,说明ASIC芯片2上的RCPU端口 I到主控板的CPU之间的控制通道没有故障,RCPU端口 I的发送处理功能正常。基于此,主控板的CPU能够通过ASIC芯片2上的RCPU端口 I直接向邻居网络设备发送协议报文。进一步的,如果最终确定结果为RCPU端口 I无效,则说明RCPU端口 I的接收处理功能异常,和/或ASIC芯片2的转发处理功能异常,和/或RCPU端口 I的发送处理功能异常,此时需要避免直接通过该RCPU端口 I向邻居网络设备发送协议报文,而是通过其它有效的RCPU端口(如RCPU端口 2)向邻居网络设备发送协议报文,从而避免协议报文被堵塞丢弃,继而保证网络设备与邻居网络设备的协议报文交互不中断。
[0065]基于与上述方法同样的发明构思,本发明实施例中还提供了一种网络设备,用于对远程中央处理单元RCPU端口的有效性进行检测,所述网络设备包括主控板和多个接口板,所述主控板包括中央处理单元CPU,所述接口板包括二层L2芯片和专用集成电路ASIC芯片,且所述ASIC芯片上包括RCPU端口 ;其中:
[0066]所述CPU,用于生成探测报文,所述探测报文从外到内包括RCPU报文头、以太网高速通道HG报文头和二层以太报文头;其中,所述RCPU报文头的目的介质访问控制MAC地址是待检测的RCPU端口的MAC地址;所述HG报文头中携带待检测的RCPU端口所在的ASIC芯片的标识、待检测的RCPU端口的标识;所述二层以太报文头的目的MAC地址是所述主控板的CPU的MAC地址;以及,向所述待检测的RCPU端口发送所述探测报文;
[0067]所述ASIC芯片,用于在通过RCPU端口收到所述探测报文之后,如果确定所述探测报文的RCPU报文头的目的MAC地址是所述RCPU端口的MAC地址,则剥离所述RCPU报文头,并从所述HG报文头中获得待检测的RCPU端口所在的ASIC芯片的标识以及待检测的RCPU端口的标识,并将剥离所述RCPU报文头的探测报文发送到所述待检测的RCPU端口 ;
[0068]以及,在通过RCPU端口收到剥离所述RCPU报文头的探测报文后,如果确定所述HG报文头中携带的ASIC芯片的标识为本ASIC芯片,且所述HG报文头中携带的RCPU端口的标识为收到剥离所述RCPU报文头的探测报文的RCPU端口,则剥离所述HG报文头,并通过本接口板的L2芯片向主控板的CPU发送剥离所述HG报文头的探测报文;
[0069]所述CPU,还用于在预设时间内收到自身向待检测的RCPU端口发送的探测报文对应的探测响应报文时,确定所述待检测的RCPU端口有效,否则确定为无效;其中,所述探测响应报文为接口板的ASIC芯片通过本接口板的L2芯片向主控板的CPU发送的剥离所述HG报文头的探测报文。
[0070]所述CPU,具体用于向待检测的RCPU端口所在接口板的L2芯片发送所述探测报文;
[0071]所述L2芯片,用于在收到所述探测报文之后,如果确定所述RCPU报文头的目的MAC地址是待检测的RCPU端口的MAC地址,则将所述探测报文发送给所述接口板的ASIC芯片上的所述待检测的RCPU端口。
[0072]所述ASIC芯片,具体用于向本接口板的L2芯片发送剥离所述HG报文头的探测报文;
[0073]所述L2芯片,用于在收到剥离所述HG报文头的探测报文之后,如果确定所述二层以太报文头的目的MAC地址是所述主控板的CPU的MAC地址,则将剥离所述HG报文头的探测报文发送给所述主控板的CPU。
[0074]所述探测报文的二层以太报文头之后为报文载荷,且所述报文载荷中携带特定特征码;所述CPU,进一步用于在收到探测报文对应的探测响应报文之后,如果确定所述二层以太报文头的目的MAC地址是本主控板的CPU的MAC地址,则剥离所述二层以太报文头,并判断剥离所述二层以太报文头的探测响应报文中携带的特定特征码与所述探测报文中携带的特定特征码是否相同;如果剥离所述二层以太报文头的探测响应报文中携带的特定特征码与所述主控板的CPU向待检测的RCPU端口发送的探测报文中携带的特定特征码相同,则执行确定所述待检测的RCPU端口有效的步骤;否则,认为收到的剥离所述二层以太报文头的探测响应报文无效,并丢弃收到的报文。
[0075]所述CPU,进一步用于周期性向所述待检测的RCPU端口发送探测报文;
[0076]以及,在向待检测的RCPU端口发送预设次数的探测报文之后,如果能够收到自身向待检测的RCPU端口发送的探测报文对应的探测响应报文,则确定所述待检测的RCPU端口有效,否则确定为无效。
[0077]其中,本发明装置的各个模块可以集成于一体,也可以分离部署。上述模块可以合并为一个模块,也可以进一步拆分成多个子模块。
[0078]通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到本发明可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述的方法。
[0079]本领域技术人员可以理解附图只是一个优选实施例的示意图,附图中的模块或流程并不一定是实施本发明所必须的。
[0080]本领域技术人员可以理解实施例中的装置中的模块可以按照实施例描述进行分布于实施例的装置中,也可以进行相应变化位于不同于本实施例的一个或多个装置中。上述实施例的模块可以合并为一个模块,也可以进一步拆分成多个子模块。
[0081 ] 上述本发明实施例序号仅仅为了描述,不代表实施例的优劣。
[0082] 以上公开的仅为本发明的几个具体实施例,但是,本发明并非局限于此,任何本领域的技术人员能思之的变化都应落入本发明的保护范围。
【权利要求】
1.一种远程中央处理单元RCPU端口有效性的检测方法,该方法应用于包括主控板和多个接口板的网络设备中,其特征在于,该方法包括以下步骤: 所述主控板的中央处理单元CPU生成探测报文,所述探测报文从外到内包括RCPU报文头、以太网高速通道HG报文头和二层以太报文头;其中,所述RCPU报文头的目的介质访问控制MAC地址是待检测的RCPU端口的MAC地址;所述HG报文头中携带待检测的RCPU端口所在的ASIC芯片的标识、待检测的RCPU端口的标识;所述二层以太报文头的目的MAC地址是所述主控板的CPU的MAC地址; 所述主控板的CPU向所述待检测的RCPU端口发送所述探测报文; 接口板的专用集成电路ASIC芯片在通过RCPU端口收到所述探测报文之后,如果确定所述探测报文的RCPU报文头的目的MAC地址是所述RCPU端口的MAC地址,则剥离所述RCPU报文头,并从所述HG报文头中获得待检测的RCPU端口所在的ASIC芯片的标识以及待检测的RCPU端口的标识,并将剥离所述RCPU报文头的探测报文发送到所述待检测的RCPU端Π ; 接口板的ASIC芯片在通过RCPU端口收到剥离所述RCPU报文头的探测报文后,如果确定所述HG报文头中携带的ASIC芯片的标识为本ASIC芯片,且所述HG报文头中携带的RCPU端口的标识为收到剥离所述RCPU报 文头的探测报文的RCPU端口,则剥离所述HG报文头,并通过本接口板的L2芯片向主控板的CPU发送剥离所述HG报文头的探测报文; 主控板的CPU在预设时间内收到自身向待检测的RCPU端口发送的探测报文对应的探测响应报文时,确定所述待检测的RCPU端口有效,否则确定为无效;其中,所述探测响应报文为接口板的ASIC芯片通过本接口板的L2芯片向主控板的CPU发送的剥离所述HG报文头的探测报文。
2.如权利要求1所述的方法,其特征在于,所述主控板的CPU向所述待检测的RCPU端口发送所述探测报文的过程,具体包括: 所述主控板的CPU向待检测的RCPU端口所在接口板的L2芯片发送所述探测报文;由所述接口板的L2芯片在收到所述探测报文之后,如果确定所述RCPU报文头的目的MAC地址是待检测的RCPU端口的MAC地址,则将所述探测报文发送给所述接口板的ASIC芯片上的所述待检测的RCPU端口。
3.如权利要求1所述的方法,其特征在于,所述接口板的ASIC芯片通过本接口板的L2芯片向主控板的CPU发送剥离所述HG报文头的探测报文的过程,具体包括: 所述接口板的ASIC芯片向本接口板的L2芯片发送剥离所述HG报文头的探测报文;由所述接口板的L2芯片在收到剥离所述HG报文头的探测报文之后,如果确定所述二层以太报文头的目的MAC地址是所述主控板的CPU的MAC地址,则将剥离所述HG报文头的探测报文发送给所述主控板的CPU。
4.如权利要求1或3所述的方法,其特征在于,所述探测报文的二层以太报文头之后为报文载荷,且所述报文载荷中携带特定特征码;所述主控板的CPU确定所述待检测的RCPU端口有效之前,所述方法进一步包括: 所述主控板的CPU在收到探测报文对应的探测响应报文之后,如果确定所述二层以太报文头的目的MAC地址是本主控板的CPU的MAC地址,则剥离所述二层以太报文头,并判断剥离所述二层以太报文头的探测响应报文中携带的特定特征码与所述探测报文中携带的特定特征码是否相同; 如果剥离所述二层以太报文头的探测响应报文中携带的特定特征码与所述主控板的CPU向待检测的RCPU端口发送的探测报文中携带的特定特征码相同,则执行确定所述待检测的RCPU端口有效的步骤;否则,认为收到的剥离所述二层以太报文头的探测响应报文无效,并丢弃收到的报文。
5.如权利要求1或2所述的方法,其特征在于, 所述主控板的CPU向所述待检测的RCPU端口发送所述探测报文,具体包括:所述主控板的CPU周期性向所述待检测的RCPU端口发送探测报文; 所述主控板的CPU确定所述待检测的RCPU端口是否有效的过程,进一步包括:所述主控板的CPU在向待检测的RCPU端口发送预设次数的探测报文之后,如果能够收到自身向待检测的RCPU端口发送的探测报文对应的探测响应报文,则确定所述待检测的RCPU端口有效,否则确定为无效。
6.一种网络设备,用于对远程中央处理单元RCPU端口的有效性进行检测,所述网络设备包括主控板和接口板,其特征在于,所述主控板包括中央处理单元CPU,所述接口板包括二层L2芯片和专用集成电路ASIC芯片,且所述ASIC芯片上包括RCPU端口 ;其中: 所述CPU,用于生成探测报文,所述探测报文从外到内包括RCPU报文头、以太网高速通道HG报文头和二层以太报文头;其中,所述RCPU报文头的目的介质访问控制MAC地址是待检测的RCPU端口的MAC地址;所述HG报文头中携带待检测的RCPU端口所在的ASIC芯片的标识、待检测的RCPU端口的标识;所述二层以太报文头的目的MAC地址是所述主控板的CPU的MAC地址;以及,向所述待检测的RCPU端口发送所述探测报文; 所述ASIC芯片,用于在通过RCPU端口收到所述探测报文之后,如果确定所述探测报文的RCPU报文头的目的MAC地址是所述RCPU端口的MAC地址,则剥离所述RCPU报文头,并从所述HG报文头中获得待检 测的RCPU端口所在的ASIC芯片的标识以及待检测的RCPU端口的标识,并将剥离所述RCPU报文头的探测报文发送到所述待检测的RCPU端口 ; 以及,在通过RCPU端口收到剥离所述RCPU报文头的探测报文后,如果确定所述HG报文头中携带的ASIC芯片的标识为本ASIC芯片,且所述HG报文头中携带的RCPU端口的标识为收到剥离所述RCPU报文头的探测报文的RCPU端口,则剥离所述HG报文头,并通过本接口板的L2芯片向主控板的CPU发送剥离所述HG报文头的探测报文; 所述CPU,还用于在预设时间内收到自身向待检测的RCPU端口发送的探测报文对应的探测响应报文时,确定所述待检测的RCPU端口有效,否则确定为无效;其中,所述探测响应报文为接口板的ASIC芯片通过本接口板的L2芯片向主控板的CPU发送的剥离所述HG报文头的探测报文。
7.如权利要求6所述的网络设备,其特征在于, 所述CPU,具体用于向待检测的RCPU端口所在接口板的L2芯片发送所述探测报文; 所述L2芯片,用于在收到所述探测报文之后,如果确定所述RCPU报文头的目的MAC地址是待检测的RCPU端口的MAC地址,则将所述探测报文发送给所述接口板的ASIC芯片上的所述待检测的RCPU端口。
8.如权利要求6所述的网络设备,其特征在于, 所述ASIC芯片,具体用于向本接口板的L2芯片发送剥离所述HG报文头的探测报文;所述L2芯片,用于在收到剥离所述HG报文头的探测报文之后,如果确定所述二层以太报文头的目的MAC地址是所述主控板的CPU的MAC地址,则将剥离所述HG报文头的探测报文发送给所述主控板的CPU。
9.如权利要求6或8所述的网络设备,其特征在于,所述探测报文的二层以太报文头之后为报文载荷,且所述报文载荷中携带特定特征码; 所述CPU,进一步用于在收到探测报文对应的探测响应报文之后,如果确定所述二层以太报文头的目的MAC地址是本主控板的CPU的MAC地址,则剥离所述二层以太报文头,并判断剥离所述二层以太报文头的探测响应报文中携带的特定特征码与所述探测报文中携带的特定特征码是否相同; 如果剥离所述二层以太报文头的探测响应报文中携带的特定特征码与所述主控板的CPU向待检测的RCPU端口发送的探测报文中携带的特定特征码相同,则执行确定所述待检测的RCPU端口有效的步骤;否则,认为收到的剥离所述二层以太报文头的探测响应报文无效,并丢弃收到的报文。
10.如权利要求6所述的网络设备,其特征在于, 所述CPU,进一步用于周期性向所述待检测的RCPU端口发送探测报文; 以及,在向待检测的RCPU端口发送预设次数的探测报文之后,如果能够收到自身向待检测的RCPU端口发送的探测报文对应的探测响应报文,则确定所述待检测的RCPU端口有效,否则确定为无效。`
【文档编号】H04L12/26GK103457797SQ201310386807
【公开日】2013年12月18日 申请日期:2013年8月29日 优先权日:2013年8月29日
【发明者】尤军东, 王明辉 申请人:杭州华三通信技术有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1