CN101621470A - 一种路由有效性检测方法和路由设备 - Google Patents
一种路由有效性检测方法和路由设备 Download PDFInfo
- Publication number
- CN101621470A CN101621470A CN200910109254A CN200910109254A CN101621470A CN 101621470 A CN101621470 A CN 101621470A CN 200910109254 A CN200910109254 A CN 200910109254A CN 200910109254 A CN200910109254 A CN 200910109254A CN 101621470 A CN101621470 A CN 101621470A
- Authority
- CN
- China
- Prior art keywords
- route
- next hop
- hop address
- arp
- state
- 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协议栈路由管理,包括步骤:a)对于所有路由条目,进行下一跳设备的在位检测;b)如果下一跳的路由有效,则向下一跳地址的路由设备发送数据。本发明还公开了一种路由设备,包括:在位检测单元,用于对于所有路由条目,进行下一跳的在位检测;数据发送单元,用于向下一跳的路由有效的路由设备发送数据。本发明提高了系统的业务流量转发性能以及转发的有效性。
Description
【技术领域】
本发明涉及通信技术领域,具体涉及一种路由有效性检测方法和路由设备。
【背景技术】
现有技术中,IP(Internet Protocol,网络协议)协议栈的路由条目主要包括目的网络和下一跳地址两个关键的信息。IP报文的转发主要是根据报文目的IP所属的网络,查找路由表,得到转发的下一跳地址,由下一跳地址得到转发接口,根据下一跳IP地址,查找地址解析协议(AddressResolution Protocol,ARP)表,得到下一跳IP所属设备的二层MAC(MediaAccess Control,媒体访问控制)地址,再封装MAC头,这样报文就具备了转发到下一跳设备,由下一跳设备继续处理的完整条件。由此可见,数据转发能否完成,取决于对应路由条目是否存在,转发下一跳IP对应的ARP条目是否存在两个因素。因此,对于报文转发,路由表是和ARP表紧密相关的。
目前,对于路由有效性的检测,一般是通过检测接口的有效性来判断路由的有效性,如果接口有效即认为路由有效。这种方法存在一定的缺陷:请参阅图1所示,图1中A、B、C分别是网络上存在通信关系的三台IP路由交换设备。其中,A端是发送数据的一端,B、C是A中路由条目的下一跳对应设备,M、N为A和B,A和C之间的二层集线器或交换机设备。假设路由器A与B之间的路由条目为R1,对应的目的网络为N1,接口为I1,下一跳为H1。路由器A与C之间的路由条目为R2,对应的目的网络为N2,接口为I2,下一跳为H2。如果M和B之间的链路出现问题,接口I1状态虽然为UP,但是实际上下一跳H1已经不可达;虽然下一跳已经不可达,但是路由条目R1,由于接口I1的状态仍然为有效,所以R1的状态也为有效,所以业务流量继续向接口I1转发,最终报文转发无效,业务失败;只要接口I1的状态不发生改变,M和B之间的链路不恢复,即使该业务存在备份用的路由R2,也无法发生倒换,业务无法恢复。
【发明内容】
本发明的主要目的是针对上述缺陷提供一种简单有效,与接收端实现无关的路由有效性检测手段,提高系统的业务流量转发性能以及转发的有效性。
本发明要解决的技术问题所采用的技术方案是:一种路由有效性的检测方法,应用于网络设备中IP协议栈路由管理,包括步骤:
a)对于所有路由条目,进行下一跳的在位检测;
b)如果下一跳的路由有效,则向下一跳地址的路由设备发送数据。步骤a)包括步骤:
a1)对于所有路由条目,向对应接口状态为有效的路由条目发送ARP请求;
a2)如果接收到下一跳地址对应的路由器响应的ARP应答,则置下一跳的路由条目状态为有效;
a3)如果无法接收到下一跳地址对应的路由器响应的ARP应答,则计数加1;当次数到达预定阀值后,则将下一跳地址对应的所有路由条目的状态设置为无效。
所述步骤a)之前还进一步包括步骤:
c)检测路由条目对应的接口状态是否为有效,如果有效,则进入步骤a);如果无效,则退出流程。
所述步骤c)之前还进一步包括步骤:
d)将所有路由条目的初始状态设置为无效。
对于已经设置为有效的路由条目,下一跳地址路由的检测采用单播的ARP请求方式;否则,采用广播的ARP请求方式。
一种路由设备,包括:
在位检测单元,用于对所有路由条目,进行下一跳的在位检测;
状态设置单元,用于设置下一跳地址的路由条目状态;
数据发送单元,用于向下一跳的路由有效的路由设备发送数据。
所述在位检测单元包括:
ARP请求发送单元,用于每隔一定的时间间隔通过状态有效的接口向下一跳地址发送ARP请求;
ARP应答接收单元,用于接收下一跳地址对应的路由器响应的ARP应答;
所述状态设置单元用于:
如果接收到下一跳地址对应的路由器响应的ARP应答,则将所有下一跳地址的路由条目状态设置为有效;
如果无法接收到下一跳地址对应的路由器响应的ARP应答,则将所有下一跳地址的路由条目状态设置为无效。
所述状态设置单元还进一步用于:
在初始状态,将对应路由条目的路由初始状态设置为无效。
所述的路由设备,还包括:
计数单元,用于统计无法接收到下一跳地址对应的路由器响应的ARP应答的次数;
判断单元,用于判断无法接收到下一跳地址对应的路由器响应的ARP应答的次数是否达到阀值。
与现有技术相比,本发明实施例公开的路由有效性检测方法不存在协议兼容性和对接问题,只需本端实现即可,与对端实现无关。有效的进行路由有效性的检测,避免因下一跳失效而导致转发失败,从而业务失败。与备份路由关联也可提高路由备份的有效性,加快路由倒换。
【附图说明】
图1是网络系统硬件架构示意图;
图2是本发明提供的一种路由有效性检测方法流程图;
图3是本发明提供的一种路由有效性检测方法流程图;
图4是本发明提供的一种路由设备结构示意图。
【具体实施方式】
下面通过具体的实施例并结合附图对本发明作进一步详细的描述。
请参阅图1所示,图1中A、B、C分别是网络上存在通信关系的三台IP路由交换设备。其中,A端是发送数据的一端,B、C是A中路由条目的下一跳对应设备,M、N为A和B,A和C之间的二层集线器或交换机设备。假设路由器A与B之间的路由条目为R1,对应的目的网络为N1,接口为I1,下一跳为H1。路由器A与C之间的路由条目为R2,对应的目的网络为N2,接口为I2,下一跳为H2。
本发明中,对于某条路由条目,初始态置路由条目状态为无效(DOWN),主动驱动设备在该路由条目所属的接口I上,定时向外发送请求下一跳IP地址对应MAC地址的ARP请求本发明中,对于所有路由条目,无论是UP还是DOWN,只要对应接口状态为UP,均定时发送ARP请求探测下一跳的在位情况。
下面针对两种情况分别进行详细说明。
实施例一
请参阅图2所示,图2为路由器A和B之间正常时的路由有效性检测流程图。包括步骤:
步骤201:在初始态,路由器A中存在下一跳为H1的路由条目R1…RX。此下一跳对应接口为I1,系统启动下一跳H1的在位检测,通过接口I1定时向下一跳H1发送ARP请求;
步骤202:下一跳H1对应是路由器B,在收到A发来的ARP请求时,按照ARP协议的要求,判断自身接口IP地址为被请求IP地址,应该向A回应ARP应答;
步骤203:路由器A在收到B响应的ARP应答后,按照协议要求,本地添加或更新IP地址H1对应的ARP缓存。同时置所有以H1为下一跳的路由条目R1…RX状态为有效(UP);
步骤204:所有使用路由条目R1…RX的业务流量通过接口I1,向下一跳B转发流量;
步骤205:返回步骤201,循环流程。
实施例二
请参阅图3所示,图3为路由器A和B之间异常时的路由有效性检测流程图。包括步骤:
步骤301:路由器B发生故障,导致无法继续转发业务流量;
步骤302:系统启动下一跳H1的在位检测,路由器A定时发起ARP请求,检测路由器B是否在位,此时由于路由器B已经失效,所以无法向A作出ARP应答回应;
步骤303:路由器A无法收到回应时,计数器加1,当无法收到回应得次数到达某个预定阀值时,可认为下一跳失效,将本地所有下一跳为H1的路由条目R1…RX的状态全部置为无效;
步骤304:由于路由条目无效,所以使用相关路由条目R1…RX的业务报文被丢弃,或者倒换到有效的备用路由继续转发;
同时路由器A仍然按照定时器要求,定时向下一跳H1发送ARP请求,检测路由器B是否在位可用。如收到回应则按照图1的处理流程继续处理。
为了避免不必要的广播风暴,可以采用第一次ARP请求为广播,在生成了有效的ARP条目-R后,后面的定时请求用单播的方式进行。对于曾经UP过的路由条目,下一跳的检测可以采用单播的ARP请求方式,对于其他可以采用广播的ARP请求方式。
请参阅图4所示,同时,本发明还公开了一种路由设备,包括:
在位检测单元401,用于对于所有路由条目,进行下一跳的在位检测;
状态设置单元402,用于设置下一跳地址的路由条目状态;
数据发送单元403,用于向下一跳的路由有效的路由设备发送数据。
本发明实施例中,进一步的,所述在位检测单元401包括:
ARP请求发送单元4011,用于每隔一定的时间间隔通过状态有效的接口向下一跳地址发送ARP请求;
ARP应答接收单元4012,用于接收下一跳地址对应的路由器响应的ARP应答;
本发明实施例中,进一步的,所述状态设置单元402,具体用于:
如果接收到下一跳地址对应的路由器响应的ARP应答,则将所有下一跳地址的路由条目状态设置为有效;如果无法接收到下一跳地址对应的路由器响应的ARP应答,则将所有下一跳地址的路由条目状态设置为无效。
本发明实施例中,所述状态设置单元402还进一步用于:在初始状态,将对应路由条目的路由初始状态设置为无效。
本发明实施例中,进一步的,所述路由设备还包括:
计数单元404,用于统计无法接收到下一跳地址对应的路由器响应的ARP应答的次数。
判断单元405,用于判断无法接收到下一跳地址对应的路由器响应的ARP应答的次数是否达到阀值。
在初始态,路由器A中存在下一跳为H1的路由条目R1…RX。此下一跳对应接口为I1,在位检测单元401启动下一跳H1的在位检测,ARP请求发送单元4011通过接口I1定时向下一跳H1发送ARP请求。下一跳H1对应是路由器B,在收到A发来的ARP请求时,按照ARP协议的要求,判断自身接口IP地址为被请求IP地址,应该向A回应ARP应答;ARP应答接收单元4012在收到B响应的ARP应答后,路由器A按照协议要求,本地添加或更新IP地址H1对应的ARP缓存。状态设置单元402同时置所有以H1为下一跳的路由条目R1…RX状态为有效(UP)。数据发送单元403向下一跳对应的路由器B转发流量。
如果ARP应答接收单元4012没有收到路由器B响应的ARP应答,则计数单元404加1,判断单元405判断无法接收到下一跳地址对应的路由器响应的ARP应答的次数达到阀值后,通知状态设置单元402将路由条目状态R1…RX设置为无效。对于路由条目无效的,使用相关路由条目的业务报文被丢弃,或者倒换到有效的备用路由继续转发。
本发明在对已有系统改动及影响最小,而且无需修改对接设备的情况下实现了有效的进行路由有效性的检测,避免因下一跳失效而导致转发失败,从而业务失败,与备份路由关联可提高路由备份的有效性,加快路由倒换的目标。而且完全兼容原有协议的处理。
以上内容是结合具体的优选实施方式对本发明所作的进一步详细说明,不能认定本发明的具体实施只局限于这些说明。对于本发明所属技术领域的普通技术人员来说,在不脱离本发明构思的前提下,还可以做出若干简单推演或替换,都应当视为属于本发明的保护范围。
Claims (10)
1.一种路由有效性的检测方法,应用于网络设备中IP协议栈路由管理,其特征在于,包括步骤:
a)对于所有路由条目,进行下一跳设备的在位检测;
b)如果下一跳的路由有效,则向下一跳地址的路由设备发送数据。
2.根据权利要求1所述的方法,其特征在于,步骤a)包括步骤:
a1)对于所有路由条目,向对应接口状态为有效的路由条目发送ARP请求;
a2)如果接收到下一跳地址对应的路由器响应的ARP应答,则置下一跳的路由条目状态为有效;
a3)如果无法接收到下一跳地址对应的路由器响应的ARP应答,则计数加1;当次数到达预定阀值后,则将下一跳地址对应的所有路由条目的状态设置为无效。
3.根据权利要求1所述的方法,其特征在于,所述步骤a)之前还进一步包括步骤:
c)检测路由条目对应的接口状态是否为有效,如果有效,则进入步骤a);如果无效,则退出流程。
4.根据权利要求3所述的方法,其特征在于,所述步骤c)之前还进一步包括步骤:
d)将所有路由条目的初始状态设置为无效。
5.根据权利要求2所述的方法,其特征在于,对于已经设置为有效的路由条目,下一跳地址路由的检测采用单播的ARP请求方式;否则,采用广播的ARP请求方式。
6.一种路由设备,其特征在于,包括:
在位检测单元,用于对所有路由条目,进行下一跳的在位检测;
状态设置单元,用于设置下一跳地址的路由条目状态;
数据发送单元,用于向下一跳的路由有效的路由设备发送数据。
7.根据权利要求6所述的路由设备,其特征在于,所述在位检测单元包括:
ARP请求发送单元,用于每隔一定的时间间隔通过状态有效的接口向下一跳地址发送ARP请求;
ARP应答接收单元,用于接收下一跳地址对应的路由器响应的ARP应答;
8.根据权利要求7所述的路由设备,其特征在于,所述状态设置单元用于:
如果接收到下一跳地址对应的路由器响应的ARP应答,则将所有下一跳地址的路由条目状态设置为有效;
如果无法接收到下一跳地址对应的路由器响应的ARP应答,则将所有下一跳地址的路由条目状态设置为无效。
9.根据权利要求8所述的路由设备,其特征在于,所述状态设置单元还进一步用于:
在初始状态,将对应路由条目的路由初始状态设置为无效。
10.根据权利要求7所述的路由设备,其特征在于,还包括:
计数单元,用于统计无法接收到下一跳地址对应的路由器响应的ARP应答的次数;
判断单元,用于判断无法接收到下一跳地址对应的路由器响应的ARP应答的次数是否达到阀值。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN200910109254A CN101621470A (zh) | 2009-07-27 | 2009-07-27 | 一种路由有效性检测方法和路由设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN200910109254A CN101621470A (zh) | 2009-07-27 | 2009-07-27 | 一种路由有效性检测方法和路由设备 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN101621470A true CN101621470A (zh) | 2010-01-06 |
Family
ID=41514522
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN200910109254A Pending CN101621470A (zh) | 2009-07-27 | 2009-07-27 | 一种路由有效性检测方法和路由设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN101621470A (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102857427A (zh) * | 2012-08-27 | 2013-01-02 | 上海斐讯数据通信技术有限公司 | 探测路由下一跳mac地址的方法及其路由设备 |
CN112511665A (zh) * | 2020-12-14 | 2021-03-16 | 北京特立信电子技术股份有限公司 | 路由检测方法、路由切换方法、装置、终端及存储介质 |
-
2009
- 2009-07-27 CN CN200910109254A patent/CN101621470A/zh active Pending
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102857427A (zh) * | 2012-08-27 | 2013-01-02 | 上海斐讯数据通信技术有限公司 | 探测路由下一跳mac地址的方法及其路由设备 |
CN112511665A (zh) * | 2020-12-14 | 2021-03-16 | 北京特立信电子技术股份有限公司 | 路由检测方法、路由切换方法、装置、终端及存储介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US9722875B2 (en) | Master device, slave device, and methods thereof | |
US8509059B2 (en) | Method for operating a virtual router redundancy protocol router and communication system therefor | |
CN102315975B (zh) | 一种基于irf系统的故障处理方法及其设备 | |
CN100499485C (zh) | 一种以太网链路状态维护方法 | |
CN100512128C (zh) | 保护组播转发路径的方法和系统和业务路由器 | |
CN101072154B (zh) | 以太环网切换方法 | |
CN101977245A (zh) | 一种ip地址冲突检测的方法、网络设备和系统 | |
CN100531071C (zh) | 链路故障检测的方法、系统和实现链路故障检测的设备 | |
CN1909507B (zh) | 一种报文转发方法和系统 | |
US9077558B2 (en) | Client/bridge failure recovery method and system | |
CN101420381B (zh) | 一种提高vrrp负载均衡中转发可靠性的方法和装置 | |
WO2012106915A1 (zh) | 故障通告方法、检测装置、转发装置、系统及数据结构 | |
CN110611590A (zh) | 一种物联网网关通信备份的方法和系统 | |
JP2010114855A (ja) | ホームネットワークシステム | |
CN102480409A (zh) | 实现rrpp环分路上行的方法、rrpp环和装置 | |
CN101888338A (zh) | 信息转发方法及网关 | |
CN101009669B (zh) | 一种传输组播消息的方法和系统以及路由设备 | |
CN101340377B (zh) | 一种用于二层网络数据传输的方法、装置及其系统 | |
CN102231712A (zh) | 在编码器上进行负载分担的方法及编码器 | |
CN101621470A (zh) | 一种路由有效性检测方法和路由设备 | |
CN101888319A (zh) | 获取终端设备的网络接入信息的方法和装置 | |
CN101237319A (zh) | 以太环网中的时间同步方法和以太环网系统 | |
CN102223241B (zh) | 网络变化通知方法和设备 | |
CN102118295B (zh) | 一种组播报文的转发方法和设备 | |
CN113037622B (zh) | 一种防止bfd震荡的系统及方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C02 | Deemed withdrawal of patent application after publication (patent law 2001) | ||
WD01 | Invention patent application deemed withdrawn after publication |
Application publication date: 20100106 |