CN101605063A - 网络故障定位系统及方法 - Google Patents
网络故障定位系统及方法 Download PDFInfo
- Publication number
- CN101605063A CN101605063A CNA2008103020707A CN200810302070A CN101605063A CN 101605063 A CN101605063 A CN 101605063A CN A2008103020707 A CNA2008103020707 A CN A2008103020707A CN 200810302070 A CN200810302070 A CN 200810302070A CN 101605063 A CN101605063 A CN 101605063A
- Authority
- CN
- China
- Prior art keywords
- packet
- type
- network
- response data
- data packet
- 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.)
- Pending
Links
Images
Landscapes
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本发明提供一种网络故障定位系统,运行于计算机,该计算机通过网络与其它计算机连接。该系统包括:设置模块,用于设置检测的目标端计算机的IP地址及设置检测数据包的生存周期值;发送模块,用于向目标端计算机发送检测数据包;接收模块,用于接收网络中设备回送的响应数据包;检查模块,用于检查所述响应数据包的报文类型,当响应数据包的报文类型为表明检测数据包不可到达目标端计算机的类型时,根据响应数据包的报文信息确定故障发生位置及原因。本发明还提供一种网络故障定位方法。利用本发明,可以准确定位网络中出现故障的位置及原因。
Description
技术领域
本发明涉及一种网络测试系统及方法,尤其是关于一种网络故障定位系统及方法。
背景技术
随着网络技术的飞速发展,计算机网络已经成为人们生活及工作不可或缺的一部分。一旦网络通讯发生故障,可能会导致工作陷入瘫痪状态或给生活造成不便。所以,当网络发生故障时,如何检测发生故障的位置及原因,一直是人们探求和期待解决的问题。
目前在排除网络故障方面,应用最广发的是通过采用ICMP(Internet Control MessageProtocol)数据包来探测目标计算机是否存活的方式:发送端计算机发送一个ICMP数据包到目标端计算机,如果在一定时间内发送端计算机接收到目标端计算机回送的响应ICMP数据包,则表明目标端计算机为存活状态,如果未接收到响应ICMP数据包,则表明网络存在故障。这种机制就是我们通常所用的ping命令来检测目标计算机是否可以ping到的机制。
随着计算机网络的复杂化,网络变成一个具备多层、多终端、多主干入口的复杂体系。一个网络可能存在多个路由器、多个主干入口,而我们使用的计算机通常属于网络某一级中的某一点。上述网络故障排除方法的不足开始显露出来:1.当网络出现故障时,无从得知具体是哪一段网络、哪一个设备出现故障,网络管理员只能逐一进行排查最终确定故障源;2.当网络出现故障时,无从得知具体是什么原因导致的故障,只能对网络软件设置、网络协议、通讯线路、网络硬件设备逐一进行检查,能否快速准确地排除故障依赖于网络管理员的经验及技能。
发明内容
鉴于以上内容,有必要提供一种网络故障定位系统,可以在网络出现故障时,准确地定位发生故障的网络节点及原因。
此外,还有必要提供一种网络故障定位方法,可以在网络出现故障时,准确地定位发生故障的网络节点及原因。
本发明提供一种网络故障定位系统,运行于一台计算机。该网络故障定位系统包括:设置模块,用于设置检测的目标计算机的IP地址及设置检测数据包的生存周期值;发送模块,用于向目标端计算机发送检测数据包;接收模块,用于接收网络中网络节点回送的响应数据包;及检查模块,用于检查接收到的响应数据包的报文类型为表明检测数据包已到达目标端计算机的类型、为表明检测数据包不可到达目标端计算机的类型还是超时报文类型,当响应数据包的报文类型为表明检测数据包不可到达目标端计算机的类型时,根据响应数据包的报文信息确定故障发生位置及原因;当响应数据包的报文类型为超时报文类型时,由设置模块重新设置检测数据包的生存周期值,并由发送模块重新向目标端计算机发送检测数据包。
本发明还提供一种网络故障定位方法,该方法包括以下步骤:(a)设置检测的目标端计算机的IP地址;(b)设置检测数据包的生存周期值为n,n为正整数,并初始化n=1;(c)向目标端计算机发送检测数据包;(d)在该检测数据包流经每一个具有路由功能的网络节点时,其生存周期值被减1;(e)监测并接收从各个网络节点反馈的对该检测数据包的响应数据包;(f)检查接收到的响应数据包的报文类型为表明检测数据包已到达目标端计算机的类型、为表明检测数据包不可到达目标端计算机的类型还是超时报文类型;及(g)若响应数据包的报文类型为表明检测数据包不可到达目标端计算机的类型,则根据响应数据包中的信息确定发生故障的网络节点及发生故障的原因,或者,若响应数据包的报文类型为超时报文类型,则设置n=n+1,并返回步骤(c)。
相较于现有技术,本发明提供的网络故障定位系统及方法可以对数据包从发送端计算机出发到目标端计算机经过的网络设备逐一进行探测,直到出现故障为止,并准确定位出现故障的位置及原因。
附图说明
图1是本发明网络故障定位系统较佳实施例的运行环境图。
图2是图1中网络故障定位系统的功能模块图。
图3是ICMP数据包的格式示意图。
图4是本发明网络故障定位方法较佳实施例的流程图。
具体实施方式
如图1所示,是本发明网络故障定位系统较佳实施例的运行环境图。网络50中接入多个网络设备,包括计算机10、集线器30、路由器40及其它设备,各计算机10通过通讯连接20及适当的数据连接设备(例如集线器30或/及路由器40)相连接,并基于网络协议(InternetProtocol,IP)实现与其它计算机10之间的通讯。
本网络故障定位系统100运行于任意一台计算机10,可以将ICMP数据包从发送端计算机10到目标端计算机10所经过的网络节点全部探测出来,识别产生故障的网络节点。
该网络故障定位系统100包括:设置模块110、发送模块120、接收模块130、检查模块140及记录模块150。
设置模块110用于设置检测的目标计算机的IP地址,所述目标计算机可以为一台计算机10,也可以为一个IP段的多个计算机10,当目标计算机为一个IP段的多个计算机10,所述IP地址为一个IP地址段。
设置模块110还用于设置ICMP检测数据包的生存周期(Time To Live,TTL)值,并初始化TTL=1。TTL代表的是ICMP检测数据包被丢弃之前允许通过的具有路由功能的网络节点(例如路由器40或具有路由功能的计算机10)数量。当ICMP数据包在网络中传递时,其经过的每个具有路由功能的网络节点(如路由器40)都要将TTL值减1。当TTL值为0时,具有路由功能的网络节点(如路由器40)丢弃该ICMP检测数据包,并发送一个ICMP响应数据包给发送端计算机10。有很多原因会导致ICMP检测数据包在一定时间内不能被传递到目标端计算机10。例如,不正确的路由表配置可能导致数据包的无限循环,而解决方法就是在一段时间后丢弃该ICMP检测数据包,然后给发送端计算机10发送一个ICMP响应数据包,由发送端计算机10决定是否重发该ICMP检测数据包。
如图3所示,ICMP数据包(包括所述ICMP检测数据包及ICMP响应数据包)的格式示意图。ICMP数据包分为两级封装,ICMP报文放在IP数据报的数据部分,IP数据报则放在帧的数据中进行网络传输。ICMP报文包括ICMP头及ICMP数据。IP数据报包括IP头及IP数据。IP头包括源IP地址及目的IP地址,其中,源IP地址指发送端计算机10或路由器的IP地址,目的IP地址指目标端计算机10或路由器的IP地址。ICMP头包括分别代表类型域、代码域及校验和的三个字段。类型域表示ICMP报文的类型,例如类型为8表示该ICMP报文为请求回应报文,类型为11表示该ICMP报文超时报文,类型为0表示该ICMP报文为目标端计算机10回送的回应报文,类型为3表示目标端计算机10不可达。代码域提供关于报文类型更进一步的信息,例如网络不可达、主机不可达、协议不可用等。校验和是整个ICMP数据包的校验和。
发送模块120用于向目标端计算机10发送ICMP检测数据包。
接收模块130用于接收网络50中网络设备(计算机10或路由器40)回送的ICMP响应数据包。
检查模块140用于监测接收模块130是否收到ICMP响应数据包,并检查接收到的ICMP响应数据包的报文类型,是为0,为3,还是为11。
如果ICMP报文类型为0,则表明ICMP检测数据包已成功到达目标端计算机10,发送端计算机10与目标端计算机10的IP、ICMP软件运行正常网络畅通,流程结束。
若检查模块140检查ICMP报文类型为3,则表明ICMP检测数据包在传送过程中遇到网络故障(如硬件损坏或协议不支持等),导致ICMP检测数据包被定向一个无效的目的地,这时无效目的地(即发送网络故障的位置)前一站的路由器或计算机10向发送端计算机回送目的不可达数据包(类型为3),则检查模块140根据ICMP响应数据包中IP头中源IP地址确定发生故障的网络节点,并根据代码域中记载的具体情况确定发生故障的原因,是网络不可达、主机不可达等、协议不可用,还是别的原因。
记录模块150用于记录故障发生位置及故障原因。
若检查模块140检查ICMP报文类型为11,则表明ICMP检测数据包还在网络50中正常传递,当ICMP检测数据包每经过一个具有路由功能的网络节点(如路由器40)时,其TTL值被减1,若TTL值被减1后不为0,则该ICMP检测数据包会继续向下一个网络设备传递,直到当TTL值为0时,该网络节点丢弃该ICMP检测数据包,并反馈一个超时报文给发送端计算机10(类型为11)。
记录模块150还用于记录超时报文信息,据此发送端计算机10得知其与该网络节点之间的网络正常,设置模块110将上一次设置的TTL值加1后重新发送ICMP检测数据包,以检测发送端计算机10与下一个网络节点之间的网络是否正常。
如图4所示,是本发明网络故障定位方法较佳实施例的流程图。
在步骤S101,设置模块110设置检测的目标端计算机的IP地址,所述目标端计算机可以为一台计算机10,也可以为一个IP段的多个计算机10,当目标端计算机为一个IP段的多个计算机10,所述IP地址为一个IP地址段。
在步骤S102,设置模块110设置ICMP检测数据包的TTL值,并初始化TTL=1。
在步骤S103,发送模块120向目标端计算机10发送ICMP检测数据包。
在步骤S104,检查模块140监测接收模块130是否接收网络50中网络节点(计算机10或路由器)回送的ICMP响应数据包。若未接收到,则继续监测。
在步骤S104,若检查模块140检查接收模块130接收到ICMP响应数据包,则在步骤S105,检查模块140检查ICMP响应数据包中的ICMP报文类型是为0还是为3,如果ICMP报文类型为0,则表明ICMP检测数据包已成功到达目标端计算机10,发送端计算机10与目标端计算机10IP、ICMP软件运行正常网络畅通,流程结束。
在步骤S105,若检查模块140检查ICMP响应数据包中的ICMP报文类型为3,则表明ICMP检测数据包在传送过程中遇到网络故障(如硬件损坏或协议不支持等),导致ICMP检测数据包被定向一个无效的目的地,这时无效目的地前一站的路由器或计算机10向发送端计算机10回送目的不可达数据包(类型为3)。在步骤S106,检查模块140根据ICMP响应数据包中IP头中源IP地址确定发生故障的网络节点,并根据代码域中记载的具体情况确定发生故障的原因,是网络不可达、主机不可达等、协议不可用,还是别的原因。
在步骤S107,记录模块150记录故障发生位置及故障原因。
在步骤S105,如果检查模块140检查ICMP响应数据包中的ICMP报文类型不为0也不为3,而为11,即ICMP响应数据包的报文类型为超时报文,则表明ICMP监测数据包还在网络50中传递,当ICMP检测数据包每经过一个具有路由功能的网络节点(如路由器40)时,其TTL值被减1,若TTL值被减1后不为0,则该ICMP检测数据包会继续向下一个网络设备传递,直到当TTL值为0时,该网络节点(如路由器40)丢弃该ICMP检测数据包,并反馈一个超时报文给发送端计算机10(类型为11)。
在步骤S108,记录模块150记录超时报文信息,据此发送端计算机10得知其与该网络节点(路由器40)之间的网络正常。
在步骤S109,设置模块110将上一次设置的ICMP检测数据包的TTL值加1后返回步骤S103,发送模块120重新向所述目标端计算机10发送ICMP检测数据包,以检测发送端计算机10与下一个网络节点之间的网络是否正常。如此循环,直到查找到出现故障的网络节点或探测完所有网络节点。
Claims (10)
1.一种网络故障定位方法,其特征在于,该方法包括以下步骤:
(a)设置检测的目标端计算机的IP地址;
(b)设置检测数据包的生存周期值为n,n为正整数,并初始化n=1;
(c)向目标端计算机发送检测数据包;
(d)在该检测数据包流经每一个具有路由功能的网络节点时,其生存周期值被减1;
(e)监测并接收从各个网络节点反馈的对该检测数据包的响应数据包;
(f)检查接收到的响应数据包的报文类型为表明检测数据包已到达目标端计算机的类型、为表明检测数据包不可到达目标端计算机的类型还是超时报文类型;及
(g)若响应数据包的报文类型为表明检测数据包不可到达目标端计算机的类型,则根据响应数据包中的信息确定发生故障的网络节点及发生故障的原因,或者,若响应数据包的报文类型为超时报文类型,则设置n=n+1,并返回步骤(c)。
2.如权利要求1所述的网络故障定位方法,其特征在于,所述超时报文类型的响应数据包由将该检测数据包的生存周期值减为零的网络节点发送。
3.如权利要求1所述的网络故障定位方法,其特征在于,所述目标端计算机为一台计算机。
4.如权利要求1所述的网络故障定位方法,其特征在于,所述目标端计算机为一个IP段的多台计算机,所述IP地址为一个IP地址段。
5.如权利要求1所述的网络故障定位方法,其特征在于,当步骤(g)中响应数据包的报文类型为表明检测数据包不可到达目标端计算机的类型时,该方法还包括以下步骤:
(g1)记录发生故障的网络节点位置及发生故障的原因。
6.如权利要求1所述的网络故障定位方法,其特征在于,当步骤(g)中响应数据包的报文类型为超时报文类型时,该方法还包括以下步骤:
(g2)记录超时报文信息。
7.一种网络故障定位系统,运行于一台计算机,其特征在于,该网络故障定位系统包括:
设置模块,用于设置检测的目标计算机的IP地址及设置检测数据包的生存周期值;
发送模块,用于向目标端计算机发送检测数据包;
接收模块,用于接收网络中网络节点回送的响应数据包;及
检查模块,用于检查接收到的响应数据包的报文类型为表明检测数据包已到达目标端计算机的类型、为表明检测数据包不可到达目标端计算机的类型还是超时报文类型,当响应数据包的报文类型为表明检测数据包不可到达目标端计算机的类型时,根据响应数据包的报文信息确定故障发生位置及原因;当响应数据包的报文类型为超时报文类型时,由设置模块重新设置检测数据包的生存周期值,并由发送模块重新向目标端计算机发送检测数据包。
8.如权利要求6所述的网络故障定位系统,其特征在于,所述检测数据包流经每一个具有路由功能的网络节点时,其生存周期值被减1,所述超时报文类型的响应数据包由将该检测数据包的生存周期值减为零的网络节点发送。
9.如权利要求6所述的网络故障定位系统,其特征在于,所述设置模块重新设置检测数据包的生存周期值是在上一次设置的检测数据包的生存周期值上加1。
10.如权利要求6所述的网络故障定位系统,其特征在于,该系统还包括记录模块,用于记录发生故障的网络节点位置及发生故障的原因。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CNA2008103020707A CN101605063A (zh) | 2008-06-10 | 2008-06-10 | 网络故障定位系统及方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CNA2008103020707A CN101605063A (zh) | 2008-06-10 | 2008-06-10 | 网络故障定位系统及方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN101605063A true CN101605063A (zh) | 2009-12-16 |
Family
ID=41470623
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CNA2008103020707A Pending CN101605063A (zh) | 2008-06-10 | 2008-06-10 | 网络故障定位系统及方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN101605063A (zh) |
Cited By (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101894059A (zh) * | 2010-06-11 | 2010-11-24 | 中兴通讯股份有限公司 | 一种运行状态的检测方法及系统 |
CN102238602A (zh) * | 2011-07-04 | 2011-11-09 | 南京邮电大学 | 一种无线传感器网络故障节点检测方法 |
CN102355383A (zh) * | 2011-09-28 | 2012-02-15 | 深圳市深信服电子科技有限公司 | 一种检测网络节点故障的方法和系统 |
CN102420711A (zh) * | 2010-09-28 | 2012-04-18 | 鸿富锦精密工业(深圳)有限公司 | 网络通信设备及其侦测负载异常的方法 |
CN102447597A (zh) * | 2012-01-11 | 2012-05-09 | 浪潮(北京)电子信息产业有限公司 | 一种实现ip有效性检测的方法及装置 |
US9059904B2 (en) | 2010-10-27 | 2015-06-16 | Huawei Technologies Co., Ltd. | Method and system for intermediate node to locate a fault independently |
CN112714200A (zh) * | 2019-10-24 | 2021-04-27 | 中国移动通信有限公司研究院 | 一种设备定位、设备显示位置的方法、设备及介质 |
CN112737843A (zh) * | 2020-12-29 | 2021-04-30 | 广东小天才科技有限公司 | 一种检查网络数据业务可用方法及系统 |
CN114866398A (zh) * | 2022-03-24 | 2022-08-05 | 阿里巴巴(中国)有限公司 | 网络故障诊断方法及装置 |
CN115242618A (zh) * | 2022-06-17 | 2022-10-25 | 北京奇艺世纪科技有限公司 | 中间件状态排查方法、装置、电子设备以及可读存储介质 |
-
2008
- 2008-06-10 CN CNA2008103020707A patent/CN101605063A/zh active Pending
Cited By (17)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101894059A (zh) * | 2010-06-11 | 2010-11-24 | 中兴通讯股份有限公司 | 一种运行状态的检测方法及系统 |
WO2011153792A1 (zh) * | 2010-06-11 | 2011-12-15 | 中兴通讯股份有限公司 | 一种运行状态的检测方法及系统 |
CN102420711A (zh) * | 2010-09-28 | 2012-04-18 | 鸿富锦精密工业(深圳)有限公司 | 网络通信设备及其侦测负载异常的方法 |
CN102420711B (zh) * | 2010-09-28 | 2014-04-30 | 鸿富锦精密工业(深圳)有限公司 | 网络通信设备及其侦测负载异常的方法 |
US9059904B2 (en) | 2010-10-27 | 2015-06-16 | Huawei Technologies Co., Ltd. | Method and system for intermediate node to locate a fault independently |
CN102238602A (zh) * | 2011-07-04 | 2011-11-09 | 南京邮电大学 | 一种无线传感器网络故障节点检测方法 |
CN102238602B (zh) * | 2011-07-04 | 2013-09-25 | 南京邮电大学 | 一种无线传感器网络故障节点检测方法 |
CN102355383A (zh) * | 2011-09-28 | 2012-02-15 | 深圳市深信服电子科技有限公司 | 一种检测网络节点故障的方法和系统 |
CN102447597B (zh) * | 2012-01-11 | 2014-11-19 | 浪潮(北京)电子信息产业有限公司 | 一种实现ip有效性检测的方法及装置 |
CN102447597A (zh) * | 2012-01-11 | 2012-05-09 | 浪潮(北京)电子信息产业有限公司 | 一种实现ip有效性检测的方法及装置 |
CN112714200A (zh) * | 2019-10-24 | 2021-04-27 | 中国移动通信有限公司研究院 | 一种设备定位、设备显示位置的方法、设备及介质 |
CN112737843A (zh) * | 2020-12-29 | 2021-04-30 | 广东小天才科技有限公司 | 一种检查网络数据业务可用方法及系统 |
CN112737843B (zh) * | 2020-12-29 | 2023-04-18 | 广东小天才科技有限公司 | 一种检查网络数据业务可用的方法及系统 |
CN114866398A (zh) * | 2022-03-24 | 2022-08-05 | 阿里巴巴(中国)有限公司 | 网络故障诊断方法及装置 |
CN114866398B (zh) * | 2022-03-24 | 2024-01-09 | 阿里巴巴(中国)有限公司 | 网络故障诊断方法及装置 |
CN115242618A (zh) * | 2022-06-17 | 2022-10-25 | 北京奇艺世纪科技有限公司 | 中间件状态排查方法、装置、电子设备以及可读存储介质 |
CN115242618B (zh) * | 2022-06-17 | 2024-01-30 | 北京奇艺世纪科技有限公司 | 中间件状态排查方法、装置、电子设备以及可读存储介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN101605063A (zh) | 网络故障定位系统及方法 | |
US7599301B2 (en) | Communications network tap with heartbeat monitor | |
US9749011B2 (en) | Physical unidirectional communication apparatus and method | |
CN101595686B (zh) | 触发中间设备处的流分析 | |
JP2019205171A (ja) | ビットフォワーディングイングレスルータ、ビットフォワーディングルータ及び運用管理保守テスト方法 | |
US7486625B2 (en) | Communications network tap with link fault detector | |
CN107171883B (zh) | 检测转发表的方法、装置和设备 | |
US7969894B2 (en) | System and method for dead gateway detection | |
CN109586959B (zh) | 一种故障检测的方法及装置 | |
CN101471822A (zh) | 一种定位网络故障的方法和系统 | |
CN108737206B (zh) | 网络通道的选路方法、装置及其计算机设备 | |
CN101808021A (zh) | 故障检测方法、装置及系统以及报文统计方法、节点设备 | |
CN103428032A (zh) | 一种攻击定位、辅助定位装置和方法 | |
CN104717105A (zh) | 一种基于ISA100.11a标准的工业传感网数据重复检测方法 | |
CN101001257A (zh) | 基于地址解析协议的链路质量方法及相关装置及系统 | |
JP4861293B2 (ja) | 通信装置、通信方法および通信プログラム | |
CN103634166B (zh) | 一种设备存活检测方法及装置 | |
CN102739462B (zh) | 一种测试报文的发送方法以及装置 | |
CN107659436B (zh) | 一种防止业务中断的方法及装置 | |
US7626937B2 (en) | System and method for network connection detection | |
KR101866377B1 (ko) | Sdn상의 멀티캐스트 패킷 손실 위치 탐지 방법 | |
US8064454B2 (en) | Protocol incompatibility detection | |
WO2012077308A1 (en) | Communication path verification system, path verification device, communication path verification method, and path verification program | |
US8064335B2 (en) | Communication monitoring method, communication monitoring system, management system, and external device | |
CN113037622B (zh) | 一种防止bfd震荡的系统及方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C02 | Deemed withdrawal of patent application after publication (patent law 2001) | ||
WD01 | Invention patent application deemed withdrawn after publication |
Open date: 20091216 |