CN101163059B - 一种网络节点检测方法和装置 - Google Patents
一种网络节点检测方法和装置 Download PDFInfo
- Publication number
- CN101163059B CN101163059B CN2007101945713A CN200710194571A CN101163059B CN 101163059 B CN101163059 B CN 101163059B CN 2007101945713 A CN2007101945713 A CN 2007101945713A CN 200710194571 A CN200710194571 A CN 200710194571A CN 101163059 B CN101163059 B CN 101163059B
- Authority
- CN
- China
- Prior art keywords
- node
- network node
- value
- state variable
- submodule
- 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
Links
Images
Landscapes
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本发明公开了一种故障节点检测方法,包括以下步骤:设置网络节点的故障检测间隔U;所述网络节点在所述故障检测间隔U内至少将自身的节点状态变量的值恢复为初始值一次;检测所述网络节点的节点状态变量的值并根据检测结果确定所述网络节点是否出现故障。本发明实施例通过将网络节点的节点故障转换为链路故障,从而能够利用现有的链路故障检测技术在毫秒级中对故障进行定位,从而提出了一种简单、高效、成本低廉且故障检测速度快的故障检测方法。
Description
技术领域
本发明涉及网络通信技术领域,特别是涉及一种网络节点检测方法和装置。
背景技术
随着网络规模的不断扩大,其复杂程度也越来越高,与此同时,人们的日常生活、工作对网络的依赖性也越来越强,因此对在网络出现故障时迅速发现问题,并快速解决问题的能力要求也越来越强。目前网络运行中发生的故障主要有链路故障和节点故障两大类,为了能够从网络故障中迅速恢复,必须能够快速有效地发现故障。对于电信级网络,通常要求50ms的故障恢复时间,这不仅包括故障检测的时间,还包括采取恢复措施的时间,因此这就要求故障必须在很短的时间内被发现,通常限定在30ms以内。目前现有技术中链路故障检测的技术已经趋于成熟,借助于各种物理层技术能够迅速得知链路是否发生故障,例如收不到光信号、同步信息丢失,链路故障都能够在毫秒级的时间内被发现。然而如果要在短时间内发现节点故障,还是比较困难的。
为了达到电信运营商50ms以内的故障恢复时间,对节点故障的检测,目前普遍采用快速心跳检测法。如图1所示,为现有技术快速心跳检测法示意图,被监控的节点周期性地发送心跳报文,心跳报文地具体格式可由特定协议规定,如果连续几个周期内收不到监控节点发出的心跳报文,就宣告被监控的节点发生故障。例如被监控节点以每最小每隔10ms向监控节点发送一个心跳报文;监控节点对被监控节点发送的心跳报文进行持续检测,如果连续3个10ms内收不到心跳报文,则监控节点宣告被监控节点故障。其中上述特定协议可以是BFD(Bidirectional Forwarding Detection,双向转发检测)、MPLSOAM(Operation,Administration,Maintenance,操作、管理和维护)中的FFD(FastFailure Detection,快速故障检测)机制、802.1ag中的CCM(Continuity CheckMessage,连通检查消息)等等。
在实现本发明实施例过程中,发明人发现现有技术中至少存在如下问题:上述快速心跳检测法,最主要的问题是对被监控节点发送心跳报文的速度要求高,例如为了满足电信运营商50ms以内的故障恢复时间,则被监控节点一般要求每10ms就发送一个心跳报文,同样也需要监控节点每10ms就进行一次检测,特别是需要监控节点支持多个这种快速检测实例时,对两端设备的性能都要求非常高,不仅要求速度快,还要求稳定,否则就极容易出现误判,出现节点本来没有故障但被判为故障的情况。通常为了保证这种稳定的高速度,要使用专用的硬件来发送和接收报文,如FPGA(Field-Programmable Gate Array,现场可编程门阵列)或者网络处理器,增加了设备的额外成本和处理的复杂性。因此现有技术急需一种简单、高效、成本低廉且能够提供高速检测的网络节点检测方法。
发明内容
本发明实施例要解决的问题是提供一种网络节点检测方法和装置,解决现有技术中心跳报文对硬件速度要求高,成本昂贵的技术缺陷。
为达到上述目的,本发明实施例一方面提出一种故障节点检测方法,包括以下步骤:设置网络节点的故障检测间隔U;所述网络节点在所述故障检测间隔U内至少将自身的节点状态变量的值恢复为初始值一次;检测所述网络节点的节点状态变量的值并根据检测结果确定所述网络节点是否出现故障;在确定所述网络节点出现故障之后,所述网络节点的端口关闭自身链路。
其中,所述网络节点在所述故障检测间隔U内至少将自身的节点状态变量的值恢复为初始值一次之前,还包括:为网络节点设置节点状态变量,为所述节点状态变量设置初始值L、状态变量变化步长S;设置节点故障门限值a,当所述节点状态变量的值达到所述节点故障门限值a,则确认节点发生故障;设置硬件检测周期T,所述网络节点的硬件在每个硬件检测周期T内检测所述节点状态变量的值;所述网络节点的故障检测间隔U=T|L-a|/S。
其中,所述检测所述网络节点的节点状态变量的值,具体包括:所述网络节点的硬件按硬件检测周期T对节点状态变量值进行检测,并将检测到的节点状态变量值与所述节点故障门限值a进行比较;当检测到的节点状态变量的值未达到节点故障门限值a,则确定网络节点正常,并按照所述状态变量变化步长S向趋近节点故障门限值a的方向更改;当检测到的节点状态变量的值达到节点故障门限值a,则确定网络节点发生故障。
本发明实施例还提出一种网络节点,包括故障检测间隔保存模块,触发模块和判断模块,所述故障检测间隔保存模块,用于保存网络节点的故障检测间隔;所述触发模块,用于在所述故障检测间隔U内至少将自身的节点状态变量的值恢复为初始值一次;所述判断模块,用于检测所述网络节点的节点状态变量的值并根据检测结果确定网络节点是否出现故障;端口控制模块,用于在所述判断模块判断所述网络节点出现故障之后,关闭端口自身的链路。
其中,所述触发模块包括变量恢复子模块,用于在故障检测间隔U内将节点状态变量值恢复为初始值。
其中,所述判断模块包括硬件定时器子模块、判断子模块、变量修改子模块和关闭子模块,所述硬件定时器子模块,用于在到达硬件检测周期T时,触发所述判断子模块;判断子模块,用于在受到所述硬件定时器子模块的触发后,将节点状态变量的值与所述节点故障门限值a进行比较,如果节点状态变量的值未达到节点故障门限值a,则确定网络节点正常,如果节点状态变量的值未达到节点故障门限值a,则确定网络节点发生故障;所述变量修改子模块,用于在所述判断子模块确定网络节点正常之后,按照所述状态变量变化步长S向趋近节点故障门限值a的方向更改;所述关闭子模块,用于在所述判断子模块确定网络节点发生故障时,通知所述端口控制模块关闭端口自身的链路。
本发明实施例的技术方案具有以下优点,通过将网络节点的节点故障转换为链路故障,从而能够利用现有的链路故障检测技术在毫秒级中对故障进行定位,从而提出了一种简单、高效、成本低廉且故障检测速度快的故障检测方法。
附图说明
图1为现有技术快速心跳检测法示意图;
图2为本发明实施例一的故障节点检测方法流程图;
图3为本发明实施例二的故障节点检测方法流程图;
图4为本发明实施例三的网络节点结构图。
具体实施方式
下面结合附图和实施例,对本发明的具体实施方式作进一步详细描述:
本发明实施例主要在于在端口检测到网络节点出现故障后,能够自动将端口自身的链路关闭,从而将网络节点故障转为链路故障,使得能够利用现有的链路故障检测技术在毫秒级别发现该故障网络节点。并且本发明实施例还公开了一种端口检测网络节点是否出现故障的方法,确保能够在运营商规定的时间范围内发现故障节点。
如图2所示,为本发明实施例一的故障节点检测方法流程图,包括以下步骤:
步骤S201,设置网络节点的故障检测间隔U。例如可根据电信网络要求将所属故障检测间隔设置为30ms或小于30ms。
步骤S202,网络节点在每个故障检测间隔U内至少触发网络节点的端口一次。
步骤S203,检测所述对网络节点端口的触发并根据检测结果确定所述网络节点是否出现故障。如果网络节点的端口在上述故障检测间隔U内未受到网络节点的触发,则端口关闭自身链路。如果网络节点发生故障,无论是硬件故障或是软件故障,包括网络节点死机等问题,在上述故障检测间隔(如30ms)内都无法触发相应的网络节点,因此如果在故障检测间隔内端口未受到触发则就认为当前网络节点出现故障,因此端口将自身的链路关闭,即触发链路从连接UP状态转为连接DOWN状态。由于现有技术对于链路故障能够在毫秒级别的时间内检测到,因此通过端口将自身链路关闭从而将网络节点的节点故障装换为链路故障,使得能够在很短的时间内检测到该故障节点,例如如果某个网络节点的链路全部出现故障,那么就可以认为该网络节点出现节点故障。
作为本发明的一个优选实施例,本发明还提出了一种通过软件计数器和硬件计数器实现上述方案的具体实现方式。如图3所示,为本发明实施例二的故障节点检测方法流程图,包括以下步骤:
步骤S301,设置节点状态变量初始值和硬件检测周期T以及状态变量设置初始值L、状态变量变化步长S和节点故障门限值a,其中故障检测间隔U=T|L-a|/S,例如将故障检测间隔U设置为30ms,则可将硬件检测周期T设置为10ms,将节点状态变量初始值设置为3,节点故障门限值a设置为0,状态变量变化步长S设置为1,这样每个硬件检测周期T=10ms时会根据状态变量变化步长S向趋近节点故障门限值a的方向更改节点状态变量初始值,在该例中每个硬件检测周期T=10ms则将节点状态变量初始值3减1,直到节点状态变量当前值等于节点故障门限值0时,说明该网络节点出现故障。当然也可以设置节点状态变量初始值设置为0,硬件检测周期T为5ms,状态变量变化步长S为2,趋近节点故障门限值a为10,这样在每个硬件检测周期5ms时会按照变化步长2增大节点状态变量初始值0,直到节点状态变量与节点故障门限值10相等,则说明该网络节点出现故障。其中,故障检测间隔为若干个硬件检测周期的组合,如果网络节点出现故障,则需要在故障检测间隔内检测到该故障的发生。
步骤S302,设置网络节点的软件计数器,该软件计数器的软件检测周期只要小于等于故障检测间隔U即可,也可以将该软件检测周期认为等于故障检测间隔U。其中优选地,该软件检测周期与硬件检测周期相同,这样如果网络节点出现暂时性的故障,在短时间内就能够及时恢复,那么就没有必要将所述网络节点的端口链路全部关闭。例如故障检测间隔设置为30ms,硬件检测周期和软件检测周期均为10ms,那么在第一个软件检测周期时因为网络节点故障没有触发端口,而在第三个软件检测周期时网络节点及时回复触发了相应的端口,那么就可以不认为该网络节点出现了故障。
步骤S303,当硬件检测周期到来时,检测节点状态变量的当前值是否达到节点故障门限值a,例如设置节点故障门限值a为0,则检测节点状态变量的当前值是否为0。
步骤S304,如果节点状态变量的当前值不为节点故障门限值a,则将节点状态变量的当前值按照按照状态变量变化步长S向趋近节点故障门限值a的方向更改,如节点故障门限值a为0,状态变量初始值L为3,则减小节点状态变量的当前值;如节点故障门限值a为10,状态变量初始值L为0,则增大节点状态变量的当前值。作为本发明的一个实施例,可将硬件检测周期设置为10ms,将节点状态变量的初始值L设置为3,在每个10ms的硬件检测周期到来时,将节点状态变量3减1,将上述预定值设为0,即节点状态变量为0时,则说明该网络节点出现节点故障。在本发明实施例中,在每个软件检测周期到来时,都会将节点状态变量恢复,即将节点状态变量设为3。这样在软件检测周期小于等于故障检测间隔U的情况下,只要网络节点没有出现故障,则节点状态变量的当前值始终都不会是0。当然本发明上述实施例为对节点状态变量的逐步减小操作,但是也可对节点状态变量按照预设的步长增大,例如将原始节点状态变量初始值L设为0,在每个硬件检测周期到来时对其加1,当节点状态变量加到3时,认为该网络节点出现故障,因此类似上述的变化均应为本发明实施例保护范围所涵盖。
步骤S305,如果检测到节点状态变量达到节点故障门限值a,例如上述实施例中将节点状态变量的当前值减到节点故障门限值0,则说明网络节点没有在软件检测周期内对节点状态变量进行及时恢复,也就说明该网络节点出现了硬件故障或软件故障,如节点死机等。因此端口将自身的链路关闭,即触发链路从连接UP状态转为连接DOWN状态。由于现有技术对于链路故障能够在毫秒级别的时间内检测到,因此通过端口将自身链路关闭从而将网络节点的节点故障装换为链路故障,使得能够在很短的时间内检测到该故障节点,例如如果某个网络节点的链路全部出现故障,那么就可以认为该网络节点出现节点故障。
如图4所示,为本发明实施例三的网络节点结构图,该网络节点1包括故障检测间隔保存模块11,触发模块12和判断模块13,故障检测间隔保存模块11用于保存网络节1点的故障检测间隔U;触发模块12用于在每个故障检测间隔U内至少触发网络节点1的端口一次;判断模块13用于检测对网络节点1端口的触发并根据检测结果确定网络节点1是否出现故障。
其中,该网络节点1还包括端口控制模块14,用在判断模块13判断网络节点1出现故障之后,关闭端口自身的链路。
其中,触发模块12包括变量恢复子模块121,用于在故障检测间隔U内至少将节点状态变量值恢复为初始值一次。
其中,端口控制模块14包括硬件定时器子模块141、判断子模块142、变量修改子模块143和关闭子模块144,硬件定时器子模块141用于在到达硬件检测周期T时,触发判断子模块142;判断子模块142用于在受到硬件定时器子模块141的触发后,将节点状态变量值与节点故障门限值a进行比较,如果节点状态变量值未达到节点故障门限值a,则确定网络节点1正常,当节点状态变量值未达到节点故障门限值a,则确定网络节点1发生故障;变量修改子模块143用于在判断子模块142确定网络节点1正常之后,按照状态变量变化步长S向趋近节点故障门限值a的方向更改;关闭子模块144用于在判断子模块142确定网络节点1发生故障时,通知端口控制模块14关闭端口自身的链路。
本发明实施例通过将网络节点的节点故障转换为链路故障,从而能够利用现有的链路故障检测技术在毫秒级中对故障进行定位,从而提出了一种简单、高效、成本低廉且故障检测速度快的故障检测方法。
以上所述仅是本发明的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视为本发明的保护范围。
Claims (6)
1.一种故障节点检测方法,其特征在于,包括以下步骤:
设置网络节点的故障检测间隔U;
所述网络节点在所述故障检测间隔U内至少将自身的节点状态变量的值恢复为初始值一次;
检测所述网络节点的节点状态变量的值并根据检测结果确定所述网络节点是否出现故障;
在确定所述网络节点出现故障之后,所述网络节点的端口关闭自身链路。
2.如权利要求1所述故障节点检测方法,其特征在于,所述网络节点在所述故障检测间隔U内至少将自身的节点状态变量的值恢复为初始值一次之前,还包括:
为网络节点设置节点状态变量,为所述节点状态变量设置初始值L、状态变量变化步长S;
设置节点故障门限值a,当所述节点状态变量的值达到所述节点故障门限值a,则确认节点发生故障;
设置硬件检测周期T,所述网络节点的硬件在每个硬件检测周期T内检测所述节点状态变量的值;
所述网络节点的故障检测间隔U=T|L-a|/S。
3.如权利要求1所述故障节点检测方法,其特征在于,所述检测所述网络节点的节点状态变量的值,具体包括:
所述网络节点的硬件按硬件检测周期T对节点状态变量值进行检测,并将检测到的节点状态变量值与所述节点故障门限值a进行比较;
当检测到的节点状态变量的值未达到节点故障门限值a,则确定网络节点正常,并按照所述状态变量变化步长S向趋近节点故障门限值a的方向更改;
当检测到的节点状态变量的值达到节点故障门限值a,则确定网络节点发生故障。
4.一种网络节点,其特征在于,包括故障检测间隔保存模块,触发模块和判断模块,
所述故障检测间隔保存模块,用于保存网络节点的故障检测间隔U;
所述触发模块,用于在所述故障检测间隔U内至少将自身的节点状态变量的值恢复为初始值一次;
所述判断模块,用于检测所述网络节点的节点状态变量的值并根据检测结果确定网络节点是否出现故障;
端口控制模块,用于在所述判断模块判断所述网络节点出现故障之后,关闭端口自身的链路。
5.如权利要求4所述网络节点,其特征在于,所述触发模块包括变量恢复子模块,用于在故障检测间隔U内将节点状态变量值恢复为初始值。
6.如权利要求4所述网络节点,其特征在于,所述判断模块包括硬件定时器子模块、判断子模块、变量修改子模块和关闭子模块,
所述硬件定时器子模块,用于在到达硬件检测周期T时,触发所述判断子模块;
判断子模块,用于在受到所述硬件定时器子模块的触发后,将节点状态变量的值与所述节点故障门限值a进行比较,如果节点状态变量的值未达到节点故障门限值a,则确定网络节点正常,如果节点状态变量的值达到节点故障门限值a,则确定网络节点发生故障;
所述变量修改子模块,用于在所述判断子模块确定网络节点正常之后,按照所述状态变量变化步长S向趋近节点故障门限值a的方向更改;
所述关闭子模块,用于在所述判断子模块确定网络节点发生故障时,通知所述端口控制模块关闭端口自身的链路。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN2007101945713A CN101163059B (zh) | 2007-11-24 | 2007-11-24 | 一种网络节点检测方法和装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN2007101945713A CN101163059B (zh) | 2007-11-24 | 2007-11-24 | 一种网络节点检测方法和装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN101163059A CN101163059A (zh) | 2008-04-16 |
CN101163059B true CN101163059B (zh) | 2011-04-13 |
Family
ID=39297893
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN2007101945713A Active CN101163059B (zh) | 2007-11-24 | 2007-11-24 | 一种网络节点检测方法和装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN101163059B (zh) |
Families Citing this family (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104540161B (zh) * | 2014-12-12 | 2018-01-26 | 大唐移动通信设备有限公司 | 一种节点状态检测方法和装置 |
KR102508490B1 (ko) * | 2015-12-18 | 2023-03-10 | 주식회사 유라코퍼레이션 | 전기자동차 충전케이블 제어장치의 자동 재폐로 장치 및 방법 |
CN105656996B (zh) * | 2015-12-25 | 2019-03-01 | 北京奇虎科技有限公司 | 数据节点存活的检测方法及装置 |
CN105871597A (zh) * | 2016-03-28 | 2016-08-17 | 乐视控股(北京)有限公司 | 对网络单点的故障处理的方法及系统 |
CN106375137A (zh) * | 2016-12-09 | 2017-02-01 | 国网山西省电力公司忻州供电公司 | 电力通信网络的节点故障检测方法 |
CN107547260B (zh) * | 2017-07-24 | 2020-12-22 | 杭州沃趣科技股份有限公司 | 一种长距infiniband链路检测切换修复的方法 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1499780A (zh) * | 2002-10-31 | 2004-05-26 | ���ֿ˰뵼��V.N.����˾ | 具有高可行性的以太网背板结构 |
CN1815970A (zh) * | 2005-02-01 | 2006-08-09 | 华为技术有限公司 | 一种检测网络链路故障并定位故障的方法 |
CN101060442A (zh) * | 2006-04-22 | 2007-10-24 | 华为技术有限公司 | 一种链路状态检测装置及方法 |
-
2007
- 2007-11-24 CN CN2007101945713A patent/CN101163059B/zh active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1499780A (zh) * | 2002-10-31 | 2004-05-26 | ���ֿ˰뵼��V.N.����˾ | 具有高可行性的以太网背板结构 |
CN1815970A (zh) * | 2005-02-01 | 2006-08-09 | 华为技术有限公司 | 一种检测网络链路故障并定位故障的方法 |
CN101060442A (zh) * | 2006-04-22 | 2007-10-24 | 华为技术有限公司 | 一种链路状态检测装置及方法 |
Non-Patent Citations (1)
Title |
---|
WO 2004/003779 A2,全文. |
Also Published As
Publication number | Publication date |
---|---|
CN101163059A (zh) | 2008-04-16 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN101001192B (zh) | 一种环网链路保护的方法、系统及设备 | |
CN101163059B (zh) | 一种网络节点检测方法和装置 | |
CN1874201B (zh) | 在接收设备共享配置下的光网络保护触发方法及装置 | |
EP2352253A1 (en) | Method and apparatus for protecting link aggregation group of ethernet ring | |
EP2798782B1 (en) | Technique for handling a status change in an interconnect node | |
CN101217424B (zh) | 聚合链路故障的检测方法和装置 | |
CN101958831B (zh) | 以太环网故障恢复方法、以太环网及交换设备 | |
CN100454880C (zh) | 一种实现环网保护的方法及系统 | |
CN101188527B (zh) | 一种心跳检测方法和装置 | |
CN103401696A (zh) | 一种工业设备中的双网络冗余通讯系统及通讯方法 | |
CN101222402B (zh) | 以太环网保护方法、系统及装置 | |
CN102932183B (zh) | 双上行链路故障处理方法及设备 | |
CN104065546B (zh) | 以太网保护切换方法 | |
CN102281168A (zh) | 基于oam告警检测的链路故障处理方法及装置 | |
CN104796329A (zh) | 一种链路自动切换方法及装置 | |
CN104135398A (zh) | 一种智能rs485集线器及总线锁死检测方法 | |
CN102035695A (zh) | 双向转发检测方法及装置 | |
CN101931569A (zh) | 用于以太环网的链路故障检测方法 | |
CN101894056A (zh) | 总线工作节点隔离装置及其故障恢复系统和方法 | |
CN101980478A (zh) | 设备故障的检测处理方法、装置和网络设备 | |
CN102970700A (zh) | 根据注册网关数量进行双归属自动倒换判决方法及系统 | |
CN101753465B (zh) | 以太环网保护系统控制vlan报文的保护方法及设备 | |
CN207992997U (zh) | I2c总线系统 | |
CN103856338A (zh) | 一种用于串接通信设备的自动旁路装置及方法 | |
US20150358366A1 (en) | Method and Apparatus for Keeping Alive L2TP Tunnel State |
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 | ||
CP03 | Change of name, title or address |
Address after: 310052 Binjiang District Changhe Road, Zhejiang, China, No. 466, No. Patentee after: Xinhua three Technology 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: Huasan Communication Technology Co., Ltd. |