转发信息库表项检测方法、检测设备及网络设备与流程

文档序号:11215568阅读:736来源:国知局
转发信息库表项检测方法、检测设备及网络设备与流程
本发明实施例涉及通信
技术领域
,特别涉及一种转发信息库表项检测方法、检测设备及网络设备。
背景技术
:在计算机网络中,报文是由网络运载的格式化数据单元,报文可以通过网络设备在网络内或者网络间进行转发。其中,某一网络设备在转发报文时,往往会根据该报文的目的网络互连协议(英文:internetprotocol,简称:ip)地址查找自身存储的转发信息库(英文:forwardinginformationbase,简称:fib)表,以确定应该将该报文转发给哪个网络设备,该fib表中的每个表项存储有目的ip地址对应的下一跳地址、转发出接口等信息。当网络设备的fib表出现错误时,报文的目的ip地址在该fib表中对应的信息会不准确,从而导致该报文不能进行正常转发,因此,亟需一种转发信息库表项检测方法,以确定fib表项是否准确。技术实现要素:为了解决现有技术的问题,本发明实施例提供了一种转发信息库表项检测方法、检测设备及网络设备。所述技术方案如下:第一方面,提供了一种转发信息库表项检测方法,所述方法包括:检测设备向指定网络设备发送fib检测报文,所述fib检测报文中携带n个ip地址段,所述n为大于或等于1的自然数;所述检测设备接收所述指定网络设备发送的n个fib表项,所述n个fib表项中的每个fib表项为所述n个ip地址段中的每个ip地址段在所述指定网络设备存储的fib表中对应的表项;所述检测设备将所述n个fib表项与所述指定网络设备的参考fib表中的表项进行比较,以检测所述n个fib表项是否准确,所述参考fib表为所述检 测设备根据所述指定网络设备所在网络的路由信息确定的fib表。需要说明的是,fib检测报文用于指示对指定网络设备中的fib表进行检测。其中,fib表是指导报文转发的表,fib表中包含了网络设备在转发报文时所必需的一组最小信息。在本发明实施例中,检测设备可以向指定网络设备发送fib检测报文,使指定网络设备根据该fib检测报文,返回n个fib表项,进而检测设备可以将该n个fib表项与指定网络设备的参考fib表中的表项进行比较,从而可以一次性批量检测该n个fib表项是否准确,该检测过程简单灵活,检测效率较高。结合第一方面,在上述第一方面的第一种可能的实现方式中,所述fib检测报文中包括标签栈;所述检测设备向指定网络设备发送fib检测报文,包括:根据所述标签栈中包括的m个路径标签,将所述fib检测报文发送给所述指定网络设备,所述m为大于或等于1的自然数。在本发明实施例中,检测设备在将fib检测报文发送给指定网络设备时,无需根据该fib检测报文的目的地址对路由表进行繁琐查询,只需通过该标签栈中包括的m个路径标签,就可以将fib检测报文简单灵活地发送给指定网络设备,且通过这种分段路由技术,可以大大提高fib检测报文发送时的准确率和效率。结合第一方面的第一种可能的实现方式,在上述第一方面的第二种可能的实现方式中,所述根据所述标签栈中包括的m个路径标签,将所述fib检测报文发送给所述指定网络设备之前,所述方法还包括:获取所述指定网络设备所在网络的路由信息,所述路由信息包括所述网络中每个网络设备的设备标签;根据所述路由信息,确定从所述检测设备到所述指定网络设备的报文转发路径;根据所述报文转发路径,获取m个路径标签,所述m个路径标签中的每个路径标签为所述报文转发路径中包括的m个网络设备中的每个网络设备对应的标签;根据所述m个网络设备在所述报文转发路径中的路由顺序,将所述m个路径标签压入所述标签栈。在本发明实施例中,检测设备根据该m个网络设备在该报文转发路径中的 路由顺序,将该m个路径标签压入标签栈后,可以确保fib检测报文准确按照该报文转发路径从检测设备发送到指定网络设备,提高了fib检测报文发送时的准确度。结合第一方面至第一方面的第二种可能的实现方式中任一可能的实现方式,在上述第一方面的第三种可能的实现方式中,所述检测设备将所述n个fib表项与所述指定网络设备的参考fib表中的表项进行比较,以检测所述n个fib表项是否准确之后,所述方法还包括:当检测到所述n个fib表项中的第一fib表项不准确时,从所述参考fib表中,获取所述第一fib表项对应的参考fib表项,所述第一fib表项为所述n个fib表项中的任意一个;将所述参考fib表项发送给所述指定网络设备,使所述指定网络设备根据所述参考fib表项更新所述第一fib表项。在本发明实施例中,由于该参考fib表项的准确度能够得到保证,因此,当指定网络设备根据该参考fib表项更新存储的fib表中不准确的fib表项后,可以提高该fib表的准确度,进而保证指定网络设备对报文的正常转发。第二方面,提供了一种转发信息库表项检测方法,所述方法包括:接收检测设备发送的fib检测报文,所述fib检测报文中携带n个ip地址段,所述n为大于或等于1的自然数;根据存储的fib表,获取n个fib表项,所述n个fib表项中的每个fib表项为所述n个ip地址段中的每个ip地址段在所述fib表中对应的表项;将所述n个fib表项发送给所述检测设备,使所述检测设备检测所述n个fib表项是否准确。在本发明实施例中,指定网络设备可以接收检测设备发送的fib检测报文,并根据存储的fib表,获取n个fib表项,将该n个fib表项发送给检测设备,从而可以使检测设备一次性批量检测该n个fib表项是否准确,该检测过程简单灵活,且检测效率较高。结合第二方面,在上述第二方面的第一种可能的实现方式中,所述接收检测设备发送的fib检测报文之前,所述方法还包括:当在输入端口检测到报文时,确定所述报文是否为所述检测设备发送的fib 检测报文;当所述报文为所述检测设备发送的fib检测报文时,执行所述接收检测设备发送的fib检测报文的步骤。需要说明的是,输入端口用于接收其它网络设备向指定网络设备发送的报文。在本发明实施例中,当指定网络设备在输入端口检测到报文时,可以确定该报文是否为检测设备发送的fib检测报文,并当该报文为检测设备发送的fib检测报文时,对该检测设备发送的fib检测报文进行接收,从而保证后续指定网络设备可以根据该fib检测报文实现对该指定网络设备中fib表的检测,且可以避免当该报文不是fib检测报文时,指定网络设备对该报文进行不必要的相关处理,节省了指定网络设备的处理资源。结合第二方面的第一种可能的实现方式,在上述第二方面的第二种可能的实现方式中,所述确定所述报文是否为所述检测设备发送的fib检测报文,包括:确定所述报文携带的报文类型标识是否为指定类型标识;当所述报文类型标识为所述指定类型标识时,确定所述报文为检测报文;确定所述检测报文携带的检测信息是否为fib检测信息;当所述检测报文携带的检测信息为fib检测信息时,确定所述检测报文为所述检测设备发送的fib检测报文。需要说明的是,报文类型标识用于唯一标识报文类型。另外,检测报文用于实现某些特定的检测功能。再者,fib检测信息用于表明该检测报文可以对fib表进行检测。结合第二方面至第二方面的第二种可能的实现方式中任一可能的实现方式,在上述第二方面的第三种可能的实现方式中,所述根据存储的fib表,获取n个fib表项,包括:对于所述n个ip地址段中的每个ip地址段,确定所述fib表中是否存储有所述ip地址段对应的fib表项;当所述fib表中存储有所述ip地址段对应的fib表项时,获取所述ip地址段在所述fib表中对应的表项;当所述fib表中没有存储所述ip地址段对应的fib表项时,在所述fib表 中添加所述ip地址段对应的fib表项,所述添加的fib表项中的出接口为空,将所述添加的fib表项确定为所述ip地址段在所述fib表中对应的表项。结合第二方面至第二方面的第三种可能的实现方式中任一可能的实现方式,在上述第二方面的第四种可能的实现方式中,所述将所述n个fib表项发送给所述检测设备之后,所述方法还包括:当接收到所述检测设备发送的参考fib表项时,根据所述参考fib表项更新所述fib表中对应所述参考fib表项的第一fib表项,所述参考fib表项为所述检测设备从指定网络设备的参考fib表中获取得到,所述参考fib表为所述检测设备根据所述指定网络设备所在网络的路由信息确定的fib表。在本发明实施例中,由于该参考fib表项的准确度能够得到保证,因此,当指定网络设备接收到该参考fib表项,并根据该参考fib表项更新存储的fib表中不准确的fib表项后,可以提高该fib表的准确度,进而保证指定网络设备对报文的正常转发。第三方面,提供了一种检测设备,所述检测设备包括:第一发送模块,用于向指定网络设备发送fib检测报文,所述fib检测报文中携带n个网络互连协议ip地址段,所述n为大于或等于1的自然数;接收模块,用于接收所述指定网络设备发送的n个fib表项,所述n个fib表项中的每个fib表项为所述n个ip地址段中的每个ip地址段在所述指定网络设备存储的fib表中对应的表项;检测模块,用于将所述n个fib表项与所述指定网络设备的参考fib表中的表项进行比较,以检测所述n个fib表项是否准确,所述参考fib表为所述检测设备根据所述指定网络设备所在网络的路由信息确定的fib表。需要说明的是,fib检测报文用于指示对指定网络设备中的fib表进行检测。其中,fib表是指导报文转发的表,fib表中包含了网络设备在转发报文时所必需的一组最小信息。在本发明实施例中,检测设备可以向指定网络设备发送fib检测报文,使指定网络设备根据该fib检测报文,返回n个fib表项,进而检测设备可以将该n个fib表项与指定网络设备的参考fib表中的表项进行比较,从而可以一次性批量检测该n个fib表项是否准确,该检测过程简单灵活,检测效率较高。所述第三方面的检测设备用于实现所述第一方面及第一方面的各实施方式中的方法。第四方面,提供了一种网络设备,所述网络设备包括:接收模块,用于接收检测设备发送的fib检测报文,所述fib检测报文中携带n个ip地址段,所述n为大于或等于1的自然数;获取模块,用于根据存储的fib表,获取n个fib表项,所述n个fib表项中的每个fib表项为所述n个ip地址段中的每个ip地址段在所述fib表中对应的表项;发送模块,用于将所述n个fib表项发送给所述检测设备,使所述检测设备检测所述n个fib表项是否准确。在本发明实施例中,指定网络设备可以接收检测设备发送的fib检测报文,并根据存储的fib表,获取n个fib表项,将该n个fib表项发送给检测设备,以使检测设备一次性批量检测该n个fib表项是否准确,该检测过程简单灵活,且检测效率较高。所述第四方面的网络设备用于实现所述第二方面及第二方面的各实施方式中的方法。本发明实施例提供的技术方案带来的有益效果是:在本发明实施例中,检测设备向指定网络设备发送fib检测报文,该fib检测报文中携带n个ip地址段,之后,检测设备接收指定网络设备发送的n个fib表项,并将该n个fib表项与指定网络设备的参考fib表中的表项进行比较,从而可以一次性批量检测该n个fib表项是否准确,该检测过程简单灵活,且检测效率较高。附图说明为了更清楚地说明本发明实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍。图1是本发明实施例提供的一种转发信息库表项检测方法所涉及的实施环境的示意图;图2是本发明实施例提供的一种转发信息库表项检测方法的流程图;图3是本发明实施例提供的另一种转发信息库表项检测方法的流程图;图4是本发明实施例提供的再一种转发信息库表项检测方法的流程图;图5是本发明实施例提供的一种标签栈的示意图;图6是本发明实施例提供的一种fib检测报文转发过程示意图;图7是本发明实施例提供的一种fib检测报文的格式示意图;图8是本发明实施例提供的一种通用关联信道(英文:genericassociatedchannel,简称:g-ach)报文的格式示意图;图9是本发明实施例提供的一种检测设备的结构示意图;图10是本发明实施例提供的另一种检测设备的结构示意图;图11是本发明实施例提供的一种网络设备的结构示意图;图12是本发明实施例提供的另一种网络设备的结构示意图;图13是本发明实施例提供的再一种网络设备的结构示意图;图14是本发明实施例提供的再一种检测设备的结构示意图;图15是本发明实施例提供的又一种网络设备的结构示意图。具体实施方式为使本发明的目的、技术方案和优点更加清楚,下面将结合附图对本发明实施方式作进一步地详细描述。图1是本发明实施例提供的一种转发信息库表项检测方法所涉及的实施环境的示意图。参见图1,该实施环境可以包括:检测设备101和指定网络设备102。检测设备101和指定网络设备102之间可以通过有线或者无线连接进行通信。其中,检测设备101用于对指定网络设备102的fib表中的表项进行检测,且该检测设备可以包括处理器、存储器、通信单元等。其中,处理器是检测设备101的控制中心,用于执行检测设备101的各种功能以及处理数据;存储器用于存储信息和数据;通信单元用于与其它网络设备进行通信。其中,指定网络设备102可以为路由器,指定网络设备102中可以存储有fib表,该fib表用于指导报文转发,且指定网络设备102可以包括输入端口、输出端口、交换单元、路由处理器等。其中,输入端口用于接收其它网络设备向指定网络设备发送的报文;输出端口用于在报文被发送到输出链路之前对该报文进行存贮;交换单元用于在输入端口和输出端口之间提供多条数据通路; 路由处理器用于计算转发表以实现路由协议。图2是本发明实施例提供的一种转发信息库表项检测方法的流程图。该方法用于检测设备中,参见图2,该方法包括:步骤201:检测设备向指定网络设备发送fib检测报文,fib检测报文中携带n个ip地址段,n为大于或等于1的自然数。步骤202:检测设备接收指定网络设备发送的n个fib表项,n个fib表项中的每个fib表项为n个ip地址段中的每个ip地址段在指定网络设备存储的fib表中对应的表项。步骤203:检测设备将n个fib表项与指定网络设备的参考fib表中的表项进行比较,以检测n个fib表项是否准确,参考fib表为检测设备根据指定网络设备所在网络的路由信息确定的fib表。在本发明实施例中,检测设备向指定网络设备发送fib检测报文,该fib检测报文中携带n个ip地址段,之后,检测设备接收指定网络设备发送的n个fib表项,并将该n个fib表项与指定网络设备的参考fib表中的表项进行比较,从而可以一次性批量检测该n个fib表项是否准确,该检测过程简单灵活,且检测效率较高。可选地,fib检测报文中包括标签栈;检测设备向指定网络设备发送fib检测报文,包括:根据标签栈中包括的m个路径标签,将fib检测报文发送给指定网络设备,m为大于或等于1的自然数。可选地,根据标签栈中包括的m个路径标签,将fib检测报文发送给指定网络设备之前,该方法还包括:获取指定网络设备所在网络的路由信息,路由信息包括网络中每个网络设备的设备标签;根据路由信息,确定从检测设备到指定网络设备的报文转发路径;根据报文转发路径,获取m个路径标签,m个路径标签中的每个路径标签为报文转发路径中包括的m个网络设备中的每个网络设备对应的标签;根据m个网络设备在报文转发路径中的路由顺序,将m个路径标签压入标签栈。可选地,检测设备将n个fib表项与指定网络设备的参考fib表中的表项进行比较,以检测n个fib表项是否准确之后,还包括:当检测到n个fib表项中的第一fib表项不准确时,从参考fib表中,获取第一fib表项对应的参考fib表项,第一fib表项为n个fib表项中的任意一个;将参考fib表项发送给指定网络设备,使指定网络设备根据参考fib表项对更新第一fib表项。上述所有可选技术方案,均可按照任意结合形成本发明的可选实施例,本发明实施例对此不再一一赘述。图3是本发明实施例提供的一种转发信息库表项检测方法的流程图。该方法用于指定网络设备中,参见图3,该方法包括:步骤301:接收检测设备发送的fib检测报文,fib检测报文中携带n个ip地址段,n为大于或等于1的自然数。步骤302:根据存储的fib表,获取n个fib表项,n个fib表项中的每个fib表项为n个ip地址段中的每个ip地址段在fib表中对应的表项。步骤303:将n个fib表项发送给检测设备,使检测设备检测n个fib表项是否准确。在本发明实施例中,指定网络设备接收检测设备发送的fib检测报文,并根据该fib检测报文,获取n个fib表项,将该n个fib表项发送给检测设备,从而可以使检测设备一次性批量检测该n个fib表项是否准确,该检测过程简单灵活,且检测效率较高。可选地,接收检测设备发送的fib检测报文之前,该方法还包括:当在输入端口检测到报文时,确定报文是否为检测设备发送的fib检测报文;当报文为检测设备发送的fib检测报文时,执行接收检测设备发送的fib检测报文的步骤。可选地,确定报文是否为检测设备发送的fib检测报文,包括:确定报文携带的报文类型标识是否为指定类型标识;当报文类型标识为指定类型标识时,确定报文为检测报文;确定检测报文携带的检测信息是否为fib检测信息;当检测报文携带的检测信息为fib检测信息时,确定检测报文为检测设备发送的fib检测报文。可选地,根据存储的fib表,获取n个fib表项,包括:对于n个ip地址段中的每个ip地址段,确定fib表中是否存储有ip地址段对应的fib表项;当fib表中存储有ip地址段对应的fib表项时,获取ip地址段在fib表中对应的表项;当fib表中没有存储ip地址段对应的fib表项时,在fib表中添加ip地址段对应的fib表项,添加的fib表项中的出接口为空,将添加的fib表项确定为ip地址段在fib表中对应的表项。可选地,将n个fib表项发送给检测设备之后,该方法还包括:当接收到检测设备发送的参考fib表项时,根据参考fib表项更新fib表中对应参考fib表项的第一fib表项,参考fib表项为检测设备从指定网络设备的参考fib表中获取得到,参考fib表为检测设备根据指定网络设备所在网络的路由信息确定的fib表。上述所有可选技术方案,均可按照任意结合形成本发明的可选实施例,本发明实施例对此不再一一赘述。图4是本发明实施例提供的一种转发信息库表项检测方法的流程图。参见图4,该方法包括:步骤401:检测设备向指定网络设备发送fib检测报文,该fib检测报文中携带n个ip地址段,该n为大于或等于1的自然数。需要说明的是,fib检测报文用于指示对指定网络设备中的fib表进行检测,且该fib检测报文中可以包括标签栈,该标签栈中可以包括多层路径标签。另外,fib表是指导报文转发的表,fib表中包含了网络设备在转发报文时所必需的一组最小信息,如fib表中可以包含目的地址/掩码、下一跳地址、出接口等信息,本发明实施例对此不做具体限定。再者,fib表可以存在于网络设备的转发芯片中,且fib表可以根据路由表中的最优路由条目生成,也可以根据地址解析协议(英文:addressresolutionprotocol,简称:arp)生成,本发 明实施例对此不做具体限定。具体地,当该fib检测报文中包括标签栈时,检测设备可以根据该标签栈中包括的m个路径标签,将该fib检测报文发送给指定网络设备,该m为大于或等于1的自然数。当然,检测设备也可以通过其它方式将该fib检测报文发送给指定网络设备,本发明实施例对此不做具体限定。需要说明的是,当某一网络设备接收到携带标签栈的报文时,该网络设备可以根据栈顶标签决定如何转发该报文,该栈顶标签为该标签栈包括的多层路径标签中处于顶层的路径标签。例如,在如图5所示的标签栈中包括了三层路径标签,分别为路径标签8001、路径标签72和路径标签9003,路径标签8001为栈顶标签,当某一网络设备接收到携带该标签栈的报文时,该网络设备可以根据栈顶标签8001决定如何转发该报文。另外,路径标签可以为节点标签,也可以为链路标签,本发明实施例对此不做具体限定。其中,节点标签用于标识网络设备,且该节点标签用于指示以最短路径将报文发送给该节点标签所标识的网络设备;链路标签用于标识网络设备的出接口,且该链路标签用于指示将报文发送给与该链路标签所标识的出接口连接的网络设备。其中,检测设备根据该标签栈中包括的m个路径标签,将该fib检测报文发送给指定网络设备的操作可以为:检测设备将该fib检测报文发送给该标签栈中的第m层路径标签对应的网络设备。当该第m层路径标签对应的网络设备接收到该fib检测报文时,确定m是否等于1,如果m等于1,则确定已将该fib检测报文发送到指定网络设备;如果m不等于1,则从该标签栈中弹出第m层路径标签,并今m=m-1,返回将该fib检测报文发送给该标签栈中的第m层路径标签对应的网络设备的步骤,直至确定已将fib检测报文发送到指定网络设备为止。需要说明的是,该标签栈中的第m层路径标签、第m-1层路径标签……第1层路径标签是按照该标签栈中包括的m个路径标签的存储顺序确定得到,也即是,可以将该标签栈包括的m个路径标签中的栈顶标签确定为第m层路径标签,将存储在该第m层路径标签之下的路径标签依次确定为第m-1层路径标签、第m-2层路径标签……第1层路径标签。例如,在图6所示的fib检测报文转发过程示意图中,指定网络设备为网 络设备f,fib检测报文中携带标签栈,该标签栈中包括3个路径标签,分别为链路标签8001、节点标签72和链路标签9003,其中,链路标签8001为第3层路径标签,且该链路标签8001用于标识检测设备中与网络设备a连接的出接口;节点标签72为第2层路径标签,且该节点标签72用于标识网络设备c;链路标签9003为第1层路径标签,且该链路标签9003用于标识网络设备c中与网络设备f连接的出接口。当检测设备将该fib检测报文发送给指定网络设备f时,检测设备可以将将该fib检测报文发送给该标签栈中的第3层路径标签8001标识的出接口连接的网络设备a;当网络设备a接收到该fib检测报文时,由于3不等于1,则可以将该标签栈中的第3层路径标签8001弹出,将该fib检测报文以最短路径发送给第2层路径标签72标识的网络设备c;当网络设备c接收到该fib检测报文时,由于2不等于1,则可以将该标签栈中的第2层路径标签72弹出,并将该fib检测报文发送给第1层路径标签9003标识的出接口连接的网络设备f;当网络设备f接收到该fib检测报文时,由于1等于1,则可以确定已将该fib检测报文发送到指定网络设备。需要说明的是,检测设备根据该标签栈中包括的m个路径标签,将该fib检测报文发送给指定网络设备的操作还可以参考相关技术,本发明实施例对此不再进行详细阐述。另外,检测设备根据该标签栈中包括的m个路径标签,将该fib检测报文发送给指定网络设备时,可以根据多协议标签交换(英文:multi-protocollabelswitching,简称:mpls)协议,通过该标签栈中包括的m个路径标签,将该fib检测报文发送给指定网络设备,当然,实际应用中,也可以根据其它协议,通过该标签栈中包括的m个路径标签,将该fib检测报文发送给指定网络设备,本发明实施例对此不做具体限定。再者,本发明实施例中,检测设备在将fib检测报文发送给指定网络设备时,无需根据该fib检测报文的目的地址对路由表进行繁琐查询,只需通过该标签栈中包括的m个路径标签,就可以将fib检测报文简单灵活地发送给指定网络设备,且通过这种分段路由(英文:segmentrouting,简称:sr)技术,可以大大提高fib检测报文发送时的准确率和效率。进一步地,检测设备根据该标签栈中包括的m个路径标签,将该fib检测 报文发送给指定网络设备之前,还可以获取该m个路径标签,并将该m个路径标签压入该标签栈,且该检测设备获取该m个路径标签,并将该m个路径标签压入该标签栈的操作可以包括如下步骤(1)-(4)。(1)、检测设备获取指定网络设备所在网络的路由信息,该路由信息包括该网络中每个网络设备的设备标签。需要说明的是,设备标签可以为网络设备的节点标签或者链路标签,本发明实施例对此不做具体限定。具体地,检测设备可以与指定网络设备所在网络中的路由反射器(英文:routereflector,简称:rr)建立连接,通过该rr接收该网络的路由信息,或者,可以与指定网络设备所在网络中的软件定义网络(英文:software-definednetworking,简称:sdn)控制器建立连接,通过该sdn控制器接收该网络的路由信息,当然,实际应用中,检测设备还可以通过其它方式获取指定网络设备所在网络的路由信息,本发明实施例对此不做具体限定。需要说明的是,rr可以与该网络中的所有网络设备建立内部边界网关协议(英文:internalbordergatewayprotocol,简称:ibgp)连接,并从该网络中的所有网络设备中获取该网络的路由信息,且该网络中的所有网络设备可以根据内部网关协议(英文:interiorgatewayprotocol,简称:iigp)获取该网络的路由信息。另外,sdn控制器负责网络流量控制以实现网络的自动化管理,sdn控制器可以根据openflow协议对网络设备的转发表进行编程。其中,openflow协议用于描述控制器和网络设备之间交互所用信息的接口标准。(2)、检测设备根据该路由信息,确定从检测设备到指定网络设备的报文转发路径。具体地,检测设备根据该路由信息,可以将从检测设备到指定网络设备的最短路径确定为该报文转发路径,当然,实际应用中,检测设备也可以根据其它标准将从检测设备到指定网络设备的其它路径确定为该报文转发路径,本发明实施例对此不做具体限定。(3)、检测设备根据该报文转发路径,获取m个路径标签,该m个路径标签中的每个路径标签为该报文转发路径中包括的m个网络设备中的每个网络设备对应的标签。具体地,检测设备可以从该网络包括的每个网络设备的设备标签中,获取该报文转发路径包括的m个网络设备中的每个网络设备对应的标签,并将该m个网络设备中的每个网络设备对应的标签确定为该m个路径标签中的每个路径标签。例如,指定网络设备为网络设备f,报文转发路径为a→c→f,其中检测设备中与网络设备a连接的出接口的链路标签为8001,网络设备c的节点标签为72,网络设备c中与指定网络设备f连接的链路标签为9003,则检测设备可以确定网络设备a对应的标签为链路标签8001,网络设备c对应的标签为节点标签72,指定网络设备f对应的标签为链路标签9003,则检测设备可以确定该m个路径标签为链路标签8001、节点标签72和链路标签9003。(4)、检测设备根据该m个网络设备在该报文转发路径中的路由顺序,将该m个路径标签压入标签栈。需要说明的是,该m个网络设备在该报文转发路径中的路由顺序为该m个网络设备在该报文转发路径中转发报文时的转发顺序。具体地,检测设备可以按照该m个网络设备在该报文转发路径中的路由顺序,确定该m个路径标签的标签压入顺序,该m个路径标签的标签压入顺序与该m个网络设备在该报文转发路径中的路由顺序相反,之后,按照该m个路径标签的标签压入顺序,将该m个路径标签压入标签栈。由于网络设备对标签栈的操作是按照“后进先出”的原则进行的,也即是最后压入标签栈的路径标签最先弹出,因此,当需要将该fib检测报文按照该报文转发路径从检测设备发送到指定网络设备时,路由顺序靠前的网络设备对应的路径标签应该靠后压入,也即是,该m个路径标签的标签压入顺序应该与该m个网络设备在该报文转发路径中的路由顺序相反。例如,指定网络设备为网络设备f,报文转发路径为a→c→f,该m个路径标签为链路标签8001、节点标签72和链路标签9003,且网络设备a对应的标签为链路标签8001,网络设备c对应的标签为节点标签72,指定网络设备f对应的标签为链路标签9003,则检测设备可以按照网络设备a、网络设备c和指定网络设备f在该报文转发路径中的路由顺序,确定链路标签8001、节点标签72和链路标签9003的标签压入顺序为链路标签9003→节点标签72→链路标签8001,之后,检测设备可以按照链路标签8001、节点标签72和链路标签9003 的标签压入顺序,先将链路标签9003压入标签栈,再将节点标签72压入标签栈,最后将链路标签8001压入标签栈,如图5所示,此时该标签栈中的栈顶标签为链路标签8001。需要说明的是,本发明实施例中,检测设备根据该m个网络设备在该报文转发路径中的路由顺序,将该m个路径标签压入标签栈后,可以确保fib检测报文准确按照该报文转发路径从检测设备发送到指定网络设备,提高了fib检测报文发送时的准确度。步骤402:指定网络设备接收检测设备发送的fib检测报文。进一步地,指定网络设备接收检测设备发送的fib检测报文之前,还可以当在输入端口检测到报文时,确定该报文是否为检测设备发送的fib检测报文;当该报文为检测设备发送的fib检测报文时,执行接收检测设备发送的fib检测报文的步骤。需要说明的是,输入端口用于接收其它网络设备向指定网络设备发送的报文。另外,本发明实施例中,当指定网络设备在输入端口检测到报文时,可以确定该报文是否为检测设备发送的fib检测报文,并当该报文为检测设备发送的fib检测报文时,对该检测设备发送的fib检测报文进行接收,从而保证后续指定网络设备可以根据该fib检测报文实现对该指定网络设备中fib表的检测,且可以避免当该报文不是fib检测报文时,指定网络设备对该报文进行不必要的相关处理,节省了指定网络设备的处理资源。其中,指定网络设备确定该报文是否为检测设备发送的fib检测报文的操作可以为:确定该报文携带的报文类型标识是否为指定类型标识;当该报文携带的报文类型标识不为指定类型标识时,确定该报文不为检测设备发送的fib检测报文;当该报文携带的报文类型标识为指定类型标识时,确定该报文为检测报文;当该报文为检测报文时,确定该检测报文携带的检测信息是否为fib检测信息;当该检测报文携带的检测信息不为fib检测信息时,确定该检测报文不为检测设备发送的fib检测报文;当该检测报文携带的检测信息为fib检测信息时,确定该检测报文为检测设备发送的fib检测报文。需要说明的是,报文类型标识用于唯一标识报文类型,且该报文类型标识可以为报文的类型标签等等,本发明实施例对此不做具体限定。另外,指定类型标识可以预先设置,如当报文类型标识为报文的类型标签时,指定类型标识可以为通用关联信道标签(英文:genericassociatedchannellabel,简称:gal),本发明实施例对此不做具体限定。还需要说明的是,检测报文用于实现某些特定的检测功能,如该检测报文可以为通用关联信道(英文:genericassociatedchannel,简称:g-ach)报文等等,本发明实施例对此不做具体限定。另外,fib检测信息用于表明该检测报文可以对fib表进行检测。例如,报文类型标识为报文的类型标签,指定类型标识为gal,指定网络设备在输入端口检测到的报文的报文格式如图7所示,该报文中包括报文类型标识gal、关联信道头(英文:associatedchannelheader,简称:ach)和g-ach信息等字段,其中,ach字段中指示的信道类型为ipfib检测类型。由于该报文中携带的报文类型标识为gal,则可以确定该报文为检测报文,又由于该检测报文的ach字段中指示的信道类型为ipfib检测类型,则可以确定该检测报文携带的检测信息为fib检测信息,则此时指定网络设备可以确定该检测报文为检测设备发送的fib检测报文。需要说明的是,本发明实施例中,检测设备在向指定网络设备发送fib检测报文之前,可以对检测报文进行fib检测功能的扩展,以得到该fib检测报文,该扩展过程简单灵活。例如,在使用mpls协议的网络中,检测设备可以对具有如图8所示的报文格式的g-ach报文进行fib检测功能的扩展,将该g-ach报文的ach字段中指示的信道类型设置为ipfib检测类型,且将ip地址段包含于该g-ach报文的g-ach信息字段中,从而可以将该g-ach报文扩展为具有如图7所示的报文格式的fib检测报文。步骤403:指定网络设备根据存储的fib表,获取n个fib表项,并将该n个fib表项发送给检测设备,该n个fib表项中的每个fib表项为该n个ip地址段中的每个ip地址段在该fib表中对应的表项。需要说明的是,指定网络设备中可以设置有ipfib检测模块,该ipfib检测模块可以根据存储的fib表,获取n个fib表项。其中,指定网络设备根据存储的fib表,获取n个fib表项的操作可以为:对于该n个ip地址段中的每个ip地址段,确定该fib表中是否存储有该ip地址段对应的fib表项;当该fib表中存储有该ip地址段对应的fib表项时,获 取该ip地址段在该fib表中对应的表项;当该fib表中没有存储该ip地址段对应的fib表项时,在该fib表中添加该ip地址段对应的fib表项,该添加的fib表项中的出接口为空,将该添加的fib表项确定为该ip地址段在该fib表中对应的表项。当然,指定网络设备也可以根据存储的fib表,通过其它方式获取n个fib表项,本发明实施例对此不做具体限定。需要说明的是,当该添加的fib表项中的出接口为空时,该添加的fib表项中包含的与该出接口相关联的信息也为空,其中,与该出接口相关联的信息可以为下一跳地址等信息,本发明实施例对此不做具体限定。例如,该n个ip地址段为2.2.2.2/32、3.3.3.3/32、14.1.2.0/24,指定网络设备中存储的fib表如下表1所示,则指定网络设备可以确定该fib表中存储有2.2.2.2/32和14.1.2.0/24对应的fib表项,确定该fib表中没有存储3.3.3.3/32对应的fib表项;之后,对于2.2.2.2/32和14.1.2.0/24,指定网络设备可以获取2.2.2.2/32在该fib表中对应的表项为下一跳地址12.1.1.2、出接口ge0/0/1,获取14.1.2.0/24在该fib表中对应的表项为下一跳地址14.1.2.1、出接口ge0/0/2;对于3.3.3.3/32,指定网络设备可以在该fib表中添加3.3.3.3/32对应的fib表项,该添加的fib表项中的出接口和下一跳地址均为空,指定网络设备可以将该添加的fib表项确定为3.3.3.3/32在该fib表中对应的表项。此时指定网络设备获取的n个fib表项可以如下表2所示。表1目标地址/掩码下一跳地址出接口2.2.2.2/3212.1.1.2ge0/0/14.4.4.2/3213.1.1.2ge0/0/220.12.7.2/3215.1.1.2ge0/0/514.1.2.0/2414.1.2.1ge0/0/225.2.2.2/3218.1.1.2ge0/0/425.22.21.2/3216.1.1.2ge0/0/6需要说明的是,在本发明实施例中,仅以上述表1所示的fib表为例进行说明,上述表1并不对本发明实施例构成限定。表2ip地址段下一跳地址出接口2.2.2.2/3212.1.1.2ge0/0/13.3.3.3/32空空14.1.2.0/2414.1.2.1ge0/0/2需要说明的是,在本发明实施例中,仅以上述表2所示的n个fib表项为例进行说明,上述表2并不对本发明实施例构成限定。其中,指定网络设备将该n个fib表项发送给检测设备的操作可以为:当该fib检测信息中携带检测设备的ip地址时,指定网络设备根据该检测设备的ip地址,将该n个fib表项发送给检测设备;或者,当指定网络设备中预先存储有检测设备的ip地址时,指定网络设备根据该检测设备的ip地址,将该n个fib表项发送给检测设备。步骤404:当检测设备接收到指定网络设备发送的n个fib表项时,将该n个fib表项与指定网络设备的参考fib表中的表项进行比较,以检测该n个fib表项是否准确,该参考fib表为检测设备根据指定网络设备所在网络的路由信息确定的fib表。例如,指定网络设备的参考fib表如下表3所示,该n个fib表项如上表2所示,则检测设备将该n个fib表项与指定网络设备的参考fib表中的表项进行比较后,可以检测到2.2.2.2/32和3.3.3.3/32在指定网络设备存储的fib表中的表项是准确的,14.1.2.0/24在指定网络设备存储的fib表中的下一跳地址是准确的,14.1.2.0/24在指定网络设备存储的fib表中的出接口是不准确的。表3目标地址/掩码下一跳地址出接口2.2.2.2/3212.1.1.2ge0/0/14.4.4.2/3213.1.1.2ge0/0/220.12.7.2/3215.1.1.2ge0/0/514.1.2.0/2414.1.2.1ge0/0/325.2.2.2/3218.1.1.2ge0/0/425.22.21.2/3216.1.1.2ge0/0/6需要说明的是,在本发明实施例中,仅以上述表3所示的参考fib表为例进行说明,上述表3并不对本发明实施例构成限定。需要说明的是,当检测设备接收到指定网络设备发送的该n个fib表项时,不仅可以将该n个fib表项与指定网络设备的参考fib表中的表项进行比较,以检测该n个fib表项是否准确。当然,实际应用中,检测设备也可以根据指定网络设备的参考fib表,对该n个fib表项进行其它方面的检测,本发明实施例对此不做具体限定。需要说明的是,在本发明实施例中,检测设备可以向指定网络设备发送fib检测报文,使指定网络设备根据该fib检测报文,返回该n个ip地址段中的每个ip地址段对应的fib表项,进而检测设备可以根据指定网络设备的参考fib表,对该n个fib表项进行检测,从而可以一次性批量对指定网络设备存储的fib表中的表项进行检测,检测过程简单灵活,检测效率较高。另外,在本发明实施例中,检测设备不仅可以向指定网络设备发送fib检测报文,当然,检测设备也可以向该指定网络设备所在网络中的每个网络设备发送该fib检测报文,从而实现对该网络中的每个网络设备存储的fib表的检测,进而根据该检测结果,获取全网fib表的健康程度,获取过程简单灵活,获取效率高。进一步地,检测设备将该n个fib表项与指定网络设备的参考fib表中的表项进行比较,以检测该n个fib表项是否准确之前,还可以获取指定网络设备所在网络的路由信息,并根据该网络的路由信息,确定指定网络设备的参考fib表。需要说明的是,该路由信息可以包括该网络的网络拓扑信息,该网络拓扑信息可以包括该网络中所有网络设备间特定的物理排列信息或者逻辑排列信息。另外,检测设备获取指定网络设备所在网络的路由信息的操作与步骤401中步骤(1)中的获取操作相同,本发明实施例对此不再赘述。再者,检测设备根据该网络的路由信息,确定指定网络设备的参考fib表的操作与相关技术中网路设备根据获取的路由信息,确定该网络设备的fib表的操作类似,本发明实施例对此不进行详细阐述。需要说明的是,本发明实施例中,由于检测设备获取到的指定网络设备所在网络的路由信息是较为准确的,且指定网络设备的参考fib表是根据该路由信息获取得到的,因此,该参考fib表的准确度能够得到保证。进一步地,检测设备将该n个fib表项与指定网络设备的参考fib表中的表项进行比较,以检测该n个fib表项是否准确之后,检测设备还可以当检测到该n个fib表项中的第一fib表项不准确时,从该参考fib表中,获取该第一fib表项对应的参考fib表项,并将该参考fib表项发送给指定网络设备,该第一fib表项为该n个fib表项中的任意一个;当指定网络设备接收到检测设备发送的该参考fib表项时,可以根据该参考fib表项更新存储的fib表中对应该参考fib表项的第一fib表项。需要说明的是,第一fib表项对应的ip地址段与参考fib表项对应的ip地址段相同。例如,指定网络设备的参考fib表如上表3所示,该n个fib表项如上表2所示,则检测设备将该n个fib表项与指定网络设备的参考fib表中的表项进行比较后,可以检测到14.1.2.0/24在指定网络设备存储的fib表中的出接口是不准确的,则此时检测设备可以从该参考fib表中,获取14.1.2.0/24对应的参考出接口ge0/0/3,并将该14.1.2.0/24对应的参考出接口ge0/0/3发送给指定网络设备。假设指定网络设备中存储的fib表如上表1所示,则当指定网络设备接收到该14.1.2.0/24对应的参考出接口ge0/0/3时,指定网络设备可以将该fib表中14.1.2.0/24对应的出接口ge0/0/2更新为该参考出接口ge0/0/3。需要说明的是,本发明实施例中,检测设备可以在检测到指定网络设备返回的fib表项不准确时,从指定网络设备的参考fib表中,获取参考fib表项,并将该参考fib表项发送给指定网络设备。由于该参考fib表项的准确度能够得到保证,因此,当指定网络设备接收到该参考fib表项,并根据该参考fib表项更新存储的fib表中不准确的fib表项后,可以提高该fib表的准确度,进而保证指定网络设备对报文的正常转发。在本发明实施例中,检测设备可以向指定网络设备发送fib检测报文,该fib检测报文指示对指定网络设备的fib表进行检测,由于该fib检测报文中携带n个ip地址段,因此,当指定网络设备接收到该检测设备发送的fib检测报文时,可以根据存储的fib表,获取n个fib表项,该n个fib表项中的每 个fib表项为该n个ip地址段中的每个ip地址段在该fib表中的表项,并将该n个fib表项发送给检测设备,也即是,该指定网络设备可以将该n个fib表项批量地进行发送,而无需进行多次发送。进而当检测设备接收到该n个fib表项时,可以将该n个fib表项与指定网络设备的参考fib表中的表项进行比较,从而可以一次性批量检测该n个fib表项是否准确,该检测过程简单灵活,且检测效率较高。图9是本发明实施例提供的一种检测设备的结构示意图,参见图9,该检测设备包括:第一发送模块901,用于向指定网络设备发送fib检测报文,fib检测报文中携带n个ip地址段,n为大于或等于1的自然数;接收模块902,用于接收指定网络设备发送的n个fib表项,n个fib表项中的每个fib表项为n个ip地址段中的每个ip地址段在指定网络设备存储的fib表中对应的表项;检测模块903,用于将n个fib表项与指定网络设备的参考fib表中的表项进行比较,以检测n个fib表项是否准确,参考fib表为检测设备根据指定网络设备所在网络的路由信息确定的fib表。可选地,fib检测报文中包括标签栈;当向指定网络设备发送fib检测报文时,该第一发送模块901用于:根据标签栈中包括的m个路径标签,将fib检测报文发送给指定网络设备,m为大于或等于1的自然数。可选地,当根据标签栈中包括的m个路径标签,将fib检测报文发送给指定网络设备时,该第一发送模块901用于:获取指定网络设备所在网络的路由信息,路由信息包括网络中每个网络设备的设备标签;根据路由信息,确定从检测设备到指定网络设备的报文转发路径;根据报文转发路径,获取m个路径标签,m个路径标签中的每个路径标签为报文转发路径中包括的m个网络设备中的每个网络设备对应的标签;根据m个网络设备在报文转发路径中的路由顺序,将m个路径标签压入标签栈。可选地,如图10所示,该检测设备还包括:获取模块904,用于当检测到n个fib表项中的第一fib表项不准确时,从参考fib表中,获取第一fib表项对应的参考fib表项,第一fib表项为n个fib表项中的任意一个;第二发送模块905,用于将参考fib表项发送给指定网络设备,使指定网络设备根据参考fib表项更新第一fib表项。在本发明实施例中,检测设备向指定网络设备发送fib检测报文,该fib检测报文中携带n个ip地址段,之后,检测设备接收指定网络设备发送的n个fib表项,并将该n个fib表项与指定网络设备的参考fib表中的表项进行比较,从而可以一次性批量检测该n个fib表项是否准确,该检测过程简单灵活,且检测效率较高。图11是本发明实施例提供的一种网络设备的结构示意图,参见图11,该网络设备包括:接收模块1101,用于接收检测设备发送的fib检测报文,fib检测报文中携带n个ip地址段,n为大于或等于1的自然数;获取模块1102,用于根据存储的fib表,获取n个fib表项,n个fib表项中的每个fib表项为n个ip地址段中的每个ip地址段在fib表中对应的表项;发送模块1103,用于将n个fib表项发送给检测设备,使检测设备检测n个fib表项是否准确。可选地,如图12所示,该网络设备还包括:确定模块1104,用于当在输入端口检测到报文时,确定报文是否为检测设备发送的fib检测报文;该接收模块1101,用于当报文为检测设备发送的fib检测报文时,执行接收检测设备发送的fib检测报文的步骤。可选地,当确定报文是否为检测设备发送的fib检测报文时,该确定模块1104用于:当在输入端口检测到报文时,确定报文携带的报文类型标识是否为指定类型标识;当报文类型标识为指定类型标识时,确定报文为检测报文;确定检测报文携带的检测信息是否为fib检测信息;当检测报文携带的检测信息为fib检测信息时,确定检测报文为检测设备发送的fib检测报文。可选地,当根据存储的fib表,获取n个fib表项时,该获取模块1302用于:对于n个ip地址段中的每个ip地址段,确定fib表中是否存储有ip地址段对应的fib表项;当fib表中存储有ip地址段对应的fib表项时,获取ip地址段在fib表中对应的表项;当fib表中没有存储ip地址段对应的fib表项时,在fib表中添加ip地址段对应的fib表项,添加的fib表项中的出接口为空,将添加的fib表项确定为ip地址段在fib表中对应的表项。可选地,如图13所示,该网络设备还包括:更新模块1105,用于当接收到检测设备发送的参考fib表项时,根据参考fib表项更新fib表中对应参考fib表项的第一fib表项,参考fib表项为检测设备从指定网络设备的参考fib表中获取得到,参考fib表为检测设备根据指定网络设备所在网络的路由信息确定的fib表。在本发明实施例中,指定网络设备接收检测设备发送的fib检测报文,并根据该fib检测报文,获取n个fib表项,将该n个fib表项发送给检测设备,从而可以使检测设备一次性批量检测该n个fib表项是否准确,该检测过程简单灵活,且检测效率较高。需要说明的是:上述实施例提供的检测设备和网络设备在转发信息库表项检测时,仅以上述各功能模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能模块完成,即将设备的内部结构划分成不同的功能模块,以完成以上描述的全部或者部分功能。另外,上述实施例提供的检测设备和网络设备与转发信息库表项检测方法实施例属于同一构思,其具体实现过程详见方法实施例,这里不再赘述。图14是本发明实施例提供的一种检测设备的结构示意图,参见图14,该检测设备包括通信总线1401、存储器1402、发射机1403、接收机1404和处理器1405,其中,存储器1402、发射机1403、接收机1404和处理器1405通过通信总线1401互通。存储器1402,用于存储程序;处理器1405,用于调用存储器1402中存储的程序,通过所述发射机1403和所述接收机1404与指定网络设备通信,实现图2和图4中检测设备的功能。其中,处理器1405可能是一种集成电路芯片,具有信号的处理能力。在实现过程中,上述方法的各步骤可以通过处理器中的硬件的集成逻辑电路或者软件形式的指令完成。这些指令可以通过其中的处理器以配合实现及控制,用于执行本发明实施例揭示的方法。上述处理器还可以是通用处理器、数字信号处理器(英文:digitalsignalprocessor,简称:dsp)、专用集成电路(英文:application-specificintegratedcircuit,简称:asic)、现成可编程门阵列(英文:fieldprogrammablegatearray,简称:fpga)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。其中,上述通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器,解码器等。结合本发明实施例所公开的方法的步骤可以直接体现为硬件处理器执行完成,或者用处理器中的硬件及软件模块组合执行完成。软件模块可以位于随机存储器,闪存、只读存储器,可编程只读存储器或者电可擦写可编程存储器、寄存器等本领域成熟的存储介质中。另外通信总线1401除包括数据总线之外,还包括电源总线、控制总线和状态信号总线。但是为了清楚说明,在图14中将各种总线都标为通信总线1401。本设备实施例中提供的一种检测设备,可以集成在服务器网元设备中,应用于方法实施例附图2所示的场景中,实现检测设备的功能。检测设备可以实现的其他附加功能、以及与其他网元设备的交互过程,请参照方法实施例中对检测设备的描述,在这里不再赘述。在本发明实施例中,检测设备向指定网络设备发送fib检测报文,该fib检测报文中携带n个ip地址段,之后,检测设备接收指定网络设备发送的n个fib表项,并将该n个fib表项与指定网络设备的参考fib表中的表项进行比较,从而可以一次性批量检测该n个fib表项是否准确,该检测过程简单灵活, 且检测效率较高。图15是本发明实施例提供的一种网络设备的结构示意图,参见图15,该网络设备包括通信总线1501、存储器1502、发射机1503、接收机1504和处理器1505,其中,存储器1502、发射机1503、接收机1504和处理器1505通过通信总线1501互通。存储器1502,用于存储程序;处理器1505,用于调用存储器1502中存储的程序,通过所述发射机1503和所述接收机1504与检测设备通信,实现图3和图4中网络设备的功能。其中,所述存储器1502还用于存储fib表。其中,处理器1505为与图14中的处理器1405类似的处理器,通信总线1501为与图14中的通信总线1401类似的通信总线。本设备实施例中提供的一种网络设备,可以集成在服务器网元设备中,应用于方法实施例附图3所示的场景中,实现网络设备的功能。网络设备可以实现的其他附加功能、以及与其他网元设备的交互过程,请参照方法实施例中对网络设备的描述,在这里不再赘述。在本发明实施例中,指定网络设备接收检测设备发送的fib检测报文,并根据该fib检测报文,获取n个fib表项,将该n个fib表项发送给检测设备,从而可以使检测设备一次性批量检测该n个fib表项是否准确,该检测过程简单灵活,且检测效率较高。本领域普通技术人员可以理解实现上述实施例的全部或部分步骤可以通过硬件来完成,也可以通过程序来指令相关的硬件完成,所述的程序可以存储于一种计算机可读存储介质中,上述提到的存储介质可以是只读存储器,磁盘或光盘等。以上所述仅为本发明的较佳实施例,并不用以限制本发明,凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。当前第1页12
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1