CN104935508B - 一种防止路由环路的方法及装置 - Google Patents
一种防止路由环路的方法及装置 Download PDFInfo
- Publication number
- CN104935508B CN104935508B CN201410101284.3A CN201410101284A CN104935508B CN 104935508 B CN104935508 B CN 104935508B CN 201410101284 A CN201410101284 A CN 201410101284A CN 104935508 B CN104935508 B CN 104935508B
- Authority
- CN
- China
- Prior art keywords
- routing
- former
- router
- new
- command message
- 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
- 238000000034 method Methods 0.000 title claims abstract description 48
- 230000005540 biological transmission Effects 0.000 claims description 27
- 238000012544 monitoring process Methods 0.000 claims description 7
- 238000004891 communication Methods 0.000 abstract description 3
- 238000010586 diagram Methods 0.000 description 7
- 230000004087 circulation Effects 0.000 description 5
- 230000008569 process Effects 0.000 description 5
- 230000008901 benefit Effects 0.000 description 4
- 230000006870 function Effects 0.000 description 4
- 230000008859 change Effects 0.000 description 3
- 230000009471 action Effects 0.000 description 2
- 238000004590 computer program Methods 0.000 description 2
- 238000005516 engineering process Methods 0.000 description 2
- 230000011218 segmentation Effects 0.000 description 2
- 241000208340 Araliaceae Species 0.000 description 1
- 235000005035 Panax pseudoginseng ssp. pseudoginseng Nutrition 0.000 description 1
- 235000003140 Panax quinquefolius Nutrition 0.000 description 1
- 230000002159 abnormal effect Effects 0.000 description 1
- 235000013399 edible fruits Nutrition 0.000 description 1
- 238000000802 evaporation-induced self-assembly Methods 0.000 description 1
- 235000008434 ginseng Nutrition 0.000 description 1
- 230000010354 integration Effects 0.000 description 1
- 230000002452 interceptive effect Effects 0.000 description 1
- 230000005389 magnetism Effects 0.000 description 1
- 230000007246 mechanism Effects 0.000 description 1
- 239000013307 optical fiber Substances 0.000 description 1
- 230000002093 peripheral effect Effects 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
Landscapes
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本申请实施例公开了一种防止路由环路的方法及装置,涉及通信领域,能提升在路由出现路由环路时的路由收敛速度,并消除路由信息协议网络最大网络直径的跳数限制。具体方案为:路由器获取新路由之后,当所述路由器的原路由与所述新路由的子网前缀相同、所述原路由与所述新路由的源网络地址不同、所述新路由的路径长度小于所述原路由的路径长度且所述原路由的路径长度等于预定上限时,所述路由器按照所述新路由发送命令报文并监测在预定时间内是否接收到所述命令报文,如果在预定时间内接收到所述命令报文,丢弃所述新路由;如果在预定时间内未接收到所述命令报文,丢弃所述原路由,按照所述新路由进行报文转发。本申请用于防止路由环路。
Description
技术领域
本发明涉及通信领域,尤其涉及一种防止路由环路的方法及装置。
背景技术
路由信息协议(Routing Information Protocol,简称:RIP)作为第一代的路由协议至今仍被广大的网络厂商所支持。路由信息协议是一种基于距离矢量的路由协议,能够支持多种链路类型。因为路由信息协议配置简单、上手容易,所以在大量的网络规划中得以实施。
实际应用中,选择路由时首先需要解决的问题是如何防止出现路由环
路。路由信息协议所支持的防止路由环路方法包括水平分割(Split Horizon)、带逆向毒化的水平分割(Split Horizon with poisoned reverse)、触发更新(TriggerUpdate)、无限计数(Infinite Count)。虽然路由信息协议有以上防止路由环路的方法,但是由于路由信息协议的路由学习机制的固有缺陷,即路由器A通告路由给路由器B,路由器B若接受路由则标记路由的下一跳为路由器A的网络地址,使得路由信息协议对于整个网络拓扑没有宏观的概念。因此路由信息协议无法防止路由环路的出现,才需要无限计数来识别是否存在路由环路,从而防止路由环路继续存在。无限计数即:若表示路由的路径长度的度量值(Metric)最大为16跳,当路径长度达到16跳则认为该路由不可达,出现路由环路,丢弃该路由。因为路由环路中的路由器数目不定,现有技术在该路由出现路由环路时可能需要在路由环路中多次循环才能判断出该路由存在路由环路。
所以,现有技术在路由出现路由环路时路由收敛速度较低,同时存在路由信息协议网络最大网络直径为16跳的限制。
发明内容
本发明的实施例提供一种防止路由环路的方法及装置,该方法及装置,能提升在路由出现路由环路时的路由收敛速度,并消除路由信息协议网络最大网络直径的跳数限制。
为达到上述目的,本发明的实施例采用如下技术方案:
第一方面,提供一种防止路由环路的方法,路由器获取新路由之后,所述方法包括:
如果所述路由器的原路由中的子网前缀与所述新路由中的子网前缀相同、所述原路由中的源网络地址与所述新路由中的源网络地址不同、所述路由器计算所述原路由的路径长度是否等于预定上限;
当所述原路由的路径长度等于预定上限时,所述路由器按照所述新路由发送命令报文,所述命令报文具有唯一标识;
根据所述唯一标识,所述路由器监测在预定时间内是否接收到所述命令报文;
如果所述路由器在预定时间内接收到所述命令报文,所述路由器丢弃所述新路由;
如果所述路由器在预定时间内未接收到所述命令报文,所述路由器丢弃所述原路由,按照所述新路由进行报文转发。
结合第一方面,在第一方面的第一种可能的实现方式中,如果所述原路由的路径长度等于预定上限,所述路由器按照所述新路由发送命令报文,包括:
当所述原路由的路径长度等于预定上限时,所述路由器在预设的时间段内按照所述新路由发送至少一个所述命令报文。
结合第一方面和第一种可能的实现方式,在第一方面的第二种可能的实现方式中,所述方法还包括:
如果所述原路由的路径长度小于预定上限,所述路由器丢弃所述原路由,按照所述获取单元获取的所述新路由进行报文转发。
结合第一方面和第一种或第二种可能的实现方式中的任意一种,在第一方面的第三种可能的实现方式中,所述唯一标识由所述命令报文的源网络地址、目的网络地址、协议编号和报文编号组成。
第二方面,提供一种防止路由环路的装置,包括:
获取单元,用于获取新路由;
计算单元,用于所述获取单元获取所述新路由之后,如果所述路由器的原路由中的子网前缀与所述新路由中的子网前缀相同、所述原路由中的源网络地址与所述新路由中的源网络地址不同、且所述新路由的路径长度小于所述原路由的路径长度,计算所述原路由的路径长度是否等于预定上限;
发送单元,用于如果所述计算单元计算出所述原路由的路径长度等于预定上限,按照所述获取单元获取的所述新路由发送命令报文,所述命令报文具有唯一标识;
接收单元,用于根据所述唯一标识,监测在预定时间内是否接收到所述发送单元发送的所述命令报文;
更新单元,用于如果所述接收单元在预定时间内接收到所述发送单元发送的所述命令报文,丢弃所述获取单元获取的所述新路由;如果所述接收单元在预定时间内未接收到所述发送单元发送的所述命令报文,丢弃所述原路由;
所述发送单元还用于所述更新单元丢弃所述原路由后,按照所述获取单元获取的所述新路由进行报文转发。
结合第二方面,在第二方面的第一种可能的实现方式中,当所述计算单元计算出所述原路由的路径长度等于预定上限时,所述发送单元具体用于在预设的时间段内按照所述获取单元获取的所述新路由发送至少一个所述命令报文。
结合第二方面和第一种可能的实现方式,在第二方面的第二种可能的实现方式中,当所述计算单元计算出所述原路由的路径长度小于预定上限时,所述更新单元丢弃所述原路由;所述发送单元还用于在所述更新单元丢弃所述原路由后,按照所述获取单元获取的所述新路由进行报文转发。
结合第二方面和第一种或第二种可能的实现方式,在第二方面的第三种可能的实现方式中,所述唯一标识由所述命令报文的源网络地址、目的网络地址、协议编号和报文编号组成。
第三方面,提供一种信号处理装置,包括:接收器、处理器、发送器、存储器及总线,其中,所述接收器、所述处理器、所述发送器及所述存储器通过所述总线相互连接,
其中,所述接收器,用于获取新路由;
所述处理器,用于所述接收器获取所述新路由之后,如果所述路由器的原路由中的子网前缀与所述新路由中的子网前缀相同、所述原路由中的源网络地址与所述新路由中的源网络地址不同、且所述新路由的路径长度小于所述原路由的路径长度,计算所述原路由的路径长度是否等于预定上限;
所述发送器,用于如果所述处理器计算出所述原路由的路径长度等于预定上限,按照所述接收器获取的所述新路由发送命令报文,所述命令报文具有唯一标识;
所述接收器,还用于监测在预定时间内是否接收到所述发送器发送的所述命令报文,其中所述唯一标识用于确认所述命令报文;
所述处理器,还用于如果所述接收器在预定时间内接收到所述发送器发送的所述命令报文,丢弃所述接收器获取的所述新路由;如果所述接收器在预定时间内未接收到所述发送器发送的所述命令报文,丢弃所述原路由;
所述发送器还用于所述处理器丢弃所述原路由后,按照所述接收器获取的所述新路由进行报文转发。
结合第三方面,在第三方面的第一种可能的实现方式中,当所述处理器计算出所述原路由的路径长度等于预定上限时,所述发送器具体用于在预设的时间段内按照所述接收器获取的所述新路由发送至少一个所述命令报文。
结合第三方面和第一种可能的实现方式,在第三方面的第二种可能的实现方式中,当所述处理器计算出所述原路由的路径长度小于预定上限时,所述处理器丢弃所述原路由;所述发送器还用于在所述处理器丢弃所述原路由后,按照所述接收器获取的所述新路由进行报文转发。
结合第三方面和第一种或第二种可能的实现方式中的任意一种,在第三方面的第三种可能的实现方式中,所述唯一标识由所述命令报文的源网络地址、目的网络地址、协议编号和报文编号组成。
本发明实施例提供的防止路由环路的方法及装置,能以路由器按照获取的新路由发送命令报文后是否接收到所述命令报文来决定是否按照所述新路由进行报文转发,从而提升了在新路由出现路由环路时的路由收敛速度,并消除了路由信息协议网络最大网络直径的跳数限制。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本发明的实施例提供的一种防止路由环路的方法的流程示意图;
图2为本发明的另一实施例提供的一种防止路由环路的方法的流程示意图;
图3为本发明的另一实施例提供的一种防止路由环路的方法的使用环境示意图;
图4为本发明的实施例提供的一种防止路由环路的装置的结构示意图;
图5为本发明的实施例提供的另一种防止路由环路的装置的结构示意图;
图6为本发明的实施例提供的一种防止路由环路的装置的结构示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
本发明的实施例提供一种防止路由环路的方法,用于路由器获取新路由之后,参照图1所示,包括以下步骤:
101、如果所述路由器的原路由中的子网前缀与所述新路由中的子网前缀相同、所述原路由中的源网络地址与所述新路由中的源网络地址不同、且所述新路由的路径长度小于所述原路由的路径长度时,所述路由器计算所述原路由的路径长度是否等于预定上限。
这么做的原因在于,实际中路由环路均产生于所述路由器获取的所述新路由为与所述原路由不同源的更优路由且所述原路由断路时,此时所述原路由的路径长度会自动变更为等于预定上限。所以,需要对所述原路由的路径长度是否等于预定上限进行计算判断,以确认所述新路由存在路由环路的可能性。当所述原路由的路径长度等于预定上限时,所述新路由有存在路由环路的可能,需要对所述新路由是否存在路由环路进行识别。
102、当所述原路由的路径长度等于预定上限时,所述路由器按照所述新路由发送命令报文,所述命令报文具有唯一标识。
具体的,所述唯一标识由所述命令报文的源网络地址、目的网络地址、协议编号和报文编号组成。
103、根据所述唯一标识,所述路由器监测在预定时间内是否接收到所述命令报文,即所述唯一标识用于确认所述命令报文。
具体的,若在预定时间内接收到与发出的所述命令报文具有相同唯一标识的命令报文,则为在预定时间内接收到了所述命令报文;若在预定时间内未接收到与发出的所述命令报文具有相同唯一标识的命令报文,则为未在预定时间内接收到了所述命令报文;可以理解的是该路由器在再次接收到该命令报文时,这个命令报文记录的时戳信息及跳过的节点与发出时是不相同,这里判断是否接收到所述命令报文应该指的是接收到的命令报文与发出的命令报文的实际内容以及唯一标识相同。
104、如果所述路由器在预定时间内接收到所述命令报文,所述路由器丢弃所述新路由。
这样做的原因在于,在所述路由器按照所述新路由发送命令报文后,如果所述路由器能接收到所述命令报文,则认为所述新路由存在路由环路,所述路由器丢弃所述新路由。
可选的,当所述原路由的路径长度等于预定上限时,所述路由器可以在预设的时间段内按照所述新路由发送至少一个所述命令报文。这么做的好处是,发送多个所述命令报文可防止命令报文因网络拥塞而丢失。只要收到了所述命令报文中的任何一个,则认为所述新路由存在路由环路,丢弃所述新路由。
105、如果所述路由器在预定时间内未接收到所述命令报文,所述路由器丢弃所述原路由,按照所述新路由进行报文转发。
具体的,在所述路由器丢弃所述原路由,按照所述新路由进行报文转发的同时,所述路由器可以按路由信息协议接纳所述新路由,添加所述新路由到路由信息协议的路由数据库中。
该方法还包括:如果所述原路由的路径长度小于预定上限,所述路由器丢弃所述原路由,按照所述新路由进行报文转发。
在所述路由器获取的所述新路由存在路由环路时,采用本发明实施例提供的上述防止路由环路的方法来消除路由环路的好处如下,因所述路由器发送并监测是否在预定时间内接收到具有唯一标识的命令报文具有唯一标识,只需在所述路由环路中进行一次循环就可检测出接收到了所述命令报文,以此确认所述新路由存在所述路由环路,避免了现有防止路由环路的方法可能导致的多次循环,从而提高了路由收敛速度,避免了路由信息协议网络最大网络直径的跳数限制。
例如:目前路由信息协议网络最大网络直径的跳数限制为16跳,当一条路由的跳数达到16跳时,认为该路由为不可达或者产生路由环路,此时若一路由产生路由环路,此路由环路中的节点数为4,每完成一次路由环路则该路由的跳数增加4,发生环路前,该路由的节点构成中包含此4个节点,因此跳数至少为4;发生路由环路后,需要在此4各节点间再进行3次路由环路的循环,该路由的跳数才能达到16跳、触发路由信息协议的路由环路识别,即触发目前防止路由环路技术中的无限计数;而每进行一次循环都需要经过最少预定时间,确认路由环路的时间与需要进行路由环路循环的次数成正比,如果所述预定时间为30秒,则完成3次循环确认存在路由环路、最终完成路由收敛至少需要90秒;若路由信息协议网络的最大网络直径的跳数为256跳或者更大,则在一条路由出现上述4节点的路由环路时,要进行的路由环路循环次数会相应增加,需要的确认时间会过长,路由收敛速度过慢,实际中难以应用,所以,目前的路由信息协议网络才会有最大网络直径的跳数限制。而本发明的实施例提供的防止路由环路的方法,在某一路由发生路由环路时,只需要对此路由环路进行一次循环即可确认存在路由环路,从而提高了路由收敛速度,也就避免了路由信息协议网络最大网络直径的跳数限制。
本发明实施例提供的防止路由环路的方法,能以路由器按照获取的新路由发送命令报文后是否接收到所述命令报文来决定是否按照所述新路由进行报文转发,从而提升了在所述新路由出现路由环路时的路由收敛速度,并消除了路由信息协议网络最大网络直径的跳数限制。
本发明实施例提供一种防止路由环路的方法,具体用于运行路由信息协议的IPv4(Internet Protocol version4,网际协议版本4)网络,参照图2所示,包括以下步骤:
为了更清楚地说明本发明实施例,参照图3所示,对本发明实施例提供的防止路由环路的方法进行说明。路由器R1至路由器R5,是处于同一个使用路由信息协议的IPv4网络中的相互连接的路由器,路由环路产生过程如下:
路由环路产生之前,路由器R1与路由器R4相连接口G0/1断开,路由器R1至路由器R4对于100.0.0.0/24这条原路由的路由表如下:
R1:
100.0.0.0/24Metric:1next-hop:0.0.0.0
R2:
100.0.0.0/24Metric:2next-hop:12.0.0.1
R3:
100.0.0.0/24Metric:3next-hop:23.0.0.2
R4:
100.0.0.0/24Metric:4next-hop:34.0.0.3
当路由器R1与路由器R5之间链路发生断路,路由器R1将路由信息协议数据库中这条原路由的路径长度的度量值从1变更为预定上限16,此时若路由器R1与路由器R4相连接口G0/1从断路变为通路,并从接口G0/1收到路由器R4发送的子网前缀100.0.0.0/24相同、路径长度为4的新路由,则因为路由信息协议数据库中原路由的路径长度的度量值为16而新收到这条新路由在所述路由器接收后路径长度的度量值变为5,择优录取这条新路由,用这新条路由替代路由信息协议数据库中的原路由,路由器R1数据库中路由变为:
100.0.0.0/24Metric:5next-hop:14.0.0.4
路由器R1在路由信息协议数据库中的这条新路由更新后,改变的不仅是路径长度的度量值,还有下一跳(next-hop)从0.0.0.0变为了14.0.0.4,此时路由器R1至路由器R4对于100.0.0.0/24这条路由的路由表如下:
R1:
100.0.0.0/24Metric:5next-hop:14.0.0.4
R2:
100.0.0.0/24Metric:2next-hop:12.0.0.1
R3:
100.0.0.0/24Metric:3next-hop:23.0.0.2
R4:
100.0.0.0/24Metric:4next-hop:34.0.0.3
此时,因原路由被产生路由环路的新路由代替更新,网络状况异常,子网前缀为100.0.0.0/24的路由出现路由环路。基于上述原因,在新路由出现上述路由环路时,以路由器R1为例,由以下步骤来防止路由环路。
201、路由器获取新路由。
具体的,路由器R1获取路由器R4发送的子网前缀为100.0.0.0/24路径长度为4的新路由,路由表如下:
R4:
100.0.0.0/24Metric:4next-hop:34.0.0.3
202、所述路由器判断所述新路由的路径长度是否等于预定上限。
具体的,参照图3所示,路由器R1判断上述子网前缀为100.0.0.0/24的新路由的路径长度是否等于16.
203、当所述新路由的路径长度小于预定上限时,所述路由器对所述新路由的路径长度加1。
具体的,参照图3所示,此时路由器R1对上述子网前缀为100.0.0.0/24路径长度为4的新路由的路径长度加1变为5,路由表变为:
R1:
100.0.0.0/24Metric:5next-hop:14.0.0.4
204、所述路由器判断所述路由器的原路由中的子网前缀与所述新路由中的子网前缀是否相同。
该方法还包括:
参照步骤202得出的结果,当所述新路由的路径长度等于预定上限时,执行步骤204。
205、当所述新路由与所述原路由的子网前缀相同时,所述路由器判断所述新路由与所述原路由的源网络地址是否相同。
206、当所述新路由与所述原路由的源网络地址不相同时,所述路由器计算所述新路由的路径长度是否等于预定上限。
207、当所述新路由的路径长度小于预定上限时,所述路由器判断所述新路由的路径长度是否小于所述原路由的路径长度。
208,当所述新路由的路径长度小于所述原路由的路径长度时,所述路由器计算所述原路由的路径长度是否等于预定上限。
这么做的原因在于,实际中路由环路均产生于所述路由器获取的所述新路由为与所述原路由不同源的更优路由且所述原路由断路时,此时所述原路由的路径长度会自动变更为等于预定上限。所以需要对所述原路由的路径长度是否等于预定上限16进行计算判断,以确认所述新路由存在路由环路的可能,当所述原路由的路径长度等于预定上限16时,所述新路由存在路由环路的可能,需要对所述新路由是否存在路由环路进行识别。
209、当所述原路由的路径长度等于预定上限时,所述路由器按照所述新路由发送命令报文,所述命令报文具有唯一标识。
具体的,参照图3所示,路由器R1发送一个目的网络地址为100.0.0.0/24子网前缀的网络地址的PING报文(命令报文),TTL(Time To Live,生存时间)为64;并指定这个命令报文的下一跳为14.0.0.4,即:报文出接口为G0/1,所述目的网络地址为通过ARP(AddressResolution Protocol,地址解析协议)获得的下一跳IP地址14.0.0.4对应的MAC(Medium/Media Access Control,介质访问控制)地址,所述源网络地址为报文出接口G0/1的MAC地址。
路由器R1记录这个命令报文的源网络地址、目的网络地址、协议编号和报文编号作为这个命令报文的唯一标识。并在路由器R1的所有接口上设定过滤条件,监测是否能收到这个命令报文。
210、所述路由器监测在预定时间内是否接收到所述命令报文,其中所述唯一标识用于确认所述命令报文。
具体的,参照图3所示,若路由器R1在预定时间内接收到与其自身发出的所述命令报文具有相同唯一标识的命令报文,则为在预定时间内接收到了所述命令报文;若在预定时间内未接收到与发出的所述命令报文具有相同唯一标识的命令报文,则为未在预定时间内接收到了所述命令报文。所述预定时间可以设定为2秒。
211、当所述路由器在预定时间内接收到所述命令报文时,所述路由器丢弃所述新路由。
这样做的原因是,参照图3所示,在路由器R1按照所述新路由发送命令报文后,如果路由器R1所述路由器能接收到所述命令报文,则认为所述新路由存在路由环路,如果路由器R1接受此新路由的话,整个网络中会出现子网前缀为100.0.0.0/24的路由环路,所以丢弃该新路由。
因该存在路由环路中的路由器R1-路由器R4均进行上述步骤,所以此时路由表变化如下:
R2:metric2→6
R3:metric3→7
R4:metric4→8
可知,在路由器R1获取上述新路由后经过一次循环就可因在预定时间内接收到所述命令报文,从而做出该新路由存在路由环路的判定,丢弃该新路由。
可选的,当所述原路由的路径长度等于预定上限时,路由器R1可以在预设的时间段内按照所述新路由发送3个所述命令报文,预设的时间段可以为2秒,这么做的好处是,发送多个所述命令报文可防止命令报文因网络拥塞而丢失,只要收到了3个命令报文中的任何一个,则认为接受这条新路由的话会出现路由环路,丢弃这条新路由。
该方法还包括:参照步骤206得出的结果,当所述新路由的路径长度等于预定上限时,所述路由器丢弃所述新路由。
参照步骤207得出的结果,当所述新路由的路径长度不小于所述原路由的路径长度时,所述路由器丢弃所述新路由。
212、当所述路由器在预定时间内未接收到所述命令报文时,所述路由器丢弃所述原路由,按照所述新路由进行报文转发。
具体的,在所述路由器丢弃所述原路由,按照所述新路由进行报文转发的同时,所述路由器可以按路由信息协议接纳所述新路由,添加所述新路由到路由信息协议的路由数据库中。
该方法还包括:参照步骤205得出的结果,当所述新路由与所述原路由的源网络地址相同时,所述路由器丢弃所述原路由,按照所述新路由进行报文转发。
参照步骤208得出的结果,当所述原路由的路径长度小于预定上限时,所述路由器丢弃所述原路由,按照所述新路由进行报文转发。
步骤204之后还包括以下方法:
213、当所述新路由与所述原路由的子网前缀不相同时,所述路由器计算所述新路由的路径长度是否等于预定上限。
进一步的,当所述新路由的路径长度等于预定上限,参照步骤211,所述路由器丢弃所述新路由;当所述新路由的路径长度小于预定上限,参照步骤212,所述路由器丢弃所述原路由,按照所述新路由进行报文转发。
参照图3所示,在出现上述子网前缀为100.0.0.0/24的路由环路时,用现有防止路由环路的方法使路由环路消失的过程如下:
实际中,运行路由信息协议的路由器每30秒会把路由信息协议数据库中的路由通过运行路由信息协议的接口发送出去以实现路由的保活。路由器R1等到下一个路由更新的30秒向路由器R2发送路由更新,其中就包含子网前缀为100.0.0.0/24的这条新路由,路由器R2收到路由更新,按照路由信息协议接收路由处理流程,路径长度的度量值加1变为6,查看路由信息协议数据库发现存在相同子网前缀的原路由,且二者同源,所以无条件接受。更新路由信息协议数据库,路由表变化如下:
R2:metric2→6
路由器R2等到30秒的路由更新时刻到来向路由器R3发送路由更新,类似上述,R3同样更新路由信息协议数据库,路由表变化如下:
R3:metric3→7
依次类推:
R4:metric4→8
R1:metric5→9
R2:metric6→10
R3:metric7→11
R4:metric8→12
R1:metric9→13
R2:metric10→14
R3:metric11→15
R4:metric12→16
至此新路由的路径长度的度量值等于预定上限16,路由器R1才会因触发现有防止路由环路方法最后的无限计数而做出产生路由环路的判断,丢弃这条新路由,路由环路消失。而此时已在路由环路中循环了3次,路由环路的确认时间历时90秒。因此,若网络直径过大,会产生的超长确认时间,所以存在了路由信息协议网络的最大网络直径为16跳的限制。
而如果在路由器R1获取的所述新路由存在路由环路时,采用本发明实施例提供的上述防止路由环路的方法来消除路由环路的好处如下,因路由器R1发送并监测是否在预定时间内接收到具有唯一标识的命令报文具有唯一标识,只需在所述路由环路中进行一次循环就可检测出接收到了所述命令报文,以此确认所述新路由存在所述路由环路,避免了使用无限计数的方法来确认是否存在所述路由环路时可能导致的多次循环,从而提高了路由收敛速度,避免了路由信息协议网络最大网络直径的跳数限制。
本发明实施例提供的防止路由环路的方法,能以路由器按照获取的新路由发送命令报文后是否接收到所述命令报文来决定是否按照所述新路由进行报文转发,从而提升了在所述新路由出现路由环路时的路由收敛速度,并消除了路由信息协议网络最大网络直径的跳数限制。
本发明提供一种防止路由环路的装置,用于实现上述防止路由环路的方法,参照图4所示,包括:
获取单元401,用于获取新路由。
计算单元402,用于所述获取单元401获取所述新路由之后,如果所述路由器的原路由中的子网前缀与所述新路由中的子网前缀相同、所述原路由中的源网络地址与所述新路由中的源网络地址不同、且所述新路由的路径长度小于所述原路由的路径长度,计算所述原路由的路径长度是否等于预定上限。
发送单元403,用于如果所述计算单元402计算出所述原路由的路径长度等于预定上限,按照所述获取单元401获取的所述新路由发送命令报文,所述命令报文具有唯一标识。
可选的,所述唯一标识由所述命令报文的源网络地址、目的网络地址、协议编号和报文编号组成。
接收单元404,用于根据所述唯一标识,监测在预定时间内是否接收到所述发送单元403发送的所述命令报文。
更新单元405,用于如果所述接收单元404在预定时间内接收到所述发送单元403发送的所述命令报文,丢弃所述获取单元401获取的所述新路由;如果所述接收单元404在预定时间内未接收到所述发送单元403发送的所述命令报文,丢弃所述原路由。
所述发送单元403还用于所述更新单元405丢弃所述原路由后,按照所述获取单元401获取的所述新路由进行报文转发。
可选的,当所述计算单元402计算出所述原路由的路径长度等于预定上限时,所述发送单元403具体用于在预设的时间段内按照所述获取单元401获取的所述新路由发送至少一个所述命令报文。
可选的,参照图5所示:
当所述计算单元402计算出所述原路由的路径长度小于预定上限时,所述更新单元405丢弃所述原路由;所述发送单元403还用于在所述更新单元405丢弃所述原路由后,按照所述获取单元401获取的所述新路由进行报文转发。
本发明实施例提供的防止路由环路的装置,能以路由器按照获取的新路由发送命令报文后是否接收到所述命令报文来决定是否按照所述新路由进行报文转发,从而提升了在所述新路由出现路由环路时的路由收敛速度,并消除了路由信息协议网络最大网络直径的跳数限制。
本发明的实施例提供一种防止路由环路的装置,参照图6所示,该防止路由环路的装置可以嵌入或本身就是微处理计算机,比如:通用计算机、客户定制机、手机终端或平板机等便携设备,该防止路由环路的装置601用于实现上述的防止路由环路的方法,具体包括:至少一个接收器611、处理器612、发送器613、存储器614和总线615,该至少一个接收器611、处理器612、发送器613和存储器614通过总线615连接并完成相互间的通信。
该总线615可以是ISA(Industry Standard Architecture,工业标准体系结构)总线、PCI(Peripheral Component,外部设备互连)总线或EISA(Extended IndustryStandard Architecture,扩展工业标准体系结构)总线等。该总线615可以分为地址总线、数据总线、控制总线等。为便于表示,图6中仅用一条粗线表示,但并不表示仅有一根总线或一种类型的总线。其中:
存储器614用于存储可执行程序代码,该程序代码包括计算机操作指令。存储器614可能包括高速RAM存储器,也可能还包括非易失性存储器(non-volatile memory),例如至少一个磁盘存储器。
处理器612可能是一个中央处理器(Central Processing Unit,简称为CPU),或者是特定集成电路(Application Specific Integrated Circuit,简称为ASIC),或者是被配置成实施本发明实施例的一个或多个集成电路。
其中,所述接收器611,用于获取新路由;
所述处理器612,用于所述接收器611获取所述新路由之后,如果所述路由器的原路由中的子网前缀与所述新路由中的子网前缀相同、所述原路由中的源网络地址与所述新路由中的源网络地址不同、且所述新路由的路径长度小于所述原路由的路径长度,计算所述原路由的路径长度是否等于预定上限;
所述发送器613,用于如果所述处理器612计算出所述原路由的路径长度等于预定上限,按照所述接收器611获取的所述新路由发送命令报文,所述命令报文具有唯一标识;
可选的,所述唯一标识由所述命令报文的源网络地址、目的网络地址、协议编号和报文编号组成。
所述接收器611,还用于监测在预定时间内是否接收到所述发送器613发送的所述命令报文,其中所述唯一标识用于确认所述命令报文;
所述处理器612,还用于如果所述接收器611在预定时间内接收到所述发送器613发送的所述命令报文,丢弃所述接收器611获取的所述新路由;如果所述接收器611在预定时间内未接收到所述发送器613发送的所述命令报文,丢弃所述原路由;
所述发送器613还用于所述处理器612丢弃所述原路由后,按照所述接收器611获取的所述新路由进行报文转发。
可选的,当所述处理器612计算出所述原路由的路径长度等于预定上限时,所述发送器613具体用于在预设的时间段内按照所述接收器611获取的所述新路由发送至少一个所述命令报文。
可选的,当所述处理器612计算出所述原路由的路径长度小于预定上限时,所述处理器612丢弃所述原路由;所述发送器613还用于在所述处理器612丢弃所述原路由后,按照所述接收器611获取的所述新路由进行报文转发。
本装置实施例中提供的防止路由环路的装置,可以集成在路由器中,应用于方法实施例所描述的应用场景中(如附图1至附图3所示),实现其中路由器的功能。防止路由环路的装置可以实现的其他附加功能、以及与其他网元设备的交互过程,请参照方法实施例中对路由器的描述,在这里不再赘述。
本发明实施例提供的防止路由环路的装置,能以路由器按照获取的新路由发送命令报文后是否接收到所述命令报文来决定是否按照所述新路由进行报文转发,从而提升了在所述新路由出现路由环路时的路由收敛速度,并消除了路由信息协议网络最大网络直径的跳数限制。
本领域普通技术人员将会理解,本发明的各个方面、或各个方面的可能实现方式可以被具体实施为***、方法或者计算机程序产品。因此,本发明的各方面、或各个方面的可能实现方式可以采用完全硬件实施例、完全软件实施例(包括固件、驻留软件等等),或者组合软件和硬件方面的实施例的形式,在这里都统称为“电路”、“模块”或者“***”。此外,本发明的各方面、或各个方面的可能实现方式可以采用计算机程序产品的形式,计算机程序产品是指存储在计算机可读介质中的计算机可读程序代码。
计算机可读介质可以是计算机可读信号介质或者计算机可读存储介质。计算机可读存储介质包含但不限于电子、磁性、光学、电磁、红外或半导体***、设备或者装置,或者前述的任意适当组合,如随机存取存储器(RAM)、只读存储器(ROM)、可擦除可编程只读存储器(EPROM或者快闪存储器)、光纤、便携式只读存储器(CD-ROM)。
计算机中的处理器读取存储在计算机可读介质中的计算机可读程序代码,使得处理器能够执行在流程图中每个步骤、或各步骤的组合中规定的功能动作;生成实施在框图的每一块、或各块的组合中规定的功能动作的装置。
以上所述,仅为本发明的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应以权利要求的保护范围为准。
Claims (10)
1.一种防止路由环路的方法,其特征在于,路由器获取新路由之后,所述方法包括:
如果所述路由器的原路由中的子网前缀与所述新路由中的子网前缀相同、所述原路由中的源网络地址与所述新路由中的源网络地址不同、且所述新路由的路径长度小于所述原路由的路径长度,所述路由器计算所述原路由的路径长度是否等于预定上限;
当所述原路由的路径长度等于预定上限时,所述路由器按照所述新路由发送命令报文,所述命令报文具有唯一标识;
根据所述唯一标识,所述路由器监测在预定时间内是否接收到所述命令报文;
如果所述路由器在预定时间内接收到所述命令报文,所述路由器丢弃所述新路由;
如果所述路由器在预定时间内未接收到所述命令报文,所述路由器丢弃所述原路由,按照所述新路由进行报文转发。
2.根据权利要求1所述的方法,其特征在于,如果所述原路由的路径长度等于预定上限时,所述路由器按照所述新路由发送命令报文,包括:
当所述原路由的路径长度等于预定上限时,所述路由器在预设的时间段内按照所述新路由发送至少一个所述命令报文。
3.根据权利要求1或2所述的方法,其特征在于,所述方法还包括:
如果所述原路由的路径长度小于预定上限,所述路由器丢弃所述原路由,按照所述新路由进行报文转发。
4.根据权利要求1或2所述的方法,其特征在于,所述唯一标识由所述命令报文的源网络地址、目的网络地址、协议编号和报文编号组成。
5.一种防止路由环路的装置,其特征在于,包括:
获取单元,用于获取新路由;
计算单元,用于所述获取单元获取所述新路由之后,如果所述路由器的原路由中的子网前缀与所述新路由中的子网前缀相同、所述原路由中的源网络地址与所述新路由中的源网络地址不同、且所述新路由的路径长度小于所述原路由的路径长度,计算所述原路由的路径长度是否等于预定上限;
发送单元,用于如果所述计算单元计算出所述原路由的路径长度等于预定上限,按照所述获取单元获取的所述新路由发送命令报文,所述命令报文具有唯一标识;
接收单元,用于根据所述唯一标识,监测在预定时间内是否接收到所述发送单元发送的所述命令报文;
更新单元,用于如果所述接收单元在预定时间内接收到所述发送单元发送的所述命令报文,丢弃所述获取单元获取的所述新路由;如果所述接收单元在预定时间内未接收到所述发送单元发送的所述命令报文,丢弃所述原路由;
所述发送单元还用于所述更新单元丢弃所述原路由后,按照所述获取单元获取的所述新路由进行报文转发。
6.根据权利要求5所述的装置,其特征在于,当所述计算单元计算出所述原路由的路径长度等于预定上限时,所述发送单元具体用于在预设的时间段内按照所述获取单元获取的所述新路由发送至少一个所述命令报文。
7.根据权利要求5或6所述的装置,其特征在于,当所述计算单元计算出所述原路由的路径长度小于预定上限时,所述更新单元丢弃所述原路由;所述发送单元还用于在所述更新单元丢弃所述原路由后,按照所述获取单元获取的所述新路由进行报文转发。
8.根据权利要求5或6所述的装置,其特征在于,所述唯一标识由所述命令报文的源网络地址、目的网络地址、协议编号和报文编号组成。
9.一种信号处理装置,其特征在于,包括:接收器、处理器、发送器、存储器及总线,其中,所述接收器、所述处理器、所述发送器及所述存储器通过所述总线相互连接,
其中,所述接收器,用于获取新路由;
所述处理器,用于所述接收器获取所述新路由之后,如果所述路由器的原路由中的子网前缀与所述新路由中的子网前缀相同、所述原路由中的源网络地址与所述新路由中的源网络地址不同、且所述新路由的路径长度小于所述原路由的路径长度,计算所述原路由的路径长度是否等于预定上限;
所述发送器,用于如果所述处理器计算出所述原路由的路径长度等于预定上限,按照所述接收器获取的所述新路由发送命令报文,所述命令报文具有唯一标识;
所述接收器,还用于监测在预定时间内是否接收到所述发送器发送的所述命令报文,其中所述唯一标识用于确认所述命令报文;
所述处理器,还用于如果所述接收器在预定时间内接收到所述发送器发送的所述命令报文,丢弃所述接收器获取的所述新路由;如果所述接收器在预定时间内未接收到所述发送器发送的所述命令报文,丢弃所述原路由;
所述发送器还用于所述处理器丢弃所述原路由后,按照所述接收器获取的所述新路由进行报文转发。
10.根据权利要求9所述的装置,其特征在于,当所述处理器计算出所述原路由的路径长度等于预定上限时,所述发送器具体用于在预设的时间段内按照所述接收器获取的所述新路由发送至少一个所述命令报文。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201410101284.3A CN104935508B (zh) | 2014-03-18 | 2014-03-18 | 一种防止路由环路的方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201410101284.3A CN104935508B (zh) | 2014-03-18 | 2014-03-18 | 一种防止路由环路的方法及装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN104935508A CN104935508A (zh) | 2015-09-23 |
CN104935508B true CN104935508B (zh) | 2019-01-25 |
Family
ID=54122483
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201410101284.3A Active CN104935508B (zh) | 2014-03-18 | 2014-03-18 | 一种防止路由环路的方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN104935508B (zh) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108243100A (zh) * | 2016-12-27 | 2018-07-03 | 北京华为数字技术有限公司 | 检测报文环路的方法和装置 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1988476A (zh) * | 2006-12-19 | 2007-06-27 | 武汉烽火网络有限责任公司 | 一种自适应快速环路检测和环路阻断的方法及装置 |
CN101267363A (zh) * | 2008-04-24 | 2008-09-17 | 杭州华三通信技术有限公司 | 环回测试方法、***及装置 |
CN101425978A (zh) * | 2008-12-02 | 2009-05-06 | 中兴通讯股份有限公司 | 防止自治***内路由环路的方法和设备 |
CN101582847A (zh) * | 2009-06-12 | 2009-11-18 | 北京航空航天大学 | 路由振荡检测方法及自治*** |
CN101674241A (zh) * | 2009-09-15 | 2010-03-17 | 杭州华三通信技术有限公司 | 一种ce双归属网络中避免rip环路的方法及设备 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9094224B2 (en) * | 2012-07-31 | 2015-07-28 | Cisco Technology, Inc. | Acknowledged multicast convergence |
-
2014
- 2014-03-18 CN CN201410101284.3A patent/CN104935508B/zh active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1988476A (zh) * | 2006-12-19 | 2007-06-27 | 武汉烽火网络有限责任公司 | 一种自适应快速环路检测和环路阻断的方法及装置 |
CN101267363A (zh) * | 2008-04-24 | 2008-09-17 | 杭州华三通信技术有限公司 | 环回测试方法、***及装置 |
CN101425978A (zh) * | 2008-12-02 | 2009-05-06 | 中兴通讯股份有限公司 | 防止自治***内路由环路的方法和设备 |
CN101582847A (zh) * | 2009-06-12 | 2009-11-18 | 北京航空航天大学 | 路由振荡检测方法及自治*** |
CN101674241A (zh) * | 2009-09-15 | 2010-03-17 | 杭州华三通信技术有限公司 | 一种ce双归属网络中避免rip环路的方法及设备 |
Also Published As
Publication number | Publication date |
---|---|
CN104935508A (zh) | 2015-09-23 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11032174B2 (en) | Service chain fault detection method and apparatus | |
CN106063203B (zh) | 软件定义网络(sdn)特定拓扑信息发现 | |
US20150249587A1 (en) | Method and apparatus for topology and path verification in networks | |
US20170005882A1 (en) | Service Chain Management Method, System and Device | |
CN109361600B (zh) | 一种获取路径标识的方法和设备 | |
CN108270673B (zh) | 报文发送方法、装置以及*** | |
CN103841022A (zh) | 用于建立隧道的方法及装置 | |
CN105577416B (zh) | 一种业务功能链操作、管理和维护方法及节点设备 | |
CN109756521B (zh) | 一种nsh报文处理方法、装置及*** | |
CN106165322A (zh) | 向冗余控制器路由协议的代理 | |
CN105591798B (zh) | Dcn中传输oam信息的方法、装置 | |
CN106878186B (zh) | 网络中路由更新的方法、网络设备和*** | |
EP3131239A1 (en) | Method and apparatus for path establishment | |
CN108965204A (zh) | 一种自动实现ioam封装的方法及装置 | |
CN108259261B (zh) | 路径探测方法和装置 | |
JP5978384B2 (ja) | 情報を受信するための方法、情報を送信するための方法及びそれらの装置 | |
CN104935508B (zh) | 一种防止路由环路的方法及装置 | |
CN103746828A (zh) | 一种管理网络节点的方法及装置 | |
CN111464440A (zh) | 一种通信方法及装置 | |
US10250477B2 (en) | Method and controller for announcing bandwidth of cluster system | |
CN106254099B (zh) | 一种基于网元设备的信息同步方法和装置 | |
CN106506375B (zh) | 一种路由更新方法及装置 | |
US10680900B2 (en) | BGP logical topology generation method, and device | |
CN104301221B (zh) | 一种路由消息的方法及装置 | |
CN111464441A (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 | ||
TR01 | Transfer of patent right |
Effective date of registration: 20211223 Address after: 450046 Floor 9, building 1, Zhengshang Boya Plaza, Longzihu wisdom Island, Zhengdong New Area, Zhengzhou City, Henan Province Patentee after: xFusion Digital Technologies Co., Ltd. Address before: 518129 Bantian HUAWEI headquarters office building, Longgang District, Guangdong, Shenzhen Patentee before: HUAWEI TECHNOLOGIES Co.,Ltd. |
|
TR01 | Transfer of patent right |