CN100579076C - 一种邻居关系建立方法和路由器 - Google Patents
一种邻居关系建立方法和路由器 Download PDFInfo
- Publication number
- CN100579076C CN100579076C CN200710076640A CN200710076640A CN100579076C CN 100579076 C CN100579076 C CN 100579076C CN 200710076640 A CN200710076640 A CN 200710076640A CN 200710076640 A CN200710076640 A CN 200710076640A CN 100579076 C CN100579076 C CN 100579076C
- Authority
- CN
- China
- Prior art keywords
- router
- handshake message
- neighbor
- identifier
- receiving
- 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
- 238000000034 method Methods 0.000 title claims abstract description 24
- 230000000977 initiatory effect Effects 0.000 claims description 4
- 238000004904 shortening Methods 0.000 abstract 1
- 238000010586 diagram Methods 0.000 description 7
- 230000008569 process Effects 0.000 description 4
- 238000001514 detection method Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000006855 networking Effects 0.000 description 2
- 230000001960 triggered effect Effects 0.000 description 2
- 238000012790 confirmation Methods 0.000 description 1
- 230000001934 delay Effects 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 230000006872 improvement Effects 0.000 description 1
- 230000003993 interaction Effects 0.000 description 1
- 238000011084 recovery Methods 0.000 description 1
Images
Landscapes
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本发明提供了一种邻居关系建立方法,包括:发送首包HELLO报文,接收邻居路由器回应的HELLO报文;收到HELLO报文之后,判断HELLO报文的内容附带的DR的标识或BDR的标识是否与本地的标识不同,并且判断接收HELLO报文的当前接口是否处于WAITING状态;如果路由器的标识与本地的标识不同且接收HELLO报文的当前接口处于WAITING状态,则进行DR选举。本发明还提供了用于OSPF协议系统的路由器。本发明能够使重启路由器很快与邻居路由器建立邻居关系,缩短了业务中断时间。
Description
技术领域
本发明涉及通信领域,更具体而言,涉及路由器及其邻居关系建立方法。
背景技术
OSPF(Open Shortest Path First,开放式最短路径优先)协议是一种得到广泛应用的动态路由协议。
在该协议中,通过在路由器间建立邻居关系,然后交换链路状态描述信息来得到其它路由器的信息,并由此生成路由信息。
在广播和NBMA(non-broadcast multi-access,非广播多路接入)类型网络中,OSPF协议规定通过选举DR(Designated Router,指定路由器)和BDR(Backup Designated Router,备份指定路由器)来减少报文交互。同一网段的路由器只与DR和BDR路由器建立邻居关系,并交换链路状态描述信息。路由器与DR和BDR路由器的链路状态描述信息的交换只有选举完毕后才能进行。DR和BDR是由网段中的路由器选举生成的,所以在广播或NBMA类型网络中,DR选举的时机对于网络收敛速度有很大影响。
大部分现有路由设备实现方式为主备板方式,如果主控板发生故障,则自动切换到备控板。这种切换会导致该路由设备与邻接的路由设备的OSPF邻居关系需要重新建立,路由也需要重新学习。这样就会造成业务的中断。另外,在直连的两台广播或NBMA类型接口的路由器之间,如果其中一台路由器发生重启或主备板倒换,也将导致邻居关系的重新建立和路由的重新学习。
图1示出了根据现有技术的路由器组网图,假定此前路由器已经建立好邻居关系,即邻居的状态达到完全连接(FULL)状态,现至少有一路由器发生了单板倒换或重启,图中包括:
第一路由器:此路由器发生了单板倒换或重启,与其它路由器间的邻居关系需要重新建立,原先通过OSPF学习到的动态路由也需要重新学习;以及
第二路由器:未发生倒换的正常运行的路由器。
在广播和NBMA网上,倒换或重启后的第一路由器设备发出首包HELLO(握手)报文,然后等待邻居第二路由器发过来的HELLO报文。图2示出了根据现有技术的HELLO报文的结构图。如果收到邻居路由HELLO报文中有本地路由器自身的路由器ID,并且HELLO报文中声明本地路由器自己为DR并且没有BDR,或者HELLO报文中声明本地路由器自己为BDR,则触发BackupSeen事件(即备份探知事件,用于查找DBR),当前即进行DR选举。BackupSeen事件是指BDR存在检测事件,检测邻居中是否存在BDR。如果找到了BDR,则将BDR选举为DR,如果找不到BDR,则从邻居路由器中选举DR。
在实现本发明过程中,发明人发现现有技术中至少存在如下问题:如果收到的HELLO报文不满足以上条件,则只有等到定时器WaitTimer超时才进行选举。比如BDR路由器如果发生倒换,则不会收到满足以上条件的HELLO报文,只能等WaitTimer超时后才进行DR选举。由于WaitTimer时间较长,所以在等待WaitTimer超时后再进行选举将延迟与邻居路由器建立邻居关系,导致业务中断时间比较长。
发明内容
本发明实施例旨在提供OSPF协议系统中的路由器及其邻居关系建立方法,以解决现有技术中建立邻居关系在时间较长的问题。
本发明的一个实施例提供了一种邻居关系建立方法,包括:发生倒换或重启的路由器发送首包HELLO报文,接收邻居路由器回应的HELLO报文,所述发生倒换或重启的路由器和邻居路由器均用于开放式最短路径优先协议系统;收到HELLO报文之后,判断HELLO报文的内容附带的DR的标识或BDR的标识是否与本地的标识不同,并且接收HELLO报文的当前接口是否处于WAITING(等待)状态;如果路由器的标识与本地的标识不同且接收HELLO报文的当前接口处于WAITING状态,则进行DR选举。
本发明的另一实施例提供了一种邻居关系建立方法,包括:发生倒换或重启的路由器发送首包HELLO报文,接收邻居路由器回应的HELLO报文,所述发生倒换或重启的路由器和邻居路由器均用于开放式最短路径优先协议系统;收到HELLO报文之后,判断HELLO报文的内容附带的DR的标识或BDR的标识是否与本地的标识不同,并且判断接收HELLO报文的当前接口是否处于WAITING状态;以及如果路由器的标识与本地的标识不同且接收HELLO报文的当前接口处于WAITING状态,则WAITING定时器超时才进行DR选举;其中,将定时器配置为小于宣告邻居断开的时间间隔。
本发明的另一实施例提供了一种邻居关系建立装置,包括:发送模块,用于通过发生倒换或重启的路由器发送首包握手报文;接收模块,用于在发送首包HELLO报文后接收邻居路由器回应的HELLO报文,所述发生倒换或重启的路由器和邻居路由器均用于开放式最短路径优先协议系统;判断模块,用于在收到HELLO报文之后,判断HELLO报文的内容附带的DR的标识或BDR的标识是否与本地的标识不同,并且接收HELLO报文的当前接口是否处于WAITING状态;以及选举模块,用于如果路由器的标识与本地的标识不同且接收HELLO报文的当前接口处于WAITING状态,则进行DR选举。
本发明的另一实施例提供了一种邻居关系建立装置,包括:接收模块,用于通过发生倒换或重启的路由器发送首包HELLO报文,接收邻居路由器回应的HELLO报文,所述发生倒换或重启的路由器和邻居路由器均用于开放式最短路径优先协议系统;判断模块,用于在收到HELLO报文之后,判断HELLO报文的内容附带的DR的标识或BDR的标识是否与本地的标识相同,并且判断接收HELLO报文的当前接口是否处于WAITING状态;以及选举模块,如果路由器的标识与本地的标识不同且接收HELLO报文的当前接口处于WAITING状态,则WAITING定时器超时才进行DR选举;其中,定时器被配置为小于宣告邻居断开的时间间隔。
上述技术方案在收到满足一定条件即HELLO报文的内容附带的DR或BDR是与本地不同的HELLO报文后,并且如果路由器的标识与本地的标识不同且接收HELLO报文的当前接口处于WAITING状态,则当前即进行DR选举,因此重启路由器很快与邻居路由器建立邻居关系,缩短了业务中断时间。
本发明的其它特征和优点将在随后的说明书中阐述,并且,部分地从说明书中变得显而易见,或者通过实施本发明而了解。本发明的目的和其他优点可通过在所写的说明书、权利要求书、以及附图中所特别指出的结构来实现和获得。
附图说明
图1示出了根据现有技术的路由器组网图;
图2示出了根据现有技术的HELLO报文的结构图;
图3示出了根据本发明实施例的邻居关系建立方法的流程图;
图4示出了根据本发明实施例的路由器的方框图。
具体实施方式
下面将参考附图并结合实施例,来详细说明本发明。
图3示出了根据本发明实施例的邻居关系建立方法的流程图,包括:
步骤S10,发生倒换或重启的路由器发送首包HELLO报文,接收邻居路由器回应的HELLO报文;
步骤S20,收到HELLO报文之后,判断HELLO报文的内容附带的DR的标识或BDR的标识是否与本地的标识相同,并且接收HELLO报文的当前接口是否处于WAITING状态;以及
步骤S30,如果路由器的标识与本地的标识不同且接收HELLO报文的当前接口处于WAITING状态,则进行DR选举,以与其他路由器建立邻居关系。
该实施例中,在收到满足一定条件即HELLO报文的内容附带的DR或BDR是与本地不同的HELLO报文后,如果当前接口处于WAITING状态,则当前即进行DR选举,从而很快与邻居路由器建立邻居关系,缩短了业务中断时间。
这种提前选举可能会与邻居路由器当前结果不同,但经过几次选举后(后续还会不断收到邻居路由器的HELLO报文,所以还会触发选举)会达到一致。
当前即进行DR选举具体包括:检测邻居路由器中是否存在BDR,如果找到了BDR,则将BDR选举为DR,如果找不到BDR,则从邻居路由器中选举DR。可以通过启动BackupSeen事件检测邻居中是否存在BDR。
在执行步骤S20之前,该发生倒换或重启的路由器可以先判断邻居路由器的HELLO报文附带的邻居路由器ID是否包含自己的路由器ID,如果不包含,则说明对端没有收到自己的重启消息(即首包HELLO报文),所以仍然按常规流程进行,例如该发生倒换或重启的路由器继续向邻居路由器重发首包HELLO报文,或者接口保持WAITING状态不变。如果包含,则说明对端收到了自己的重启消息(即首包HELLO报文),所以继续进行上述的步骤S20。
在本发明的另一个实施例中,步骤S30还可以为:如果HELLO报文的内容附带的DR或BDR与本地不同,并且接收该HELLO报文的当前接口是处于WAITING状态,则等待定时器Waittimer超时才进行DR选举;其中,将定时器配置为小于Router Dead Interval(宣告邻居断开的时间间隔)。
在现有技术中,WaitTimer一般与RouterDeadInterval相同。本方案实现通过配置来修改WaitTimer也可以达到提前进行DR选举的效果。使WaitTimer可配置后,用户可以根据需要缩短等待时间,建议配置范围为(0,RouterDeadInterval)。例如在RouterDeadInterval为40秒的情况下,将WaitTimer配置为10秒,则可以缩短30秒中断时间。
例如,当前重启路由器为BDR。重启后:
如果收到的HELLO报文是由其他指定路由器发出的(即,HELLO报文中附带的DR的标识或BDR的标识与本地不同),并且接收该HELLO报文的当前接口处于WAITING状态,则触发DR选举,选举结果可能会将重启路由器选举为DR(,而当前的其他指定路由器可能会被选举为BDR。当再收到DR路由器发来的HELLO报文后,再次触发DR选举。
图4示出了根据本发明实施例的路由器的方框图,包括:
发送模块40,用于发送首包握手报文;
接收模块10,用于在发生倒换或重启后,发送首包HELLO报文,接收邻居路由器回应的HELLO报文;
判断模块20,用于在收到HELLO报文之后,判断HELLO报文的内容附带的DR的标识或BDR的标识是否与本地的标识不同,并且接收HELLO报文的当前接口是否处于WAITING状态;以及
选举模块30,用于如果路由器的标识与本地的标识不同且接收HELLO报文的当前接口处于WAITING状态,则进行DR选举,以与其他路由器建立邻居关系。
选举模块20可检测邻居中是否存在BDR,如果找到了BDR,则将BDR选举为DR,如果找不到BDR,则从邻居路由器中选举DR。具体来说,可以通过启动BackupSeen事件来检测邻居中是否存在BDR。
该路由器还可包括确认模块,用于如果HELLO报文附带的邻居路由器ID不包含自己的ID,则确认HELLO报文的发送者还没有收到自己的重启消息。如果包含,则继续判断收到的HELLO报文的内容附带的指定路由器或备份指定路由器是否与本地不同,并且接收该HELLO报文的当前接口是否处于WAITING状态;如果不包含,则确认HELLO报文的发送者还没有收到自己的重启消息,并继续向邻居路由器重发首包HELLO报文,或者当前接口保持WAITING状态不变。
根据本发明的另一实施例,选举模块30也可用于如果HELLO报文的内容附带的DR的标识或BDR的标识与本地不同,并且接收该HELLO报文的当前接口是处于WAITING状态,则等待定时器Waittimer超时才进行DR选举;其中,将定时器配置为小于RouterDeadInterval。
本发明上述实施例通过在收到HELLO报文时,加快触发DR选举过程,来加快与邻居路由器的邻居关系的建立,从而实现可以较快地恢复中断的业务。
显然,本领域的技术人员应该明白,上述的本发明的各模块或各步骤可以用通用的计算装置来实现,它们可以集中在单个的计算装置上,或者分布在多个计算装置所组成的网络上,可选地,它们可以用计算装置可执行的程序代码来实现,从而,可以将它们存储在存储装置中由计算装置来执行,或者将它们分别制作成各个集成电路模块,或者将它们中的多个模块或步骤制作成单个集成电路模块来实现。这样,本发明不限制于任何特定的硬件和软件结合。应该明白,这些具体实施中的变化对于本领域的技术人员来说是显而易见的,不脱离本发明的精神保护范围。
以上所述仅为本发明的优选实施例而已,并不用于限制本发明,对于本领域的技术人员来说,本发明可以有各种更改和变化。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
Claims (10)
1.一种邻居关系建立方法,其特征在于,包括:
发生倒换或重启的路由器发送首包握手报文,接收邻居路由器发送的握手报文,所述发生倒换或重启的路由器和邻居路由器均用于开放式最短路径优先协议系统;
收到所述握手报文之后,判断所述握手报文附带的指定路由器的标识或备份指定路由器的标识是否与本地的标识相同,并且判断接收所述握手报文的当前接口是否处于等待状态;
如果路由器的标识与本地的标识不同且接收所述握手报文的当前接口处于等待状态,则进行指定路由器选举。
2.根据权利要求1所述的邻居关系建立方法,其特征在于,进行指定路由器选举具体包括:检测所述邻居路由器中是否存在备份指定路由器,如果存在,则将所述备份指定路由器选举为指定路由器,如果不存在,则从所述邻居路由器中选举指定路由器。
3.根据权利要求2所述的邻居关系建立方法,其特征在于,通过启动备份探知事件检测邻居路由器中是否存在备份指定路由器。
4.根据权利要求1所述的邻居关系建立方法,其特征在于,收到所述握手报文之后,判断所述握手报文附带的指定路由器的标识或备份指定路由器的标识是否与本地的标识相同之前,还包括以下步骤:
首先判断所述握手报文附带的邻居路由器标识是否为本地的标识;
如果是,则收到所述握手报文之后,判断所述握手报文的内容附带的指定路由器的标识或备份指定路由器的标识是否与本地的标识不同,并且判断接收所述握手报文的当前接口是否处于等待状态;
如果不是,则确认所述握手报文的发送者还没有收到自己的重启消息,并继续向所述邻居路由器重发首包握手报文,或者使所述当前接口保持等待状态不变。
5.一种邻居关系建立方法,其特征在于,包括:
发生倒换或重启的路由器发送首包握手报文,接收邻居路由器回应的握手报文,所述发生倒换或重启的路由器用于开放式最短路径优先协议系统;
收到所述握手报文之后,判断所述握手报文的内容附带的指定路由器的标识或备份指定路由器的标识是否与本地的标识不同,并且判断接收所述握手报文的当前接口是否处于等待状态;以及
如果路由器的标识与本地的标识不同且接收所述握手报文的当前接口处于等待状态,则等待定时器超时才进行指定路由器选举;其中,
将所述定时器配置为小于宣告邻居断开的时间间隔。
6.一种邻居关系建立装置,其特征在于,包括:
发送模块,用于通过发生倒换或重启的路由器发送首包握手报文;
接收模块,用于在发送首包握手报文后接收邻居路由器回应的握手报文,所述发生倒换或重启的路由器和邻居路由器均用于开放式最短路径优先协议系统;
判断模块,用于在收到所述握手报文之后,判断所述握手报文的内容附带的指定路由器的标识或备份指定路由器的标识是否与本地的标识相同,并且判断接收所述握手报文的当前接口是否处于等待状态;以及
选举模块,用于如果路由器的标识与本地的标识不同且接收所述握手报文的当前接口处于等待状态,则进行指定路由器选举。
7.根据权利要求6所述的邻居关系建立装置,其特征在于,所述选举模块用于检测所述邻居路由器中是否存在备份指定路由器,如果存在,则将所述备份指定路由器选举为指定路由器,如果不存在,则从所述邻居路由器中选举指定路由器。
8.根据权利要求7所述的邻居关系建立装置,其特征在于,所述选举模块通过启动备份探知事件检测邻居路由器中是否存在备份指定路由器。
9.根据权利要求6所述的邻居关系建立装置,其特征在于,还包括确认模块,用于首先判断所述握手报文附带的邻居路由器标识是否为本地的标识;如果是,则启动所述判断模块;如果不是,则确认所述握手报文的发送者还没有收到自己的重启消息,并继续向所述邻居路由器重发首包握手报文,或者使所述当前接口保持等待状态不变。
10.一种邻居关系建立装置,其特征在于,包括:
发送模块,用于通过发生倒换或重启的路由器发送首包握手报文;
接收模块,用于在发送首包握手报文后接收邻居路由器回应的握手报文,所述发生倒换或重启的路由器和邻居路由器均用于开放式最短路径优先协议系统;
判断模块,用于在收到所述握手报文之后,判断所述握手报文的内容附带的指定路由器的标识或备份指定路由器的标识是否与本地的标识相同,并且判断接收所述握手报文的当前接口是否处于等待状态;以及
选举模块,如果路由器的标识与本地的标识不同且接收所述握手报文的当前接口处于等待状态,则等待定时器超时才进行指定路由器选举;其中,所述定时器被配置为小于宣告邻居断开的时间间隔。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN200710076640A CN100579076C (zh) | 2007-08-24 | 2007-08-24 | 一种邻居关系建立方法和路由器 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN200710076640A CN100579076C (zh) | 2007-08-24 | 2007-08-24 | 一种邻居关系建立方法和路由器 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN101119304A CN101119304A (zh) | 2008-02-06 |
CN100579076C true CN100579076C (zh) | 2010-01-06 |
Family
ID=39055243
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN200710076640A Expired - Fee Related CN100579076C (zh) | 2007-08-24 | 2007-08-24 | 一种邻居关系建立方法和路由器 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN100579076C (zh) |
Families Citing this family (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102215112B (zh) * | 2010-04-08 | 2013-11-27 | 杭州华三通信技术有限公司 | 应用于FCoE组网的优化FSPF协议的方法及交换机 |
EP2648375B1 (en) | 2011-06-30 | 2018-11-07 | Huawei Technologies Co., Ltd. | Method and device for establishing router neighbor |
CN102281194A (zh) * | 2011-08-01 | 2011-12-14 | 华为技术有限公司 | 报文的传输方法及网络设备 |
CN102932259A (zh) * | 2012-11-20 | 2013-02-13 | 华为技术有限公司 | 邻居关系处理方法和路由设备 |
CN105227459A (zh) * | 2014-05-29 | 2016-01-06 | 国际商业机器公司 | 通过ospf路由器执行的方法以及相应的ospf路由器 |
CN106559343A (zh) * | 2015-09-28 | 2017-04-05 | 中兴通讯股份有限公司 | 一种指定路由器的选举方法及装置 |
CN107872382B (zh) * | 2016-09-26 | 2020-11-24 | 中国电信股份有限公司 | 用于传送路由信息的方法和系统 |
CN108075973B (zh) * | 2016-11-11 | 2020-11-13 | 大唐移动通信设备有限公司 | 一种设备通信方法和装置 |
CN109873764B (zh) * | 2019-02-21 | 2021-12-24 | 杭州迪普科技股份有限公司 | 建立定向ospf邻居关系的方法、装置、电子设备 |
-
2007
- 2007-08-24 CN CN200710076640A patent/CN100579076C/zh not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
CN101119304A (zh) | 2008-02-06 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN100579076C (zh) | 一种邻居关系建立方法和路由器 | |
CN100527716C (zh) | 主备网关设备状态切换后业务恢复的方法及网关设备 | |
US8331222B2 (en) | Link fault handling method and data forwarding apparatus | |
CN107911291B (zh) | Vrrp路由器切换方法、路由器、vrrp主备切换系统及存储介质 | |
CN101060485B (zh) | 拓扑改变报文的处理方法和处理装置 | |
KR101591102B1 (ko) | Vrrp 라우터의 동작 방법 및 이를 위한 통신 시스템 | |
US20080076405A1 (en) | Method of handling radio link failure in wireless communications system and related device | |
CN101110848B (zh) | 一种检测通道故障的方法 | |
US20120275456A1 (en) | Expedited graceful ospf restart | |
CN100568854C (zh) | 一种保持邻居关系的方法和接口板 | |
US20080008165A1 (en) | Multi-Interface Communication Device, Terminal, And Path Switching Method | |
EP2642691A1 (en) | Method and device for link fault detecting and recovering based on arp interaction | |
WO2011100882A1 (zh) | 链路检测方法、装置和系统 | |
EP2698948A1 (en) | Method and device for determining failure elimination based on oam protocol | |
CN102355416B (zh) | 路由信息协议联动双向会话检测建立路由的方法及设备 | |
CN111447094A (zh) | 双机的主从切换方法、终端设备及计算机可读存储介质 | |
CN109873719B (zh) | 一种故障检测方法及装置 | |
CN1921417B (zh) | 双向转发检测上报会话状态的方法 | |
CN113645312B (zh) | 一种基于erps协议的子环网链路保护方法与装置 | |
JP4620414B2 (ja) | 無線通信端末装置及びプログラム | |
WO2015168892A1 (zh) | 保护倒换的方法、节点和控制设备 | |
CN107786436B (zh) | 一种vpn网络及保护倒换方法 | |
CN106301835B (zh) | 一种bfd建链的方法及其装置、路由器 | |
JP4260796B2 (ja) | ブリッジ及びそれを用いた経路変更方法 | |
WO2009071024A1 (fr) | Procédé de traitement d'échec de vpn et routeur pe pour fournisseur de réseau |
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 | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20100106 Termination date: 20180824 |