具体实施方式
为使本发明的技术方案和有益效果更加清楚,下面参照附图列举实施例进行详细说明:
实施例一:
本发明实施例提供一种路由器故障检测方法,如图1所示,图1为本发明实施例一的故障检测的方法流程图。所述路由器包括第一测试单元和至少一第二测试单元,包括:
102、第一测试单元接收系统CPU发来的测试报文,通过同一单板的网络处理器向至少一第二测试单元发送所述测试报文;
在本发明实施例的具体实现时,测试报文和普通业务报文需要进行区分,具体区分的方法有很多,本发明实施例不做具体限定,例如:可以在报文的自定义字段做出特殊标记,该特殊标记表明是个测试报文;也可以扩展现有的协议,在报文的头部封装新的报文头,对新的报文头打上标签,该标签表明是个测试报文;也可以在报文的数据区携带特殊的标记,如字符标记或图案等;通过这些特殊的标记表明是个测试报文。
在本发明实施例的具体实现时,可以是将所述测试报文直接发送给网络处理器;也可以将所述测试报文插入到转发数据流中,随转发数据流一起发送给网络处理器。此外,为了故障检测更精确,可以发送测试报文时或者将测试报文插入到转发数据流中时,将所述测试报文打上时间戳;
在本发明实施例的具体实现时,可以是接收到所述测试报文后直接发送给网络处理器或插入到转发数据流,或者周期性地将所述测试报文发送给网络处理器或插入到转发数据流;也可以是根据系统CPU的指令启动将所述测试报文直接发送给网络处理器或插入到转发数据流。这样,如果第一测试单元需要周期性地向网络处理器发送测试报文,则第一测试单元接收到所述测试报文时,需要先缓存所述测试报文。
所述测试报文通过同一单板的网络处理器后的处理流程和普通的业务报文的处理流程相同。
104、当所述至少一第二测试单元在预设的时间频率内没有接收到所述测试报文时,所述路由器发生故障。
在本发明实施例的具体实现时,当所述至少一第二测试单元没有接收到所述测试报文后,则判断所述路由器发生故障;当所述至少一第二测试单元接收到所述测试报文,但没有在预设的时间频率内接收到所述测试报文,则判断所述路由器发生故障;或者虽然在预设的时间频率内接收到测试报文,但是测试报文的内容有可能被在转发过程中被恶意篡改,这样,当测试报文的内容没有校验通过时,则判断所述路由器发生故障。
当所述第一测试单元和所述第二测试单元为同一测试单元时,所述测试报文的目的地址为所述第一测试单元自身。
本发明实施例通过将测试报文在进入网络处理器处理之前下发,能够在不中断业务的基础上,快速识别路由器故障。
实施例二:
本发明实施例提供一种路由装置,如图2所示,包括第一测试单元202、第一网络处理器204和第二测试单元(302,402):
所述第一测试单元202,用于接收系统CPU下发的测试报文,通过所述第一网络处理器向至少一第二测试单元(302、402)发送所述测试报文;
所述至少一第二测试单元(302、402),包括接收模块30,用于接收所述测试报文;
故障检测单元,用于当所述至少一第二测试单元(302,402)在预设的时间频率内没有接收到所述测试报文时,判断所述路由器发生故障。
在本发明实施例的具体实现时,所述路由装置还可以包括:
交换网板502,用于接收所述第一网络处理器204发来的测试报文,根据所述测试报文的目的地址转发所述测试报文;
至少一第二网络处理器(304、404),用于接收所述交换网板502发来的测试报文,发送所述测试报文;
相应地,所述至少一第二测试单元(302、402),用于接收所述至少一第二网络处理器(304、404)发来的测试报文,回收所述测试报文,每个第二测试单元(302、402)与每个第二网络处理器(304、404)一一对应,每个第二测试单元(302、402)接收对应的第二网络处理器(304、404)发来的测试报文。
此外,当所述第一网络处理器204和所述至少一第二网络处理器(304,404)为同一处理器时,所述测试报文的目的地址为所述第一测试单元202自身;相应地,所述第一测试单元202和所述第二测试单元(302、402)为同一测试单元。
在本发明实施例的具体实现时,网络处理器和交换网板之间可能还存在其他芯片,如为了流量管理的需要,在网络处理器和交换网板之间存在流量管理TM芯片。在路由器的上行转发测试报文时,测试报文经第一网络处理器204发送给第一流量管理TM芯片206,经第一TM芯片206处理后,发送给交换网板502;相应地,在路由器的下行转发测试报文时,交换网和至少一第二网络处理器(304、404)之间也可能存在其他芯片,如第二TM芯片(306,406),这样,下行的测试报文经交换网发送给下行的第二TM芯片(306,406),然后发送给所述至少一第二网络处理器(304,404),最终到达所述至少一第二测试单元(302,402)。可参考图2,图2为本发明实施例二的故障检测装置的一示意图。在图2中,当所述第一测试单元202和所述第二测试单元(302,402)为同一个测试单元时,所述测试报文的目的地址为第一测试单元202,这样,所述的路由装置由第一测试单元202、第一网络处理器204和第一流量管理芯片206以及交换网板502即可实现。当测试报文为一组播报文,这样,当测试报文的目的地址所在的任一第二测试单元(302,402)没有在预设的时间频率之内接收到所述测试报文时,则说明所述路由器发生故障。
此外,每个所述至少一第二测试单元(302,402)回收所述测试报文后,可以采取多种方式来检测路由器故障,本发明实施例并不做具体限定,例如可以选择下面两种处理方式之一进行处理,第一种处理方式,如图3所述,图3为本发明实施例二的第二测试单元(302,402)的装置一实施方式;每个所述至少一第二测试单元(302,402)还包括:故障检测模块31,用于当预设时间频率内没有收到所述测试报文时,判断所述路由器发生故障;故障上报模块32,用于接收所述路由器的故障信息,将所述故障信息上报给系统CPU。第二种处理方式,如4所述,图4为本发明实施例二的第二测试单元的装置另一实施方式;每个所述至少一第二测试单元(302,402)还包括:测试报文上送模块42,用于将接收到的测试报文上送给系统CPU。在第二种处理方式中,当回收到所述测试报文后,也可以定期上报给系统CPU,这样,每个所述至少一第二测试单元还包括:缓存模块41,用于缓存所接收的测试报文,向所述测试报文上送模块发送所述测试报文。
本发明实施例通过将测试报文在进入网络处理器处理之前下发,能够在不中断业务的基础上,快速识别路由器故障。
本领域普通技术人员可以理解上述实施例方法中的全部或部分步骤是可以通过程序来指令相关的硬件来完成,该的程序可以存储于一计算机可读取存储介质中,该的存储介质,如ROM/RAM、磁碟,光盘等。
以上该,仅为本发明较佳的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉该技术的人在本发明所揭露的技术范围内,可轻易想到的变化或替换,都应涵盖在本发明的保护范围之内。