CN101188530A - IPv4和IPv6网络故障检测及定位的方法和装置 - Google Patents
IPv4和IPv6网络故障检测及定位的方法和装置 Download PDFInfo
- Publication number
- CN101188530A CN101188530A CNA2007103038689A CN200710303868A CN101188530A CN 101188530 A CN101188530 A CN 101188530A CN A2007103038689 A CNA2007103038689 A CN A2007103038689A CN 200710303868 A CN200710303868 A CN 200710303868A CN 101188530 A CN101188530 A CN 101188530A
- Authority
- CN
- China
- Prior art keywords
- network
- link state
- network event
- state advertisement
- event
- 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.)
- Granted
Links
- 238000000034 method Methods 0.000 title claims abstract description 25
- 238000001514 detection method Methods 0.000 title description 9
- 238000012544 monitoring process Methods 0.000 claims abstract description 63
- 230000008859 change Effects 0.000 claims abstract description 7
- 230000005540 biological transmission Effects 0.000 claims description 12
- 238000012098 association analyses Methods 0.000 claims description 9
- 238000007689 inspection Methods 0.000 claims description 7
- 238000012360 testing method Methods 0.000 description 6
- 238000010586 diagram Methods 0.000 description 4
- 238000002474 experimental method Methods 0.000 description 4
- 230000001419 dependent effect Effects 0.000 description 2
- 230000006855 networking Effects 0.000 description 2
- 230000008439 repair process Effects 0.000 description 2
- 238000012163 sequencing technique Methods 0.000 description 2
- 230000009286 beneficial effect Effects 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 230000009977 dual effect Effects 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 230000006872 improvement Effects 0.000 description 1
- 230000004807 localization Effects 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000008569 process Effects 0.000 description 1
- 230000001902 propagating effect Effects 0.000 description 1
- 208000012788 shakes Diseases 0.000 description 1
Images
Landscapes
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本发明公开了一种IPv4和IPv6网络故障检测及定位的方法和装置,属于计算机网络管理技术领域。所述方法包括:路由监测***接收标识网络状态的链路状态广播,通过分析链路状态广播的类型及其信息变化产生网络事件,并将网络事件***网络事件数据表;路由监测***根据网络事件的属性,并对其和已有网络事件进行关联分析生成故障信息;路由监测***将故障信息***网络故障数据表,并向网管上报故障信息。所述装置包括:接收模块、分析产生模块、生成模块和上报模块。本发明通过路由监测***收集标识网络状态的链路状态广播,并对链路状态广播进行存储和分析,从而实现了及时地检测并定位网络中出现的故障。
Description
技术领域
本发明涉及计算机网络管理技术领域,特别涉及一种IPv4和IPv6网络故障检测及定位的方法和装置。
背景技术
随着互联网的高速发展,网络规模越来越大,结构也日趋复杂,如何保障互联网正确可靠的运行,成为了各大运营商急需解决的重大问题。路由器是互联网中的关键设备,其稳定性决定了互联网能否稳定的运行。而路由器的运行依赖于底层的路由协议,如使用最广泛的BGP(Border Gateway Protocol,边界网关协议)协议与OSPF(Open Shortest Path First,开放式最短路径优先协议)协议。
网络故障是网络管理人员最为关心的事情,只有及时地发现并修复网络中出现的异常和错误,才能保障互联网正确可靠地运行。传统的网络故障检测方法是利用SNMP(SimpleNetwork Management Protocol,简单网络管理协议)协议的TRAP事件,这种方法虽然能够检测到网络发生了故障,但是很难准确定位故障的位置,这就迫使网管人员要花费很长的时间进行人工查找,这样不仅提高了对网管人员的要求,而且查找的效率比较低。因此,及时地检测并定位网络故障是关键。
发明内容
为了实现及时地检测并定位网络中出现的故障,本发明实施例提供了一种IPv4和IPv6网络故障检测及定位的方法,所述方法包括:
步骤A:路由监测***接收标识网络状态的链路状态广播,通过分析所述链路状态广播的类型及其信息变化产生网络事件,并将所述网络事件***网络事件数据表;
步骤B:所述路由监测***根据所述网络事件的属性,并对其和已有网络事件进行关联分析生成故障信息;
步骤C:所述路由监测***将所述故障信息***网络故障数据表,并向网管上报所述故障信息。
所述步骤A具体包括:
步骤A1:路由监测***接收到标识网络状态的链路状态广播后,将所述链路状态广播***到本地数据库中的链路状态广播数据表中,并将所述链路状态广播中的状态字段置1;
步骤A2:所述路由监测***在所述链路状态广播数据表中查找到所述链路状态广播的副本,并将所述副本的状态字段置0;
步骤A3:所述路由监测***根据所述链路状态广播中的时限字段和类型字段,并对所述链路状态广播和副本链路状态广播的信息进行比较产生网络事件,将所述网络事件***网络事件数据表。
所述链路状态广播数据表包括链路状态广播头部子数据表、路由器-链路状态广播子数据表和网络-链路状态广播子数据表。
所述步骤B具体为:所述路由监测***检查所述网络事件是否为单独事件,如果是,则所述路由监测***根据所述单独事件生成对应的故障信息。
所述步骤B具体为:所述路由监测***在所述网络事件数据表中查找是否存在与所述网络事件相关联的网络事件,如果不存在,则所述路由监测***根据所述网络事件生成故障信息;如果存在,则所述路由监测***对所述网络事件进行关联分析,并准确生成故障信息。
所述步骤C中所述路由监测***将所述故障信息***网络故障数据表的步骤具体为:所述路由监测***根据网络事件关联结果设置网络故障类型字段,并根据所述网络事件设置网络故障数据表中的故障产生时间字段和故障详细信息字段。
本发明实施例还提供了一种IPv4和IPv6网络故障检测及定位的装置,所述装置包括:
接收模块,用于接收并发送标识网络状态的链路状态广播;
分析产生模块,用于接收所述接收模块发送的链路状态广播,通过分析所述链路状态广播的类型及其信息变化产生网络事件,将所述网络事件***网络事件数据表,并发送所述网络事件;
生成模块,用于接收所述分析产生模块发送的网络事件,并根据所述网络事件的属性,对其和已有网络事件进行关联分析生成故障信息,发送所述故障信息;
上报模块,用于接收所述生成模块发送的故障信息,将所述故障信息***网络故障数据表,并向网管上报所述故障信息。
所述分析产生模块包括:
***置位单元,用于接收所述接收模块发送的链路状态广播,将所述链路状态广播***到本地数据库中的链路状态广播数据表中,并将所述链路状态广播中的状态字段置1;
查找置位单元,用于接收所述接收模块发送的链路状态广播,在链路状态广播数据表中查找到所述链路状态广播的副本,并将所述副本的状态字段置0;
比较产生单元,用于接收所述接收模块发送的链路状态广播,并根据所述链路状态广播中的时限字段和类型字段,对所述链路状态广播和副本链路状态广播的信息进行比较产生网络事件,将所述网络事件***网络事件数据表,发送所述网络事件。
所述生成模块包括:
检查单元,用于接收所述分析产生模块发送的网络事件,并检查所述网络事件的属性,发送检查结果;
生成单元,用于接收所述检查单元发送的检查结果,并根据所述检查结果生成故障信息,发送所述故障信息。
所述上报模块包括:
设置单元,用于根据所述生成模块得到的网络事件关联结果设置网络故障类型字段,并根据网络事件设置网络故障数据表中的故障产生时间字段和故障详细信息字段;
接收上报单元,用于接收所述生成模块发送的故障信息,并向网管上报所述故障信息。
本发明实施例提供的技术方案的有益效果是:本发明实施例通过路由监测***收集标识网络状态的链路状态广播,并对链路状态广播进行存储和分析,从而实现了及时地检测并定位网络中出现的故障。
附图说明
图1是本发明实施例提供的基于OSPF协议的故障检测及定位***组网示意图;
图2是本发明实施例提供的IPv4和IPv6网络故障检测及定位方法流程图;
图3是本发明实施例提供的CERNET2的网络拓扑示意图;
图4是本发明实施例提供的IPv4和IPv6网络故障检测及定位的装置结构示意图。
具体实施方式
为使本发明的目的、技术方案和优点更加清楚,下面将结合附图对本发明实施方式作进一步地详细描述。
本发明实施例首先建立一个基于LSA(Link State Advertisement,链路状态广播)变化的事件驱动网络故障检测定位模型,通过对接收到的LSA进行存储和分析并与数据库中已有LSA作比较,生成自定义的网络事件,再对网络事件进行相关性和实时性处理,最终定位网络故障并向网管人员报告。由于本发明实施例所提供的方法在IPv4网络中的实现与在IPv6网络中的实现基本一致,故在此只列出在IPv4网络中的具体实现细节及检测得到的实验数据。
本发明实施例为OSPF路由监测***的一部分,该***的组网示意图如图1所示,部署监测***的主机通过运行开源软件Zebra实现OSPF协议,通过与邻居路由器建立紧邻关系,获取其它路由器发布的在网络中洪泛的LSA。该***共定义了31种网络事件,每一种LSA可能产生多个网络事件,因此网络事件的编号顺序与LSA类型的先后顺序是一致的。本发明实施例只使用了其中8种用于故障检测及定位的网络事件,网络事件编号和说明如表1所示。
表1
网络事件 | 编号 | 对应的LSA | 说明 |
ROUTER_DOWNLINK_ROUTER_DOWNLINK_STUB_DOWNLINK_TRANSIT_DOWNLINK_VIRTUAL_DOWNLINK_TYPE_CHXNETOWRK_DOWNROUTER_DEL | 278910111416 | Router-LSARouter-LSARouter-LSARouter-LSARouter-LSARouter-LSANetwork-LSANetwork-LSA | 接收到Age字段为MaxAge的Router-LSA,标识某路由器出现了故障某个路由器原有的一条到其他路由器的链路断掉了某个路由器原有的一条到存根网络的链路断掉了某个路由器原有的一条到传输网络的链路断掉了某个路由器原有的一条到其他路由器的虚拟链路断掉了某个路由器的一条链路由连到传输网络转变为连到存根网络接收到Age字段为MaxAge的Network-LSA,标识某网络出现了故障某个网络中原有的一台路由器或与之相连的链路出现了故障 |
数据库中存储有3张数据表,分别是LSA数据表、网络事件Events数据表和网络故障Failures数据表。其中LSA数据表包含3个子数据表,分别是LSA头部子数据表(如表2所示)、Router-LSA子数据表(如表3所示)和Network-LSA子数据表(如表4所示)。
表2
字段 | 含义 |
id | 数据表的主键 |
TypeAgeFlagLink State IDAdvertising Router | LSA的类型LSA的时限标识LSA的状态,1为有效,0为无效连接状态标识LSA的宣告路由器 |
表3
字段 | 含义 |
id | 数据表的主键 |
lsa idLink IDLink DataLink Type | 对应LSA头部子数据表的id字段连接标识连接数据连接类型 |
表4
字段 | 含义 |
id | 数据表的主键 |
lsa idNetwork MaskAttached Router | 对应LSA头部子数据表的id字段网络掩码接入路由器 |
字段Age标识了LSA的时限,即LSA的有效期,如果其值为MaxAge(默认值为3600),那么该LSA已到期。
字段组合<Type,Link State ID,Advertising Router>唯一的标识了一个LSA。如果两个LSA拥有相同的字段组合<Type,Link State ID,Advertising Router>,但其它字段并不完全相同,那么这两个LSA互称为对方的副本LSA。
字段组合<Link ID,Link Data,Link Type>为Router-LSA所独有,唯一的标识了一条到邻居路由器的链路,该字段组合的说明如表5所示。表5中的DR是Designated Router,即指定路由器。
表5
Link Type | Link ID | Link Data | 说明 |
1234 | 邻居路由器IDDR的接口地址网络的IP地址邻居路由器ID | 关联接口的IP地址关联接口的IP地址IP地址的掩码关联接口的IP地址 | 点对点链路连接到传输网络的链路连接到存根网络的链路虚拟链路 |
字段组合<Network Mask,Attached Router>为Network-LSA所独有,唯一的标识了一个接入路由器。
由于一个LSA中可能包含多条链路或多个接入路由器,因此LSA头部子数据表中的一条记录可能对应Router-LSA子数据表或Network-LSA子数据表的多个字段。在Router-LSA或Network-LSA子数据表中使用字段lsa id来标识某条记录所对应的LSA头部。
网络事件Events数据表如下表6所示:
表6
字段 | 含义 |
idfidtimetyperouterIDdesRouterIDnetID | 数据表的主键事件所对应的网络故障的id事件产生的时间事件的类型LSA中所描述的源路由器IDLSA中所描述的目的路由器IDLSA中所描述的网络ID |
字段type即网络事件的类型编号,如表2所示。
字段fid标识事件所对应的网络故障在网络故障Failures数据表中的id,默认值为-1。
在生成网络事件时,需要使用LSA数据表中的字段为网络事件的字段组合<routerID,desRouterID,netID>赋值,每个事件的具体赋值情况如下表7所示,Null表示空值。
表7
网络事件 | 对应的LSA | routerID | desRouterID | netID |
ROUTER_DOWNLINK_ROUTER_DOWNLINK_STUB_DOWNLINK_TRANSIT_DOWNLINK_VIRTUAL_DOWNLINK_TYPE_CHXNETOWRK_DOWNROUTER_DEL | Router-LSARouter-LSARouter-LSARouter-LSARouter-LSARouter-LSANetwork-LSANetwork-LSA | Advertising RouterAdvertising RouterAdvertising RouterAdvertising RouterAdvertising RouterAdvertising RouterAdvertising RouterAdvertising Router | NullLinkIDNullNullLinkIDNullNullAttached Router | NullNullLinkIDLinkIDNullLinkIDLink StateIDLink StateID |
网络故障Failures数据表如下表8所示:
表8
字段 | 含义 |
idtimetypedetails | 数据表的主键故障产生的时间故障的类型故障的详细信息 |
其中,字段type有5种取值,取值及含义说明如下表9所示:
表9
类型 | 含义 |
12345 | 链路故障(LINK)路由器故障(ROUTER)链路或路由器故障(LINK|ROUTER)网络故障(NETWORK)链路或网络故障(LINK|NETWORK) |
其中,类型为1、2或4的故障为确定性故障,类型为3或5的故障暂时不能准确定位,需要根据后续的LSA信息进一步关联分析后准确定位。字段details描述了网络故障的详细信息。如果故障点是链路,则给出链路两端所连接路由器或网络的ID。如果故障点是路由器,则给出路由器的ID。如果故障点是网络,则给出网络DR的接口IP地址。使用网络事件Events数据表中的字段为details字段赋值的规则如下表10所示,表10中的type是指表9中定义的故障类型,斜体字为Events数据表中的字段。
表10
type | details |
12345 | The LINK linking router routerID with[router desRouterID][network netID]is DOWNA ROUTER with routerID is DOWNA ROUTER with routerID or a LINK linking router routerID with router desRouterID is DOWNA NETWORK with IP netID is DOWNA NETWORK with IP netID or a LINK linking router routerID with network netID is DOWN |
在表10中,[router desRouterID][network netID]表示二者选其一:如果desRouterID不是Null,那就选择desRouterID,否则选择netID。
网络事件与网络故障的对应关系如下表11所示:
表11
网络事件编号 | 网络事件 | 所描述的网络故障 |
278910111416 | ROUTER_DOWNLINK_ROUTER_DOWNLINK_STUB_DOWNLINK_TRANSIT_DOWNLINK_VIRTUAL_DOWNLINK_TYPE_CHXNETOWRK_DOWNROUTER_DEL | 路由器故障(ROUTER)链路或路由器故障(LINK|ROUTER)网络故障(NETWORK)链路或网络故障(LINK|NETWORK)链路故障(LINK)链路或路由器故障(LINK|ROUTER)链路或网络故障(LINK|NETWORK)链路或路由器故障(LINK|ROUTER) |
多个网络事件可能描述同一个网络故障,只有检测到所有相关的网络事件,才能准确定位网络故障,但不能保证这些网络事件被同时检测到,存在一个延时。因此,若要准确定位并报告一个网络故障,必须要找出网络事件的相关性以及相关事件的到达延时。下面将分别对网络事件的相关性和相关事件的到达延时做具体说明。
找出网络事件的相关性,即找出事件之间在属性上的联系,而通过这些联系即可判断出两个网络事件是否因同一个网络故障而产生。本发明实施例共定义了8种事件,某些网络故障只产生一个单独的网络事件,称这类网络事件为单独事件。某些故障产生多个网络事件,称这类网络事件为关联事件。在表11中,网络事件编号为2、8和10的属于单独事件,网络事件编号为7、9、11、14和16的属于关联事件。
单独事件与网络故障的对应关系如下表12所示:
表12
事件编号(类型) | 事件实例 | 对应的网络故障 |
2810 | e2e8e10 | 路由器e2.routerID发生了故障网络e8.netID发生了故障一条连接路由器e10.routerID和路由器e10.desRouterID的虚拟链路发生了故障 |
关联事件与网络故障的对应关系如下:
关联事件的关联性如下表13所示,值为1代表两个事件存在关联,值为0代表两个事件不存在关联。
表13
事件7 | 事件9 | 事件11 | 事件14 | 事件16 | |
事件7事件9事件11事件1***16 | 1 | 01 | 010 | 0110 | 11001 |
关联事件的具体关联条件及关联结果如下表14所示:
表14
事件类型 | 事件实例 | 关联条件 | 关联结果 |
(7,7)(7,16)(9,9)(9,11)(9,14)(9,16)(11,14)(16,16) | e7和e7′e7和e16e9和e9′e9和e11e9和e14e9和e16e11和e14e16和e16′ | ①e7.routerID=e7′.desRouterID且e7.desRouterID=e7′routerID②e7.desRouterID=e7′.desRouterID且e7.routerID!=e7′.routerIDe7.desRouterID=e16.desRouterIDe9.netID=e9′.netIDe9.netID=e11.netID①e9.netID=e14.netID且e9.routerID!=e14.routerID②e9.netID=e14.netID且e9.routerID=e14.routerIDe9.netID=e16.netID且e9.routerID=e16.desRouterIDe11.netID=e14.netIDe16.desRouterID=e16′.desRouterID且e16.routerID!=e16′.routerID | ①一条连接路由器e7.routerID和路由器e7′.desRouterID的链路发生了故障②路由器e7.desRouterID发生了故障路由器e7.desRouterID发生了故障网络e9.netID发生了故障一条连接路由器e9.routerID与网络e9.netID的链路发生了故障①网络e9.netID发生了故障②一条连接路由器e9.routerID与网络e9.netID的链路发生了故障一条连接路由器e9.routerID与网络e9.netID的链路发生了故障一条连接路由器e14.routerID与网络e11.netID的链路发生了故障路由器e16.desRouterID发生了故障 |
某些网络事件因同一个网络故障而产生,但这些网络事件所对应的LSA到达检测***的时间却并不一样。在OSPF协议中,路由器定时向邻居路由器发送Hello报文以测试其是否存活,如果在RouterDeadInterval时间间隔内仍未收到邻居路由器的回复,就认为邻居路由器发生了故障,同时产生LSA来描述该故障,并向全网传播。OSPF协议默认的RouterDeadInterval值为4个Hello时间间隔,而Hello的默认值是10秒,所以,检测到邻居路由器故障的最长时间间隔是40秒。LSA到达检测***的延时包括两个部分:一是检测到路由器故障所需的时间,二是描述故障的LSA到达检测***所需的时间(即在网络中传播的时间)。由于不同的网络拓扑结构不尽相同,因此上述第二部分时间的估测十分困难,考虑到OSPF协议收敛速度快的特点,忽略第二部分时间,那么两个LSA到达检测***的最长时间间隔是40秒。路由器R1与路由器R2点对点相连,路由器R2与路由器R3点对点相连,某时,R2突然出现故障,恰巧R1正要向R2发送更新包,因此立刻就发现了R2的故障,R1发LSA通告全网,R3是通过连续发送4个Hello报文才检测到R2的故障,这时才发LSA。由此可以得出,两个LSA到达检测***最长的时间间隔是40秒。在实际运行中可以根据实际的OSPFRouterDeadInterval调整参数。如果相同的LSA在很短的时间间隔内重复到来,则说明该LSA所描述的网络故障正处于抖动阶段,如果此时***已经向网管人员报告了该网络故障,则忽略该LSA,如果还没有报告该网络故障,则立即向网管人员报告该网络故障,这个用以判断重复LSA的时间间隔可以根据实际需要来进行设置,例如60秒。
基于上面的阐述,本发明实施例提供的IPv4和IPv6网络故障检测及定位的方法,具体包括以下步骤,参见图2:
步骤101:OSPF路由监测***读取***配置,并从指定接口接收一个LSA;
步骤102:OSPF路由监测***检查收到的LSA的类型是否为Router-LSA或Network-LSA,如果是,则执行步骤103,否则执行步骤113;
通常情况下,类型为Router-LSA或Network-LSA的LSA与网络故障有关,本实施例就是针对这两种类型的LSA来进行网络故障检测及定位的;
步骤103:OSPF路由监测***在本地数据库中的LSA头部子数据表中查找是否存在接收到的LSA副本,如果存在,则执行步骤104,否则执行步骤113;
OSPF路由监测***从接收到的LSA中分别得到字段<Type,Link State ID,AdvertisingRouter>的值,并在本地数据库中的LSA头部子数据表(表2)中查找是否存在与这3个字段的值相同的LSA记录,如果存在,则说明本地数据库中存在接收到的LSA副本,执行步骤104,否则,说明接收到的LSA是一个全新的LSA,它标识网络中新增加的节点,不属于网络故障范畴,执行步骤113;通常情况下,本地数据库中存在多个LSA副本;
步骤104:OSPF路由监测***更新LSA数据表中的记录;
OSPF路由监测***将接收到的LSA***LSA数据表中,并将接收到的LSA中的Flag字段置1,将查找到的LSA副本中的Flag字段置0,使LSA副本处于无效状态;
步骤105:OSPF路由监测***根据接收到的LSA中的Age字段值、LSA类型,并对接收到的LSA和副本LSA的信息进行比较产生网络事件,并将网络事件***网络事件Events数据表中;
本步骤具体包括以下几种情况:
1)当接收到的LSA中的Age字段值等于MaxAge时,说明该LSA的有效期已到,如果接收到的LSA类型是Router-LSA,则产生网络事件2(如表1所示);如果接收到的LSA类型是Network-LSA,则产生网络事件14(如表1所示);并按照表7及接收到的LSA类型对网络事件的各个字段赋值,将该网络事件记录***网络事件Events数据表;
2)当接收到的LSA中的Age字段值不等于MaxAge时,说明该LSA在有效期内;如果接收到的LSA类型是Router-LSA,则OSPF路由监测***针对LSA副本中Router-LSA子数据表(如表3所示)的每个记录,按照字段<Link ID,Link Data>值在收到的LSA中查找是否存在与这2个字段的值相同的链路,如果存在,则OSPF路由监测***检查该链路的LinkType字段的值是否与接收到的LSA中的Link Type相同,如果相同,则OSPF路由监测***认为接收到的LSA所描述的链路和LSA副本所描述的链路相同,如果不相同,OSPF路由监测***产生网络事件11(如表1所示),即说明某条链路由连接到传输网络转变为连接到存根网络;如果不存在,则OSPF路由监测***根据LSA副本中字段Link Type值,产生不同的网络事件,具体为:a)若Link Type=1,则产生网络事件7;b)若Link Type=2,则产生网络事件9;c)若Link Type=3,则产生网络事件8;d)若Link Type=4,则产生网络事件10;并按照表7及接收到的LSA类型对网络事件的各个字段赋值,将该网络事件记录***网络事件Events数据表;如果OSPF路由监测***接收到的LSA类型是Network-LSA,则OSPF路由监测***针对LSA副本中Network-LSA子数据表(如表4所示)的每个记录,在接收到的LSA中查找是否存在与这2个字段的值相同的接入路由器,如果不存在,说明网络丢失了该接入路由器,产生网络事件16;并按照表7及接收到的LSA类型对网络事件的各个字段赋值,将该网络事件记录***网络事件Events数据表;
MaxAge的值可以根据实际需要进行设置,默认值通常为3600;
步骤106:OSPF路由监测***检查网络事件是否为重复事件,如果是,执行步骤113,否则执行步骤107;
OSPF路由监测***在网络事件Events数据表中查询“事件产生的时间”在DuplicateTime(重复事件时间)之内,且字段<type,routerID,desRouterID,netID>与产生的网络事件相同的网络事件,如果查询结果不是空集,说明产生的网络事件是重复事件,网络故障处于抖动状态,执行步骤113;如果查询结果是空集,说明产生的网络事件不是重复事件,执行步骤107;
步骤107:OSPF路由监测***检查网络事件是否为单独事件,如果是,执行步骤108,否则执行步骤109;
OSPF路由监测***根据网络事件的事件类型字段type来判断是否为单独事件,如果type字段为2、8或10,则说明网络事件是单独事件,执行步骤108,否则网络事件是关联事件,执行步骤109;
步骤108:OSPF路由监测***根据不同网络事件类型的单独事件生成故障信息,将故障信息***网络故障Failures数据表,向网管上报故障信息,执行步骤113;
如果单独事件为网络事件2,则生成故障类型type=2的故障信息;如果单独事件为网络事件8,则生成故障类型type=4的故障信息;如果单独事件为网络事件10,则生成故障类型type=1的故障信息;网络故障Failures数据表中对应网络事件的其余字段根据网络事件来赋值(如表10所示);
步骤109:OSPF路由监测***检查是否存在与网络事件在“故障关联时间”内的故障,如果存在,则执行步骤110,否则执行步骤112;
OSPF路由监测***在网络故障Failures数据表中查询“故障产生的时间”在EventRelativeTime(故障关联时间)之内的故障,如果查询结果不是空集,则说明存在与网络事件在“故障关联时间”内的故障,执行步骤110;否则不存在与网络事件在“故障关联时间”内的故障,执行步骤112;
步骤110:OSPF路由监测***对在“故障关联时间”内的每个故障,检索故障所包含的每个网络事件,并查找是否存在与产生的网络事件相关联的网络事件,如果存在,则执行步骤111,否则执行步骤112;
OSPF路由监测***在网络事件Events数据表中,按照fid=F.id(F表示故障)条件查询出与步骤109查询出的故障对应的每一个网络事件,根据表14中的关联条件,判断产生的网络事件和查询出的网络事件之间的关联性;
步骤111:OSPF路由监测***根据与产生的网络事件相关联的网络事件,准确定位先前生成的模糊定位的故障信息,更新网络故障Failures数据表中故障信息的类型和详细描述字段,向网管上报故障信息,执行步骤113;
OSPF路由监测***根据F.id在网络故障Failures数据表中查找到描述网络故障的记录,如果该记录的type字段值是1或2或4,则表示网络故障可以被精确定位,更新网络事件Events数据表中与产生的网络事件对应的记录中的fid字段,使其值为F.id,执行步骤113;如果该记录的type字段值是3或5,则表示先前定位的网络故障较模糊,根据表10和表11更新网络故障记录中的type字段和details字段,更新网络事件Events数据表中与产生的网络事件对应的记录中的fid字段,使其值为F.id;并向网管上报故障信息;
步骤112:OSPF路由监测***根据产生的网络事件生成较模糊的故障信息,将故障信息***网络故障Failures数据表,并向网管上报故障信息;
当不存在与产生的网络事件相关联并精确定位故障的事件,此时生成较模糊的故障信息,需要等待更多的关联事件来进一步准确定位网络故障;更新网络事件Events数据表中与产生的网络事件对应的记录中的fid字段,使其值为F.id;网络故障Failures数据表中type字段的值由网络事件对应的网络故障来决定,其余字段根据网络事件来赋值(见表10,表11);
由于网络事件的到来是一个按照时间顺序发生的过程,而一个故障引起的网络事件不会同时到达OSPF路由监测***,当第一个网络事件到来时,由于OSPF路由监测***还没有收集到故障引起的所有网络事件,所以不能准确确定引起网络事件的真正故障,只能先暂时生成较模糊的故障信息,并等待有新的网络事件到来时进行关联分析并精确定位故障;
步骤113:OSPF路由监测***等待接收新的LSA。
为了充分地说明本发明实施例提供的方法可以及时有效地检测及定位网络故障,发明人对如图3所示的CERNET2网络拓扑进行了测试实验:在2.4GHz的CPU,512MB内存的Linux计算机上运行,通过OSPF代理部署在下一代中国教育科研网(CERNET2)上进行测试;其中,OSPF代理由软件Zebra实现,数据库采用Linux中的Mysql数据库。经过20个小时的测试,实验得到了如下数据,其中的IP地址已经过地址匿名化处理:
1、实验得到的代表故障的网络事件数据如下表15所示:
表15
id | fid | time | type | router ID | desRouter ID | net ID |
123456789101112131415 | 0122345657789810 | 2007-09-23 17:37:512007-09-23 17:37:592007-09-23 17:38:022007-09-23 17:38:052007-09-23 17:38:492007-09-23 17:43:322007-09-24 02:11:072007-09-24 02:11:072007-09-24 02:11:202007-09-24 06:37:532007-09-24 06:37:572007-09-24 10:45:242007-09-24 10:45:242007-09-24 10:45:282007-09-24 10:45:28 | 88169168787777878 | 192.168.120.254192.168.1.50192.168.120.192192.168.120.254192.168.120.192192.168.120.254192.168.120.222192.168.120.222192.168.120.204192.168.120.222192.168.120.204192.168.120.193192.168.120.193192.168.120.194192.168.120.194 | 00192.168.120.2540192.168.120.2540192.168.120.2040192.168.120.222192.168.120.204192.168.120.222192.168.120.1940192.168.120.1930 | 192.168.120.240192.168.1.48192.168.120.241192.168.120.241192.168.120.241192.168.120.2400192.168.120.1600000192.168.120.480192.168.120.56 |
2、实验检测到的网络故障如下表16所示:
表16
id | time | type | details |
012345678910 | 2007-09-23 17:37:512007-09-23 17:37:592007-09-23 17:38:052007-D9-23 17:38:492007-09-23 17:43:322007-09-24 02:11:202007-09-24 02:11:072007-09-24 06:37:572007-09-24 10:45:282007-09-24 10:45:242007-09-24 10:45:28 | 11141111111 | The LINK linking router 192 168.120.254 with stub network 192.168.120.240 is DOWNThe LINK linking router 192.168.1.50 with stub network 192.168.108.48 is DOWNThe LINK linking router 192.168.120.254 with DR 192.168.120.241 is DOWNA ROUTER with id 192.168 120.254 or a link linking this route r with DR 192.168.120.241 is DOWNThe LINK linking router 192.168.120.254 with stub network 192.168.120.240 is DOWNThe LINK linking router 192.168.120.204 with router 192.168.120.222 is DOWNThe LINK linking router 192.168.120.222 with stub network 192.168.120.160 is DOWNThe LINK linking router 192.168.120.204 with router 192.168.120.222 is DOWNThe LINK linking router 192.168.120.194 with router 192.168.120.193 is DOWNThe LINK linking router 192.168.120.193 with stub network 192.168.120.48 is DOWNThe LINK linking router 192.168.120.194 with stub network 192.168.120.56 is DOWN |
测试取得了良好的效果,经网络管理员证实,实验检测到的故障与实际网络中出现的故障一致。由此证明,本发明实施例提供的方法能够及时地发现并准确定位网络中出现的故障,从而及时地进行修复,有力地维护了网络的正确可靠运行。
参见图4,本发明实施例还提供了一种IPv4和IPv6网络故障检测及定位的装置,该装置包括:
接收模块,用于接收并发送标识网络状态的链路状态广播;
分析产生模块,用于接收接收模块发送的链路状态广播,通过分析链路状态广播的类型及其信息变化产生网络事件,将网络事件***网络事件数据表,并发送网络事件;
生成模块,用于接收分析产生模块发送的网络事件,并根据网络事件的属性,对其和已有网络事件进行关联分析生成故障信息,发送故障信息;
上报模块,用于接收生成模块发送的故障信息,将故障信息***网络故障数据表,并向网管上报故障信息。
分析产生模块包括:
***置位单元,用于接收接收模块发送的链路状态广播,将链路状态广播***到本地数据库中的链路状态广播数据表中,并将链路状态广播中的状态字段置1;
查找置位单元,用于接收接收模块发送的链路状态广播,在链路状态广播数据表中查找到链路状态广播的副本,并将副本的状态字段置0;
比较产生单元,用于接收接收模块发送的链路状态广播,并根据链路状态广播中的时限字段和类型字段,对链路状态广播和副本链路状态广播的信息进行比较产生网络事件,将网络事件***网络事件数据表,发送网络事件。
生成模块包括:
检查单元,用于接收分析产生模块发送的网络事件,并检查网络事件的属性,发送检查结果;
生成单元,用于接收检查单元发送的检查结果,并根据检查结果生成故障信息,发送故障信息。
上报模块包括:
设置单元,用于根据生成模块得到的网络事件关联结果设置网络故障类型字段,并根据网络事件设置网络故障数据表中的故障产生时间字段和故障详细信息字段;
接收上报单元,用于接收生成模块发送的故障信息,并向网管上报故障信息。
本发明实施例通过路由监测***收集标识网络故障的链路状态广播,并对链路状态广播进行存储和分析,从而实现了及时地检测并定位网络中出现的故障。
本发明实施例提供的方法与传统的方法相比具有以下优点:1)网络故障定位准确,能够找出具体发生网络故障的路由器、链路或网络节点;2)实时性好,能及时有效地帮助网络管理人员捕获网络中出现的故障;3)可靠性好,OSPF协议数据包的传输是基于TCP协议,而TCP协议的特点是可靠传输;4)支持IPv4/IPv6双栈,本发明实施例提供的方法同时支持IPv4和IPv6环境中网络故障检测和定位。
以上所述仅为本发明的较佳实施例,并不用以限制本发明,凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
Claims (10)
1.一种IPv4和IPv6网络故障检测及定位的方法,其特征在于,所述方法包括:
步骤A:路由监测***接收标识网络状态的链路状态广播,通过分析所述链路状态广播的类型及其信息变化产生网络事件,并将所述网络事件***网络事件数据表;
步骤B:所述路由监测***根据所述网络事件的属性,并对其和已有网络事件进行关联分析生成故障信息;
步骤C:所述路由监测***将所述故障信息***网络故障数据表,并向网管上报所述故障信息。
2.如权利要求1所述的IPv4和IPv6网络故障检测及定位的方法,其特征在于,所述步骤A具体包括:
步骤A1:路由监测***接收到标识网络状态的链路状态广播后,将所述链路状态广播***到本地数据库中的链路状态广播数据表中,并将所述链路状态广播中的状态字段置1;
步骤A2:所述路由监测***在所述链路状态广播数据表中查找到所述链路状态广播的副本,并将所述副本的状态字段置0;
步骤A3:所述路由监测***根据所述链路状态广播中的时限字段和类型字段,并对所述链路状态广播和副本链路状态广播的信息进行比较产生网络事件,将所述网络事件***网络事件数据表。
3.如权利要求2所述的IPv4和IPv6网络故障检测及定位的方法,其特征在于,所述链路状态广播数据表包括链路状态广播头部子数据表、路由器-链路状态广播子数据表和网络-链路状态广播子数据表。
4.如权利要求1所述的IPv4和IPv6网络故障检测及定位的方法,其特征在于,所述步骤B具体为:所述路由监测***检查所述网络事件是否为单独事件,如果是,则所述路由监测***根据所述单独事件生成对应的故障信息。
5.如权利要求1所述的IPv4和IPv6网络故障检测及定位的方法,其特征在于,所述步骤B具体为:所述路由监测***在所述网络事件数据表中查找是否存在与所述网络事件相关联的网络事件,如果不存在,则所述路由监测***根据所述网络事件生成故障信息;如果存在,则所述路由监测***对所述网络事件进行关联分析,并准确生成故障信息。
6.如权利要求1所述的IPv4和IPv6网络故障检测及定位的方法,其特征在于,所述步骤C中所述路由监测***将所述故障信息***网络故障数据表的步骤具体为:所述路由监测***根据网络事件关联结果设置网络故障类型字段,并根据所述网络事件设置网络故障数据表中的故障产生时间字段和故障详细信息字段。
7.一种IPv4和IPv6网络故障检测及定位的装置,其特征在于,所述装置包括:
接收模块,用于接收并发送标识网络状态的链路状态广播;
分析产生模块,用于接收所述接收模块发送的链路状态广播,通过分析所述链路状态广播的类型及其信息变化产生网络事件,将所述网络事件***网络事件数据表,并发送所述网络事件;
生成模块,用于接收所述分析产生模块发送的网络事件,并根据所述网络事件的属性,对其和已有网络事件进行关联分析生成故障信息,发送所述故障信息;
上报模块,用于接收所述生成模块发送的故障信息,将所述故障信息***网络故障数据表,并向网管上报所述故障信息。
8.如权利要求7所述的IPv4和IPv6网络故障检测及定位的装置,其特征在于,所述分析产生模块包括:
***置位单元,用于接收所述接收模块发送的链路状态广播,将所述链路状态广播***到本地数据库中的链路状态广播数据表中,并将所述链路状态广播中的状态字段置1;
查找置位单元,用于接收所述接收模块发送的链路状态广播,在链路状态广播数据表中查找到所述链路状态广播的副本,并将所述副本的状态字段置0;
比较产生单元,用于接收所述接收模块发送的链路状态广播,并根据所述链路状态广播中的时限字段和类型字段,对所述链路状态广播和副本链路状态广播的信息进行比较产生网络事件,将所述网络事件***网络事件数据表,发送所述网络事件。
9.如权利要求7所述的IPv4和IPv6网络故障检测及定位的装置,其特征在于,所述生成模块包括:
检查单元,用于接收所述分析产生模块发送的网络事件,并检查所述网络事件的属性,发送检查结果;
生成单元,用于接收所述检查单元发送的检查结果,并根据所述检查结果生成故障信息,发送所述故障信息。
10.如权利要求7所述的IPv4和IPv6网络故障检测及定位的装置,其特征在于,所述上报模块包括:
设置单元,用于根据所述生成模块得到的网络事件关联结果设置网络故障类型字段,并根据网络事件设置网络故障数据表中的故障产生时间字段和故障详细信息字段;
接收上报单元,用于接收所述生成模块发送的故障信息,并向网管上报所述故障信息。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN2007103038689A CN101188530B (zh) | 2007-12-26 | 2007-12-26 | OSPF路由监测***的IPv4和IPv6网络故障检测及定位方法和装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN2007103038689A CN101188530B (zh) | 2007-12-26 | 2007-12-26 | OSPF路由监测***的IPv4和IPv6网络故障检测及定位方法和装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN101188530A true CN101188530A (zh) | 2008-05-28 |
CN101188530B CN101188530B (zh) | 2011-04-27 |
Family
ID=39480729
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN2007103038689A Expired - Fee Related CN101188530B (zh) | 2007-12-26 | 2007-12-26 | OSPF路由监测***的IPv4和IPv6网络故障检测及定位方法和装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN101188530B (zh) |
Cited By (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102594626A (zh) * | 2012-03-08 | 2012-07-18 | 福建星网锐捷网络有限公司 | 一种IPv6隧道故障检测方法及装置 |
CN103051475A (zh) * | 2012-12-20 | 2013-04-17 | 瑞斯康达科技发展股份有限公司 | 网管设备、分级网管***及其查询被管设备状态的方法 |
CN103490971A (zh) * | 2013-09-26 | 2014-01-01 | 山东神思电子技术股份有限公司 | 一种虚拟通信链路完整性监测方法及装置 |
CN103812728A (zh) * | 2014-02-13 | 2014-05-21 | 普联技术有限公司 | 一种网络诊断方法、***及路由器 |
CN105187276A (zh) * | 2015-09-01 | 2015-12-23 | 中国科学院计算技术研究所 | IPV6网络环境中OSPFv3协议下的链路通断检测方法及*** |
CN105281974A (zh) * | 2015-09-01 | 2016-01-27 | 中国科学院计算技术研究所 | IPV6网络环境中OSPFv3协议下的路由器通断状态检测方法及*** |
CN105577464A (zh) * | 2014-10-17 | 2016-05-11 | 中国电信股份有限公司 | 双栈用户网络检测方法、装置和*** |
CN110611596A (zh) * | 2019-09-30 | 2019-12-24 | 广州竞远安全技术股份有限公司 | 一种局域网故障定位*** |
CN113162816A (zh) * | 2020-12-29 | 2021-07-23 | 深圳市吉祥腾达科技有限公司 | 一种交换机OSPFv3协议测试方法及测试*** |
CN117978612A (zh) * | 2024-03-28 | 2024-05-03 | 成都格理特电子技术有限公司 | 网络故障检测方法、存储介质以及电子设备 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20050276385A1 (en) * | 2004-06-01 | 2005-12-15 | Mccormick James S | Communication network event logging systems and methods |
-
2007
- 2007-12-26 CN CN2007103038689A patent/CN101188530B/zh not_active Expired - Fee Related
Cited By (14)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102594626B (zh) * | 2012-03-08 | 2014-08-27 | 福建星网锐捷网络有限公司 | 一种IPv6隧道故障检测方法及装置 |
CN102594626A (zh) * | 2012-03-08 | 2012-07-18 | 福建星网锐捷网络有限公司 | 一种IPv6隧道故障检测方法及装置 |
CN103051475A (zh) * | 2012-12-20 | 2013-04-17 | 瑞斯康达科技发展股份有限公司 | 网管设备、分级网管***及其查询被管设备状态的方法 |
CN103490971A (zh) * | 2013-09-26 | 2014-01-01 | 山东神思电子技术股份有限公司 | 一种虚拟通信链路完整性监测方法及装置 |
CN103812728A (zh) * | 2014-02-13 | 2014-05-21 | 普联技术有限公司 | 一种网络诊断方法、***及路由器 |
CN105577464A (zh) * | 2014-10-17 | 2016-05-11 | 中国电信股份有限公司 | 双栈用户网络检测方法、装置和*** |
CN105577464B (zh) * | 2014-10-17 | 2018-07-06 | 中国电信股份有限公司 | 双栈用户网络检测方法、装置和*** |
CN105281974A (zh) * | 2015-09-01 | 2016-01-27 | 中国科学院计算技术研究所 | IPV6网络环境中OSPFv3协议下的路由器通断状态检测方法及*** |
CN105187276A (zh) * | 2015-09-01 | 2015-12-23 | 中国科学院计算技术研究所 | IPV6网络环境中OSPFv3协议下的链路通断检测方法及*** |
CN105281974B (zh) * | 2015-09-01 | 2019-03-15 | 中国科学院计算技术研究所 | IPV6网络环境中OSPFv3协议下的路由器通断状态检测方法及*** |
CN110611596A (zh) * | 2019-09-30 | 2019-12-24 | 广州竞远安全技术股份有限公司 | 一种局域网故障定位*** |
CN113162816A (zh) * | 2020-12-29 | 2021-07-23 | 深圳市吉祥腾达科技有限公司 | 一种交换机OSPFv3协议测试方法及测试*** |
CN117978612A (zh) * | 2024-03-28 | 2024-05-03 | 成都格理特电子技术有限公司 | 网络故障检测方法、存储介质以及电子设备 |
CN117978612B (zh) * | 2024-03-28 | 2024-06-04 | 成都格理特电子技术有限公司 | 网络故障检测方法、存储介质以及电子设备 |
Also Published As
Publication number | Publication date |
---|---|
CN101188530B (zh) | 2011-04-27 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN101188530B (zh) | OSPF路由监测***的IPv4和IPv6网络故障检测及定位方法和装置 | |
EP2434688B1 (en) | Method and system for analyzing alarm root cause | |
US8583779B2 (en) | Root cause analysis approach with candidate elimination using network virtualization | |
CN113328872B (zh) | 故障修复方法、装置和存储介质 | |
CN106130761B (zh) | 数据中心的故障网络设备的识别方法和装置 | |
CN103442008B (zh) | 一种路由安全检测***及检测方法 | |
US7546609B2 (en) | Method and apparatus for determining monitoring locations in distributed systems | |
CN102308522B (zh) | 一种定位网络故障的方法、设备及*** | |
US8356093B2 (en) | Apparatus and system for estimating network configuration | |
US20230318906A1 (en) | Fault recovery plan determining method, apparatus, and system, and computer storage medium | |
US8130759B2 (en) | Routing validation | |
CN101015157A (zh) | 以太网oam网络中的告警指示与抑制(ais)机制 | |
CN101662393B (zh) | 域间前缀劫持检测与定位方法 | |
CN1937589A (zh) | 路由配置验证的装置和方法 | |
CN108449210B (zh) | 一种网络路由故障监测*** | |
CN103370904A (zh) | 用于确定网络意外事件的严重性的方法 | |
JP2002533017A (ja) | コンピュータネットワークのトポロジを決定する方法 | |
CN102420699A (zh) | 数字射频拉远***的设备编号分配方法及*** | |
CN112291116A (zh) | 链路故障检测方法、装置及网络设备 | |
CN102143011B (zh) | 一种实现网络保护的装置及方法 | |
CN103634166A (zh) | 一种设备存活检测方法及装置 | |
JP2002111665A (ja) | ローカルエリアネットワーク監視装置 | |
CN107222359B (zh) | 一种is-is网络中的链路异常检测方法及*** | |
CN113190368A (zh) | 实现表项检查的方法、装置及***、计算机存储介质 | |
CN116248479A (zh) | 网络路径探测方法、装置、设备及存储介质 |
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 | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20110427 |