CN101521593B - 数据链路层故障定位的方法及装置 - Google Patents

数据链路层故障定位的方法及装置 Download PDF

Info

Publication number
CN101521593B
CN101521593B CN200810219072XA CN200810219072A CN101521593B CN 101521593 B CN101521593 B CN 101521593B CN 200810219072X A CN200810219072X A CN 200810219072XA CN 200810219072 A CN200810219072 A CN 200810219072A CN 101521593 B CN101521593 B CN 101521593B
Authority
CN
China
Prior art keywords
equipment
data link
link layer
interface
layers
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
CN200810219072XA
Other languages
English (en)
Other versions
CN101521593A (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.)
China Mobile Group Guangdong Co Ltd
Original Assignee
China Mobile Group Guangdong 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 China Mobile Group Guangdong Co Ltd filed Critical China Mobile Group Guangdong Co Ltd
Priority to CN200810219072XA priority Critical patent/CN101521593B/zh
Publication of CN101521593A publication Critical patent/CN101521593A/zh
Application granted granted Critical
Publication of CN101521593B publication Critical patent/CN101521593B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

本发明公开了一种实现数据链路层路径跟踪以及故障定位方法,所述方法包括:采集所有网络设备的接口信息,生成设备接口网际协议网段信息表;根据所述网段信息表中的多点对多点网络接口的物理地址生成物理地址出现位置表,进而生成设备位置关系表;对所述设备位置关系表中不成对出现的设备进行处理,使所述设备成对出现,同时生成设备2层连接关系表;对所述设备2层连接关系表进行处理,生成设备2层直接连接关系表;根据所述设备2层直接连接关系表执行Traceswitch操作从而跟踪数据链路层路径并定位故障。所述方法可以实现对数据链路层的路径跟踪及故障定位,适用范围广,推广性强。同时,本发明还公开了一种数据链路层路径跟踪以及故障定位系统。

Description

数据链路层故障定位的方法及装置
技术领域
本发明涉及网络管理和维护技术领域,更具体地涉及一种数据链路层路径跟踪以及故障定位的方法及系统。
背景技术
随着网际协议(Internet Protocol,IP)技术的发展,基于IP网络的应用越来越普遍,网络规模越来越大,结构也日趋复杂,如何保障网络可靠的运行,成为各大运营商急需解决的问题,而保障网络的可靠运行需要对网络路径进行跟踪以及对网络故障进行定位。
目前,对网络进行路径跟踪以及故障定位最常见的手段是采用IP协议栈提供的traceroute方法。但所述traceroute方法只能实现IP网络层的路径跟踪以及故障定位,无法实现数据链路层的路径跟踪以及故障定位。因此当网络故障发生在数据链路层时,所述traceroute方法就无法定位故障。因此实现数据链路层的路径跟踪以及故障定位是一个亟待解决的问题。
众所周知,要实现数据链路层的路径跟踪以及故障定位,首先需要生成数据链路层网络拓扑。一种现有技术是利用Cisco设备发现协议(Cisco DiscoveryProtocol,CDP)自动生成网络拓扑。然而CDP协议是思科(CISCO)的私有协议,所述利用CDP协议自动生成网络拓扑得到的是CISCO设备之间的网络连接关系,因此现有技术一只适用于CISCO设备,适用范围小。另一种现有技术让设备之间两两相ping,使得一个交换机的接口有其它交换机的物理地址,得到交换机之间的位置关系,从而生成网络拓扑。然而让所述设备之间两两相ping需登录所有设备,这时需要获得所有设备的登录权限这一附加要求。但是在大规模的网络里,设备分别由不同的部门管理,因此获得所有设备的登录权限很难实现。再一种现有技术是构造ping包生成网络拓扑,如图1所示。网管发出ping包,ping 172.16.1.10,正常的ping包的源IP地址是网管,通过修改ping包的源IP地址为172.16.1.3,从而使得172.16.1.10回包给172.16.1.3,实现172.16.1.10访问172.16.1.3。同理,可以实现同网段接口IP地址两两互访从而生成网络拓扑。然而,当如图1所述“中间经过的网络”存在防火墙时,所述构造的ping包可能因为防火墙的过滤策略而无法到达目的网段所在的网络,因此存在很大局限。
综上所述,急需一种改进的实现数据链路层的路径跟踪以及故障定位的方法和系统,以克服现有技术中适用范围小、附加要求多、局限性大的缺陷。
发明内容
本发明实施例的目的在于提供一种数据链路层故障定位方法及装置,以解决当故障发生在数据链路层时无法定位的问题。
本发明实施例提供的实现数据链路层路径跟踪以及故障定位方法,包括以下步骤:采集所有网络设备的接口信息;根据所述网络设备的接口信息生成设备接口网际协议网段信息表;根据所述设备接口网际协议网段信息表中的多点对多点网络接口的物理地址生成物理地址出现位置表;根据所述物理地址出现位置表生成设备位置关系表;对所述设备位置关系表中不成对出现的设备进行补足数据处理,使所述设备成对出现,同时生成设备2层连接关系表,所述不成对出现是在设备位置关系表中,第一设备出现在第二设备的X接口,没有一行是第二设备出现在第一设备的接口,所述成对出现是在设备位置关系表中,第一设备出现在第二设备的X接口,第二设备出现在第一设备的Y接口,所述补足数据处理是在满足定理1的条件下补充第三设备的接口信息,所述定理1的条件为:1)第一设备出现在第二设备的X接口,2)第三设备出现在所述第二设备的Z接口,又出现在所述第一设备的Y接口,3)所述X接口不等于所述Z接口;对所述设备2层连接关系表进行处理,生成设备2层直接连接关系表;根据所述设备2层直接连接关系表执行如下Traceswitch操作从而跟踪数据链路层路径并定位故障:查找从获取最后成功一跳的设备到下一跳设备需要经过的交换机从而跟踪数据链路层路径;网管顺序访问所述数据链路层路径中的各个交换机从而定位数据链路层故障。。
较佳地,在本发明一实施例中,对所述设备2层连接关系表进行处理,生成设备2层直接连接关系表之后还需执行步骤:根据所述设备接口网际协议网段信息表中的点对点网络接口以及所述设备2层直接连接关系表生成所述所有网络设备的直接连接关系表。
较佳地,所述查找从获取最后成功一跳的设备到下一跳设备需要经过的交换机从而跟踪数据链路层路径具体为:在所述2层直接连接关系表中查找与所述获取最后成功一跳的设备直接连接的交换机以及相互直接连接的交换机,从而形成所述数据链路层路径。
较佳地,所述网管顺序访问所述数据链路层路径中的各个交换机从而定位数据链路层故障具体为:所述网管顺序访问所述数据链路层路径中的各个交换机,如果所述网管访问在前交换机成功,而访问相邻在后交换机失败,则所述数据链路层故障出现在所述在前交换机与所述在后交换机之间;如果所述网管访问所述各个交换机均成功,则判断所述各个交换机的物理地址表中是否有目的设备的物理地址,若所述被判断的交换机的物理地址表中没有所述目的设备的物理地址并且不与所述目的设备相连,则所述数据链路层故障出现在所述被判断的交换机与位于所述被判断的交换机之后的交换机之间;若所述被判断的交换机的物理地址表中没有所述目的设备的物理地址并且直接与所述目的设备相连,则所述数据链路层故障出现在所述被判断的交换机与所述目的设备之间。
较佳地,所述根据所述物理地址出现位置表生成设备位置关系表具体为:把所述物理地址出现位置表中的物理地址用设备进行替换,同时直接插入同一网段内所有其他设备与路由器的位置关系从而得到所述设备位置关系表。
较佳地,所述对所述设备2层连接关系表进行处理,生成设备2层直接连接关系表的步骤具体为:
较佳地,对所述设备2层连接关系表进行“去除末端设备行”的处理,生成所述2层直接连接关系表,其步骤具体为:从所述设备2层连接关系表中找到所述末端设备以及与所述末端设备直接相连的设备;将包含所述末端设备和与所述末端设备直接相连的设备的连接关系插入设备2层直接连接关系表中,从所述设备2层连接关系表中删除所有包含所述末端设备的行。
较佳地,所述采集所有网络设备的接口信息具体为:利用简单网络管理协议采集所述所有网络设备的接口信息。
较佳地,所述接口信息包括网际协议地址、掩码以及物理地址。
相应地,本发明还提供了一种实现数据链路层路径跟踪以及故障定位的系统,所述系统包括以下模块:采集模块,用于采集所有网络设备的接口信息;设备接口网际协议网段信息表生成模块,用于根据所述采集模块采集的网络设备的接口信息生成设备接口网际协议网段信息表;物理地址出现位置表生成模块,用于根据所述设备接口网际协议网段信息表生成模块生成的设备接口网际协议网段信息表中的多点对多点网络接口的物理地址生成物理地址出现位置表;设备位置关系表生成模块,用于根据所述物理地址出现位置表生成模块生成的物理地址出现位置表生成设备位置关系表;设备2层连接关系表生成模块,用于对所述设备位置关系表生成模块生成的设备位置关系表中不成对出现的设备进行处理,使所述设备成对出现,同时生成设备2层连接关系表,所述不成对出现是在设备位置关系表中,第一设备出现在第二设备的X接口,没有一行是第二设备出现在第一设备的接口,所述成对出现是在设备位置关系表中,第一设备出现在第二设备的X接口,第二设备出现在第一设备的Y接口,所述补足数据处理是在满足定理1的条件下补充第三设备的接口信息,所述定理1的条件为:1)第一设备出现在第二设备的X接口,2)第三设备出现在所述第二设备的Z接口,又出现在所述第一设备的Y接口,3)所述X接口不等于所述Z接口;设备2层直接连接关系表生成模块,用于对所述设备2层连接关系表生成模块生成的设备2层连接关系表进行处理,从而生成设备2层直接连接关系表;跟踪数据链路层路径以及定位故障模块,其包括:数据链路层路径跟踪单元,用于查找从获取最后成功一跳的设备到下一跳设备需要经过的交换机从而跟踪数据链路层路径;以及数据链路层故障定位单元,用于由网关顺序访问所述数据链路层路径跟踪单元跟踪的数据链路层路径中的各个交换机从而定位数据链路层故障。
较佳地,在本发明一实施例中,所述数据链路层路径跟踪以及故障定位系统,还包括所有网络设备直接连接关系表生成模块,用于根据所述设备接口网际协议网段信息表生成模块生成的设备接口网际协议网段信息表中的点对点网络接口以及所述设备2层直接连接关系表生成模块生成的设备2层直接连接关系表,生成所有网络设备直接连接关系表。
较佳地,所述数据链路层故障定位单元包括交换机访问成功判断子单元和目的设备物理地址存在判断子单元。所述交换机访问成功判断子单元用于判断网管对所述数据链路层路径跟踪单元跟踪的数据链路层路径中的各个交换机的顺序访问是否成功从而定位数据链路层故障。所述目的设备物理地址存在判断子单元,用于判断所述数据链路层路径跟踪单元跟踪的数据链路层路径中的各个交换机的物理地址表中是否有目的设备的物理地址从而定位数据链路层故障。
较佳地,所述设备位置关系表生成模块包括替换子单元和插入子单元。所述替换子单元用于把所述物理地址出现位置表生成模块生成的物理地址出现位置表中的物理地址用设备进行替换。所述插入子单元用于直接插入同一网段内所有其他设备与路由器的位置关系。
较佳地,所述设备2层直接连接关系表生成模块包括查询单元、插入单元和删除单元。所述查询单元用于从所述设备2层连接关系表生成模块生成的设备2层连接关系表中找到所有末端设备以及与所述末端设备直接相连的设备。所述插入单元用于将包含所述查询单元找到的末端设备和与所述末端设备直接相连的设备的连接关系插入设备2层直接连接关系表中。所述删除单元用于从所述设备2层连接关系表生成模块生成的设备2层连接关系表中删除所有包含所述末端设备的行。
较佳地,所述实现数据链路层路径跟踪以及故障定位系统的所述接口信息包括网际协议地址、掩码以及物理地址。
由以上技术方案可以得知,本发明实施例的实现数据链路层路径跟踪以及故障定位方法及系统,仅仅利用SNMP采集所有网络设备的接口信息获取数据链路层不完整的设备位置关系,再通过补足数据和去除末端设备行的步骤生成数据链路层拓扑,最后根据所述生成的数据链路层拓扑执行Traceswitch操作从而跟踪数据链路层路径并定位故障。因此,本发明的方法和系统能成功实现数据链路层的路径跟踪及故障定位。另外,本发明的方法和系统除了利用SNMP采集设备信息外,没有附加其他限制要求,适用范围广,可推广性和实用性强。
附图说明
图1为现有技术发现数据链路层拓扑的构造ping包方法示意图。
图2为本发明实现数据链路层路径跟踪以及故障定位方法的主流程图。
图3为本发明实现数据链路层路径跟踪以及故障定位方法实施例的网络层拓扑图。
图4为本发明实现数据链路层路径跟踪以及故障定位方法实施例的设备2层连接关系表生成流程图。
图5为本发明实现数据链路层路径跟踪以及故障定位方法实施例的去除末端步骤的操作方法流程图。
图6为本发明实现数据链路层路径跟踪以及故障定位方法实施例的数据链路层路径获取流程图。
图7为本发明实现数据链路层路径跟踪以及故障定位方法实施例的数据链路层故障定位流程图。
图8为本发明实现数据链路层路径跟踪以及故障定位系统框图。
图9为图8所示系统的的跟踪数据链路层路径以及定位故障模块框图。
图10为图8所示系统的设备位置关系表生成模块框图。
图11为图8所示系统的设备2层连接关系表生成模块框图。
图12为图8所示系统的设备2层直接连接关系表生成模块框图。
具体实施方式
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图2为本发明实施例的实现数据链路层路径跟踪以及故障定位方法的主流程图。如图所示,所述实现数据链路层路径跟踪以及故障定位方法包括如下步骤:采集所有网络设备的接口信息(步骤S201);根据所述网络设备的接口信息生成设备接口网际协议网段信息表(步骤S202);根据所述设备接口网际协议网段信息表中的多点对多点网络接口的物理地址生成物理地址出现位置表(步骤S203);根据所述物理地址出现位置表生成设备位置关系表(步骤S204);对所述设备位置关系表中不成对出现的设备进行处理,使所述设备成对出现,同时生成设备2层连接关系表(步骤S205);对所述设备2层连接关系表进行处理,生成设备2层直接连接关系表(步骤S206);根据所述设备2层直接连接关系表执行Traceswitch操作从而跟踪数据链路层路径并定位故障(步骤S207)。
因此可以看出,本发明实施例的实现数据链路层路径跟踪以及故障定位方法及系统,通过补足数据和去除末端设备行的步骤生成数据链路层拓扑,最后根据所述生成的数据链路层拓扑执行Traceswitch操作从而跟踪数据链路层路径并定位故障。本技术方案中,除了利用SNMP采集设备信息外,没有附加其他限制要求,适用范围广,可推广性和实用性强。
为了清楚的阐述本发明的原理,下面先对下列术语、定理以及命题进行说明。
2层路径:从网关出发到其他设备(要求不重复经过同一设备),经过的设备成为一个2层路径。
成对出现:在设备位置关系表,设备A出现在设备B的X接口,设备B出现在设备A的Y接口。
不成对出现:在设备位置关系表,设备A出现在设备B的X接口,没有一行是设备B出现在设备A的接口。
定理1:
假设1)设备A出现在设备B的接口X;
2)设备C出现在设备B的接口Z,又出现在设备A的接口Y;
3)X≠Z
那么,设备B出现在设备A的接口Y。
末端设备:在设备2层连接关系表中,只有一个接口与其他设备相连的设备称为末端设备。
定理2:
在设备2层连接关系表中,如果设备甲是末端设备,且设备乙的某个
接口只与设备甲相连,则设备乙与设备甲直接相连。
命题证明
证明经过补足数据,可以得到同一个“2层路径”上任意两个设备的“成对出现”的位置关系。
证明:
(1)采集网络中所有设备接口的IP地址。
假设从网管出发采集网段X设备的信息,网关是设备B,被访问的目的设备是设备C,所述目的设备C的IP地址为CIP,设备D为所述网关设备B和所述目的设备C之间的中间设备,即网关B-中间设备D-目的设备C形成一个“2层路径”,设备E不在所述“2层路径”上。
那么,所述网关设备B向所述目的设备C发送地址解析协议请求(AddressResolution Protocol Request,ARP REQUEST)包,解析所述目的设备C的IP地址的物理地址,所述目的设备C接收到所述地址协议请求包后,发送包含所述目的设备C的物理地址的地址解析协议回复(Address Resolution ProtocolReply,ARP REPLY)包给所述网关设备B。在此之中,所述中间设备D的接口的物理地址表中有所述网关设备B的MAC地址,同时所述网关设备B的接口的地址协议解析(Address Resolution Protocol,ARP)表中有所述目的设备C的物理地址。
(2)采集所述中间设备D的物理地址表信息,得到如下结论:
结论1:所述网关设备B的地址协议解析表或者物理地址表中一定有所述中间设备D和所述目的设备C的物理地址。
结论2:所述中间设备D和所述目的设备C的物理地址表中一定有所述网关设备B的物理地址。
结论3:所述中间设备D一定有所述目的设备C的MAC地址,但所述目的设备C不一定有所述中间设备D的MAC地址。这里按照最差的情况来处理,即所述中间设备D和所述目的设备C“不成对出现”。
结论4:所述目的设备C的物理地址表中不一定有所述设备E的物理地址。
根据所述结论1和2可以得到,在设备位置关系表中,所述网关设备B分别和所述中间设备D、目的设备C是“成对出现的”的。
根据所述结论2和3,得到如下表01:
行号 设备 出现在某个设备 出现在某个接口
    1     C     D     X
    2     B     D     Z
    3     B     C     Y
表01:补足数据需要的条件
需要注意的是,表01的第1行是根据结论3得到的,第2、第3行是根据结论2得到的,且X≠Z。
根据所述定理1,可以得到如下表02:
设备 出现在某个设备 出现在某个接口
  D     C     Y
表02:补足数据增加的内容    
这样通过补足表02所示的内容,可以使所述中间设备D和所述目的设备C“成对出现的”。
因此经过补足数据,可以得到同一个“2层路径”上任意两个设备的“成对出现”的位置关系。原命题成立。
说明:在上述补足数据的过程中,并不需要知道哪个设备是网关,上述证明过程证明了至少有一个设备(即网关)可以保证满足所述定理1的条件。
在本发明的数据链路层故障定位方法中,先要通过简单网络管理协议(Simple Network Management Protocol,SNMP)采集设备信息,包括所有设备接口的IP地址和掩码,以及交换机的物理地址(MediaAccess Control,MAC地址)信息。以图3所示的拓扑图为例,根据采集的所述设备的接口IP地址和掩码,可以生成设备接口IP网段信息表(如表1所示):
  设备   接口   接口IP     掩码     网段
路由器1   Serial 0/1   192.168.168.1   255.255.255.252   192.168.168.0
路由器2   Serial 0/1   192.168.168.2   255.255.255.252   192.168.168.0
路由器2   Fa 0/1   172.16.1.3   255.255.255.0   172.16.1.0
路由器3   Fa 0/2   172.16.1.6   255.255.255.0   172.16.1.0
交换机1   Vlan 10   172.16.1.10   255.255.255.0   172.16.1.0
交换机2   Vlan 10   172.16.1.12   255.255.255.0   172.16.1.0
表1:设备接口IP网段信息表
根据表1所示设备接口IP网段信息,得到3层网络拓扑,上述设备的接口可分成两大类:
1、点对点网络接口;
2、多点对多点网络接口,三层在同一网段。
对于第一种情形的点对点网络接口,则所述两个接口直接互联;对于第二种情形的多点对多点网络接口,三层在同一网段,则生成2层网络拓扑(数据链路层拓扑)。
下面对如何由所述多点对多点网络接口生成所述2层网络拓扑进行说明。
首先,根据表1定义各设备的接口MAC地址,如下表2所示。
    接口 接口的MAC地址
ROUTER 2的接口Fa 0/1  MACROUTER2
ROUTER 3的接口Fa 0/2  MACROUTER3
 SWITCH 1的接口Vlan 10  MACSWITCH1
 SWITCH 2的接口Vlan 10  MACSWITCH2
表2:MAC地址
然后,根据表2所示各设备的接口MAC地址,通过SNMP协议采集其他设备的MAC地址,可以得到表3:
MAC地址 出现在某个设备 出现在某个接口
MACROUTER2  SWITCH1  Fa 0/21
 MACROUTER2  SWITCH2  Fa 0/5
 MACSWITCH2  SWITCH1  Fa 0/1 5
表3:MAC地址出现位置表
具体地,表3表示某个设备的MAC地址,出现在另一设备的某个接口。需要注意的是,表3仅仅列出了部分采集的结果。
接着,把表3中的MAC地址用设备进行替换,同时直接插入同一网段内所有其他设备与路由器的位置关系,得到如下表所示的设备位置关系表:
序号   设备 出现在某个设备 出现在某个接口
    1  ROUTER2   SWITCH1   Fa 0/21
    2  ROUTER2   SWITCH2   Fa 0/5
    3  SWITCH2   SWITCH1   Fa 0/15
    4  ROUTER2   ROUTER3   Fa 0/2
    5  SWITCH1   ROUTER2   Fa 0/1
表4:设备位置关系表
在表4中,第4和第5行就是直接插入的设备与路由器的位置关系数据。需要注意的是,表4中仅列出了部分直接插入的数据。
参见表4,第1行和第5行的设备ROUTER 2和SWITCH 1是“成对出现”的,而例如第3行的设备SWITCH 2和SWITCH 1是“不成对出现”的。
再然后,参考图4,对表4逐行判断该行的两个设备是否“成对出现”,如果出现“不成对出现”的情形,需要进行如下处理:
i)如果满足定理1的条件,根据所述命题证明补足数据,使得设备成对出现”,这里补足数据就是要找到满足条件2)和条件3)的设备“C”;
ii)如果不满足定理1的条件,就删除该行,这种情况出现在“不成对出现”的两个设备不在同一个“2层路径”的情况下。
通过以上处理,可以得到同一个“2层路径”上任意两个设备的“成对出现”的位置关系,从而得到设备2层连接关系表,如下表5。
  设备A   接口A   设备B 接口B
 ROUTER2 Fa 0/1  SWITCH1  Fa 0/21
 ROUTER2 Fa 0/1  ROUTER3  Fa 0/2
 ROUTER2  Fa 0/1  SWITCH2  Fa 0/5
 SWITCH1  Fa 0/20  ROUTER3  Fa 0/2
SWITCH1  Fa 0/15  SWITCH2  Fa 0/5
表5:设备2层连接关系表
具体地,参考图4,所述“得到设备2层连接关系表”的具体流程为:
采集交换机MAC地址信息,生成“MAC地址出现位置表”(步骤S301);
用设备替换MAC地址,得到“设备位置关系表”,在表中插入其他设备与路由器的位置关系(步骤S302);
从“设备位置关系表”第1行开始,判断该行的两个设备在“设备位置关系表”中是否成对出现(步骤S303);
若是成对出现,进一步判断是否是“设备位置关系表”最后一行(步骤S304);
若不是成对出现,进一步判断是否能通过定理1补足数据(步骤S305);
若是“设备位置关系表”最后一行,生成“设备2层连接关系表”(步骤S309);
若不是“设备位置关系表”最后一行,则进入“设备位置关系表”的下一行,重复步骤S303和步骤S304;
若能通过定理1补足数据,将补足的数据插入“设备位置关系表”最后一行(步骤S307),再继续判断是否是“设备位置关系表”最后一行(步骤S304);
若不能通过定理1补足数据,从“设备位置关系表”中删除该行(步骤S308),再继续判断是否是“设备位置关系表”最后一行(步骤S304);
生成“设备2层连接关系表”(步骤S309)。
需要注意的是,表5所示设备连接关系包含了设备的直接连接和间接连接关系。要得到直接连接关系需要继续进行下一步。
接着,对表5所示设备2层连接关系表进行“去除末端设备行”的处理。如图5所示,所述处理包括:从所述“设备2层连接关系表”中找到末端设备以及与所述末端设备直接相连的设备;将包含末端设备和与所述末端设备直接相连的设备的连接关系插入“设备2层直接连接关系表”中,从所述“设备2层连接关系表”删除所有包含末端设备的行。
具体地,参考图5,所述对表5所示设备2层连接关系表进行“去除末端设备行”处理的具体步骤为:
从所述“设备2层连接关系表”中找到末端设备以及与所述末端设备直接相连的设备(步骤S401);
将包含末端设备和与所述末端设备直接相连的设备的连接关系插入“设备2层直接连接关系表”中(步骤S402);
从所述“设备2层连接关系表”删除所有包含末端设备的行(步骤S403);
判断所述“设备2层连接关系表行数是否大于0”(步骤S404);
若是,重复步骤S401至S404,若不是,则结束。
经过上述处理后,得到设备2层直接连接关系表(数据链路层拓扑)(表6):
  设备A 接口A   设备B 接口B
 ROUTER2  Fa 0/1  SWITCH1  Fa 0/21
 SWITCH1  Fa 0/20  ROUTER3  Fa 0/2
 SWITCH1  Fa 0/15  SWITCH2  Fa 0/5
表6:设备2层直接连接关系表(数据链路层拓扑)
然后,将所述直接相连的点对点网络接口和所述表6进行合并,得到所有网络设备的直接连接关系表,所述所有网络设备的直接连接关系表包含了网络层和数据链路层的拓扑。
需要注意的是,采集交换机MAC地址,某个主机的MAC地址出现在交换机的MAC地址表,且该接口不是网络设备之间的互联接口,则主机与交换机的该接口相连。表7示意了主机HOST1与交换机SWITCH 2的接口Fa 0/11相连。
  主机   设备B 接口B
 HOST1  SWITCH2  Fa 0/11
表7:主机位置表
接着,当利用traceroute方法对网络层进行故障定位,采集获取最后成功一跳的设备的路由表,得到下一跳出接口。如果所述下一跳的出接口连接的设备是交换机,则执行Traceswitch操作跟踪数据链路层路径并定位故障。
具体地,首先,根据网段查找与所述接口连接的数据链路层拓扑(如表6),然后查找从所述获取最后成功一跳的设备到下一跳设备需要经过的交换机。如图6所示,所述查找从所述获取最后成功一跳的设备到下一跳设备需要经过的交换机具体为:在所述数据链路层拓扑表中查找与所述获取最后成功一跳的设备直接连接的交换机以及相互直接连接的交换机,并形成交换机直接连接序列,所述交换机直接连接序列即为数据链路层路径。然后,如图7所示,网管顺序访问所述交换机直接连接序列中的各个交换机,如果所述网管访问在前交换机成功,而访问相邻在后交换机失败,则数据链路层故障出现在所述在前交换机与所述在后交换机之间;如果所述网管访问所述各个交换机均成功,则判断所述各个交换机的MAC地址表中是否有目的设备的MAC地址,若所述被判断的交换机的MAC地址表中没有所述目的设备的MAC地址并且不与所述目的设备相连,则数据链路层故障出现在所述被判断的交换机与位于所述被判断的交换机之后的交换机之间;若所述被判断的交换机的MAC地址表中没有所述目的设备的MAC地址并且直接与所述目的设备相连,则数据链路层故障出现在所述被判断的交换机与所述目的设备之间。
较佳地,在本发明一优选实施例中,利用所述traceroute方法对网络层进行故障定位,获取的最后成功一跳为设备A。
为了便于描述,做如下定义:以设备A为圆心,设备A的半径=0(用S0表示),与设备A直接相连的交换机是半径=1的交换机S1(用Si表示半径=i的交换机),找到半径=1的所有交换机后,从数据链路层拓扑表(表6)中删除所有包含S0的行,与半径=1的交换机直接相连的交换机半径=2。依此类推,可以得到各个半径值的交换机,S0、S1......、Sn
具体地,参考图6,描述了本发明实现数据链路层路径跟踪以及故障定位方法实施例的数据链路层路径获取的具体流程。需要注意的是,图中所示的i为一参数。如图所示,所述获取数据链路层路径具体步骤为:
采用traceroute方法定位所述网络层故障,获取最后成功一跳的设备A(步骤S501);
采集所述设备A的路由表信息,从所述数据链路层拓扑获取所述下一跳出接口连接的数据链路层拓扑(步骤S502);
定义i=1,从所述数据链路层拓扑中找到设备Si(步骤S503);
删除所述数据链路层拓扑中所有包含Si-1的行(步骤S504);
判断所述下一跳出接口连接的数据链路层拓扑表行数是否大于0(步骤S505);
若是,将i的数值自动加1(步骤S506)并重复步骤S503至505;
若不是,得到各半径值的交换机,即得到数据链路层路径(步骤S507)。
具体地,图7描述了本发明实现数据链路层路径跟踪以及故障定位方法实施例的数据链路层故障定位的具体流程。需要注意的是,图中所示的i和j均为参数,n为根据图6所示方法获得的交换机的个数,Sn为与下一跳设备直接连接的交换机。如图所示,所述数据链路层故障定位的具体步骤为:
定义i=0,判断网管访问Si+1是否成功(步骤S601);
若成功,继续判断i+1<n是否成立(步骤S602);    
若不成功,则确定故障在Si和Si+1之间(步骤S603);
若i+1<n成立,i=i+1(步骤S604)并重复步骤S601至S602;
若i+1<n不成立,则j=n(步骤S605);
判断Sj的MAC地址表中是否有目的设备的MAC地址(步骤S606);
若有,继续判断j>0是否成立(步骤S607);
若j>0成立,j=j-1(步骤S608)并重复步骤S606至S607;
若Sj的MAC地址表中没有目的设备的MAC地址,继续判断j=n是否成立(步骤S609);
若j=n成立,则确定故障在Sj和目的设备之间(步骤S610);
若j=n不成立,则确定故障在Sj和Sj+1之间(步骤S611)。
图8展示了本发明实施例的一种实现数据链路层路径跟踪以及故障定位的系统200。如图所示,所述实现数据链路层路径跟踪以及故障定位的系统200包括采集模块210、设备接口网际协议网段信息表生成模块220、物理地址出现位置表生成模块230、设备位置关系表生成模块240、设备2层连接关系表生成模块250、设备2层直接连接关系表生成模块260和跟踪数据链路层路径以及定位故障模块270。所述采集模块210用于采集所有网络设备的接口信息所述设备接口网际协议网段信息表生成模块220用于根据所述采集模块210采集的网络设备的接口信息生成设备接口网际协议网段信息表。所述物理地址出现位置表生成模块230用于根据所述设备接口网际协议网段信息表生成模块220生成的设备接口网际协议网段信息表中的多点对多点网络接口的物理地址生成物理地址出现位置表。所述设备位置关系表生成模块240用于根据所述物理地址出现位置表生成模块230生成的物理地址出现位置表生成设备位置关系表。所述设备2层连接关系表生成模块250用于对所述设备位置关系表生成模块240生成的设备位置关系表中不成对出现的设备进行处理,使所述设备成对出现,同时生成设备2层连接关系表。所述设备2层直接连接关系表生成模块260用于对所述设备2层连接关系表生成模块250生成的设备2层连接关系表进行处理,从而生成设备2层直接连接关系表。所述跟踪数据链路层路径以及定位故障模块270用于根据所述设备2层直接连接关系表生成模块260生成的设备2层直接连接关系表执行Traceswitch操作从而跟踪数据链路层路径以及定位故障。
由以上技术方案可以看出,本发明所述的实现数据链路层路径跟踪以及故障定位的系统,除了利用SNMP采集设备信息外,没有附加其他要求,适用范围广,可推广性和实用性强。
所述实现数据链路层路径跟踪以及定位故障的系统200还包括所有网络设备直接连接关系表生成模块280。所述所有网络设备直接连接关系表生成模块280用于根据所述设备接口网际协议网段信息表生成模块220生成的设备接口网际协议网段信息表中的点对点网络接口以及所述设备2层直接连接关系表生成模块260生成的设备2层直接连接关系表生成所有网络设备直接连接关系表。
如图9所示,所述跟踪数据链路层路径以及定位故障模块270包括数据链路层路径跟踪单元27 1和数据链路层故障定位单元272。所述数据链路层路径跟踪单元271用于查找从获取最后成功一跳的设备到下一跳设备需要经过的交换机从而跟踪数据链路层路径。所述数据链路层故障定位单元272用于由网关顺序访问所述数据链路层路径跟踪单元跟踪的数据链路层路径中的各个交换机从而定位数据链路层故障。所述数据链路层故障定位单元272还包括交换机访问成功判断子单元2721和目的设备物理地址存在判断子单元2722。所述交换机访问成功判断子单元2721用于判断网管对所述数据链路层路径跟踪单元271跟踪的数据链路层路径中的各个交换机的顺序访问是否成功从而定位数据链路层故障。所述目的设备物理地址存在判断子单元2722用于判断所述数据链路层路径跟踪单元271跟踪的数据链路层路径中的各个交换机的物理地址表中是否有目的设备的物理地址从而定位数据链路层故障。
如图10所示,所述设备位置关系表生成模块240还包括替换子单元241和插入子单元242。所述替换子单元241用于把所述物理地址出现位置表生成模块230生成的物理地址出现位置表中的物理地址用设备进行替换。所述插入子单元242用于直接插入同一网段内所有其他设备与路由器的位置关系。
如图11所示,所述设备2层连接关系表生成模块250包括条件判断单元251、数据补足单元252以及删除单元253。所述条件判断单元251用于判断所述不成对出现的两个设备是否满足定理1的条件。所述数据补足单元252用于当所述条件判断单元251判断出所述不成对出现的两个设备满足定理1的条件时补足数据使得设备成对出现。所述删除单元253用于当所述条件判断单元251判断出所述不成对出现的两个设备不满足所述定理1的条件时删除所述当前行。
如图12所示,所述设备2层直接连接关系表生成模块260包括查询单元261、插入单元262和删除单元263。所述查询单元261用于从所述设备2层连接关系表生成模块250生成的设备2层连接关系表中找到所有末端设备以及与所述末端设备直接相连的设备。所述插入单元262用于将包含所述查询单元26 1找到的末端设备和与所述末端设备直接相连的设备的连接关系插入设备2层直接连接关系表中。所述删除单元263用于从所述设备2层连接关系表生成模块250生成的设备2层连接关系表中删除所有包含所述末端设备的行。
在本实施例中,所述实现数据链路层路径跟踪以及故障定位的系统的所述接口信息包括网际协议地址、掩码以及物理地址。
以上结合最佳实施例对本发明进行了描述,但本发明并不局限于以上揭示的实施例,而应当涵盖各种根据本发明的本质进行的修改、等效组合。

Claims (14)

1.一种实现数据链路层路径跟踪以及故障定位的方法,包括以下步骤:
采集所有网络设备的接口信息;
根据所述网络设备的接口信息生成设备接口网际协议网段信息表;
根据所述设备接口网际协议网段信息表中的多点对多点网络接口的物理地址生成物理地址出现位置表;
根据所述物理地址出现位置表生成设备位置关系表;
对所述设备位置关系表中不成对出现的设备进行补足数据处理,使所述设备成对出现,同时生成设备2层连接关系表,所述不成对出现是在设备位置关系表中,第一设备出现在第二设备的X接口,没有一行是第二设备出现在第一设备的接口,所述成对出现是在设备位置关系表中,第一设备出现在第二设备的X接口,第二设备出现在第一设备的Y接口,所述补足数据处理是在满足定理1的条件下补充第三设备的接口信息,所述定理1的条件为:1)第一设备出现在第二设备的X接口,2)第三设备出现在所述第二设备的Z接口,又出现在所述第一设备的Y接口,3)所述X接口不等于所述Z接口;
对所述设备2层连接关系表进行处理,生成设备2层直接连接关系表;
根据所述设备2层直接连接关系表执行如下操作:查找从获取最后成功一跳的设备到下一跳设备需要经过的交换机从而跟踪数据链路层路径;网管顺序访问所述数据链路层路径中的各个交换机从而定位数据链路层故障。
2.如权利要求1所述的实现数据链路层路径跟踪以及故障定位的方法,其特征在于:所述对所述设备2层连接关系表进行处理,生成设备2层直接连接关系表之后执行步骤:
根据所述设备接口网际协议网段信息表中的点对点网络接口以及所述设备2层直接连接关系表生成所述所有网络设备的直接连接关系表。
3.如权利要求1所述的实现数据链路层路径跟踪以及故障定位的方法,其特征在于:所述查找从获取最后成功一跳的设备到下一跳设备需要经过的交换机从而跟踪数据链路层路径具体为:
在所述2层直接连接关系表中查找与所述获取最后成功一跳的设备直接连接的交换机以及相互直接连接的交换机,从而形成所述数据链路层路径。
4.如权利要求3所述的实现数据链路层路径跟踪以及故障定位的方法,其特征在于:所述网管顺序访问所述数据链路层路径中的各个交换机从而定位数据链路层故障具体为:
所述网管顺序访问所述数据链路层路径中的各个交换机,如果所述网管访问在前交换机成功,而访问相邻在后交换机失败,则所述数据链路层故障出现在所述在前交换机与所述在后交换机之间;如果所述网管访问所述各个交换机均成功,则判断所述各个交换机的物理地址表中是否有目的设备的物理地址,若所述被判断的交换机的物理地址表中没有所述目的设备的物理地址并且不与所述目的设备相连,则所述数据链路层故障出现在所述被判断的交换机与位于所述被判断的交换机之后的交换机之间;若所述被判断的交换机的物理地址表中没有所述目的设备的物理地址并且直接与所述目的设备相连,则所述数据链路层故障出现在所述被判断的交换机与所述目的设备之间。
5.如权利要求1所述的实现数据链路层路径跟踪以及故障定位的方法,其特征在于:所述根据所述物理地址出现位置表生成设备位置关系表具体为:
把所述物理地址出现位置表中的物理地址用设备进行替换,同时直接插入同一网段内所有其他设备与路由器的位置关系从而得到所述设备位置关系表。
6.如权利要求1所述的实现数据链路层路径跟踪以及故障定位的方法,其特征在于:所述对所述设备2层连接关系表进行处理,生成设备2层直接连接关系表的步骤具体为:
对所述设备2层连接关系表进行“去除末端设备行”的如下处理,生成所述2层直接连接关系表:从所述设备2层连接关系表中找到所述末端设备以及与所述末端设备直接相连的设备;将包含所述末端设备和与所述末端设备直接相连的设备的连接关系插入设备2层直接连接关系表中,从所述设备2层连接关系表中删除所有包含所述末端设备的行。
7.根据权利要求1所述的实现数据链路层路径跟踪以及故障定位的方法,其特征在于,所述采集所有网络设备的接口信息具体为:
利用简单网络管理协议采集所述所有网络设备的接口信息。
8.如权利要求1所述的实现数据链路层路径跟踪以及故障定位的方法,其特征在于,所述接口信息包括网际协议地址、掩码以及物理地址。
9.一种实现数据链路层路径跟踪以及故障定位的系统,包括:
采集模块,用于采集所有网络设备的接口信息;
设备接口网际协议网段信息表生成模块,用于根据所述采集模块采集的网络设备的接口信息生成设备接口网际协议网段信息表;
物理地址出现位置表生成模块,用于根据所述设备接口网际协议网段信息表生成模块生成的设备接口网际协议网段信息表中的多点对多点网络接口的物理地址生成物理地址出现位置表;
设备位置关系表生成模块,用于根据所述物理地址出现位置表生成模块生成的物理地址出现位置表生成设备位置关系表;
设备2层连接关系表生成模块,用于对所述设备位置关系表生成模块生成的设备位置关系表中不成对出现的设备进行补足数据处理,使所述设备成对出现,同时生成设备2层连接关系表,所述不成对出现是在设备位置关系表中,第一设备出现在第二设备的X接口,没有一行是第二设备出现在第一设备的接口,所述成对出现是在设备位置关系表中,第一设备出现在第二设备的X接口,第二设备出现在第一设备的Y接口,所述补足数据处理是在满足定理1的条件下补充第三设备的接口信息,所述定理1的条件为:1)第一设备出现在第二设备的X接口,2)第三设备出现在所述第二设备的Z接口,又出现在所述第一设备的Y接口,3)所述X接口不等于所述Z接口;
设备2层直接连接关系表生成模块,用于对所述设备2层连接关系表生成模块生成的设备2层连接关系表进行处理,从而生成设备2层直接连接关系表;
跟踪数据链路层路径以及定位故障模块,其包括:数据链路层路径跟踪单元,用于查找从获取最后成功一跳的设备到下一跳设备需要经过的交换机从而跟踪数据链路层路径;以及数据链路层故障定位单元,用于由网关顺序访问所述数据链路层路径跟踪单元跟踪的数据链路层路径中的各个交换机从而定位数据链路层故障。
10.如权利要求9所述的实现数据链路层路径跟踪以及故障定位的系统,其特征在于:还包括所有网络设备直接连接关系表生成模块,用于根据所述设备接口网际协议网段信息表生成模块生成的设备接口网际协议网段信息表中的点对点网络接口以及所述设备2层直接连接关系表生成模块生成的设备2层直接连接关系表生成所有网络设备直接连接关系表。
11.如权利要求9所述的实现数据链路层路径跟踪以及故障定位的系统,其特征在于:所述数据链路层故障定位单元包括:
交换机访问成功判断子单元,用于判断网管对所述数据链路层路径跟踪单元跟踪的数据链路层路径中的各个交换机的顺序访问是否成功从而定位数据链路层故障;
目的设备物理地址存在判断子单元,用于判断所述数据链路层路径跟踪单元跟踪的数据链路层路径中的各个交换机的物理地址表中是否有目的设备的物理地址从而定位数据链路层故障。
12.如权利要求9所述的实现数据链路层路径跟踪以及故障定位的系统,其特征在于:所述设备位置关系表生成模块包括:
替换子单元,用于把所述物理地址出现位置表生成模块生成的物理地址出现位置表中的物理地址用设备进行替换;
插入子单元,用于直接插入同一网段内所有其他设备与路由器的位置关系。
13.如权利要求9所述的实现数据链路层路径跟踪以及故障定位的系统,其特征在于:所述设备2层直接连接关系表生成模块包括:
查询单元,用于从所述设备2层连接关系表生成模块生成的设备2层连接关系表中找到所有末端设备以及与所述末端设备直接相连的设备;
插入单元,用于将包含所述查询单元找到的末端设备和与所述末端设备直接相连的设备的连接关系插入设备2层直接连接关系表中;
删除单元,用于从所述设备2层连接关系表生成模块生成的设备2层连接关系表中删除所有包含所述末端设备的行。
14.如权利要求9所述的实现数据链路层路径跟踪以及故障定位的系统,其特征在于,所述接口信息包括网际协议地址、掩码以及物理地址。
CN200810219072XA 2008-11-13 2008-11-13 数据链路层故障定位的方法及装置 Active CN101521593B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN200810219072XA CN101521593B (zh) 2008-11-13 2008-11-13 数据链路层故障定位的方法及装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN200810219072XA CN101521593B (zh) 2008-11-13 2008-11-13 数据链路层故障定位的方法及装置

Publications (2)

Publication Number Publication Date
CN101521593A CN101521593A (zh) 2009-09-02
CN101521593B true CN101521593B (zh) 2011-03-16

Family

ID=41081978

Family Applications (1)

Application Number Title Priority Date Filing Date
CN200810219072XA Active CN101521593B (zh) 2008-11-13 2008-11-13 数据链路层故障定位的方法及装置

Country Status (1)

Country Link
CN (1) CN101521593B (zh)

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9037693B2 (en) * 2013-01-03 2015-05-19 The Boeing Company Locating and addressing communication devices
CN110166315A (zh) * 2019-04-17 2019-08-23 浙江远望信息股份有限公司 一种对广播域内是否存在能连接互联网线路的探测方法
CN111030873A (zh) * 2019-12-24 2020-04-17 迈普通信技术股份有限公司 一种故障诊断方法及装置
CN117499214B (zh) * 2023-12-19 2024-03-29 苏州元脑智能科技有限公司 故障设备的确定方法和装置、存储介质及电子设备

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5881051A (en) * 1995-07-10 1999-03-09 International Business Machines Management of route testing in packet communications networks
CN1400775A (zh) * 2001-08-01 2003-03-05 华为技术有限公司 网络拓扑结构的搜索方法
CN101304333A (zh) * 2008-06-25 2008-11-12 中兴通讯股份有限公司 一种网络管理系统中网络拓扑的建立方法

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5881051A (en) * 1995-07-10 1999-03-09 International Business Machines Management of route testing in packet communications networks
CN1400775A (zh) * 2001-08-01 2003-03-05 华为技术有限公司 网络拓扑结构的搜索方法
CN101304333A (zh) * 2008-06-25 2008-11-12 中兴通讯股份有限公司 一种网络管理系统中网络拓扑的建立方法

Also Published As

Publication number Publication date
CN101521593A (zh) 2009-09-02

Similar Documents

Publication Publication Date Title
US8270306B2 (en) Fault management apparatus and method for identifying cause of fault in communication network
US9118587B2 (en) Network multi-path discovery
CN103339887B (zh) 用于优化网络前缀列表搜索的方法
EP1537701B1 (en) Root cause correlation in connectionless networks
EP2552065A1 (en) Controller placement for fast failover in the split architecture
CN101263696A (zh) 对来自多宿主主机的数据分组进行路由
CN101160909B (zh) 一种在弹性分组环上实现虚拟路由冗余协议的方法及系统
CN104717081A (zh) 一种网关功能的实现方法及装置
JP2005348051A (ja) ネットワーク機器のトポロジを探索する装置および方法
CN101771604B (zh) 路由探测方法、系统以及中间路由装置
CN102158348A (zh) 网络拓扑发现方法、装置及网络设备
CN104009926A (zh) Evi网络中的组播方法及边缘设备ed
CN101330466B (zh) 一种组播报文的转发方法及装置
CN101379778A (zh) 用于在通信系统中进行业务过滤的装置和方法
CN101945018B (zh) 节点探测方法、装置和网络中心节点
CN111556110B (zh) 一种用于私有云系统的不同物理业务网络自动化适配方法
CN101521593B (zh) 数据链路层故障定位的方法及装置
Lopez-Pajares et al. Amaru: Plug&play resilient in-band control for SDN
CN103036702A (zh) 一种跨网段的n+1备份方法及装置
CN102932250B (zh) 一种基于容错计算机网络结构的无死锁自适应路由方法
US7688743B2 (en) Tracing routing differences
CN110730093B (zh) 城域网网络拓扑测绘方法及装置
CN101102231B (zh) 一种ppp链路路由设备的自动发现方法和装置
CN105897490A (zh) 网络拓扑的自动发现方法
US11431632B1 (en) ID/location hybrid forwarding method based on source routing

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