CN111953606B - 一种路由迭代循环检测方法、装置、电子设备及存储介质 - Google Patents
一种路由迭代循环检测方法、装置、电子设备及存储介质 Download PDFInfo
- Publication number
- CN111953606B CN111953606B CN202010672106.1A CN202010672106A CN111953606B CN 111953606 B CN111953606 B CN 111953606B CN 202010672106 A CN202010672106 A CN 202010672106A CN 111953606 B CN111953606 B CN 111953606B
- Authority
- CN
- China
- Prior art keywords
- route
- next hop
- iterative
- network equipment
- iteration
- 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
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L45/00—Routing or path finding of packets in data switching networks
- H04L45/48—Routing tree calculation
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L45/00—Routing or path finding of packets in data switching networks
- H04L45/54—Organization of routing tables
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L45/00—Routing or path finding of packets in data switching networks
- H04L45/74—Address processing for routing
- H04L45/745—Address table lookup; Address filtering
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本发明实施例提供一种路由迭代循环检测方法、装置、电子设备及存储介质。所述方法包括:若判断获知待处理路由为新增路由,则将所述新增路由的路由前缀和下一跳添加至所述网络设备的路由表中;若所述网络设备的迭代循环标识为第一标识,且所述新增路由为迭代路由,则将所述新增路由的下一跳加入至所述网络设备的下一跳表中;在所述路由表中对所述下一跳表中的每个下一跳进行任意掩码长度且忽略路由活跃性的迭代循环匹配;根据匹配结果确定所述网络设备是否存在迭代循环;若所述网络设备存在迭代循环,则将所述迭代循环标识更改为第二标识。本发明实施例优化了路由计算的过程,节省时间消耗,提高了路由计算的计算性能。
Description
技术领域
本发明实施例涉及通信技术领域,具体涉及一种路由迭代循环检测方法、装置、电子设备及存储介质。
背景技术
网络由一个个网络设备连接构成,路由是网络设备的基础,只有存在合适的路由,网络才能连通。在网络设备上通常运行着一个或多个路由协议,例如:开放式最短路径优先(Open Shortest Path First,OSPF)路由协议、边界网关协议(Border Gateway Protocol,BGP)路由协议等,每个路由协议都会产生自己的路由,例如:OSPF路由协议将生成OSPF路由、BGP路由协议将生成BGP路由。这些路由是原始路由,需要对这些原始路由进行活跃性的计算,以判断它们能否用于转发面的转发,活跃的路由才能下发给转发面,不活跃的路由不能下发给转发面。
根据原始路由是否携带出口分为:非迭代路由和迭代路由,其中,非迭代路由已经携带出口。判断非迭代路由是否活跃的依据是:携带的出口是否是激活的,即接口是up还是down,接口up即为激活。
迭代路由没有直接携带出口,需要根据原始下一跳,计算出迭代出口和迭代下一跳。比如:网络设备A学习到一条原始的迭代路由:去网段100.100.100.0/24的原始下一跳是200.200.200.200,用100.100.100.0/24→200.200.200.200描述,其中,200.200.200.200是远端设备的IP地址。此时,网络设备A不知道从哪个接口发送出去、发送给哪个直连邻居。计算迭代出口和迭代下一跳的做法是:将原始下一跳的IP地址在路由库中进行迭代匹配,直到找到携带出口的路由;而且迭代匹配时,只匹配活跃的路由。
例如:存在路由R0和R1:
路由R0:2.2.2.2/32的下一跳是1.1.1.1、出口是eth1,但是eth1是down,那么路由R0是不活跃的。
路由R1:2.2.2.0/24的下一跳是1.1.1.1、出口是eth0、且eth0是up,那么路由R1是活跃的。
然后新增路由R2:
路由R2:200.200.200.0/24→2.2.2.2;
在计算路由R2的活跃性时,取出R2的下一跳2.2.2.2,虽然能匹配到路由R0的最长路由前缀,但是由于路由R0是不活跃的,所以忽略路由R0,而去匹配到活跃路由R1的路由前缀2.2.2.0/24。
然后,新增路由R3:
路由R3:100.100.100.0/24→200.200.200.200;
在计算路由R3的活跃性时,取出R3的下一跳200.200.200.200,匹配到活跃路由R2的路由前缀200.200.200.0/24。
上述是正常情况。但是,在路由迭代过程中,还需要考虑是否存在迭代循环。当存在迭代循环时,就需要判定路由是不活跃的。
例如:已经存在下述路由:
路由R3:100.100.100.0/24→200.200.200.200;
路由R2:200.200.200.0/24→2.2.2.2;
路由R1:2.2.2.0/24的下一跳是1.1.1.1、出口是本机接口eth0。
然后,新增路由R4:
路由R4:2.2.2.2/32→100.100.100.100,下一跳100.100.100.0会匹配到路由R3的前缀100.100.100.0/24,假如此时就认定路由R4是活跃的。那么,接下来路由R2就需要进行更新,因为路由R2的下一跳是2.2.2.2,此时匹配到路由前缀更长的路由R4、且路由R4是活跃的,于是放弃路由前缀较短的路由R1,结果形成了:路由R4迭代到路由R3、路由R3迭代到路由R2、路由R2迭代到路由R4,形成了迭代循环。出现这种情况的原因是:新增路由R4后,路由R4存在迭代循环,此时应当认为路由R4是不活跃的。
实际上,每条迭代路由在计算活跃性时,都会先进行迭代循环的判断,判断不存在迭代循环后,才会再进行普通的路由迭代。图1为现有技术中迭代循环判断方法流程示意图,如图1所示:
在计算迭代路由的活跃性时,判断是否存在迭代循环是一个必需处理步骤。迭代循环的判断方法是:根据路由R的下一跳不断在路由树中迭代,判断是否会迭代到路由R自身的路由前缀。以上述的路由R4为例,迭代循环判断的过程如下:
1)取出路由R4的下一跳100.100.100.100,在路由树中进行匹配,发现匹配到活跃路由R3,取出路由R3的下一跳200.200.200.200,判断此下一跳是否会迭代到路由R4自身,即判断200.200.200.200是否匹配路由R4的路由前缀2.2.2.2/32,发现不匹配,认为:暂时不存在迭代循环。迭代循环判断还需要继续,接着,执行下述步骤2)。
2)取出路由R3的下一跳200.200.200.200,在路由树中进行匹配,发现匹配到活跃路由R2,取出路由R2的下一跳2.2.2.2,判断此下一跳是否会迭代到路由R4自身,即判断2.2.2.2是否匹配路由R4的路由前缀2.2.2.2/32,发现匹配,认为:存在迭代循环。迭代循环判断结束。
经过上述步骤1)和步骤2)就会得出结论:路由R4存在迭代循环,认为路由R4应当不活跃。
一般来说,经过合理配置的网络,设备上是不会存在迭代路由迭代循环的情况,所以,迭代路由存在迭代循环通常是小概率事件或故意配置导致,为了应对小概率事件,每条迭代路由的计算中,都特地进行迭代循环判断,浪费了计算性能。
发明内容
针对现有技术中的缺陷,本发明实施例提供了一种路由迭代循环检测方法、装置、电子设备及存储介质。
第一方面,本发明实施例提供一种路由迭代循环检测方法,应用于网络设备中,包括:
若判断获知待处理路由为新增路由,则将所述新增路由的路由前缀和下一跳添加至所述网络设备的路由表中;
若所述网络设备的迭代循环标识为第一标识,且所述新增路由为迭代路由,则将所述新增路由的下一跳加入至所述网络设备的下一跳表中;
在所述路由表中对所述下一跳表中的每个下一跳进行任意掩码长度且忽略路由活跃性的迭代循环匹配;
根据匹配结果确定所述网络设备是否存在迭代循环;
若所述网络设备存在迭代循环,则将所述迭代循环标识更改为第二标识。
如上述方法,可选地,所述在所述路由表中对所述下一跳表中的每个下一跳进行任意掩码长度且忽略路由活跃性的迭代循环匹配,包括:
根据所述下一跳表中的每个下一跳构建迭代子树,每个迭代子树的根节点为对应的下一跳的路由前缀,所述根节点的子节点为对应的下一跳;
在所述路由表中对每个迭代子树的子节点对应的下一跳进行任意掩码长度且忽略路由活跃性的匹配,将匹配的路由前缀作为所述下一跳的子节点添加至所述迭代子树中,并将所述路由前缀的下一跳作为所述路由前缀的子节点;
继续匹配所述子节点直至满足预设终止条件为止,所述预设终止条件包括:匹配结果为空、匹配到所述迭代子树的根节点或匹配到非迭代路由。
如上述方法,可选地,所述根据匹配结果确定所述网络设备是否存在迭代循环,包括:
若至少一个迭代子树匹配到所述迭代子树的根节点,则确定所述网络设备存在迭代循环。
如上述方法,可选地,还包括:
若所述网络设备的迭代循环标识为第二标识,则直接确定所述网络设备存在迭代循环。
如上述方法,可选地,还包括:
若所述网络设备的迭代循环标识为第一标识,且所述新增路由为非迭代路由,则直接确定所述网络设备不存在迭代循环。
如上述方法,可选地,还包括:
在网络设备启动时,设置所述网络设备的路由表和下一跳表均为空,并设置所述网络设备的迭代循环标识为第一标识。
如上述方法,可选地,还包括:
若判断获知待处理路由为删除路由,则从所述路由表中删除所述路由,并从所述下一跳中删除所述路由的下一跳;
若判断获知所述网络设备的迭代循环标识为第二标识,且所述删除路由为迭代路由,则在更新后的路由表中对更新后的下一跳表中的每个下一跳进行任意掩码长度且忽略路由活跃性的迭代循环匹配;
根据匹配结果再次确定所述网络设备是否存在迭代循环。
如上述方法,可选地,还包括:
若所述删除路由为非迭代路由,则根据所述网络设备的迭代循环标识确定所述网络设备是否存在迭代循环。
如上述方法,可选地,还包括:
若判断获知所述网络设备的迭代循环标识为第一标识,则直接确定所述网络设备不存在迭代循环。
第二方面,本发明实施例提供一种路由迭代循环检测装置,应用于网络设备中,包括:
第一添加模块,用于若判断获知待处理路由为新增路由,则将所述新增路由的路由前缀和下一跳添加至所述网络设备的路由表中;
第二添加模块,用于若所述网络设备的迭代循环标识为第一标识,且所述新增路由为迭代路由,则将所述新增路由的下一跳加入至所述网络设备的下一跳表中;
迭代匹配模块,用于在所述路由表中对所述下一跳表中的每个下一跳进行任意掩码长度且忽略路由活跃性的迭代循环匹配;
判断模块,用于根据匹配结果确定所述网络设备是否存在迭代循环;
更改模块,用于若所述网络设备存在迭代循环,则将所述迭代循环标识更改为第二标识。
如上述装置,可选地,所述迭代匹配模块具体用于:
根据所述下一跳表中的每个下一跳构建迭代子树,每个迭代子树的根节点为对应的下一跳的路由前缀,所述根节点的子节点为对应的下一跳;
在所述路由表中对每个迭代子树的子节点对应的下一跳进行任意掩码长度且忽略路由活跃性的匹配,将匹配的路由前缀作为所述下一跳的子节点添加至所述迭代子树中,并将所述路由前缀的下一跳作为所述路由前缀的子节点;
继续匹配所述子节点直至满足预设终止条件为止,所述预设终止条件包括:匹配结果为空、匹配到所述迭代子树的根节点或匹配到非迭代路由。
如上述装置,可选地,所述判断模块具体用于:
若至少一个迭代子树匹配到所述迭代子树的根节点,则确定所述网络设备存在迭代循环。
如上述装置,可选地,所述判断模块还用于:
若所述网络设备的迭代循环标识为第二标识,则直接确定所述网络设备存在迭代循环。
如上述装置,可选地,所述判断模块还用于:
若所述网络设备的迭代循环标识为第一标识,且所述新增路由为非迭代路由,则直接确定所述网络设备不存在迭代循环。
如上述装置,可选地,还包括:
初始化模块,用于在网络设备启动时,设置所述网络设备的路由表和下一跳表均为空,并设置所述网络设备的迭代循环标识为第一标识。
如上述装置,可选地,还包括:
删除模块,用于若判断获知待处理路由为删除路由,则从所述路由表中删除所述路由,并从所述下一跳中删除所述路由的下一跳;
相应地,所述迭代匹配模块还用于:
若判断获知所述网络设备的迭代循环标识为第二标识,且所述删除路由为迭代路由,则在更新后的路由表中对更新后的下一跳表中的每个下一跳进行任意掩码长度且忽略路由活跃性的迭代循环匹配;
相应地,所述判断模块还用于:
根据匹配结果再次确定所述网络设备是否存在迭代循环。
如上述装置,可选地,所述判断模块还用于:
若所述删除路由为非迭代路由,则根据所述网络设备的迭代循环标识确定所述网络设备是否存在迭代循环。
如上述装置,可选地,所述判断模块还用于:
若判断获知所述网络设备的迭代循环标识为第一标识,则直接确定所述网络设备不存在迭代循环。
第三方面,本发明实施例提供一种电子设备,包括:
存储器和处理器,所述处理器和所述存储器通过总线完成相互间的通信;所述存储器存储有可被所述处理器执行的程序指令,所述处理器调用所述程序指令能够执行如下方法:若判断获知待处理路由为新增路由,则将所述新增路由的路由前缀和下一跳添加至所述网络设备的路由表中;若所述网络设备的迭代循环标识为第一标识,且所述新增路由为迭代路由,则将所述新增路由的下一跳加入至所述网络设备的下一跳表中;在所述路由表中对所述下一跳表中的每个下一跳进行任意掩码长度且忽略路由活跃性的迭代循环匹配;根据匹配结果确定所述网络设备是否存在迭代循环;若所述网络设备存在迭代循环,则将所述迭代循环标识更改为第二标识。
第四方面,本发明实施例提供一种存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现如下方法:若判断获知待处理路由为新增路由,则将所述新增路由的路由前缀和下一跳添加至所述网络设备的路由表中;若所述网络设备的迭代循环标识为第一标识,且所述新增路由为迭代路由,则将所述新增路由的下一跳加入至所述网络设备的下一跳表中;在所述路由表中对所述下一跳表中的每个下一跳进行任意掩码长度且忽略路由活跃性的迭代循环匹配;根据匹配结果确定所述网络设备是否存在迭代循环;若所述网络设备存在迭代循环,则将所述迭代循环标识更改为第二标识。
本发明实施例提供的路由迭代循环检测方法,在验证是否存在迭代循环时,进行任意掩码长度的路由迭代,即使不活跃的路由也可以参与路由迭代,判断所有的迭代路由是否一定不存在迭代循环,在接收路由阶段就可以进行,即在计算迭代路由活跃性前就可以进行,提前感知设备上路由是否一定不存在迭代循环;若是,则在计算迭代路由的活跃性时,不需要再进行迭代循环判断,优化路由计算的过程,节省时间消耗,提高了路由计算的计算性能。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作一简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为现有技术中迭代循环判断方法流程示意图;
图2为本发明实施例提供的路由迭代循环检测方法流程示意图;
图3为本发明实施例提供的路由迭代循环检测方法中新增路由R2之后的迭代子树示意图;
图4为本发明实施例提供的路由迭代循环检测方法中新增路由R3之后的各迭代子树示意图;
图5为本发明实施例提供的路由迭代循环检测方法中新增路由R4之后的各迭代子树示意图;
图6为本发明实施例提供的路由迭代循环检测方法中新增路由R5之后的迭代子树示意图;
图7为本发明实施例提供的路由迭代循环检测装置的结构示意图;
图8为本发明实施例提供的电子设备的结构示意图。
具体实施方式
为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
图2为本发明实施例提供的路由迭代循环检测方法流程示意图,应用于网络设备中,如图2所示,该方法包括:
步骤S21、若判断获知待处理路由为新增路由,则将所述新增路由的路由前缀和下一跳添加至所述网络设备的路由表中;
具体地,现有技术中每条迭代路由在计算活跃性时,都会先进行迭代循环的判断,判断迭代路由不存在迭代循环后,才会再进行普通的路由匹配。而迭代路由存在迭代循环通常是小概率事件或故意配置导致,为了应对小概率事件,每条迭代路由的计算中,都特地进行迭代循环判断,浪费了计算性能。如果能快速地判断网络设备上的迭代路由一定不存在迭代循环,在计算路由活跃性时,就可以直接省略掉迭代循环的判断。若可能存在迭代循环,则之后再按照现有方式处理。只要网络设备上的迭代路由没有发生新增或删除,那么判断设备上的迭代路由是否可能存在迭代循环,只需要进行一次。而迭代路由的活跃性更新计算可能进行很多次,若能裁减掉每次路由计算中的迭代循环判断,可以提高计算性能。
因此本发明实施例中,在网络设备添加或删除路由时,就对网络设备进行迭代循环检测,检测网络设备中是否可能存在迭代循环,若判断结果为否,即网络设备不存在迭代循环,则无需进行每次路由计算中的迭代循环判断。
首先,在网络设备启动时,设置网络设备的路由表和下一跳表,路由表记为routing_table,下一跳表记为nexthop_table,由于网络设备刚启动,尚未添加路由,此时网络设备的路由表和下一跳表均为空,之后设置网络设备的迭代循环标识,记为global_recur,迭代循环标识用于标记网络设备上的迭代路由是否可能存在迭代循环。迭代循环标识可以为第一标识或第二标识,其中第一标识表示网络设备一定不存在迭代循环,第二标识表示网络设备可能存在迭代循环。第一标识可以用false表示,第二标识可以用true表示,第一标识还可以用0表示,第二标识还可以用1表示,本发明实施例对比不做限定。
由于网络设备启动时,未添加路由,此时网络设备一定不存在迭代循环,因此,设置所述网络设备的迭代循环标识为第一标识,即此时global_recur为false。
网络设备每接收一条路由操作指令后,根据下发路由时携带的操作符判断下发路由是添加路由还是删除路由,若操作符指示是添加,则为新增路由;若操作符指示是删除,则为删除路由。
当网络设备判断出待处理路由为新增路由之后,首先将新增路由的路由前缀和下一跳添加至网络设备的路由表中,即无论新增路由是否为迭代路由,都将其路由前缀和下一跳添加至网络设备的路由表routing_table中。
步骤S22、若所述网络设备的迭代循环标识为第一标识,且所述新增路由为迭代路由,则将所述新增路由的下一跳加入至所述网络设备的下一跳表中;
具体地,在路由表routing_table中添加新增路由的路由前缀和下一跳之后,查找当前网络设备的迭代循环标识,判断是否为第一标识,即判断网络设备在添加新增路由之前是否不存在迭代循环。
如果网络设备的迭代循环标识为第二标识,即在此之前网络设备就可能存在迭代循环,那么新增路由之后,不会改变global_recur结果,因此可以直接确定网络设备存在迭代循环。
如果网络设备的迭代循环标识为第一标识,即之前不存在迭代循环,那么新增路由之后,就需要继续检测是否存在迭代循环。
首先判断新增路由是否为迭代路由,其中非迭代路由已经携带出口,如果网络设备的迭代循环标识为第一标识,且新增路由为非迭代路由,由于非迭代路由一定不存在迭代循环,因此可以直接确定网络设备不存在迭代循环。
如果网络设备的迭代循环标识为第一标识且新增路由为迭代路由,则将新增路由的下一跳加入到下一跳表nexthop_table中。
步骤S23、在所述路由表中对所述下一跳表中的每个下一跳进行任意掩码长度且忽略路由活跃性的迭代循环匹配;
步骤S24、根据匹配结果确定所述网络设备是否存在迭代循环;
步骤S25、若所述网络设备存在迭代循环,则将所述迭代循环标识更改为第二标识。
具体地,在下一跳表中增加下一跳之后,对下一跳表中的每个下一跳,进行任意路由前缀、忽略路由活跃性的迭代循环判断,并更新global_recur。在普通的迭代循环判断中,只处理活跃、且匹配最长掩码的路由。而在本发明实施例中针对下一跳表中的每个下一跳,在路由表中进行任意路由前缀、忽略路由活跃性的迭代循环判断,在迭代过程中,可以匹配不活跃或不是最长路由前缀的路由。由于本发明实施例中进行任意路由前缀、忽略路由活跃性的迭代循环判断,因此若判断出不存在迭代循环,则表明网络设备一定不存在迭代循环,若判断出存在迭代循环,则表明网络设备可能存在迭代循环,还需要进一步通过现有技术中迭代循环判断方法确定出具体存在迭代循环的路由。
具体地,根据所述下一跳表中的每个下一跳构建迭代子树,每个迭代子树的根节点为对应的下一跳的路由前缀,所述根节点的子节点为对应的下一跳;
在所述路由表中对每个迭代子树的子节点对应的下一跳进行任意掩码长度且忽略路由活跃性的匹配,将匹配的路由前缀作为所述下一跳的子节点添加至所述迭代子树中,并将所述路由前缀的下一跳作为所述路由前缀的子节点;
继续匹配所述子节点满足预设终止条件为止,所述预设终止条件包括:匹配结果为空、匹配到所述迭代子树的根节点或匹配到非迭代路由。
其中预设终止条件中的至少一个迭代子树匹配到所述迭代子树的根节点,表示所述网络设备存在迭代循环。即只要有一个迭代子树匹配到该迭代子树的根节点,就可直接判断网络设备存在迭代循环,其他迭代子树可以不必再进行匹配,以减少匹配操作。另外,若子节点匹配结果为空,则该子节点结束匹配,或者子节点匹配到非迭代路由,则该子节点结束匹配,上述两种情况表示该子节点不存在迭代循环。
若通过判断确定网络设备存在迭代循环,则将迭代循环标识更改为第二标识。
下面分情况举例说明添加路由之后的迭代循环判断过程:
1)网络设备启机后,新增路由R1:2.2.2.0/24的下一跳是1.1.1.1、出口是eth0且eth0是up。由于R1是非迭代路由,所以它的下一跳1.1.1.1不会加入下一跳表nexthop_table。
迭代循环标识global_recur:false
下一跳表nexthop_table:空
路由表routing_table:2.2.2.0/24→1.1.1.1
此时,根据迭代循环标识global_recur可直接判断当前网络设备不存在迭代循环。
2)新增路由R2:2.2.2.2/32→3.3.3.3。
R2是迭代路由,所以它的下一跳3.3.3.3加入到下一跳表nexthop_table,将2.2.2.2/32→3.3.3.3加入到路由表。
迭代循环标识global_recur:false
下一跳表nexthop_table:3.3.3.3
路由表routing_table:2.2.2.0/24→1.1.1.1、2.2.2.2/32→3.3.3.3
由于global_recur为false且新增路由为迭代路由,则需要对nexthop_table中每个下一跳进行下一跳进行任意路由前缀、忽略路由活跃性的迭代循环判断:
2-1)由于下一跳表nexthop_table中只有一个3.3.3.3,于是对3.3.3.3进行任意路由前缀、忽略路由活跃性的迭代循环判断。此时路由表中存在两条路由,分别是R1和R2,将3.3.3.3在路由表中进行匹配,图3为本发明实施例提供的路由迭代循环检测方法中新增路由R2之后的迭代子树示意图,如图3所示,发现没有匹配的路由前缀,则认为网络设备不存在迭代循环,global_recur仍为false。
3)新增路由R3:200.200.200.0/24→2.2.2.2;
由于R3是迭代路由,将下一跳2.2.2.2加入到下一跳表。
迭代循环标识global_recur:false
下一跳表nexthop_table:3.3.3.3、2.2.2.2
路由表routing_table:2.2.2.0/24→1.1.1.1、2.2.2.2/32→3.3.3.3、200.200.200.0/24→2.2.2.2
图4为本发明实施例提供的路由迭代循环检测方法中新增路由R3之后的各迭代子树示意图,如图4所示,对下一跳表中的每个下一跳进行任意路由前缀、忽略路由活跃性的迭代循环判断:
3-1)3.3.3.3:
将3.3.3.3在路由表中进行匹配,发现没有匹配任何路由前缀,认为下一跳3.3.3.3不会存在迭代循环。
3-2)2.2.2.2:
将2.2.2.2在路由表中进行任意掩码长度的匹配,发现可以匹配到2.2.2.2/32(路由R2)、2.2.2.0/24(路由R1),对于这两个可能匹配的路由前缀进行迭代;由于2.2.2.2是路由R3的下一跳,取出路由R3的路由前缀200.200.200.0/24作为迭代子树的根节点,R3的下一跳2.2.2.2作为根节点的子节点。
3-2-1)若路由R3的下一跳2.2.2.2匹配到路由R2的2.2.2.2/32(此时不管路由R2是否活跃),R2的路由前缀2.2.2.2/32作为子节点2.2.2.2的一个子节点,取出R2的下一跳3.3.3.3作为子节点2.2.2.2/32的子节点,判断3.3.3.3会不会匹配路由R3的路由前缀200.200.200.0/24,发现不匹配,认为:R2的下一跳3.3.3.3不会匹配到路由R3的路由前缀200.200.200.0/24。
由于路由R2是迭代路由,继续对路由R2的下一跳3.3.3.3再处理。将3.3.3.3在路由表中进行匹配,此时发现没有匹配路由表的任一个路由前缀。迭代判断结束,认为:若路由R3的下一跳2.2.2.2匹配到路由R2,则不存在迭代循环。
3-2-2)若路由R3的下一跳2.2.2.2匹配到路由R1的2.2.2.0/24(此时不管路由R1是否是活跃),则R1的路由前缀2.2.2.0/24作为子节点2.2.2.2的另一个子节点,发现R1是非迭代路由,迭代判断结束。认为:若路由R3的下一跳2.2.2.2若匹配到路由R1,不存在迭代循环。
综合,3-2-1)和3-2-2),无论什么情况,下一跳2.2.2.2都不会存在迭代循环。此时global_recur仍为false。
4)新增路由R4:100.100.100.0/24→200.200.200.200;
由于路由R4是迭代路由,将下一跳200.200.200.200加入到下一跳表,将路由前缀100.100.100.0/24加入到路由表。
迭代循环标识global_recur:false
下一跳表nexthop_table:3.3.3.3、2.2.2.2、200.200.200.200
路由表routing_table:2.2.2.0/24→1.1.1.1、2.2.2.2/32→3.3.3.3、200.200.200.0/24→2.2.2.2、100.100.100.0/24→200.200.200.200
图5为本发明实施例提供的路由迭代循环检测方法中新增路由R4之后的各迭代子树示意图,如图5所示,对下一跳表中的每个下一跳进行任意路由前缀、忽略路由活跃性的迭代循环判断:
4-1)3.3.3.3
同上述的3-1),此处不再赘述。
4-2)2.2.2.2
同上述的3-2),此处不再赘述。
4-3)200.200.200.200
将200.200.200.200在路由表中进行任意掩码长度的匹配,发现只会匹配到路由R3前缀200.200.200.0/24,对路由R3再进行迭代。由于200.200.200.200是路由R4的下一跳,取出路由R4的路由前缀100.100.100.0/24作为根节点,下一跳200.200.200.200作为根节点的子节点。
4-3-1)若下一跳200.200.200.200匹配到路由R3 200.200.200.0/24,由于R3是迭代路由,取出R3的路由前缀200.200.200.0/24作为子节点200.200.200.200的子节点,下一跳2.2.2.2作为子节点200.200.200.200的子节点继续迭代。将下一跳2.2.2.2在路由表中进行任意长度的匹配,发现可以匹配到2.2.2.2/32(路由R2)、2.2.2.0/24(路由R1),接下来的操作同3-2),此处不再赘述。此时global_recur仍为false。
5)新增路由R5:3.3.3.3/32→100.100.100.100
由于路由R5是迭代路由,将下一跳100.100.100.100加入到下一跳表,将3.3.3.3/32加入到路由表。
迭代循环标识global_recur:false
下一跳表nexthop_table:3.3.3.3、2.2.2.2、200.200.200.200、100.100.100.100
路由表routing_table:2.2.2.0/24→1.1.1.1、2.2.2.2/32→3.3.3.3、200.200.200.0/24→2.2.2.2、100.100.100.0/24→200.200.200.200、3.3.3.3/32→100.100.100.100
图6为本发明实施例提供的路由迭代循环检测方法中新增路由R5之后的迭代子树示意图,如图6所示,对于下一跳表中的每一个下一跳,进行迭代判断。
5-1)判断第一个下一跳3.3.3.3,将下一跳3.3.3.3的路由前缀2.2.2.2/32作为第一个迭代子树的根节点,3.3.3.3作为根节点2.2.2.2/32的子节点,在路由表中对3.3.3.3进行任意掩码长度忽略路由活跃性的匹配,发现匹配到路由R5,取R5的路由前缀3.3.3.3/32作为3.3.3.3节点的子节点,将R5的下一跳100.100.100.100作为子节点3.3.3.3/32子节点;继续对100.100.100.100进行匹配,发现匹配到路由R4,取R4的路由前缀100.100.100.0/24作为100.100.100.100节点的子节点,将R4的下一跳200.200.200.200作为子节点100.100.100.0/24的子节点;继续对200.200.200.200进行匹配,发现匹配到路由R3,取R3的路由前缀200.200.200.0/24作为200.200.200.200节点的子节点,将R3的下一跳2.2.2.2作为子节点200.200.200.0/24的子节点;继续对2.2.2.2进行匹配,发现匹配到路由R1和R2,分别取路由R1的前缀和路由R2的前缀作为子节点2.2.2.2的子节点,发现子节点2.2.2.2匹配到迭代子树的根节点,确定存在迭代循环,设置global_recur为true,表示路由表中可能存在迭代循环。只要一旦发现global_recur为true,就说明可能存在迭代循环,下一跳表中的其他下一跳就不需要再判断是否存在迭代循环,减少了无用的迭代循环判断过程,提高了计算性能。
本发明实施例提供的路由迭代循环检测方法,在验证是否存在迭代循环时,进行任意掩码长度的路由迭代,即使不活跃的路由也可以参与路由迭代,判断所有的迭代路由是否一定不存在迭代循环,在接收路由阶段就可以进行,即在计算迭代路由活跃性前就可以进行,提前感知设备上路由是否一定不存在迭代循环;若是,则在计算迭代路由的活跃性时,不需要再进行迭代循环判断,优化路由计算的过程,节省时间消耗,提高了路由计算的计算性能。
在上述实施例的基础上,进一步地,该方法还包括:
若判断获知待处理路由为删除路由,则从所述路由表中删除所述路由,并从所述下一跳中删除所述路由的下一跳;
若判断获知所述网络设备的迭代循环标识为第二标识,且所述删除路由为迭代路由,则在更新后的路由表中对更新后的下一跳表中的每个下一跳进行任意掩码长度且忽略路由活跃性的迭代循环匹配;
根据匹配结果再次确定所述网络设备是否存在迭代循环。
具体地,当通过操作符判断得知待处理路由为删除路由时,首先从路由表中删除该删除路由,即删除路由前缀及下一跳,并从下一跳中删除该路由的下一跳。
之后判断网络设备的迭代循环标识global_recur,若global_recur为第一标识false,则说明网络设备不存在迭代循环,那么裁去一条迭代路由,剩下的路由肯定也不会存在迭代循环,结束。
如果网络设备的迭代循环标识global_recur为第二标识true,说明网络设备可能存在迭代循环,那么裁去一条迭代路由,可能影响迭代循环。需要对下一跳表中的下一跳,重新进行任何路由前缀、忽略路由活跃性的迭代循环判断。
首先,判断删除路由是否为迭代路由,若是非迭代路由,非迭代路由不影响网络设备是否存在迭代循环,则根据网络设备的迭代循环标识确定网络设备是否存在迭代循环,即删除非迭代路由之后网络设备是否存在迭代循环与删除之前一致。
如果删除路由为迭代路由,且网络设备的迭代循环标识为第二标识,则在更新后的路由表中对更新后的下一跳表中的每个下一跳进行任意掩码长度且忽略路由活跃性的迭代循环匹配;根据匹配结果再次确定所述网络设备是否存在迭代循环。
下面举例说明删除路由之后的迭代循环判断过程:
6)删除路由R5:3.3.3.3/32→100.100.100.100
迭代循环标识global_recur:true
下一跳表nexthop_table:3.3.3.3、2.2.2.2、200.200.200.200
路由表routing_table:2.2.2.0/24→1.1.1.1、2.2.2.2/32→3.3.3.3、200.200.200.0/24→2.2.2.2、100.100.100.0/24→200.200.200.200
对新的下一跳表的迭代循环判断过程如新增R4之后的过程,此处不再赘述,由于没有迭代子树匹配到根节点,因此设置迭代循环标识global_recur为false。在删除路由之后,结合迭代循环标识和路由类型,就可减少判断迭代循环的计算次数,进一步提高了计算性能。
通过提前对网络设备的路由是否一定不存在迭代循环进行判断之后,当需要对路由进行活跃性计算时,取出待计算路由的路由前缀和下一跳,先查找网络设备的路由迭代循环标识,若路由迭代循环标识为第二标识true,则按照现有迭代循环判断方法针对每个迭代路由分别进行判断,若路由迭代循环标识为第一标识false,则直接在路由表中匹配活跃且最长路由前缀的路由,省略迭代循环判断过程,提高路由计算性能。
基于同一发明构思,本发明实施例还提供一种路由迭代循环检测装置,应用于网络设备中,如图7所示,包括:第一添加模块71、第二添加模块72、迭代匹配模块73、判断模块74和更改模块75,其中:
第一添加模块71用于若判断获知待处理路由为新增路由,则将所述新增路由的路由前缀和下一跳添加至所述网络设备的路由表中;第二添加模块72用于若所述网络设备的迭代循环标识为第一标识,且所述新增路由为迭代路由,则将所述新增路由的下一跳加入至所述网络设备的下一跳表中;迭代匹配模块73用于在所述路由表中对所述下一跳表中的每个下一跳进行任意掩码长度且忽略路由活跃性的迭代循环匹配;判断模块74用于根据匹配结果确定所述网络设备是否存在迭代循环;更改模块75用于若所述网络设备存在迭代循环,则将所述迭代循环标识更改为第二标识。
如上述装置,可选地,所述迭代匹配模块73具体用于:
根据所述下一跳表中的每个下一跳构建迭代子树,每个迭代子树的根节点为对应的下一跳的路由前缀,所述根节点的子节点为对应的下一跳;
在所述路由表中对每个迭代子树的子节点对应的下一跳进行任意掩码长度且忽略路由活跃性的匹配,将匹配的路由前缀作为所述下一跳的子节点添加至所述迭代子树中,并将所述路由前缀的下一跳作为所述路由前缀的子节点;
继续匹配所述子节点直至满足预设终止条件为止,所述预设终止条件包括:匹配结果为空、匹配到所述迭代子树的根节点或匹配到非迭代路由。
如上述装置,可选地,所述判断模块74具体用于:
若至少一个迭代子树匹配到所述迭代子树的根节点,则确定所述网络设备存在迭代循环。
如上述装置,可选地,所述判断模块74还用于:
若所述网络设备的迭代循环标识为第二标识,则直接确定所述网络设备存在迭代循环。
如上述装置,可选地,其特征在于,所述判断模块74还用于:
若所述网络设备的迭代循环标识为第一标识,且所述新增路由为非迭代路由,则直接确定所述网络设备不存在迭代循环。
如上述装置,可选地,还包括:
初始化模块,用于在网络设备启动时,设置所述网络设备的路由表和下一跳表均为空,并设置所述网络设备的迭代循环标识为第一标识。
如上述装置,可选地,还包括:
删除模块,用于若判断获知待处理路由为删除路由,则从所述路由表中删除所述路由,并从所述下一跳中删除所述路由的下一跳;
相应地,所述迭代匹配模块73还用于:
若判断获知所述网络设备的迭代循环标识为第二标识,且所述删除路由为迭代路由,则在更新后的路由表中对更新后的下一跳表中的每个下一跳进行任意掩码长度且忽略路由活跃性的迭代循环匹配;
相应地,所述判断模块74还用于:
根据匹配结果再次确定所述网络设备是否存在迭代循环。
如上述装置,可选地,所述判断模块74还用于:
若所述删除路由为非迭代路由,则根据所述网络设备的迭代循环标识确定所述网络设备是否存在迭代循环。
如上述装置,可选地,所述判断模块74还用于:
若判断获知所述网络设备的迭代循环标识为第一标识,则直接确定所述网络设备不存在迭代循环。
本发明实施例提供的装置,用于实现上述方法,其功能具体参照上述方法实施例,此处不再赘述。
图8为本发明实施例提供的电子设备的结构示意图,如图8所示,所述设备包括:处理器(processor)81、存储器(memory)82和总线83;
其中,处理器81和存储器82通过所述总线83完成相互间的通信;
处理器81用于调用存储器82中的程序指令,以执行上述各方法实施例所提供的方法,例如包括:若判断获知待处理路由为新增路由,则将所述新增路由的路由前缀和下一跳添加至所述网络设备的路由表中;若所述网络设备的迭代循环标识为第一标识,且所述新增路由为迭代路由,则将所述新增路由的下一跳加入至所述网络设备的下一跳表中;在所述路由表中对所述下一跳表中的每个下一跳进行任意掩码长度且忽略路由活跃性的迭代循环匹配;根据匹配结果确定所述网络设备是否存在迭代循环;若所述网络设备存在迭代循环,则将所述迭代循环标识更改为第二标识。
本发明实施例公开一种计算机程序产品,所述计算机程序产品包括存储在非暂态计算机可读存储介质上的计算机程序,所述计算机程序包括程序指令,当所述程序指令被计算机执行时,计算机能够执行上述各方法实施例所提供的方法,例如包括:若判断获知待处理路由为新增路由,则将所述新增路由的路由前缀和下一跳添加至所述网络设备的路由表中;若所述网络设备的迭代循环标识为第一标识,且所述新增路由为迭代路由,则将所述新增路由的下一跳加入至所述网络设备的下一跳表中;在所述路由表中对所述下一跳表中的每个下一跳进行任意掩码长度且忽略路由活跃性的迭代循环匹配;根据匹配结果确定所述网络设备是否存在迭代循环;若所述网络设备存在迭代循环,则将所述迭代循环标识更改为第二标识。
本发明实施例提供一种非暂态计算机可读存储介质,所述非暂态计算机可读存储介质存储计算机指令,所述计算机指令使所述计算机执行上述各方法实施例所提供的方法,例如包括:若判断获知待处理路由为新增路由,则将所述新增路由的路由前缀和下一跳添加至所述网络设备的路由表中;若所述网络设备的迭代循环标识为第一标识,且所述新增路由为迭代路由,则将所述新增路由的下一跳加入至所述网络设备的下一跳表中;在所述路由表中对所述下一跳表中的每个下一跳进行任意掩码长度且忽略路由活跃性的迭代循环匹配;根据匹配结果确定所述网络设备是否存在迭代循环;若所述网络设备存在迭代循环,则将所述迭代循环标识更改为第二标识。
本领域普通技术人员可以理解:实现上述方法实施例的全部或部分步骤可以通过程序指令相关的硬件来完成,前述的程序可以存储于计算机可读取存储介质中,该程序在执行时,执行包括上述方法实施例的步骤;而前述的存储介质包括:ROM、RAM、磁碟或者光盘等各种可以存储程序代码的介质。
以上所描述的装置等实施例仅仅是示意性的,其中所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。本领域普通技术人员在不付出创造性的劳动的情况下,即可以理解并实施。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到各实施方式可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件。基于这样的理解,上述技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在计算机可读存储介质中,如ROM/RAM、磁碟、光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行各个实施例或者实施例的某些部分所述的方法。
最后应说明的是:以上各实施例仅用以说明本发明的实施例的技术方案,而非对其限制;尽管参照前述各实施例对本发明的实施例进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分或者全部技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明的各实施例技术方案的范围。
Claims (20)
1.一种路由迭代循环检测方法,应用于网络设备中,其特征在于,包括:
若判断获知待处理路由为新增路由,则将所述新增路由的路由前缀和下一跳添加至所述网络设备的路由表中;
若所述网络设备的迭代循环标识为第一标识,且所述新增路由为迭代路由,则将所述新增路由的下一跳加入至所述网络设备的下一跳表中;
在所述路由表中对所述下一跳表中的每个下一跳进行任意掩码长度且忽略路由活跃性的迭代循环匹配;
根据匹配结果确定所述网络设备是否存在迭代循环;
若所述网络设备存在迭代循环,则将所述迭代循环标识更改为第二标识。
2.根据权利要求1所述的方法,其特征在于,所述在所述路由表中对所述下一跳表中的每个下一跳进行任意掩码长度且忽略路由活跃性的迭代循环匹配,包括:
根据所述下一跳表中的每个下一跳构建迭代子树,每个迭代子树的根节点为对应的下一跳的路由前缀,所述根节点的子节点为对应的下一跳;
在所述路由表中对每个迭代子树的子节点对应的下一跳进行任意掩码长度且忽略路由活跃性的匹配,将匹配的路由前缀作为所述下一跳的子节点添加至所述迭代子树中,并将所述路由前缀的下一跳作为所述路由前缀的子节点;
继续匹配所述子节点直至满足预设终止条件为止,所述预设终止条件包括:匹配结果为空、匹配到所述迭代子树的根节点或匹配到非迭代路由。
3.根据权利要求2所述的方法,其特征在于,所述根据匹配结果确定所述网络设备是否存在迭代循环,包括:
若至少一个迭代子树匹配到所述迭代子树的根节点,则确定所述网络设备存在迭代循环。
4.根据权利要求1所述的方法,其特征在于,还包括:
若所述网络设备的迭代循环标识为第二标识,则直接确定所述网络设备存在迭代循环。
5.根据权利要求1所述的方法,其特征在于,还包括:
若所述网络设备的迭代循环标识为第一标识,且所述新增路由为非迭代路由,则直接确定所述网络设备不存在迭代循环。
6.根据权利要求1所述的方法,其特征在于,还包括:
在网络设备启动时,设置所述网络设备的路由表和下一跳表均为空,并设置所述网络设备的迭代循环标识为第一标识。
7.根据权利要求1-6任一所述的方法,其特征在于,还包括:
若判断获知待处理路由为删除路由,则从所述路由表中删除所述路由,并从所述下一跳中删除所述路由的下一跳;
若判断获知所述网络设备的迭代循环标识为第二标识,且所述删除路由为迭代路由,则在更新后的路由表中对更新后的下一跳表中的每个下一跳进行任意掩码长度且忽略路由活跃性的迭代循环匹配;
根据匹配结果再次确定所述网络设备是否存在迭代循环。
8.根据权利要求7所述的方法,其特征在于,还包括:
若所述删除路由为非迭代路由,则根据所述网络设备的迭代循环标识确定所述网络设备是否存在迭代循环。
9.根据权利要求7所述的方法,其特征在于,还包括:
若判断获知所述网络设备的迭代循环标识为第一标识,则直接确定所述网络设备不存在迭代循环。
10.一种路由迭代循环检测装置,应用于网络设备中,其特征在于,包括:
第一添加模块,用于若判断获知待处理路由为新增路由,则将所述新增路由的路由前缀和下一跳添加至所述网络设备的路由表中;
第二添加模块,用于若所述网络设备的迭代循环标识为第一标识,且所述新增路由为迭代路由,则将所述新增路由的下一跳加入至所述网络设备的下一跳表中;
迭代匹配模块,用于在所述路由表中对所述下一跳表中的每个下一跳进行任意掩码长度且忽略路由活跃性的迭代循环匹配;
判断模块,用于根据匹配结果确定所述网络设备是否存在迭代循环;
更改模块,用于若所述网络设备存在迭代循环,则将所述迭代循环标识更改为第二标识。
11.根据权利要求10所述的装置,其特征在于,所述迭代匹配模块具体用于:
根据所述下一跳表中的每个下一跳构建迭代子树,每个迭代子树的根节点为对应的下一跳的路由前缀,所述根节点的子节点为对应的下一跳;
在所述路由表中对每个迭代子树的子节点对应的下一跳进行任意掩码长度且忽略路由活跃性的匹配,将匹配的路由前缀作为所述下一跳的子节点添加至所述迭代子树中,并将所述路由前缀的下一跳作为所述路由前缀的子节点;
继续匹配所述子节点直至满足预设终止条件为止,所述预设终止条件包括:匹配结果为空、匹配到所述迭代子树的根节点或匹配到非迭代路由。
12.根据权利要求11所述的装置,其特征在于,所述判断模块具体用于:
若至少一个迭代子树匹配到所述迭代子树的根节点,则确定所述网络设备存在迭代循环。
13.根据权利要求10所述的装置,其特征在于,所述判断模块还用于:
若所述网络设备的迭代循环标识为第二标识,则直接确定所述网络设备存在迭代循环。
14.根据权利要求10所述的装置,其特征在于,所述判断模块还用于:
若所述网络设备的迭代循环标识为第一标识,且所述新增路由为非迭代路由,则直接确定所述网络设备不存在迭代循环。
15.根据权利要求10所述的装置,其特征在于,还包括:
初始化模块,用于在网络设备启动时,设置所述网络设备的路由表和下一跳表均为空,并设置所述网络设备的迭代循环标识为第一标识。
16.根据权利要求10-15任一所述的装置,其特征在于,还包括:
删除模块,用于若判断获知待处理路由为删除路由,则从所述路由表中删除所述路由,并从所述下一跳中删除所述路由的下一跳;
相应地,所述迭代匹配模块还用于:
若判断获知所述网络设备的迭代循环标识为第二标识,且所述删除路由为迭代路由,则在更新后的路由表中对更新后的下一跳表中的每个下一跳进行任意掩码长度且忽略路由活跃性的迭代循环匹配;
相应地,所述判断模块还用于:
根据匹配结果再次确定所述网络设备是否存在迭代循环。
17.根据权利要求16所述的装置,其特征在于,所述判断模块还用于:
若所述删除路由为非迭代路由,则根据所述网络设备的迭代循环标识确定所述网络设备是否存在迭代循环。
18.根据权利要求16所述的装置,其特征在于,所述判断模块还用于:
若判断获知所述网络设备的迭代循环标识为第一标识,则直接确定所述网络设备不存在迭代循环。
19.一种电子设备,其特征在于,包括:
存储器和处理器,所述处理器和所述存储器通过总线完成相互间的通信;所述存储器存储有可被所述处理器执行的程序指令,所述处理器调用所述程序指令能够执行如权利要求1至9任一所述的方法。
20.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现如权利要求1至9任一所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010672106.1A CN111953606B (zh) | 2020-07-14 | 2020-07-14 | 一种路由迭代循环检测方法、装置、电子设备及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010672106.1A CN111953606B (zh) | 2020-07-14 | 2020-07-14 | 一种路由迭代循环检测方法、装置、电子设备及存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN111953606A CN111953606A (zh) | 2020-11-17 |
CN111953606B true CN111953606B (zh) | 2022-06-21 |
Family
ID=73341613
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010672106.1A Active CN111953606B (zh) | 2020-07-14 | 2020-07-14 | 一种路由迭代循环检测方法、装置、电子设备及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111953606B (zh) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112637057B (zh) * | 2020-12-30 | 2022-08-16 | 锐捷网络股份有限公司 | 路由管理方法及装置 |
CN114785727B (zh) * | 2022-05-06 | 2023-04-25 | 河海大学 | 一种剔除重复路由的计算方法 |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
DE102004004793B3 (de) * | 2004-01-30 | 2005-08-11 | Siemens Ag | Verfahren zur Anpassung der Link-Gewichte im Hinblick auf eine optimierte Verkehrsverteilung |
CN102594657A (zh) * | 2011-12-20 | 2012-07-18 | 杭州华三通信技术有限公司 | 一种路由迭代方法及路由交换设备 |
CN102752205A (zh) * | 2012-07-04 | 2012-10-24 | 杭州华三通信技术有限公司 | 一种路由迭代的方法和装置 |
CN105681119A (zh) * | 2014-11-19 | 2016-06-15 | 中兴通讯股份有限公司 | 一种检测路由成环的方法及装置 |
CN105812258A (zh) * | 2014-12-31 | 2016-07-27 | 北京华为数字技术有限公司 | 一种数据处理方法和装置 |
CN107809381A (zh) * | 2017-10-19 | 2018-03-16 | 北京邮电大学 | 一种实现基于sdn中路由环路主动审计算法及实现方法 |
Family Cites Families (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103117930B (zh) * | 2013-02-07 | 2016-01-27 | 华为技术有限公司 | 静态路由配置的检测方法和装置 |
US9485180B2 (en) * | 2014-02-04 | 2016-11-01 | Juniper Networks, Inc. | Loop free alternate selection for multi-homed networks |
CN106878177B (zh) * | 2016-12-30 | 2020-01-03 | 新华三技术有限公司 | 一种路由处理方法及装置 |
-
2020
- 2020-07-14 CN CN202010672106.1A patent/CN111953606B/zh active Active
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
DE102004004793B3 (de) * | 2004-01-30 | 2005-08-11 | Siemens Ag | Verfahren zur Anpassung der Link-Gewichte im Hinblick auf eine optimierte Verkehrsverteilung |
CN102594657A (zh) * | 2011-12-20 | 2012-07-18 | 杭州华三通信技术有限公司 | 一种路由迭代方法及路由交换设备 |
CN102752205A (zh) * | 2012-07-04 | 2012-10-24 | 杭州华三通信技术有限公司 | 一种路由迭代的方法和装置 |
CN105681119A (zh) * | 2014-11-19 | 2016-06-15 | 中兴通讯股份有限公司 | 一种检测路由成环的方法及装置 |
CN105812258A (zh) * | 2014-12-31 | 2016-07-27 | 北京华为数字技术有限公司 | 一种数据处理方法和装置 |
CN107809381A (zh) * | 2017-10-19 | 2018-03-16 | 北京邮电大学 | 一种实现基于sdn中路由环路主动审计算法及实现方法 |
Non-Patent Citations (1)
Title |
---|
快速路由迭代方法的实现及性能优化;王迪;《中国优秀博硕士学位论文全文数据库(硕士)》;20160815;全文 * |
Also Published As
Publication number | Publication date |
---|---|
CN111953606A (zh) | 2020-11-17 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111953606B (zh) | 一种路由迭代循环检测方法、装置、电子设备及存储介质 | |
US7894461B2 (en) | Methods and apparatus to infer the status of border gateway protocol sessions | |
CN110247851B (zh) | 三层交换机中的信息更新方法、装置、三层交换机及介质 | |
US8516152B2 (en) | Lookahead computation of routing information | |
US20120124238A1 (en) | Prioritization of routing information updates | |
CN111385194B (zh) | 一种网络路径收敛的方法以及相关设备 | |
WO2020100151A1 (en) | Efficient method of computing backup routes | |
CN110233801B (zh) | 路由更新方法及装置 | |
CN109831378B (zh) | 一种报文超时回应方法及装置 | |
EP2652920B1 (en) | Managing stale route removal in a routing information base of a network element | |
CN103746828A (zh) | 一种管理网络节点的方法及装置 | |
CN106230717B (zh) | 集群系统中的路由获取方法及装置 | |
WO2018040940A1 (zh) | 一种二层网络及二层网络的环回检测方法 | |
CN109951871B (zh) | 节点冲突的检测方法、装置、终端及存储介质 | |
CN109639556B (zh) | 一种转发表项的上报方法及vtep设备 | |
CN101707547A (zh) | 路由信息生成方法及装置、递归路由数据转发方法及设备 | |
CN112637053B (zh) | 路由的备份转发路径的确定方法及装置 | |
WO2017219842A1 (zh) | 一种tcam表项的更新方法、装置及tcam | |
CN113824814A (zh) | 一种转发表的地址匹配方法、装置、网络设备及介质 | |
EP3160104A1 (en) | Method and device for generating bgp logical topology | |
CN114465944B (zh) | 一种节点信息的更新方法、装置、设备及存储介质 | |
CN110752991A (zh) | 一种动态路由最短路径选择方法 | |
US20240064094A1 (en) | Route information processing method and apparatus | |
CN118051526B (zh) | 一种表项插入方法、装置、电子设备及存储介质 | |
CN105991425B (zh) | 路由配置方法和系统 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |