CN104125590B - 链路故障诊断装置以及方法 - Google Patents
链路故障诊断装置以及方法 Download PDFInfo
- Publication number
- CN104125590B CN104125590B CN201310149101.0A CN201310149101A CN104125590B CN 104125590 B CN104125590 B CN 104125590B CN 201310149101 A CN201310149101 A CN 201310149101A CN 104125590 B CN104125590 B CN 104125590B
- Authority
- CN
- China
- Prior art keywords
- node
- neighbor
- network node
- diagnostic
- link
- 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.)
- Expired - Fee Related
Links
- 238000003745 diagnosis Methods 0.000 title claims abstract description 141
- 238000000034 method Methods 0.000 title claims abstract description 48
- 238000001514 detection method Methods 0.000 claims abstract description 50
- 238000002405 diagnostic procedure Methods 0.000 claims 5
- 239000007858 starting material Substances 0.000 claims 2
- 238000012544 monitoring process Methods 0.000 abstract 1
- 238000010586 diagram Methods 0.000 description 13
- 239000013589 supplement Substances 0.000 description 10
- 239000000470 constituent Substances 0.000 description 3
- 238000012986 modification Methods 0.000 description 3
- 230000004048 modification Effects 0.000 description 3
- 230000009286 beneficial effect Effects 0.000 description 1
- 230000005540 biological transmission Effects 0.000 description 1
- 230000007547 defect Effects 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 230000007613 environmental effect Effects 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 238000013024 troubleshooting Methods 0.000 description 1
Landscapes
- Data Exchanges In Wide-Area Networks (AREA)
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Mobile Radio Communication Systems (AREA)
Abstract
本发明实施例提供一种链路故障诊断装置以及方法,所述链路故障诊断装置包括:阈值设置单元,为一网络节点的多个邻居节点设置不同的诊断阈值;包侦听单元,连续侦听所述网络节点的一邻居节点发出的检测包;状态设置单元,在所述包侦听单元没有连续收到所述邻居节点发送的K个检测包时,将所述网络节点与所述邻居节点之间的链路状态设为故障,其中所述K为所述邻居节点对应的诊断阈值。通过本发明实施例,可以根据不同的诊断阈值来判定链路故障,提高了链路故障的准确性和快速性。
Description
技术领域
本发明涉及网络故障检测技术领域,特别涉及一种链路故障诊断装置以及方法。
背景技术
在无线点对点(Ad hoc)网络或无线传感器网络中,无线链路因为受到干扰等诸多因素的影响,状态很不稳定。对于网络中的某个网络节点来说,获得并维护与周围邻居节点间的链路状态,是选择路径、控制传输等操作的基础。链路故障诊断方法能够快速提供链路状态,是维护邻居列表的常见方法。
目前,一种常见的链路故障诊断方法是通过网络节点不断向邻居节点广播检测包(例如Hello包)的方式实现的。当某个网络节点无法连续接收到K个来自其某个邻居节点的Hello包时,即判定该网络节点与这个邻居节点间的链路失效。在系统级故障诊断方法中,链路故障可以作为节点故障的基础,链路故障发现后,启动节点故障诊断。
但是,在实现本发明的过程中,发明人发现现有技术的缺陷在于:对于某一节点的所有邻居节点均具有相同诊断阈值K,因此不能快速准确地进行链路故障诊断。另一方面,在节点故障诊断时,所有的邻居节点均会判定出现链路故障,即同时启动节点故障诊断,从而导致了冗余。
发明内容
本发明实施例提供一种链路故障诊断装置以及方法,目的在于根据不同的诊断阈值来判定链路故障,以提高链路故障诊断的准确性和快速性。
根据本发明实施例的一个方面,提供一种链路故障诊断装置,所述链路故障诊断装置包括:
阈值设置单元,为一网络节点的多个邻居节点设置不同的诊断阈值;
包侦听单元,连续侦听所述网络节点的一邻居节点发出的检测包;
状态设置单元,在所述包侦听单元没有连续收到所述邻居节点发送的K个检测包时,将所述网络节点与所述邻居节点之间的链路状态设为故障,其中所述K为所述邻居节点对应的诊断阈值。
根据本发明实施例的另一个方面,提供一种链路故障诊断方法,所述链路故障诊断方法包括:
为一网络节点的多个邻居节点设置不同的诊断阈值;
连续侦听所述网络节点的一邻居节点发出的检测包;
在没有连续收到所述邻居节点发送的K个检测包时,将所述网络节点与所述邻居节点之间的链路状态设为故障,其中所述K为所述邻居节点对应的诊断阈值。
本发明实施例的有益效果在于:通过为网络节点的多个邻居节点设置不同的诊断阈值,当没有收到某一邻居节点的检测包次数超过该邻居节点对应的诊断阈值时,将该网络节点与该邻居节点之间的链路状态设为故障。由此,可以根据不同的诊断阈值来判定链路故障,提高了链路故障诊断的准确性和快速性。
参照后文的说明和附图,详细公开了本发明的特定实施方式,指明了本发明的原理可以被采用的方式。应该理解,本发明的实施方式在范围上并不因而受到限制。在所附权利要求的精神和条款的范围内,本发明的实施方式包括许多改变、修改和等同。
针对一种实施方式描述和/或示出的特征可以以相同或类似的方式在一个或更多个其它实施方式中使用,与其它实施方式中的特征相组合,或替代其它实施方式中的特征。
应该强调,术语“包括/包含”在本文使用时指特征、整件、步骤或组件的存在,但并不排除一个或更多个其它特征、整件、步骤或组件的存在或附加。
附图说明
图1是本发明实施例1的链路故障诊断装置的一构成示意图;
图2是本发明实施例1的一个具体的示例图;
图3是本发明实施例1的另一个具体的示例图;
图4是本发明实施例2的链路故障诊断装置的一构成示意图;
图5是本发明实施例的诊断阈值设置的又一实例图;
图6是本发明实施例的链路故障诊断装置的另一构成示意图;
图7是本发明实施例的诊断阈值设置的另一实例图;
图8是本发明实施例的诊断阈值设置的另一实例图
图9是本发明实施例3的链路故障诊断方法的一流程示意图;
图10是本发明实施例4的链路故障诊断方法的一流程示意图;
图11是本发明实施例4的链路故障诊断方法的另一流程示意图;
图12是本发明实施例4的链路故障诊断方法的另一流程示意图。
具体实施方式
下面结合附图对本发明的各种实施方式进行说明。这些实施方式只是示例性的,不是对本发明的限制。为了使本领域的技术人员能够容易地理解本发明的原理和实施方式,本发明的实施方式以无线Ad hoc网络或者无线传感器网络为例进行说明。但应该注意的是,本发明不限于此,本发明的实施方式可以适用于所有存在网络故障的通信系统。
实施例1
本发明实施例提供一种链路故障诊断装置,图1是本发明实施例的链路故障诊断装置的一构成示意图,如图1所示,该链路故障诊断装置100包括:阈值设置单元101、包侦听单元102和状态设置单元103。
其中,阈值设置单元101为一个网络节点的多个邻居节点设置不同的诊断阈值;包侦听单元102用于连续侦听该网络节点的一个邻居节点发出的检测包;状态设置单元103用于在包侦听单元102没有连续收到该邻居节点发送的K个检测包时,将该网络节点与该邻居节点之间的链路状态设为故障,其中K为该邻居节点对应的诊断阈值。
在本实施例中,对于一个网络节点可以具有多个邻居节点,可以在邻居列表中存储邻居节点的信息。并且,可以通过发送检测包(例如Hello包)来检测链路故障。关于邻居节点以及Hello包的具体信息可以参考现有技术。
在本实施例中,诊断阈值可以根据网络节点和邻居节点之间的链路情况或者网络环境来确定,也可以根据经验值预先确定。阈值设置单元101可以为一个网络节点的不同邻居节点设置不同的诊断阈值,即每个邻居节点的诊断阈值均不相同;也可以为其中的某些邻居节点设置相同的诊断阈值,而为另一些邻居节点设置另一个或几个诊断阈值。
例如,可以为距离比较远的两个邻居节点分别设置诊断阈值20和30,而为两个比较近的邻居节点设置相同的诊断阈值10等。但本发明不限于此,可以根据实际情况确定具体的设置方式。
在本实施例中,该链路故障诊断装置100可以是该网络节点的一个构成部分。对于每个网络节点,可以具有一个阈值设置单元101,用于为该网络节点的不同邻居节点设置不同的诊断阈值K。
图2是本发明实施例的一个具体的示例图,如图2所示,对于某一个网络节点201可以具有阈值设置单元101、包侦听单元102和状态设置单元103,网络节点201的其他部分可以参考现有技术,此处不再赘述。
如图2所示,该网络节点201可以有多个邻居节点2021、2022、2023等,邻居节点的具体结构没有示出。对于不同的邻居节点可以具有不同的诊断阈值K(例如K1、K2、K3),由该阈值设置单元101为多个邻居节点设置不同的K值。例如,为邻居节点2021设置K1,为邻居节点2022设置K2,为邻居节点2023设置K3,可以将该诊断阈值K1、K2、K3存储在网络节点201上,例如存储在该网络节点201的邻居列表中。
由此,包侦听单元102可以连续侦听某一个邻居节点(例如邻居节点2022)发出的检测包;在包侦听单元102没有连续收到该邻居节点2022发送的K2个检测包时,状态设置单元103将该网络节点201与该邻居节点2022之间的链路状态设为故障。或者,包侦听单元102可以连续侦听另一个邻居节点(例如邻居节点2023)发出的检测包;在包侦听单元102没有连续收到该邻居节点2023发送的K3个检测包时,状态设置单元103将该网络节点201与该邻居节点2023之间的链路状态设为故障。
在本实施例中,该链路故障诊断装置100还可以不是该网络节点的一个构成部分。对于网络中的多个网络节点可以具有一个阈值设置单元101,用于为每个网络节点的多个邻居节点设置不同的诊断阈值K。该阈值设置单元101可以设置在其中的一个网络节点上,也可以设置在其他的网络设备(例如网关)上,但本发明不限于此。
图3是本发明实施例的另一个具体的示例图,如图3所示,还可以集中式地为网络中的多个网络节点设置诊断阈值。其中对于每个网络节点,多个邻居节点设置不同的诊断阈值。
如图3所示,阈值设置单元101可以不是网络节点301的一部分,而网络节点301可以包括包侦听单元102和状态设置单元103。由多个网络节点共用的阈值设置单元101,以及每个网络节点中的包侦听单元102和状态设置单元103构成该链路故障诊断装置。为简单起见,图3仅示意性地示出了该阈值设置单元101与多个网络节点的连接关系。
如图3所示,该网络节点301可以有多个邻居节点3021、3022、3023等,对于不同的邻居节点可以具有不同的诊断阈值K(例如K1、K2、K3)。对于每个网络节点,由该阈值设置单元101为不同的邻居节点设置不同的K值,并可以将设置后的诊断阈值发送给各自的网络节点。
例如,该阈值设置单元101可以为网络节点301设置针对邻居节点3021的诊断阈值K1,为网络节点301设置针对邻居节点3022的诊断阈值K2,为网络节点301设置针对邻居节点3023的诊断阈值K3;然后,阈值设置单元101可以将该诊断阈值K1、K2、K3发送给网络节点301,将诊断阈值K1、K2、K3存储在网络节点301上。
此外,对于网络节点3021,该阈值设置单元101可以为网络节点3021设置针对邻居节点301的诊断阈值K1,并将该诊断阈值K1发送给网络节点3021。对于网络节点3022,该阈值设置单元101可以为网络节点3022设置针对邻居节点301的诊断阈值K2,并将该诊断阈值K2发送给网络节点3022。对于网络节点3023,该阈值设置单元101可以为网络节点3023设置针对邻居节点301的诊断阈值K3,并将该诊断阈值K3发送给网络节点3023。
值得注意的是,图2和图3仅示意性地说明了本发明的链路故障诊断装置与网络节点之间的关系,但本发明不限于此。例如状态设置单元103也可以不是网络节点的一部分,等等。本发明的链路故障诊断装置可以分布式设置,也可以集中式设置,可以根据实际情况确定具体的构成。
由上述实施例可知,通过为网络节点的多个邻居节点设置不同的诊断阈值,当没有连续收到某一邻居节点的检测包次数超过该邻居节点对应的诊断阈值时,将该网络节点与该邻居节点之间的链路状态设为故障。由此,可以根据不同的诊断阈值来判定链路故障,提高链路故障诊断的准确性和快速性。
实施例2
本发明实施例提供一种链路故障诊断装置,在实施例1的基础上对本发明进行进一步的说明。
图4是本发明实施例的链路故障诊断装置的一构成示意图,如图4所示,该链路故障诊断装置400包括:阈值设置单元101、包侦听单元102和状态设置单元103。如实施例1所述。
如图4所示,该链路故障诊断装置400还可以包括:节点故障诊断启动单元404;在将网络节点与邻居节点之间的链路状态设为故障的情况下,该节点故障诊断启动单元404启动节点故障诊断。
由此,在一方面,可以根据不同的诊断阈值来判定链路故障,提高了链路故障诊断的准确性和快速性。另一方面,可以将判定结果作为节点故障诊断的启动条件,来降低冗余并提高节点故障诊断的效率。
如图4所示,该链路故障诊断装置400还可以包括:阈值确定单元405;用于根据反映网络节点和邻居节点之间的链路情况或者网络环境的信息来确定邻居节点的诊断阈值K。
在具体实施时,阈值确定单元405可以通过网络节点和邻居节点之间的检测包来获得反映链路情况或者网络环境的信息,以此来确定邻居节点的诊断阈值K。或者,可以根据检测包的统计特征来确定邻居节点的诊断阈值K。其中,统计特征可以包括强度特征、时间分布特征等等。
例如,在如图2所示的场景中,网络节点201可以根据已经接收到的、邻居节点2022发送的hello包来确定诊断阈值K2。例如,节点201接收两个邻居节点2021和2022发送的hello包,在相同数量的发送周期后,接收到节点2021的hello包数量多,节点2022的hello包数量少,表明与节点2021间的链路质量好于与节点2022之间的链路质量,则可以设定节点2021的链路诊断阈值K1小于节点2022的链路诊断阈值K2。
并且,因为K1设置的较小,这表明该网络节点201与邻居节点2021之间的链路通常情况下应该比较良好。而实际上发生了Hello包丢失时,邻居节点2021发生链路故障的可能性比较大。由此,节点故障诊断启动单元404可以启动对邻居节点2021的节点故障诊断。
在具体实施时,阈值确定单元405还可以根据反映网络节点和邻居节点之间的链路情况或者网络环境的信息来确定诊断阈值K。例如,在视距(LOS,Line Of Sight)环境下,诊断阈值K与节点间的距离成正比;或者,在非视距(NLOS,Non Line Of Sight)环境下,诊断阈值K与网络节点接收到的来自邻居节点的接收信号强度指示(RSSI,Received SignalStrength Indication)信息成反比。
例如,在如图2所示的场景中,如果网络节点201与邻居节点2023之间的距离较远,则阈值确定单元405可以根据节点间的距离将诊断阈值K3确定为一个较大的值。当网络节点201没有连续侦听到来自邻居节点2023的K3个hello包时,可以设置网络节点201和邻居节点2023之间的链路状态为故障。
由此,本发明考虑了网络节点之间的链路情况或者网络环境情况,并考虑了链路故障判断对节点故障判断的辅助作用。因而可以根据不同的诊断阈值来判定链路故障,并且可将判定结果作为节点故障诊断的启动条件,来降低冗余并提高节点故障诊断的效率。
值得注意的是,以上仅对如何确定诊断阈值K进行了示意性说明。但本发明不限于此,例如本发明还可以采用其他的方式来为不同的邻居节点设置不同的诊断阈值,可以根据实际情况确定具体的实施方式。
在本实施例中,通过阈值设置单元101,可以在网络节点(例如节点A)本地设定针对邻居节点(例如节点B)的诊断阈值K;同样地,该邻居节点(节点B)也可以针对节点A设置相同的诊断阈值K。通过网络节点设置不同的诊断阈值,可以了解所有邻居节点诊断该网络节点是否失效。
在本实施例中,如果网络节点设置的诊断阈值中存在多个最小值,则当该网络节点失效时,可能会出现多个邻居节点同时启动节点故障诊断的情况。
图5是本发明实施例的诊断阈值设置的又一实例图。如图5所示,网络节点A可以为邻居节点B、C、D、E、F分别设置不同的诊断阈值3、3、3、4、5。相同地,如图5所示,节点B、C、D针对节点A,分别设置有相同的诊断阈值3。为简单起见,节点B、C、D等节点的其他诊断阈值没有示出。
此时,存在多个最小的诊断阈值3(分别对应邻居节点B、C、D)。由此,在节点B、C、D对节点A进行诊断时(例如,如果均没有连续收到来自节点A的3个hello包时),节点B、C、D可能同时启动对节点A的节点故障诊断。
图6是本发明实施例的链路故障诊断装置的另一构成示意图,如图6所示,该链路故障诊断装置600包括:阈值设置单元101、包侦听单元102和状态设置单元103。如实施例1所述。
如图6所示,该链路故障诊断装置600还可以包括:阈值重置单元604和阈值发送单元605。其中,当网络节点的多个邻居节点具有相同诊断阈值、且相同诊断阈值为该网络节点的所有诊断阈值中的最小值时,阈值重置单元604重新设置多个邻居节点针对该网络节点的诊断阈值;阈值发送单元605将阈值重置单元604重新设置的诊断阈值发送给具有相同诊断阈值的一个或多个邻居节点,使得多个邻居节点中的一个邻居节点对应的诊断阈值最小。
在具体实施时,阈值重置单元604可以降低多个具有相同诊断阈值的邻居节点中的一个邻居节点对应的诊断阈值;也可以增大具有相同诊断阈值的多个邻居节点对应的诊断阈值,使得诊断阈值最小的邻居节点为一个。
例如,以附图5为例,阈值重置单元604可以对邻居节点B、C、D的诊断阈值重新进行设置,使得其中的一个邻居节点的诊断阈值最小。
图7是本发明实施例的诊断阈值设置的另一实例图,如图7所示,可以降低邻居节点B对应的诊断阈值(例如,由3减低为2),保证只有邻居节点B针对节点A具有最小的诊断阈值2。图8是本发明实施例的诊断阈值设置的另一实例图,如图8所示,可以增大邻居节点C、D对应的诊断阈值(例如,由3增大为4),保证只有邻居节点B针对节点A具有最小的诊断阈值3。
在本实施例中,网络节点的阈值重置单元604重新设置各个邻居节点针对该网络节点的诊断阈值之后,阈值发送单元605可以将各个诊断阈值发送给对应的邻居节点,使得邻居节点保存该诊断阈值。此外,如图7、8所示,对于网络节点本地存储的针对各个邻居节点的诊断阈值,则可以不必修改。
由此,邻居节点可以根据重新设置的诊断阈值对该网络节点进行判断。例如,以图7为例,在节点B、C、D对节点A进行诊断时,节点B如果没有连续收到来自节点A的2个hello包,则启动对节点A的节点故障诊断。而节点C、D如果没有连续收到来自节点A的3个hello包,才启动对节点A的节点故障诊断。节点C、D在启动针对节点A的节点故障诊断之前,可能已经收到了节点B发送的已经启动故障诊断的消息,由此节点C、D不必启动节点故障诊断,可以进一步减少冗余。
在本实施例中,包侦听单元102还可以用于:再次接收已判定为链路失败的邻居节点发来的检测包。状态设置单元103还可以用于:在包侦听单元102再次连续接收到已判定为链路失败的邻居节点发来的K’个检测包时,将该网络节点与该邻居节点之间的链路状态设为正常。
其中,诊断阈值K’由阈值设置单元101为该邻居节点设置,其中针对该网络节点的多个邻居节点设置不同的K’。在具体实施时,诊断阈值K’可以与诊断阈值K相同,也可以不同于诊断阈值K。至于具体如何确定诊断阈值K’,可以参考确定诊断阈值K的内容。
由上述实施例可知,通过为网络节点的多个邻居节点设置不同的诊断阈值,当没有连续收到某一邻居节点的检测包次数超过该邻居节点对应的诊断阈值时,将该网络节点与该邻居节点之间的链路状态设为故障。由此,考虑了网络节点之间的链路情况或者网络环境情况,因而可以根据不同的诊断阈值来判定链路故障,提高了链路故障诊断的准确性和快速性。
进一步地,在将网络节点与邻居节点之间的链路状态设为故障的情况下启动节点故障诊断,可将判定结果作为节点故障诊断的启动条件,来降低冗余并提高节点故障诊断的效率。
进一步地,当网络节点的多个邻居节点具有相同诊断阈值、且相同诊断阈值为该网络节点的所有诊断阈值中的最小值时,重新设置多个邻居节点针对该网络节点的诊断阈值,使得多个邻居节点中的一个邻居节点对应的诊断阈值最小。可以在该网络节点需要诊断时,不会存在多个邻居节点同时启动节点故障诊断的情况,进一步降低冗余。
实施例3
本发明实施例提供一种链路故障诊断方法,对应于实施例1中的链路故障诊断装置,相同的内容不再赘述。
图9是本发明实施例的链路故障诊断方法的一流程示意图,如图9所示,该链路故障诊断方法包括:
步骤901,为一网络节点的不同邻居节点设置不同的诊断阈值;
步骤902,连续侦听该网络节点的一邻居节点发出的检测包;
步骤903,在没有连续收到该邻居节点发送的K个检测包时,将该网络节点与该邻居节点之间的链路状态设为故障,其中K为该邻居节点对应的诊断阈值。
在本实施例中,诊断阈值K可以根据网络节点和邻居节点之间的链路情况或者网络环境来确定,也可以根据经验值预先确定。本发明不限于此,可以根据实际情况确定具体的实施方式。
由上述实施例可知,通过为网络节点的多个邻居节点设置不同的诊断阈值,当没有连续收到某一邻居节点的检测包次数超过该邻居节点对应的诊断阈值时,将该网络节点与该邻居节点之间的链路状态设为故障。可以根据不同的诊断阈值来判定链路故障,提高了链路故障诊断的准确性和快速性。
实施例4
本发明实施例提供一种链路故障诊断方法,对应于实施例2中的链路故障诊断装置,相同的内容不再赘述。
图10是本发明实施例的链路故障诊断方法的一流程示意图,如图10所示,该链路故障诊断方法包括:
步骤1001,根据反映网络节点和邻居节点之间的链路情况或者网络环境的信息来确定邻居节点对应的诊断阈值。
步骤1002,为一网络节点的多个邻居节点设置不同的诊断阈值;
步骤1003,连续侦听该网络节点的一邻居节点发出的检测包。
步骤1004,在没有连续收到该邻居节点发送的K个检测包时,将该网络节点与该邻居节点之间的链路状态设为故障,其中K为该邻居节点对应的诊断阈值。
步骤1005,将该网络节点与该邻居节点之间的链路状态设为故障之后,启动节点故障诊断。
由此,在将网络节点与邻居节点之间的链路状态设为故障的情况下启动节点故障诊断,可将判定结果作为节点故障诊断的启动条件,来降低冗余并提高节点故障诊断的效率。
图11是本发明实施例的链路故障诊断方法的一流程示意图,如图11所示,该链路故障诊断方法包括:
步骤1101,根据反映网络节点和邻居节点之间的链路情况或者网络环境的信息来确定邻居节点对应的诊断阈值。
步骤1102,为一网络节点的多个邻居节点设置不同的诊断阈值;
步骤1103,判断该网络节点的多个邻居节点是否具有相同诊断阈值、且该相同诊断阈值为该网络节点的所有诊断阈值中的最小值;
如果该网络节点的多个邻居节点具有相同诊断阈值、且该相同诊断阈值为该网络节点的所有诊断阈值中的最小值,则执行步骤1104;否则执行步骤1106。
步骤1104,重新设置多个邻居节点针对该网络节点的诊断阈值。
步骤1105,将重新设置的诊断阈值发送给具有相同诊断阈值的一个或多个邻居节点,使得多个邻居节点中的一个邻居节点对应的诊断阈值最小。
步骤1106,连续侦听该网络节点的一邻居节点发出的检测包。
步骤1107,在没有连续收到该邻居节点发送的K个检测包时,将该网络节点与该邻居节点之间的链路状态设为故障,其中K为该邻居节点对应的诊断阈值。
具体地,将该网络节点与该邻居节点之间的链路状态设为故障之后,还可以启动节点故障诊断。
如图11所示,该链路故障诊断方法还可以包括:
步骤1108,在该网络节点再次连续接收到已判定为链路失败的邻居节点发来的K’个检测包时,将该网络节点与该邻居节点之间的链路状态设为正常;
其中,K’是为该邻居节点设置的诊断阈值,其中针对该网络节点的多个邻居节点设置不同的K’。
由此,当网络节点的多个邻居节点具有相同诊断阈值、且相同诊断阈值为该网络节点的所有诊断阈值中的最小值时,重新设置多个邻居节点针对该网络节点的诊断阈值,使得多个邻居节点中的一个邻居节点对应的诊断阈值最小。可以在该网络节点需要诊断时,不会存在多个邻居节点同时启动节点故障诊断的情况,进一步降低冗余。
图12是本发明实施例的链路故障诊断方法的另一流程示意图,示出了链路故障诊断的一个实际过程。如图12所示,该链路故障诊断方法包括:
步骤1201,启动侦听Hello包。
步骤1202,初始化节点间的链路状态。
具体地,每个网络节点可以定期向邻居节点广播Hello包,收到Hello包的节点可以维护和更新邻居列表,并初始化链路状态为正常。
步骤1203,为第i个邻居节点设置诊断阈值Ki。
具体地,在邻居列表中,网络节点可以为每个邻居节点设置一个Hello包诊断阈值Ki。诊断阈值的设置方法可以由所处环境和不同的应用背景决定。例如在LOS传播环境下,K和节点间的距离成正比;在NLOS传播环境下,K和网络节点接收到的来自邻居节点的RSSI值成反比。网络节点给每个邻居节点设置Ki依据可以是已经接收到的Hello包所提供的信息(例如RSSI)。
步骤1204,判断该网络节点的多个邻居节点是否具有相同的最小诊断阈值。如果是则执行步骤1205;否则执行步骤1207。
步骤1205,重新设置多个邻居节点针对该网络节点的诊断阈值。
步骤1206,发送重新设置的诊断阈值,使得多个邻居节点中的一个邻居节点对应的诊断阈值最小。
步骤1207,网络节点连续侦听Hello包。
步骤1208,判断是否没有收到从第i个邻居节点发出的连续Ki个hello包。在没有收到的情况下执行步骤1209。
步骤1209,修改链路状态为故障。
具体地,当网络节点检测到来自于第i个邻居节点的连续Ki个Hello包没有收到,则该网络节点判定与这个邻居节点间的链路失效,将与这个邻居节点间的链路状态设置为故障。
步骤1210启动节点故障诊断过程,可以进行针对该邻居节点的节点故障诊断。
步骤1211,判断是否收到从第i个邻居节点发出的连续Ki’个hello包。在收到的情况下执行步骤1212。
步骤1212,修改链路状态为正常。
具体地,当该网络节点再次收到来自于已判定链路失效的邻居节点发来的Hello包后,可以记录连续接收到Hello包的数量。当该邻居节点发送的Hello包的数量达到Ki’时,修改链路状态为正常。其中Ki’和Ki可以相同,也可以不同。
由上述实施例可知,通过为网络节点的多个邻居节点设置不同的诊断阈值,当没有连续收到某一邻居节点的检测包次数超过该邻居节点对应的诊断阈值时,将该网络节点与该邻居节点之间的链路状态设为故障。由此,考虑了网络节点之间的链路情况或者网络环境情况,因而可以根据不同的诊断阈值来判定链路故障,提高了链路故障诊断的准确性和快速性。
进一步地,在将网络节点与邻居节点之间的链路状态设为故障的情况下启动节点故障诊断,可将判定结果作为节点故障诊断的启动条件,来降低冗余并提高节点故障诊断的效率。
进一步地,当网络节点的多个邻居节点具有相同诊断阈值、且相同诊断阈值为该网络节点的所有诊断阈值中的最小值时,重新设置多个邻居节点针对该网络节点的诊断阈值,使得多个邻居节点中的一个邻居节点对应的诊断阈值最小。可以在该网络节点需要诊断时,不会存在多个邻居节点同时启动节点故障诊断的情况,进一步降低冗余。
本发明以上的装置和方法可以由硬件实现,也可以由硬件结合软件实现。本发明涉及这样的计算机可读程序,当该程序被逻辑部件所执行时,能够使该逻辑部件实现上文所述的装置或构成部件,或使该逻辑部件实现上文所述的各种方法或步骤。本发明还涉及用于存储以上程序的存储介质,如硬盘、磁盘、光盘、DVD、flash存储器等。
以上结合具体的实施方式对本发明进行了描述,但本领域技术人员应该清楚,这些描述都是示例性的,并不是对本发明保护范围的限制。本领域技术人员可以根据本发明的精神和原理对本发明做出各种变型和修改,这些变型和修改也在本发明的范围内。
关于包括以上实施例的实施方式,还公开下述的附记:
(附记1)一种链路故障诊断装置,所述链路故障诊断装置包括:
阈值设置单元,为一网络节点的不同邻居节点设置不同的诊断阈值;
包侦听单元,连续侦听所述网络节点的一邻居节点发出的检测包;
状态设置单元,在所述包侦听单元没有连续收到所述邻居节点发送的K个检测包时,将所述网络节点与所述邻居节点之间的链路状态设为故障,其中K为所述邻居节点对应的诊断阈值。
(附记2)根据附记1所述的链路故障诊断装置,其中,所述链路故障诊断装置还包括:
节点故障诊断启动单元,在将所述网络节点与所述邻居节点之间的链路状态设为故障的情况下启动节点故障诊断。
(附记3)根据附记1所述的链路故障诊断装置,其中,所述链路故障诊断装置还包括:
阈值确定单元,根据反映所述网络节点和所述邻居节点之间的链路情况或者网络环境的信息来确定所述邻居节点的诊断阈值K。
(附记4)根据附记3所述的链路故障诊断装置,其中,所述阈值确定单元通过所述网络节点和所述邻居节点之间的检测包来获得所述反映链路情况或者网络环境的信息,以确定所述邻居节点的诊断阈值K;
或者,根据所述检测包的统计特征来确定所述邻居节点的诊断阈值K。
(附记5)根据附记3所述的链路故障诊断装置,其中,所述反映网络节点和所述邻居节点之间的链路情况或者网络环境的信息包括:
在视距环境下,所述诊断阈值K与节点间的距离成正比;或者在非视距环境下,所述诊断阈值K与所述网络节点接收到的来自所述邻居节点的接收信号强度指示信息成反比。
(附记6)根据附记1所述的链路故障诊断装置,其中,所述链路故障诊断装置还包括:
阈值重置单元,当所述网络节点的多个邻居节点具有相同诊断阈值、且所述相同诊断阈值为所述网络节点的所有诊断阈值中的最小值时,重新设置所述多个邻居节点针对所述网络节点的诊断阈值;
阈值发送单元,将所述阈值重置单元重新设置的所述诊断阈值发送给具有相同诊断阈值的一个或多个邻居节点,使得所述多个邻居节点中的一个邻居节点对应的诊断阈值最小。
(附记7)根据附记1至6任一项所述的链路故障诊断装置,其中,所述包侦听单元还用于:再次接收已判定为链路失败的邻居节点发来的检测包;
所述状态设置单元还用于:在所述包侦听单元再次连续接收到已判定为链路失败的邻居节点发来的K’个检测包时,将所述网络节点与所述邻居节点之间的链路状态设为正常;
其中,所述K’是为所述邻居节点设置的诊断阈值,其中针对所述网络节点的多个邻居节点设置不同的K’。
(附记8)一种链路故障诊断方法,所述链路故障诊断方法包括:
为一网络节点的多个邻居节点设置不同的诊断阈值;
连续侦听所述网络节点的一邻居节点发出的检测包;
在没有连续收到所述邻居节点发送的K个检测包时,将所述网络节点与所述邻居节点之间的链路状态设为故障,其中K为所述邻居节点对应的诊断阈值。
(附记9)根据附记8所述的链路故障诊断方法,其中,所述链路故障诊断方法还包括:
在将所述网络节点与所述邻居节点之间的链路状态设为故障的情况下启动节点故障诊断。
(附记10)根据附记8所述的链路故障诊断方法,其中,所述链路故障诊断方法还包括:
根据反映所述网络节点和所述邻居节点之间的链路情况或者网络环境的信息来确定所述邻居节点的诊断阈值K。
(附记11)根据附记10所述的链路故障诊断方法,其中,通过所述网络节点和所述邻居节点之间的检测包来获得所述反映链路情况或者网络环境的信息,以确定所述邻居节点的诊断阈值K;
或者,根据所述检测包的统计特征来确定所述邻居节点的诊断阈值K。
(附记12)根据附记10所述的链路故障诊断方法,其中,所述反映网络节点和所述邻居节点之间的链路情况或者网络环境的信息包括:
在视距环境下,所述诊断阈值K与节点间的距离成正比;或者在非视距环境下,所述诊断阈值K与所述网络节点接收到的来自所述邻居节点的接收信号强度指示信息成反比。
(附记13)根据附记8所述的链路故障诊断方法,其中,所述方法还包括:
当所述网络节点的多个邻居节点具有相同诊断阈值、且所述相同诊断阈值为所述网络节点的所有诊断阈值中的最小值时,重新设置所述多个邻居节点针对所述网络节点的诊断阈值;
将重新设置的所述诊断阈值发送给具有相同诊断阈值的一个或多个邻居节点,使得所述多个邻居节点中的一个邻居节点对应的诊断阈值最小。
(附记14)根据附记8至13任一项所述的链路故障诊断方法,其中,所述方法还包括:
在再次连续接收到已判定为链路失败的邻居节点发来的K’个检测包时,将所述网络节点与所述邻居节点之间的链路状态设为正常;
其中,所述K’是为所述邻居节点设置的诊断阈值,其中针对所述网络节点的多个邻居节点设置不同的K’。
(附记15)一种网络节点,所述网络节点包括:
阈值设置单元,为一网络节点的多个邻居节点设置不同的诊断阈值;
包侦听单元,连续侦听所述网络节点的一邻居节点发出的检测包;
状态设置单元,在所述包侦听单元没有连续收到所述邻居节点发送的K个检测包时,将所述网络节点与所述邻居节点之间的链路状态设为故障,其中K为所述邻居节点对应的诊断阈值。
(附记16)根据附记15所述的网络节点,其中,所述网络节点还包括:
节点故障诊断启动单元,在将所述网络节点与所述邻居节点之间的链路状态设为故障的情况下启动节点故障诊断。
(附记16)根据附记15所述的网络节点,其中,所述网络节点还包括:
阈值确定单元,根据反映所述网络节点和所述邻居节点之间的链路情况或者网络环境的信息来确定所述邻居节点的诊断阈值K。
(附记18)一种计算机可读程序,其中当在网络节点中执行所述程序时,所述程序使得计算机在所述网络节点中执行如附记8至14中任一项所述的链路故障诊断方法。
(附记19)一种存储有计算机可读程序的存储介质,其中所述计算机可读程序使得计算机在网络节点中执行如附记8至14中任一项所述的链路故障诊断方法。
Claims (8)
1.一种链路故障诊断装置,所述链路故障诊断装置包括:
阈值设置单元,为一网络节点的多个邻居节点设置不同的诊断阈值;
包侦听单元,连续侦听所述网络节点的一邻居节点发出的检测包;
状态设置单元,在所述包侦听单元没有连续收到所述邻居节点发送的K个检测包时,将所述网络节点与所述邻居节点之间的链路状态设为故障,其中所述K为所述邻居节点对应的诊断阈值;
阈值重置单元,当所述网络节点的多个邻居节点具有相同诊断阈值、且所述相同诊断阈值为所述网络节点的所有诊断阈值中的最小值时,重新设置所述多个邻居节点针对所述网络节点的诊断阈值;以及
阈值发送单元,将所述阈值重置单元重新设置的所述诊断阈值发送给具有相同诊断阈值的一个或多个邻居节点,使得所述多个邻居节点中的一个邻居节点对应的诊断阈值最小。
2.根据权利要求1所述的链路故障诊断装置,其中,所述链路故障诊断装置还包括:
节点故障诊断启动单元,在将所述网络节点与所述邻居节点之间的链路状态设为故障的情况下启动节点故障诊断。
3.根据权利要求1所述的链路故障诊断装置,其中,所述链路故障诊断装置还包括:
阈值确定单元,根据反映所述网络节点和所述邻居节点之间的链路质量情况或者网络环境的信息来确定所述邻居节点的诊断阈值K。
4.根据权利要求3所述的链路故障诊断装置,其中,所述阈值确定单元通过所述网络节点和所述邻居节点之间的检测包来获得所述反映链路质量情况或者网络环境的信息,以确定所述邻居节点的诊断阈值K;
或者,根据所述检测包的统计特征来确定所述邻居节点的诊断阈值K。
5.根据权利要求1至4任一项所述的链路故障诊断装置,其中,所述包侦听单元还用于:再次接收已判定为链路失败的邻居节点发来的检测包;
所述状态设置单元还用于:在所述包侦听单元再次连续接收到已判定为链路失败的邻居节点发来的K’个检测包时,将所述网络节点与所述邻居节点之间的链路状态设为正常;
其中,所述K’是由所述阈值设置单元为所述邻居节点设置的诊断阈值,其中针对所述网络节点的多个邻居节点设置不同的K’。
6.一种链路故障诊断方法,所述链路故障诊断方法包括:
为一网络节点的多个邻居节点设置不同的诊断阈值;
连续侦听所述网络节点的一邻居节点发出的检测包;
在没有连续收到所述邻居节点发送的K个检测包时,将所述网络节点与所述邻居节点之间的链路状态设为故障,其中所述K为所述邻居节点对应的诊断阈值;
当所述网络节点的多个邻居节点具有相同诊断阈值、且所述相同诊断阈值为所述网络节点的所有诊断阈值中的最小值时,重新设置所述多个邻居节点针对所述网络节点的诊断阈值;
将重新设置的所述诊断阈值发送给具有相同诊断阈值的一个或多个邻居节点,使得所述多个邻居节点中的一个邻居节点对应的诊断阈值最小。
7.根据权利要求6所述的链路故障诊断方法,其中,所述链路故障诊断方法还包括:
在将所述网络节点与所述邻居节点之间的链路状态设为故障的情况下启动节点故障诊断。
8.根据权利要求6至7任一项所述的链路故障诊断方法,其中,所述方法还包括:
在所述网络节点再次连续接收到已判定为链路失败的邻居节点发来的K’个检测包时,将所述网络节点与所述邻居节点之间的链路状态设为正常;
其中,所述K’是为所述邻居节点设置的诊断阈值,其中针对所述网络节点的多个邻居节点设置不同的K’。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201310149101.0A CN104125590B (zh) | 2013-04-26 | 2013-04-26 | 链路故障诊断装置以及方法 |
JP2014088194A JP2014217062A (ja) | 2013-04-26 | 2014-04-22 | リンク故障診断装置及び方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201310149101.0A CN104125590B (zh) | 2013-04-26 | 2013-04-26 | 链路故障诊断装置以及方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN104125590A CN104125590A (zh) | 2014-10-29 |
CN104125590B true CN104125590B (zh) | 2017-10-03 |
Family
ID=51770822
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201310149101.0A Expired - Fee Related CN104125590B (zh) | 2013-04-26 | 2013-04-26 | 链路故障诊断装置以及方法 |
Country Status (2)
Country | Link |
---|---|
JP (1) | JP2014217062A (zh) |
CN (1) | CN104125590B (zh) |
Families Citing this family (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP6398739B2 (ja) * | 2015-01-19 | 2018-10-03 | 株式会社デンソー | 車載機、車載機診断システム |
CN107360012B (zh) * | 2016-05-10 | 2020-05-05 | 大唐移动通信设备有限公司 | 一种链路状态处理方法及网络节点设备 |
CN107690155A (zh) * | 2016-08-05 | 2018-02-13 | 富士通株式会社 | 故障节点的诊断装置、方法和便携终端 |
CN109787838B (zh) * | 2019-02-25 | 2022-02-18 | 武汉晟联智融微电子科技有限公司 | 在多跳网络中规避故障中继节点的方法 |
CN111131016A (zh) * | 2020-01-02 | 2020-05-08 | 中车青岛四方车辆研究所有限公司 | 网络设备故障诊断方法、切换方法及故障诊断系统 |
CN112422428B (zh) * | 2020-11-09 | 2022-05-17 | 迈普通信技术股份有限公司 | 链路状态获取方法、装置、电子设备及可读存储介质 |
CN115150251B (zh) * | 2022-05-27 | 2023-11-03 | 中国南方电网有限责任公司 | 电力专网调度通信链路的故障诊断方法、系统及管理平台 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1713596A (zh) * | 2004-06-15 | 2005-12-28 | 中兴通讯股份有限公司 | 在实现多链路协议时进行链路检测的方法 |
CN101075970A (zh) * | 2007-07-19 | 2007-11-21 | 杭州华三通信技术有限公司 | 路由选择的方法和设备 |
CN101123542A (zh) * | 2007-07-30 | 2008-02-13 | 华为技术有限公司 | 链路故障检测的方法、系统和实现链路故障检测的设备 |
CN101442452A (zh) * | 2008-12-31 | 2009-05-27 | 中兴通讯股份有限公司 | Dns服务器不可达的告警方法及告警装置 |
Family Cites Families (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6856627B2 (en) * | 1999-01-15 | 2005-02-15 | Cisco Technology, Inc. | Method for routing information over a network |
US20070195702A1 (en) * | 2006-02-17 | 2007-08-23 | Yuen Wing H | Link duration based routing protocol for multihop ad hoc networks |
JP2007329653A (ja) * | 2006-06-07 | 2007-12-20 | Mitsubishi Electric Corp | ノード管理システム及びノード及び管理用端末装置 |
JP5598228B2 (ja) * | 2010-10-01 | 2014-10-01 | 沖電気工業株式会社 | 無線端末、収容先端末決定プログラム及び無線ネットワーク、並びに、ネットワーク構成装置 |
-
2013
- 2013-04-26 CN CN201310149101.0A patent/CN104125590B/zh not_active Expired - Fee Related
-
2014
- 2014-04-22 JP JP2014088194A patent/JP2014217062A/ja active Pending
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1713596A (zh) * | 2004-06-15 | 2005-12-28 | 中兴通讯股份有限公司 | 在实现多链路协议时进行链路检测的方法 |
CN101075970A (zh) * | 2007-07-19 | 2007-11-21 | 杭州华三通信技术有限公司 | 路由选择的方法和设备 |
CN101123542A (zh) * | 2007-07-30 | 2008-02-13 | 华为技术有限公司 | 链路故障检测的方法、系统和实现链路故障检测的设备 |
CN101442452A (zh) * | 2008-12-31 | 2009-05-27 | 中兴通讯股份有限公司 | Dns服务器不可达的告警方法及告警装置 |
Also Published As
Publication number | Publication date |
---|---|
JP2014217062A (ja) | 2014-11-17 |
CN104125590A (zh) | 2014-10-29 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN104125590B (zh) | 链路故障诊断装置以及方法 | |
CN107332726B (zh) | 一种通信链路的检测方法及装置 | |
JP6354434B2 (ja) | マルチホップネットワークの故障検出方法及びノード | |
CN106301853A (zh) | 集群系统中节点的故障检测方法和装置 | |
CN111988191B (zh) | 一种分布式通信网络的故障检测方法及装置 | |
WO2016029749A1 (zh) | 一种通信故障的检测方法、装置及系统 | |
JP2017502627A (ja) | ソフトウェア定義ネットワークにおけるマルチマスタ選択 | |
JP2016201794A (ja) | 故障検出装置、方法及びシステム | |
WO2017152681A1 (zh) | 检测转发表的方法、装置和设备 | |
JP7124206B2 (ja) | パケット処理方法およびゲートウェイ・デバイス | |
CN104065508A (zh) | 应用服务健康检查方法、装置和系统 | |
CN108463976A (zh) | 减少网络中链路状变化的洪泛 | |
US7953067B2 (en) | Method, network apparatus, and tangible machine-readable medium thereof for detecting a looping network packet | |
US11456943B2 (en) | Packet transmission method and apparatus | |
WO2017012460A1 (zh) | 检测随机存储器故障的方法及装置、处理器 | |
CN105871661A (zh) | 公网服务器探测方法及探测服务器 | |
WO2021147014A1 (en) | Method and apparatus for path status detection | |
WO2016086638A1 (zh) | 一种实现链路检测的方法、装置及计算机存储介质 | |
US11652682B2 (en) | Operations management apparatus, operations management system, and operations management method | |
CN103577296A (zh) | 一种总线可靠性测试方法及系统 | |
CN105099800B (zh) | 节点和多跳网络 | |
CN103885441B (zh) | 一种控制器局域网络的自适应故障诊断方法 | |
CN104683129B (zh) | 诊断树建立方法、网络故障诊断方法及其节点 | |
CN107690155A (zh) | 故障节点的诊断装置、方法和便携终端 | |
CN108616423B (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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant | ||
CF01 | Termination of patent right due to non-payment of annual fee | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20171003 Termination date: 20190426 |