CN102984011B - 链路故障定位方法及设备 - Google Patents

链路故障定位方法及设备 Download PDF

Info

Publication number
CN102984011B
CN102984011B CN201210525571.8A CN201210525571A CN102984011B CN 102984011 B CN102984011 B CN 102984011B CN 201210525571 A CN201210525571 A CN 201210525571A CN 102984011 B CN102984011 B CN 102984011B
Authority
CN
China
Prior art keywords
forwarding unit
cfd
message
equipment
icmp
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
Application number
CN201210525571.8A
Other languages
English (en)
Other versions
CN102984011A (zh
Inventor
戴一凡
吕辉
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
New H3C Information Technologies Co Ltd
Original Assignee
Hangzhou H3C Technologies Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Hangzhou H3C Technologies Co Ltd filed Critical Hangzhou H3C Technologies Co Ltd
Priority to CN201210525571.8A priority Critical patent/CN102984011B/zh
Publication of CN102984011A publication Critical patent/CN102984011A/zh
Application granted granted Critical
Publication of CN102984011B publication Critical patent/CN102984011B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Landscapes

  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

本申请公开了一种链路故障定位方法及设备,其中,该方法包括:第一转发设备在确定本设备与三层设备直连之后,建立与第二转发设备之间的CFD连接以进行CC;接收第二转发设备发来的绑定关系,其中,该绑定关系是第二转发设备与第一转发设备之间的CFD连接与第二转发设备直连的三层设备的MAC地址之间的绑定关系;当通过CC检测到有链路不连通时,开启ICMP报文侦听;在侦听到TTL值为1的ICMP请求报文之后,查找与该ICMP请求报文中的目的MAC地址绑定的第一CFD连接,对第一CFD连接进行LT检测,其中,该ICMP请求报文是第一用户终端设备在进行Tracert检测时发出的;将通过LT检测得到的最后一个可达设备的信息发送给第一用户终端设备。

Description

链路故障定位方法及设备
技术领域
本申请涉及网络通信技术领域,特别涉及一种链路故障定位方法及设备。
背景技术
Tracert(跟踪路由)功能是一种应用于三层网络的链路跟踪检测功能。通过使用Tracert功能,用户可以查看IP(Internet Protocol,互联网协议)报文从源端到达目的端所经过的所有三层设备,从而检查网络连接是否可用。当网络出现故障时,用户可以使用该功能分析发生故障的网络节点。Tracert功能是基于ICMP(Internet ControlMessage Protocol,互联网控制消息协议)来实现的。以图1所示的网络为例,Tracert功能的实现原理为:
(1)源端(Device A)向目的端(Device D)发送一个ICMP(Internet Control MessageProtocol,互联网控制消息协议)请求报文,该报文中的TTL(Time to Live,生存时间)值为1,且该报文的UDP(User Datagram Protocol,用户数据包协议)端口号是目的端的任何一个应用程序都不可能使用的端口号;
(2)第一跳(即该报文所到达的第一个三层设备:Device B)回应一个TTL超时的ICMP错误消息(该消息中含有第一跳的IP地址1.1.2.1),这样,源端就得到了第一个三层设备(Device B)的地址(1.1.2.1);
(3)源端重新向目的端发送一个ICMP请求报文,该报文中的TTL值为2;
(4)第二跳(即该报文所到达的第二个三层设备:Device C)回应一个TTL超时的ICMP错误消息(该消息中含有第一跳的IP地址1.1.2.2),这样,源端就得到了第二个三层设备(Device C)的地址(1.1.2.2);
(5)以上过程不断进行,直到ICMP请求报文到达目的端,因为目的端没有任何一个应用程序使用该ICMP请求报文中的UDP端口号,因此,目的端返回一个端口不可达的ICMP错误消息(该消息中携带有目的端的IP地址1.1.3.2);
(6)当源端收到这个端口不可达的ICMP错误消息后,就知道ICMP请求报文已经到达了目的端,从而得到了ICMP请求报文从源端到目的端所经过的路径(1.1.1.2;1.1.2.2;1.1.3.2)。
但是,对于既包含有二层设备、也包含有三层设备的二三层混合网络(也即,既包含有二层网络、也包含有三层网络),如果故障节点(网络节点或网点)处于二层网络中,此时,使用Tracert功能就无法准确定位故障点了。例如,在如图2所示的二三层混合网络中,PC(Private Computer,个人电脑)A使用Tracert功能检测本设备与PC B之间的链路故障时,假设故障发生在Switch(交换机)F,则PC A只能检测出本设备与Router C之间没有故障,而无法定位故障发生在位于Router C下游的哪台交换机。
发明内容
本申请提供了一种链路故障定位方法及设备,以解决现有技术中存在的对于二三层混合网络,当故障节点处于二层网络中时,使用Tracert功能无法准确定位故障点的问题。
本申请的技术方案如下:
一方面,提供了一种链路故障定位方法,应用于由二层网络和三层网络组成的网络,二层网络中包括:至少两个二层的转发设备,位于三层网络中的三层设备包括:用户终端设备和路由设备,该方法包括:
第一转发设备在确定本设备与三层设备直连之后,建立与第二转发设备之间的CFD连接,以进行连续性检测CC,其中,第二转发设备也与三层设备直连,且第二转发设备与第一转发设备在同一二层网络的同一VLAN中;
第一转发设备接收第二转发设备发来的绑定关系,其中,该绑定关系是第二转发设备与第一转发设备之间的CFD连接与第二转发设备直连的三层设备的MAC地址之间的绑定关系;
当通过CC检测到有链路不连通时,第一转发设备开启ICMP报文侦听;
在侦听到TTL值为1的ICMP请求报文之后,第一转发设备查找与该ICMP请求报文中的目的MAC地址绑定的第一CFD连接,对第一CFD连接进行链路跟踪LT检测,其中,该ICMP请求报文是第一用户终端设备在进行Tracert检测时发出的;
第一转发设备将通过LT检测得到的最后一个可达设备的信息发送给第一用户终端设备。
另一方面,还提供了一种转发设备,应用于由二层网络和三层网络组成的网络,二层网络中包括:至少两个二层的转发设备,位于三层网络中的三层设备包括:用户终端设备和路由设备,该转发设备包括:判断模块、CFD连接模块、接收模块、保存模块、发送模块、侦听模块和查找模块,其中,
判断模块,用于判断本设备是否与三层设备直连;
CFD连接模块,用于在判断模块确定本设备与三层设备直连之后,建立本设备与第二转发设备之间的CFD连接,对该CFD连接进行连续性检测CC,其中,第二转发设备也与三层设备直连,且第二转发设备与第一转发设备在同一二层网络的同一VLAN中;还用于对查找模块查找到的第一CFD连接进行链路跟踪LT检测;
接收模块,用于接收第二转发设备发来的绑定关系,其中,该绑定关系是第二转发设备与本设备之间的CFD连接与第二转发设备直连的三层设备的MAC地址之间的绑定关系;
保存模块,用于保存接收模块接收到的绑定关系;
发送模块,用于将CFD连接模块通过LT检测得到的最后一个可达设备的信息,发送给第一用户终端设备;
侦听模块,用于当CFD连接模块通过CC检测到有链路不连通时,开启ICMP报文侦听;
查找模块,用于在侦听模块侦听到TTL值为1的ICMP请求报文之后,在保存模块中查找与该ICMP请求报文中的目的MAC地址绑定的第一CFD连接,其中,该ICMP请求报文是第一用户终端设备在进行跟踪路由Tracert检测时发出的。
在本申请的技术方案中,在二三层混合网络中,当二层网络中发生了故障之后,能通过Tracert和CFD(Connectivity Fault Detection,连通错误检测)联动的方式,准确定位出故障点。
附图说明
图1是现有技术的Tracert功能应用的典型组网图;
图2是一种二三层混合网络的组网图;
图3是本申请的实施例一的链路故障定位方法的流程图;
图4是本申请的实施例三的转发设备的一种结构示意图;
图5是本申请的实施例三的转发设备的另一种结构示意图。
具体实施方式
为了解决现有技术中存在的对于二三层混合网络,当故障节点处于二层网络中时,使用Tracert功能无法准确定位故障点的问题,本申请的以下实施例中提供了一种应用于二三层混合网络中的链路故障定位方法以及一种可以应用该方法的二层的转发设备。本申请以下实施例的技术方案中,在二三层混合网络中,当二层网络中发生了故障之后,能通过Tracert和CFD(Connectivity Fault Detection,连通错误检测)联动的方式,准确定位出故障点。并且,在组网成功后,任意一个与三层网络直连(具体是与三层设备直连)的二层转发设备(称为第一转发设备)能动态地配置并建立本设备与同一二层网络的同一VLAN中的也与三层网络直连的第二转发设备之间的CFD连接。在建立了CFD连接后,会建立该CFD连接与本设备直连的三层设备的MAC地址之间的绑定关系,同时也可以接收到第二转发设备发来的该CFD连接与第二转发设备直连的三层设备之间的绑定关系;当对CFD连接进行连续性检测时检测到有链路不连通了之后,第一转发设备会开启ICMP报文侦听功能,在侦听到TTL值为1的ICMP请求报文(即第一用户终端设备使用Tracert功能时发出的ICMP请求报文)后,第一转发设备就可以根据该报文中的目的地址查找到对应的CFD连接(称为第一CFD连接),并对第一CFD连接进行链路跟踪检测,将检测得到的最后一个可达设备的信息发送给第一用户终端设备,这样,管理员就可以在第一用户终端设备上查看到最后一个可达设备的信息。通过以上技术方案,在二三层混合网络中,管理员只要在用户终端设备上使用Tracert功能,就可以根据Tracert中使用的ICMP请求报文进行CFD联动检测,从而准确地定位出二层网络中的故障点。
为了便于理解本申请实施例的技术方案,下面首先对CFD及其功能进行详细介绍。
CFD是一种遵循IEEE 802.1ag的CFM(Connectivity Fault Management,连通错误管理)协议,是一种应用于二层网络中的基于VLAN(Virtual Local Area Network,虚拟局域网)的端到端OAM(Operations,Administration and Maintenance,操作、管理和维护)机制。CFD主要用于在二层网络中检测链路的连通性,以及在故障发生时确认并定位故障。CFD的有效应用建立在合理的网络部署和配置之上。CFD的功能是在所配置的MP(Maintenance Point,维护点)之间实现的。其中,MP配置在二层设备的接口上,属于某一个MA(Maintenance Association,维护集),可分为MEP(Maintenance association End Point,维护端点)和MIP(Maintenance associationIntermediate Point,维护中间点)两种。
CFD主要包括以下三种功能:
1、连续性检测功能
MEP之间的连通失败可能由设备故障或配置错误造成,连续性检测(ContinuityCheck,CC)功能就是用来检测MEP之间的连通状态。该功能的实现方式是:由MEP周期性地发送CCM报文,相同MA的其它MEP接收该报文,并由此获知远端状态。若MEP在3.5个CCM报文发送周期内未收到远端MEP发来的CCM报文,则认为链路有问题,会输出日志报告。当MA中的多个MEP在发送CCM报文时,就实现了多点到多点之间的链路检测。
其中,CCM报文是组播报文。
2、环回功能
环回(Loopback,LB)功能类似于IP层的ping(Packet Internet Grope,因特网包探索器)功能,用于验证源MEP与目标MP之间的连接状态。该功能的实现方式是:由源MEP发送LBM(Loopback Message,环回报文)报文给目标MP,并根据能否收到对端反馈的LBR(Loopback Reply,环回应答)报文来检验链路状态。
其中,LBM报文和LBR报文都是单播报文。
3、链路跟踪功能
链路跟踪(Linktrace,LT)功能类似于IP层的tracert功能,用于确定源MEP到目标MP的路径,其实现方式是:由源MEP发送LTM(Linktrace Message,链路跟踪报文)报文给目标MP,目标MP以及LTM报文所经过的MIP收到该报文后,都会发送LTR(Linktrace Reply,链路跟踪应答)报文给源MEP,源MEP则根据收到的LTR报文来确定到目标MP的路径。
其中,LTM报文是组播报文,LTR报文是单播报文。
实施例一
本申请的实施例一的链路故障定位方法应用于由二层网络和三层网络组成的二三层混合网络中,其中,二层网络中包括:至少两个二层的转发设备,该转发设备可以是交换机等;三层网络中包括:用户终端设备和路由设备等三层设备,用户终端设备可以是PC等,路由设备可以是路由器等。该方法可以由二三层混合网络中的任意一个二层网络中的任意一个与三层网络(或三层设备)直连的转发设备执行。
需要说明的是:下文中的第一转发设备可以是二三层混合网络中的任意一个与三层设备直连的转发设备,并不特指某一个与三层设备直连的转发设备。如图3所示,该链路故障定位方法包括以下步骤:
步骤S301,第一转发设备判断本设备是否与三层设备直连,若不是,则进入步骤S302,否则,进入步骤S303;
例如,第一转发设备可以使用LLDP(Link Layer Discovery Protocol,链路层发现协议)协议来获取与本设备直连的每一个邻居设备的信息,根据每一个邻居设备的信息来确定该邻居设备是否是三层设备,若其中有一个邻居设备是三层设备(路由器或PC),就可以确定本设备与三层设备直连,若没有一个邻居设备是三层设备,就可以确定本设备与三层设备不直连。
步骤S302,按照现有技术进行处理;
步骤S303,第一转发设备建立与第二转发设备之间的CFD连接,以进行连续性检测(CC),其中,第二转发设备也与三层设备直连,且第二转发设备与第一转发设备在同一二层网络的同一VLAN中;
这样,在同一个二层网络的同一VLAN中的与三层设备直连的转发设备之间会建立CFD连接。
其中,第一转发设备建立与第二转发设备之间的CFD连接的方式可以采用以下方式一或方式二:
在方式一中,第一转发设备需要执行的操作包括以下步骤11-12:
步骤11:第一转发设备发送二层广播请求消息,其中,该二层广播请求消息中携带有建立CFD连接所需的相关参数;该相关参数可以是:CFD连接应用的VLAN实例,以及第一转发设备上用于CFD连接的接口的MAC地址;
第二转发设备在接收到该二层广播请求消息后,会根据该二层广播请求消息中携带的建立CFD连接所需的相关参数,计算CFD连接的标识,建立与第一转发设备之间的CFD连接,并将计算的CFD连接的标识通过应答消息发送给第一转发设备。
假设,二层广播请求消息中携带的第一转发设备所要建立的CFD连接应用的VLAN实例为VLAN1,第一转发设备上用于CFD连接的接口的MAC地址为MAC D;第二转发设备上用于CFD连接的接口的MAC地址为MAC A,此时,第二转发设备计算CFD连接的标识,建立与第一转发设备之间的CFD连接,第二转发设备将计算的CFD连接的标识通过应答消息发送给第一转发设备的方法可以是:第二转发设备将MAC D和MAC A按照预定算法进行计算,例如,将MAC D和MAC A进行“与”运算,将计算结果作为与第一转发设备之间的CFD连接的标识(例如,名称),并将该CFD连接应用于VLAN1,将该计算结果携带在应答消息中发送给第一转发设备。
步骤12:在接收到第二转发设备针对该二层广播请求消息返回的应答消息之后,第一转发设备根据该应答消息中携带的CFD连接的标识,建立与第二转发设备之间的CFD连接;
例如,第一转发设备将应答消息中携带的标识作为与第二转发设备之间的CFD连接的标识。
在方式二中,第一转发设备需要执行的操作包括以下步骤21-22:
步骤21:第一转发设备接收到第二转发设备发来的二层广播请求消息之后,根据该二层广播请求消息中携带的建立CFD连接所需的相关参数,计算CFD连接的标识,并建立与第二转发设备之间的CFD连接;
假设,二层广播请求消息中携带的第二转发设备所要建立的CFD连接应用的VLAN实例为VLAN1,第二转发设备上用于CFD连接的接口的MAC地址为MACA;第一转发设备上用于CFD连接的接口的MAC地址为MAC D,此时,第一转发设备执行步骤21的方法可以是:将MAC A和MAC D按照预定算法进行计算,例如,将MAC A和MAC D进行“与”运算,将计算结果作为与第二转发设备之间的CFD连接的标识(例如,名称),并将该CFD连接应用于VLAN1。
步骤22:第一转发设备向第二转发设备返回应答消息,其中,该应答消息中携带有所计算的CFD连接的标识。
例如,将在步骤21中计算得到的计算结果携带在应答消息中发送给第二转发设备。
由上述方式一和方式二可知,第一转发设备可以主动地发送二层广播请求消息,以建立与第二转发设备之间的CFD连接;也可以被动地接收第二转发设备发来的二层广播请求消息,以建立与第二转发设备之间的CFD连接。本申请对此不做限定。
另外,只有在同一个二层网络的同一VLAN中的与三层设备直连的转发设备之间才能建立CFD连接,因为用于请求建立CFD连接的二层广播请求消息到达路由设备后,会被路由设备丢弃,从而无法达到其他二层网络中;并且,CFD是基于VLAN的,只有处于同一VLAN中的转发设备之间才能建立CFD连接。
步骤S304,第一转发设备将该CFD连接(即在步骤S303中建立的CFD连接)与本设备直连的三层设备(包括用户终端设备和路由设备)的MAC(Media AccessControl,媒体访问控制)地址绑定,即,建立该CFD连接与该MAC地址之间的绑定关系,然后,将两者的绑定关系发送给第二转发设备;以及,第一转发设备接收第二转发设备发来的绑定关系,其中,该绑定关系是第二转发设备与第一转发设备之间的CFD连接与第二转发设备直连的三层设备的MAC地址之间的绑定关系,即,该CFD连接与该MAC地址之间的绑定关系;
例如,可以通过建立CFD连接的标识与MAC地址之间的绑定关系,来建立CFD连接与MAC地址之间的绑定关系。
第一转发设备将建立的绑定关系通知给该CFD连接的对端第二转发设备的目的是:当第二转发设备接收到TTL值为1,且目的地址是与第一转发设备直连的一个三层设备的MAC地址(例如,MAC 1)的ICMP请求报文后,就可以从该绑定关系中查找到与MAC 1绑定或对应的CFD连接,并对查找到的CFD连接进行LT检测。从而,根据侦听到的TTL值为1的ICMP请求报文的目的MAC地址,从本地保存的绑定关系中查找到需要对哪一个CFD连接进行LT检测。
同样,第一转发设备作为第二转发设备的CFD连接的对端,也会接收到第二转发设备发来的绑定关系,从而,也可以根据侦听到的TTL值为1的ICMP请求报文的目的MAC地址,从本地保存的绑定关系中查找到需要对哪一个CFD连接进行LT检测。
当第二转发设备有多个时,第一转发设备会针对每一个第二转发设备执行上述的步骤S303-S304。
步骤S305,当通过CC检测到有链路(即二层链路)不连通时,第一转发设备开启ICMP报文侦听;
使用CC检测到二层链路不连通,即二层链路中发生了故障,但是,此时还不能定位出故障点。
在通过CC检测到链路(即二层链路)连通时,第一转发设备就不会开启ICMP报文侦听,对于接收到的ICMP报文就直接透传。
步骤S306,在侦听到TTL值为1的ICMP请求报文之后,第一转发设备查找与该ICMP请求报文中的目的MAC地址绑定的CFD连接,称为第一CFD连接,对第一CFD连接进行LT检测,其中,该ICMP请求报文是第一用户终端设备在进行Tracert检测时发出的;显然,该ICMP请求报文的源MAC地址是第一用户终端设备的MAC地址;
当第一用户终端设备使用Tracert功能进行故障定位时,途径的路由设备收到ICMP请求报文后,仍然按照现有技术的Tracert流程进行处理。
当途经的第一转发设备收到ICMP请求报文后,查看该报文,如果该报文中的TTL=1(因为上游的链路是连通的,每经过一个路由设备该ICMP请求报文中的TTL值就会减1,因此,到达第一转发设备时,该报文中的TTL值已经减到了1),则根据该ICMP请求报文的目的MAC地址,从本地保存的绑定关系中查找到与该目的MAC地址对应的CFD连接:第一CFD连接,从而确定出了需要使用哪个CFD连接。
然后,对第一CFD连接开启Linktrace功能,使用Linktrace能够检测到第一CFD连接中的最后一个可达设备。
步骤S307,第一转发设备将通过LT检测得到的最后一个可达设备的信息发送给第一用户终端设备。
在步骤S307中,针对不同情况,第一转发设备将最后一个可达设备的信息发送给第一用户终端设备的方式也不同,具体的:
情况1:当第一转发设备与路由设备直连时,第一转发设备将通过LT检测得到的最后一个可达设备的信息(如MAC地址)封装在ICMP不可达报文中,将该ICMP不可达报文发送给第一用户终端设备,其中,该ICMP不可达报文的目的MAC地址是第一用户终端设备的MAC地址。
当与第一用户终端设备直连的转发设备接收到该目的MAC地址是第一用户终端设备的MAC地址的ICMP不可达报文之后,解封装该ICMP不可达报文得到该最后一个可达设备的信息,然后,将该最后一个可达设备的信息封装在SNMP(SimpleNetwork Management Protocol,简单网络管理协议)Trap(告警)报文中,将该SNMPTrap报文发送给第一用户终端设备。
情况2:当第一转发设备与第一用户终端设备直连时,第一转发设备将通过LT检测得到的最后一个可达设备的信息封装在SNMP Trap报文中,将该SNMP Trap报文发送给第一用户终端设备。
另外,当第一转发设备与第一用户终端设备直连时,第一转发设备也可能会接收到其他转发设备(可以是不同二层网络中的其他转发设备)执行上述的步骤S305-S307发来的、目的MAC地址是第一用户终端设备的MAC地址的ICMP不可达报文,此时,第一转发设备会解封装该ICMP不可达报文得到其中的最后一个可达设备的信息,然后,将该最后一个可达设备的信息封装在SNMP Trap报文中,将该SNMP Trap报文发送给第一用户终端设备。
通过上述实施例一中的方法,第一用户终端设备使用Tracert功能就可以得到二层网络中的故障位置。
实施例二
以图2所示的二三层混合网络中的SwitchA和Switch F为例,来详细地说明上述实施例一中的方法的具体处理流程。在图2中,转发设备是Switch(交换机),用户终端设备是PC,路由设备是路由器。假设,Switch A和Switch D处于同一个VLAN中,Switch F和Switch H处于同一个VLAN中。
一、对于Switch A:
1、初始阶段:
Switch A使用LLDP协议确定出本设备是与PC(即PC A)直连的交换机。然后,SwitchA可以通过主动发送二层广播请求消息的方式、或者被动接收Switch D发来的二层广播请求消息的方式,建立与Switch D之间的CFD连接(根据两者的MAC地址来确保CFD连接的唯一性)。接下来,Switch A将该CFD与本设备直连的三层设备PC A的MAC地址(记为:PC A-MAC)绑定,并将两者的绑定关系通知给Switch D;同时,还会接收到Switch D发来的该CFD连接与Switch D直连的三层设备Router(路由器)A的MAC地址(记为:Router A-MAC)之间的绑定关系。
2、检测阶段
Switch A在检测到二层链路有故障后,开启ICMP报文侦听。当PC A发现Ping不通PC B,使用Tracert功能进行故障定位检测时,PC A会先发送TTL=1的ICMP请求报文。在Switch A侦听到该报文后,若判定TTL=1,则,Switch A根据该ICMP请求报文中的目的MAC地址:RouterA-MAC,查找与RouterA-MAC绑定的CFD连接,从而查找到本设备与Switch D的CFD连接进行Linktrace检测。假设Switch B与Switch D之间的链路存在故障,则,Switch A会通过Linktrace检测得到最后一个可达设备是Switch B,由于Switch A与PC A直连,所以,直接将Switch B的MAC地址封装在SNMP Trap报文中发送PC A。藉此,PC A可以得到二层网络中的故障位置为Switch B之后。
二、对于Switch F:
1、初始阶段
Switch F使用LLDP协议确定出本设备是与路由器(即Router C)直连的交换机。然后,Switch F可以通过主动发送二层广播请求消息的方式、或者被动接收Switch H发来的二层广播请求消息的方式,建立与Switch H之间的CFD连接(根据两者的MAC地址来确保CFD连接的唯一性)。接下来,Switch F将该CFD与直连的三层设备RouterC的MAC地址绑定,并将两者的绑定关系通知给Switch H;同时,还会接收到SwitchH发来的该CFD连接与Switch H直连的三层设备PC B的MAC地址(记为:PCB-MAC)之间的绑定关系。
2、检测阶段
Switch F在检测到二层链路有故障后,开启ICMP报文侦听。当PC A发现Ping不通PC B,使用Tracert功能进行故障定位检测时,PC A会发送若干个ICMP请求报文,每次发送一个ICMP请求报文,且每次发送的ICMP请求报文中的TTL值加1。当Switch F侦听到ICMP请求报文后,若判定出TTL=1,则,Switch F根据该ICMP请求报文中的目的MAC地址:PC B-MAC,查找与PC B-MAC绑定的CFD连接,从而查找到本设备与Switch H的CFD连接进行Linktrace检测。假设Switch F与SwitchH之间的链路存在故障,则,Switch F会通过Linktrace检测得到最后一个可达设备是Switch F,于是,Switch F将本设备的MAC地址(记为:Switch F-MAC)封装进ICMP不可达报文,发往PC A。此时,与PC A直连的Switch A侦听到目的地址是PC A-MAC的ICMP不可达报文后,对该报文进行解析后得到Switch F-MAC,再将Switch F-MAC封装到SNMP Trap报文中发送给PC A。藉此,PC A可以得到二层网络中的故障位置为Switch F之后。
实施例三
针对上述实施例一中的方法,本申请的实施例三提供了一种应用于由二层网络和三层网络组成的二三层混合网络的转发设备,其中,二层网络中包括:至少两个二层的转发设备,位于三层网络中的三层设备包括:用户终端设备和路由设备。该转发设备可以是交换机等二层设备。
如图4所示,该转发设备包括:判断模块10、CFD连接模块20、接收模块30、保存模块40、发送模块50、侦听模块60和查找模块70,其中,
判断模块10,用于判断本设备是否与三层设备直连;
CFD连接模块20,用于在判断模块10确定本设备与三层设备直连之后,建立本设备与第二转发设备之间的CFD连接,对该CFD连接进行连续性检测CC,其中,第二转发设备也与三层设备直连,且第二转发设备与本设备在同一二层网络的同一VLAN中;还用于对查找模块70查找到的第一CFD连接进行链路跟踪LT检测;
接收模块30,用于接收第二转发设备发来的绑定关系,其中,该绑定关系是第二转发设备与本设备之间的CFD连接与第二转发设备直连的三层设备的MAC地址之间的绑定关系;即,该CFD连接与该MAC地址之间的绑定关系;
保存模块40,用于保存接收模块30接收到的绑定关系;
发送模块50,用于将CFD连接模块20通过LT检测得到的最后一个可达设备的信息,发送给第一用户终端设备;
侦听模块60,用于当CFD连接模块20通过CC检测到有链路不连通时,开启ICMP报文侦听;
查找模块70,用于在侦听模块60侦听到TTL值为1的ICMP请求报文之后,在保存模块40中查找与该ICMP请求报文中的目的MAC地址绑定的第一CFD连接,其中,该ICMP请求报文是第一用户终端在进行Tracert检测时发出的。
其中,CFD连接模块20建立本设备与第二转发设备之间的CFD连接的方式可以采用以下方式之一:
方式一:发送二层广播请求消息,其中,二层广播请求消息中携带有建立CFD连接所需的相关参数;在接收到第二转发设备针对该二层广播请求消息返回的应答消息之后,根据该应答消息中携带的该CFD连接的标识建立本设备与第二转发设备之间的CFD连接;
方式二:接收到第二转发设备发来的二层广播请求消息之后,根据该二层广播请求消息中携带的建立CFD连接所需的相关参数,计算CFD连接的标识,并建立本设备与第二转发设备之间的CFD连接;向第二转发设备返回应答消息,其中,该应答消息中携带有所计算的CFD连接的标识。
另外,如图5所示,该转发设备中还可以包括:绑定关系建立模块80,其中,
绑定关系建立模块80,用于建立CFD连接模块20所建立的本设备与第二转发设备之间的CFD连接与本设备直连的三层设备的MAC地址之间的绑定关系;即,建立该CFD连接与该MAC地址之间的绑定关系;
保存模块,还用于保存绑定关系建立模块80所建立的绑定关系。
为了将CFD连接模块20通过LT检测得到的最后一个可达设备的信息发送给第一用户终端设备,发送模块50进一步可以包括:封装单元和发送单元,其中:
封装单元,用于在本设备与路由设备直连时,将CFD连接模块20通过LT检测得到的最后一个可达设备的信息封装在ICMP不可达报文中;还用于在本设备与第一用户终端设备直连时,将通过LT检测得到的最后一个可达设备的信息封装在SNMP Trap报文中;
发送单元,用于将封装单元封装得到的ICMP不可达报文和SNMP Trap报文发送给第一用户终端设备。
此外,在本设备与第一用户终端设备直连时,接收模块30,还用于接收目的MAC地址是第一用户终端设备的MAC地址的ICMP不可达报文,解封装该ICMP不可达报文得到该最后一个可达设备的信息;发送模块50中的封装单元,还用于将接收模块解封装得到的最后一个可达设备的信息封装在SNMP Trap报文中,并通过发送单元将该SNMP Trap报文发送给第一用户终端设备。
综上,本申请以上实施例可以达到以下技术效果:
在二三层混合网络中,当二层网络中发生了故障之后,能通过Tracert和CFD联动的方式,准确定位出故障点。从而,在复杂的二三层网络中,管理员只要在PC终端使用Tracert功能即可定位二层网络中的故障位置。
以上所述仅为本申请的较佳实施例而已,并不用以限制本申请,凡在本申请的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本申请保护的范围之内。

Claims (10)

1.一种链路故障定位方法,应用于由二层网络和三层网络组成的网络,所述二层网络中包括:至少两个二层的转发设备,位于所述三层网络中的三层设备包括:用户终端设备和路由设备,其特征在于,所述方法包括:
第一转发设备在确定本转发设备与三层设备直连之后,建立与第二转发设备之间的连通错误检测CFD连接,以进行连续性检测CC,其中,第二转发设备也与三层设备直连,且第二转发设备与第一转发设备在同一二层网络的同一虚拟局域网VLAN中;
第一转发设备接收第二转发设备发来的绑定关系,其中,该绑定关系是第二转发设备与第一转发设备之间的CFD连接与第二转发设备直连的三层设备的媒体访问控制MAC地址之间的绑定关系;
当通过CC检测到有链路不连通时,第一转发设备开启互联网控制消息协议ICMP报文侦听;
在侦听到生存时间TTL值为1的ICMP请求报文之后,第一转发设备查找与该ICMP请求报文中的目的MAC地址绑定的第一CFD连接,对第一CFD连接进行链路跟踪LT检测,其中,该ICMP请求报文是第一用户终端设备在进行跟踪路由Tracert检测时发出的;
第一转发设备将通过LT检测得到的最后一个可达设备的信息发送给第一用户终端设备。
2.根据权利要求1所述的方法,其特征在于,所述建立与第二转发设备之间的CFD连接的方式包括以下之一:
第一转发设备发送二层广播请求消息,其中,所述二层广播请求消息中携带有建立CFD连接所需的相关参数;在接收到第二转发设备针对该二层广播请求消息返回的应答消息之后,第一转发设备根据该应答消息中携带的CFD连接的标识建立与第二转发设备之间的CFD连接;
第一转发设备接收到第二转发设备发来的二层广播请求消息之后,根据该二层广播请求消息中携带的建立CFD连接所需的相关参数,计算CFD连接的标识,并建立与第二转发设备之间的CFD连接;第一转发设备向第二转发设备返回应答消息,其中,该应答消息中携带有所计算的CFD连接的标识。
3.根据权利要求2所述的方法,其特征在于,在所述建立与第二转发设备之间的CFD连接之后,还包括:
第一转发设备建立与第二转发设备之间的CFD连接与本转发设备直连的三层设备的MAC地址之间的绑定关系;
第一转发设备将该绑定关系发送给第二转发设备。
4.根据权利要求1至3中任一项所述的方法,其特征在于,所述第一转发设备将通过LT检测得到的最后一个可达设备的信息发送给第一用户终端设备的方法包括:
当第一转发设备与路由设备直连时,第一转发设备将通过LT检测得到的最后一个可达设备的信息封装在ICMP不可达报文中,将该ICMP不可达报文发送给第一用户终端设备;
当第一转发设备与第一用户终端设备直连时,第一转发设备将通过LT检测得到的最后一个可达设备的信息封装在简单网络管理协议SNMP告警Trap报文中,将该SNMP Trap报文发送给第一用户终端设备。
5.根据权利要求4所述的方法,其特征在于,当第一转发设备与第一用户终端设备直连时,所述方法还包括:
第一转发设备接收到目的MAC地址是第一用户终端设备的MAC地址的ICMP不可达报文之后,解封装该ICMP不可达报文得到该最后一个可达设备的信息;
第一转发设备将该最后一个可达设备的信息封装在SNMP Trap报文中,将该SNMP Trap报文发送给第一用户终端设备。
6.一种转发设备,应用于由二层网络和三层网络组成的网络,所述二层网络中包括:至少两个二层的转发设备,位于所述三层网络中的三层设备包括:用户终端设备和路由设备,其特征在于,所述转发设备包括:判断模块、CFD连接模块、接收模块、保存模块、发送模块、侦听模块和查找模块,其中,
所述判断模块,用于判断本转发设备是否与三层设备直连;
所述CFD连接模块,用于在所述判断模块确定本转发设备与三层设备直连之后,建立本转发设备与第二转发设备之间的连通错误检测CFD连接,对该CFD连接进行连续性检测CC,其中,第二转发设备也与三层设备直连,且第二转发设备与第一转发设备在同一二层网络的同一虚拟局域网VLAN中;还用于对查找模块查找到的第一CFD连接进行链路跟踪LT检测;
所述接收模块,用于接收第二转发设备发来的绑定关系,其中,该绑定关系是第二转发设备与本转发设备之间的CFD连接与第二转发设备直连的三层设备的媒体访问控制MAC地址之间的绑定关系;
所述保存模块,用于保存所述接收模块接收到的绑定关系;
所述发送模块,用于将所述CFD连接模块通过LT检测得到的最后一个可达设备的信息,发送给第一用户终端设备;
所述侦听模块,用于当所述CFD连接模块通过CC检测到有链路不连通时,开启互联网控制消息协议ICMP报文侦听;
所述查找模块,用于在所述侦听模块侦听到生存时间TTL值为1的ICMP请求报文之后,在所述保存模块中查找与该ICMP请求报文中的目的MAC地址绑定的第一CFD连接,其中,该ICMP请求报文是第一用户终端设备在进行跟踪路由Tracert检测时发出的。
7.根据权利要求6所述的转发设备,其特征在于,所述CFD连接模块建立本转发设备与第二转发设备之间的CFD连接的方式包括以下之一:
发送二层广播请求消息,其中,所述二层广播请求消息中携带有建立CFD连接所需的相关参数;在接收到第二转发设备针对该二层广播请求消息返回的应答消息之后,根据该应答消息中携带的该CFD连接的标识建立本转发设备与第二转发设备之间的CFD连接;
接收到第二转发设备发来的二层广播请求消息之后,根据该二层广播请求消息中携带的建立CFD连接所需的相关参数,计算CFD连接的标识,并建立本转发设备与第二转发设备之间的CFD连接;向第二转发设备返回应答消息,其中,该应答消息中携带有所计算的CFD连接的标识。
8.根据权利要求7所述的转发设备,其特征在于,还包括:绑定关系建立模块,其中,
所述绑定关系建立模块,用于建立所述CFD连接模块所建立的本转发设备与第二转发设备之间的CFD连接与本转发设备直连的三层设备的MAC地址之间的绑定关系;
所述保存模块,还用于保存所述绑定关系建立模块所建立的绑定关系。
9.根据权利要求7或8所述的转发设备,其特征在于,所述发送模块包括:
封装单元,用于在本转发设备与路由设备直连时,将所述CFD连接模块通过LT检测得到的最后一个可达设备的信息封装在ICMP不可达报文中;还用于在本转发设备与第一用户终端设备直连时,将通过LT检测得到的最后一个可达设备的信息封装在简单网络管理协议SNMP告警Trap报文中;
发送单元,用于将所述封装单元封装得到的ICMP不可达报文和SNMP Trap报文发送给第一用户终端设备。
10.根据权利要求9所述的转发设备,其特征在于,在本转发设备与第一用户终端设备直连时,
所述接收模块,还用于接收目的MAC地址是第一用户终端设备的MAC地址的ICMP不可达报文,解封装该ICMP不可达报文得到该最后一个可达设备的信息;
所述封装单元,还用于将所述接收模块解封装得到的最后一个可达设备的信息封装在SNMP Trap报文中,并通过所述发送单元将该SNMP Trap报文发送给第一用户终端设备。
CN201210525571.8A 2012-12-04 2012-12-04 链路故障定位方法及设备 Active CN102984011B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201210525571.8A CN102984011B (zh) 2012-12-04 2012-12-04 链路故障定位方法及设备

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201210525571.8A CN102984011B (zh) 2012-12-04 2012-12-04 链路故障定位方法及设备

Publications (2)

Publication Number Publication Date
CN102984011A CN102984011A (zh) 2013-03-20
CN102984011B true CN102984011B (zh) 2015-05-13

Family

ID=47857772

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201210525571.8A Active CN102984011B (zh) 2012-12-04 2012-12-04 链路故障定位方法及设备

Country Status (1)

Country Link
CN (1) CN102984011B (zh)

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106301991B (zh) * 2015-06-11 2019-10-18 华为技术有限公司 一种路径检测的方法、路由设备及系统
CN106330506B (zh) * 2015-06-29 2019-08-16 华为技术有限公司 一种业务故障定位方法及装置
CN110768905B (zh) * 2019-10-25 2021-11-23 新华三信息安全技术有限公司 一种路由追踪方法以及设备
CN115277190B (zh) * 2022-07-27 2023-08-15 北京国领科技有限公司 一种链路层透明加密系统在网络上实现邻居发现的方法
CN118051375B (zh) * 2024-04-15 2024-07-05 北京壁仞科技开发有限公司 用于计算设备间直连链路的故障诊断的方法和系统

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20030073539A (ko) * 2002-03-12 2003-09-19 주식회사 프리컴시스템 Ip 공유 검출 방법
CN101662383A (zh) * 2009-09-17 2010-03-03 杭州华三通信技术有限公司 一种配置维护端点的方法及设备
CN101977149A (zh) * 2010-11-02 2011-02-16 华为技术有限公司 一种路由器协议报文跟踪方法、装置及系统
CN102148700A (zh) * 2010-12-31 2011-08-10 华为技术有限公司 二层组播转发链路故障定位方法和设备
CN102185711A (zh) * 2011-04-26 2011-09-14 中兴通讯股份有限公司 一种检测混合网络中链路故障的方法及设备

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20030073539A (ko) * 2002-03-12 2003-09-19 주식회사 프리컴시스템 Ip 공유 검출 방법
CN101662383A (zh) * 2009-09-17 2010-03-03 杭州华三通信技术有限公司 一种配置维护端点的方法及设备
CN101977149A (zh) * 2010-11-02 2011-02-16 华为技术有限公司 一种路由器协议报文跟踪方法、装置及系统
CN102148700A (zh) * 2010-12-31 2011-08-10 华为技术有限公司 二层组播转发链路故障定位方法和设备
CN102185711A (zh) * 2011-04-26 2011-09-14 中兴通讯股份有限公司 一种检测混合网络中链路故障的方法及设备

Also Published As

Publication number Publication date
CN102984011A (zh) 2013-03-20

Similar Documents

Publication Publication Date Title
KR101487572B1 (ko) 링크 상태 제어형 이더넷 네트워크에서의 연속성 체크 관리
CN108123824B (zh) 一种网络故障检测方法及装置
US9137101B2 (en) Multi-layer network diagnostic tracing
US8982710B2 (en) Ethernet operation and maintenance (OAM) with flexible forwarding
Arkko et al. Failure detection and locator pair exploration protocol for IPv6 multihoming
CN102984011B (zh) 链路故障定位方法及设备
EP2764662B1 (en) Test traffic interceptor in a data network
US20080112331A1 (en) Method and system for transmitting connectivity fault management messages in ethernet,and a node device
US20150222510A1 (en) Packet Tracing through Control and Data Plane Operations
CN104735001A (zh) 软件定义网络中的链路发现方法、装置及系统
CN103840980A (zh) 检测双向lsp连通性的方法和设备
CN104683187A (zh) 一种实现路由器二层vpn业务物理接口端到端测量的方法
CN108400911B (zh) 一种实现Micro-BFD协议的装置及方法
CN104639433A (zh) 一种基于Echo报文的多跳检测实现方法
KR20120134466A (ko) 메쉬 네트워크 노드 및 그의 데이터 전송 방법
US7881207B2 (en) Method and system for loop-back and continue in packet-based network
CN103580935A (zh) 二层接口到三层接口的连通性检测方法及装置
CN105306303B (zh) 基于终端网络设备的故障实时监听系统及终端网络设备
US20140355409A1 (en) Method For Debugging Private VLAN
CN102571464B (zh) 链路的跟踪处理方法及系统
CN103457794B (zh) 确定ip承载网故障的方法和系统
CN102469016B (zh) 反向确定路径最大传输单元的方法和装置
CN102315962B (zh) 探测以太网最大传输单元的方法及维护端点
WO2016161716A1 (zh) 一种组播数据流监测方法、装置及组播转发设备
JP2014502063A (ja) 通信経路検証システム、経路検証装置、通信経路検証方法および経路検証プログラム

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C14 Grant of patent or utility model
GR01 Patent grant
CP03 Change of name, title or address

Address after: 310052 Binjiang District Changhe Road, Zhejiang, China, No. 466, No.

Patentee after: NEW H3C TECHNOLOGIES Co.,Ltd.

Address before: 310053 Hangzhou hi tech Industrial Development Zone, Zhejiang province science and Technology Industrial Park, No. 310 and No. six road, HUAWEI, Hangzhou production base

Patentee before: HANGZHOU H3C TECHNOLOGIES Co.,Ltd.

CP03 Change of name, title or address
TR01 Transfer of patent right

Effective date of registration: 20230620

Address after: 310052 11th Floor, 466 Changhe Road, Binjiang District, Hangzhou City, Zhejiang Province

Patentee after: H3C INFORMATION TECHNOLOGY Co.,Ltd.

Address before: 310052 Changhe Road, Binjiang District, Hangzhou, Zhejiang Province, No. 466

Patentee before: NEW H3C TECHNOLOGIES Co.,Ltd.

TR01 Transfer of patent right