CN111107002A - 路由信息的获取方法和装置 - Google Patents
路由信息的获取方法和装置 Download PDFInfo
- Publication number
- CN111107002A CN111107002A CN201911356371.2A CN201911356371A CN111107002A CN 111107002 A CN111107002 A CN 111107002A CN 201911356371 A CN201911356371 A CN 201911356371A CN 111107002 A CN111107002 A CN 111107002A
- Authority
- CN
- China
- Prior art keywords
- node
- neighbor
- adj
- next hop
- vertex
- 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.)
- Granted
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/02—Topology update or discovery
-
- 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/02—Topology update or discovery
- H04L45/04—Interdomain routing, e.g. hierarchical routing
-
- 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/12—Shortest path evaluation
-
- 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/22—Alternate routing
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本申请实施例公开了一种路由信息的获取方法和装置。所述方法包括:利用预先获取的以源节点S的所有邻居节点adj为根节点的最短路径SPF(adj)树,确定所述源节点S经邻居节点adj至以源节点S为根节点的SPF(S)树上每个可达节点vertex的最短路径信息;从所述源节点S的邻居节点中,根据所述最短路径信息,为每个可达节点vertex计算可用的备用下一跳节点;从所述每个可达节点vertex对应的可用的备份下一跳节点中,为每个可达节点vertex选择符合预先设置的最优选择策略的备份下一跳节点。
Description
技术领域
本申请实施例涉及信息处理领域,尤指一种路由信息的获取方法和装置。
背景技术
ISIS(Intermediate system to intermediate system,中间系统到中间系统)是由ISO提出的一种路由选择协议,它是一种链路状态协议。在该协议中,IS(路由器)负责交换基于链路开销的路由信息并决定网络拓朴结构。但是当网络链路或设备节点发生故障时,在ISIS路由再次收敛前网络流量会发生中断,网络收敛会经历如下几个过程:检测到链路故障、产生链路状态更新信息、泛洪到整个网络、重新计算路由表并下发到转发表。但对于语音、视频等实时性网络业务对IP网络流量的快速倒换要求更高,需要在小于50ms的时间内完成业务的倒换,这就需要一种快速的业务路由倒换方法。
在相关技术中,由于FRR(Fast Reroute,快速重路由)能在网络中链路或者节点发生故障后,为这些重要的节点或链路提供备份保护,实现快速重路由,减少链路或节点失效时对流量的影响,从而尽快让业务流恢复正常,因此常常被用于ISIS系统中要求进行业务快速倒换的场景。对于FRR,生成备份路由时,大多数情况都是通过手工配置指定备份下一跳,如果网络拓扑很复杂,逐个配置备份下一跳就显得很低效,而且如果拓扑发生改变,也得重新手动配置备份下一跳。由于手动配置指定备份下一跳的操作,存在耗时长,效率低等问题。
发明内容
为了解决上述任一技术问题,本申请实施例提供了一种路由信息的获取方法和装置。
为了达到本申请实施例目的,本申请实施例提供了一种路由信息的获取方法,包括:
利用预先获取的以源节点S的所有邻居节点adj为根节点的最短路径SPF(adj)树,确定所述源节点S经邻居节点adj至以源节点S为根节点的SPF(S)树上每个可达节点vertex的最短路径信息;
从所述源节点S的邻居节点中,根据所述最短路径信息,为每个可达节点vertex计算可用的备用下一跳节点;
从所述每个可达节点vertex对应的可用的备份下一跳节点中,为每个可达节点vertex选择符合预先设置的最优选择策略的备份下一跳节点。
在一个示例性实施例中,所述通过如下方式确定源节点S的所有邻居节点adj,包括:
从所述源节点S的邻居节点adj获取非伪节点的链路状态协议LSP信息;
根据所述非伪节点的LSP信息中的邻居信息,确定所述源节点S的邻居节点的列表,其中所述邻居节点的列表包括每个伪节点的LSP信息对应的系统ID;
根据所述每个伪节点的LSP对应的系统ID,获取所述每个伪节点的LSP信息;
对所述每个伪节点的LSP信息进行邻居节点的解析操作,得到与所述每个伪节点为邻居的目标节点的系统ID;
从所述目标节点的系统ID中确定所述源节点的非伪节点。
在一个示例性实施例中,所述从所述目标节点的系统ID中确定所述源节点的非伪节点,包括:
判断所述目标节点的系统ID是否在所述邻居节点的列表中;
如果所述目标节点的系统ID不在所述邻居节点的列表中,则确定所述系统ID对应的节点为所述源节点的非伪节点。
在一个示例性实施例中,所述从所述源节点S的邻居节点中,根据所述最短路径信息,为每个可达节点vertex计算可用的备用下一跳节点,包括:
判断可达节点vertex是否是伪节点;
如果可达节点vertex不是伪节点,再判断所述源节点S所在的ISIS进程中是否有邻居节点;
如果所述源节点S所在的ISIS进程中有邻居节点,则获取所述源节点S对应的每个邻居节点adj;
对于所述每个邻居节点adj,判断邻居节点adj是否是可达节点vertex在主链路的下一跳节点;如果该邻居节点adj不是所述可达节点vertex在主链路的下一跳节点,再判断该邻居节点adj与可达节点vertex之间的开销值是否符合预先设置的IFA不等式策略,如果满足所述IFA不等式策略,则将该邻居节点作为备用下一跳节点。
在一个示例性实施例中,所述从所述每个可达节点vertex对应的可用的备份下一跳节点中,为每个可达节点vertex选择符合预先设置的最优选择策略的备份下一跳节点,包括:
对每个可达节点vertex,获取当前使用的备份下一跳节点所在备份路径的第一开销值,以及,获取在将邻居节点为作为备份下一跳节点时备份路径的第二开销值;
比较所述第一开销值和所述第二开销值的数值,得到比较结果;
根据所述比较结果所确定的数值大小,执行如下至少一个操作,包括:
如果所述第一开销值小于所述第二开销值,则继续使用所述备用下一跳节点;
如果所述第一开销值大于所述第二开销值,则更新所述邻居节点为新的备用下一跳节点;
如果所述第一开销值等于所述第二开销值,则获取当前使用的备份下一跳的IP地址和邻居节点的IP地址,选择其中IP地址小的节点作为备用下一跳地址。
一种路由信息的获取装置,包括:
确定模块,用于利用预先获取的以源节点S的所有邻居节点adj为根节点的最短路径SPF(adj)树,确定所述源节点S经邻居节点adj至以源节点S为根节点的SPF(S)树上每个可达节点vertex的最短路径信息;
计算模块,用于从所述源节点S的邻居节点中,根据所述最短路径信息,为每个可达节点vertex计算可用的备用下一跳节点;
选择模块,用于从所述每个可达节点vertex对应的可用的备份下一跳节点中,为每个可达节点vertex选择符合预先设置的最优选择策略的备份下一跳节点。
在一个示例性实施例中,通过如下方式确定源节点S的所有邻居节点adj,包括:
从所述源节点S的邻居节点adj获取非伪节点的链路状态协议LSP信息;
根据所述非伪节点的LSP信息中的邻居信息,确定所述源节点S的邻居节点的列表,其中所述邻居节点的列表包括每个伪节点的LSP信息对应的系统ID;
根据所述每个伪节点的LSP对应的系统ID,获取所述每个伪节点的LSP信息;
对所述每个伪节点的LSP信息进行邻居节点的解析操作,得到与所述每个伪节点为邻居的目标节点的系统ID;
从所述目标节点的系统ID中确定所述源节点的非伪节点。
在一个示例性实施例中,通过如下方式从所述目标节点的系统ID中确定所述源节点的非伪节点,包括:
判断所述目标节点的系统ID是否在所述邻居节点的列表中;
如果所述目标节点的系统ID不在所述邻居节点的列表中,则确定所述系统ID对应的节点为所述源节点的非伪节点。
在一个示例性实施例中,所述计算模块具体用于:
判断可达节点vertex是否是伪节点;
如果可达节点vertex不是伪节点,再判断所述源节点S所在的ISIS进程中是否有邻居节点;
如果所述源节点S所在的ISIS进程中有邻居节点,则获取所述源节点S对应的每个邻居节点adj;
对于所述每个邻居节点adj,判断邻居节点adj是否是可达节点vertex在主链路的下一跳节点;如果该邻居节点adj不是所述可达节点vertex在主链路的下一跳节点,再判断该邻居节点adj与可达节点vertex之间的开销值是否符合预先设置的IFA不等式策略,如果满足所述IFA不等式策略,则将该邻居节点作为备用下一跳节点。
在一个示例性实施例中,所述选择模块具体用于:
对每个可达节点vertex,获取当前使用的备份下一跳节点所在备份路径的第一开销值,以及,获取在将邻居节点为作为备份下一跳节点时备份路径的第二开销值;
比较所述第一开销值和所述第二开销值的数值,得到比较结果;
根据所述比较结果所确定的数值大小,执行如下至少一个操作,包括:
如果所述第一开销值小于所述第二开销值,则继续使用所述备用下一跳节点;
如果所述第一开销值大于所述第二开销值,则更新所述邻居节点为新的备用下一跳节点;
如果所述第一开销值等于所述第二开销值,则获取当前使用的备份下一跳的IP地址和邻居节点的IP地址,选择其中IP地址小的节点作为备用下一跳地址。
本申请实施例提供的方案,利用预先获取的以源节点S的所有邻居节点adj为根节点的最短路径SPF(adj)树,确定所述源节点S经邻居节点adj至以源节点S为根节点的SPF(S)树上每个可达节点vertex的最短路径信息,从所述源节点S的邻居节点中,根据所述最短路径信息,为每个可达节点vertex选择可用的备用下一跳节点,从所述每个可达节点vertex对应的可用的备份下一跳节点中,为每个可达节点vertex选择符合预先设置的最优选择策略的备份下一跳节点,实现自动确定备份下一跳节点的目的,克服相关技术中手动配置备份下一跳节点出现的耗时长和效率低等问题。
本申请实施例的其它特征和优点将在随后的说明书中阐述,并且,部分地从说明书中变得显而易见,或者通过实施本申请实施例而了解。本申请实施例的目的和其他优点可通过在说明书、权利要求书以及附图中所特别指出的结构来实现和获得。
附图说明
附图用来提供对本申请实施例技术方案的进一步理解,并且构成说明书的一部分,与本申请实施例的实施例一起用于解释本申请实施例的技术方案,并不构成对本申请实施例技术方案的限制。
图1为本申请实施例提供的网络拓扑的示意图;
图2为本申请实施例提供的路由信息的获取方法的流程图;
图3为本申请实施例提供的邻居节点的确定方法的流程图;
图4为本申请实施例提供的备用下一跳节点的确定方法的流程图;
图5为本申请实施例提供的备用下一跳节点的选择方法的流程图。
具体实施方式
为使本申请实施例的目的、技术方案和优点更加清楚明白,下文中将结合附图对本申请实施例的实施例进行详细说明。需要说明的是,在不冲突的情况下,本申请实施例中的实施例及实施例中的特征可以相互任意组合。
本申请提供一种ISIS自动快速重路由计算的实现方法,解决网络拓扑复杂或拓扑变化时可以自动计算备份下一跳节点的问题,该自动快速重路由方法是对于ISIS系统的每个Level实现的,不同Level彼此独立计算备份下一跳。
图1为本申请实施例提供的网络拓扑的示意图。以图1为例对本申请索要实现的目的进行说明,如图1所示,网络包括设备A、设备B、设备C和设备D,网络拓扑中的各设备通过ISIS路由协议互通;为了便于叙述,这里全部设置ISIS的层级为Level2,在设备A上使能ISIS Level2的快速重路由功能,设备A可以通过本文所述方法计算出到达B、C、D设备的备份下一跳节点,路由表项下发到转发表时会携带主备下一跳信息,当链路A→B出现故障时能切换到备份链路进行流量转发。
为实现本申请要达到的目的,本申请提供如下技术方案:
在具体描述实现方案前,对本申请所涉及的技术用语进行说明:
在广播网络中,IS-IS需要在所有的路由器中选举一个路由器作为指定中间系统(Designated Intermediate System,DIS)。DIS用来创建和更新伪节点(Pseudonodes),并负责生成伪节点的链路状态协议数据单元(Link State Protocol Data Unit)用来描述这个网络上有哪些网络设备。
伪节点是用来模拟广播网络的一个虚拟节点,并非真实的路由器。在IS-IS中,伪节点用DIS的System ID和一个字节的Circuit ID(非0值)标识。
LSP(Link State Protocol,链路状态协议)数据库记录网络中所有LSP信息,LSP中会携带邻居TLV信息及路由相关TLV信息,LSP链路状态协议数据单元使用LSP ID来唯一标识,LSP ID由Source ID、Pseudonode ID、LSP number三个标志组成。其中:
Source ID:表示LSP在路由器中的系统ID(System ID);
Pseudonode ID:普通LSP该字段为0;Pseudonode LSP该字段为非0,以区分一个LSP是否是伪结点产生的标志;
LSP Number:分片号,在产生的LSP大于LSP MTU时,将执行分片操作,每个分片有对应的分片号。
IS-IS路由使用两层路由体系。Level 1路由器只知道它们本区域中的拓扑,包括所有的路由器和主机,而不知道区域以外的路由器以及目的地。Level1路由器将去往其它区域的所有流量都转发给本区域内的一台Level2路由器,该路由器知道level 2的拓朴,而不需要知道任何level 1的拓朴,除非level 2路由器也是该区域里的level 1路由器。
ISIS进程的每个Level使能了FRR功能后,在ISIS进程计算SPF树时首先也会计算以源节点S的所有邻居为根节点的SPF(adj)树,后续步骤计算备份下一跳时会从计算出的SPF(adj)树中获取相应节点的最短距离。
图2为本申请实施例提供的路由信息的获取方法的流程图。图1所示方法包括:
步骤s201、利用预先获取的以源节点S的所有邻居节点adj为根节点的最短路径SPF(adj)树,确定所述源节点S经邻居节点adj至以源节点S为根节点的SPF(S)树上每个可达节点vertex的最短路径信息;
在一个示例性实施例中,在确定源节点S至每个可达节点vertex的最短路径时,利用以邻居节点adj为根节点的SPF(adj)树进行最短路径信息的计算,可以提高路径信息的计算效率。
步骤s202、从所述源节点S的邻居节点中,根据所述最短路径信息,为每个可达节点vertex选择可用的备用下一跳节点;
步骤s203、从所述每个可达节点vertex对应的可用的备份下一跳节点中,为每个可达节点vertex选择符合预先设置的最优选择策略的备份下一跳节点。
本申请实施例提供的方法,利用预先获取的以源节点S的所有邻居节点adj为根节点的最短路径SPF(adj)树,确定所述源节点S经邻居节点adj至以源节点S为根节点的SPF(S)树上每个可达节点vertex的最短路径信息,从所述源节点S的邻居节点中,根据所述最短路径信息,为每个可达节点vertex选择可用的备用下一跳节点,从所述每个可达节点vertex对应的可用的备份下一跳节点中,为每个可达节点vertex选择符合预先设置的最优选择策略的备份下一跳节点,实现自动确定备份下一跳节点的目的,克服相关技术中手动配置备份下一跳节点出现的耗时长和效率低等问题。
下面以具体应用示例进行具体说明:
步骤s301、确定源节点S的所有邻居节点adj;
在一个示例性实施例中,通过解析邻居节点产生的LSP中携带的邻居TLV,记录该邻居节点的邻居信息。非伪节点LSP中携带的邻居TLV中是伪节点系统ID,伪节点LSP中携带的邻居LTV中是非伪节点系统ID,这里分别处理这两种LSP中携带的邻居TLV信息,把所有邻居系统ID和开销值信息收集完整,再按照SPF算法计算SPF树结构。
图3为本申请实施例提供的邻居节点的确定方法的流程图。如图3所示,所述方法包括:
1)通过邻居系统ID adj->sysid从LSP数据库中查找到邻居节点adj产生的非伪节点LSP;
2)定义一个邻居链表List_adj,用于记录从LSP中的邻居TLV中携带的邻居信息adj_tlv;根据所述非伪节点的LSP的邻居信息得到全部伪节点的系统ID;
3)比较当前计算的邻居系统ID adj->sysid与LSP中的邻居TLV中携带的邻居系统ID adj_tlv->sysid:
a)如果系统ID不相同,表明该adj_tlv是adj的邻居,则创建新的邻居节点adj_new记录adj_tlv的sysid和cost值(TLV中携带这两项信息值)
b)如果系统ID相同,表明该adj_tlv是伪节点,需要通过adj_tlv->sysid在LSP数据库中查找到伪节点LSP,记录伪节点LSP中携带的邻居信息。
步骤s302、计算以每个邻居节点adj为根节点的最短路径SPF(adj)树;
其中,按照SPF算法计算SPF树结构为本领域普通技术人员所已知的方法,具体的,SPF算法将每一个路由器作为根(ROOT)来计算其到每一个目的地路由器的距离,每一个路由器根据一个统一的数据库会计算出路由域的拓扑结构图,该结构图类似于一棵树,此处并不详述。
利用以上流程记录的List_adj链表中的邻居节点信息,运用SPF算法计算出SPF(adj)树结构,用于在比较路径开销时,获取节点间最小路径开销。
步骤s303,为以源节点S为根的SPF(S)树的每个可达节点计算备份下一跳节点,其中SPF(S)树中包括伪节点和非伪节点,网络拓扑中实际存在的邻居节点是非伪节点,这里只处理可达的非伪节点就可以计算出备份下一跳节点,减少遍历的循环次数提高效率。
按照图4,为SPF(S)树的可达节点vertex计算备份下一跳节点的详细过程描述如下:
1)通过判断vertex的id是否是伪节点系统ID,如果是伪节点则不处理;
2)源节点S所在的ISIS进程中是否有邻居节点,没有邻居节点则不处理;否则,继续步骤3);
3)从ISIS进程的邻居列表中获取邻居节点adj;
4)比较adj的系统ID adj->sysid与从源节点S到达vertex的主下一跳vertex->Adj_N是否相同:
a)如果相同,表示该邻居节点adj就是主链路到达vertex的下一跳节点,则该邻居节点adj不能作为备份下一跳节点,返回步骤2);
b)如果不相同,则到达vertex的主下一跳vertex->Adj_N为后续步骤计算节点保护时的E设备;
5)判断是否满足LFA不等式,满足则为链路保护,记录该邻居节点adj为vertex的备份下一跳节点;
其中,LFA(Loop-Free Alternates,无回路交替)不等式:cost(adj,vertex)<cost(adj,area->sysid)+cost(area->sysid,vertex);
6)判断是否满足LFA节点保护不等式,满足则为链路节点双保护;
其中,LFA节点保护不等式为:cost(adj,vertex)<cost(adj,E)+cost(E,vertex);其中,E表示发生故障的节点;
同时满足以上5)和6)中的两个不等式,则为节点链路双保护。
步骤304,该方案中计算出的备份下一跳节点只保留一个,所以,如果目的节点已经存在备份下一跳节点bk_adj,又有新的邻居节点adj满足保护不等式成为备份下一跳节点,需要选择一个最优的备份下一跳节点,选择备份下一跳节点的优先级为:备份路径开销值小的优先>备份下一跳的IP地址小的优先。
详细过程描述如下:
1)备份下一跳节点所在备份路径的开销值=从源节点到备份下一跳节点的开销值+从备份下一跳节点到目的节点vertex的开销值,比较bk_adj与adj的备份路径的开销值:
a)如果
cost(S,bk_adj)+cost(bk_adj,vertex)<cost(S,adj)+cost(adj,vertex),则保持原有备份下一跳节点不变;
b)如果
cost(S,bk_adj)+cost(bk_adj,vertex)>cost(S,adj)+cost(adj,vertex)
则更新备份下一跳节点为adj;
c)如果
cost(S,bk_adj)+cost(bk_adj,vertex)==cost(S,adj)+cost(adj,vertex)
则继续比较bk_adj和adj的接口地址大小,包括:从bk_adj和adj的结构体中分别获取接口地址,比较二者的接口地址大小,优选接口地址小的邻居节点作为备份下一跳节点。
本申请实施例提供的方法,提供一种ISIS系统中计算备份下一跳节点的实现方法,当源节点使能了自动快速重路由时,IS系统会自动计算出保护节点的备份下一跳,路由表项会携带主备下一跳信息下发到转发表,当网络拓扑发生故障时可以切换到备份路径进行流量转发。
本领域普通技术人员可以理解,上文中所公开方法中的全部或某些步骤、系统、装置中的功能模块/单元可以被实施为软件、固件、硬件及其适当的组合。在硬件实施方式中,在以上描述中提及的功能模块/单元之间的划分不一定对应于物理组件的划分;例如,一个物理组件可以具有多个功能,或者一个功能或步骤可以由若干物理组件合作执行。某些组件或所有组件可以被实施为由处理器,如数字信号处理器或微处理器执行的软件,或者被实施为硬件,或者被实施为集成电路,如专用集成电路。这样的软件可以分布在计算机可读介质上,计算机可读介质可以包括计算机存储介质(或非暂时性介质)和通信介质(或暂时性介质)。如本领域普通技术人员公知的,术语计算机存储介质包括在用于存储信息(诸如计算机可读指令、数据结构、程序模块或其他数据)的任何方法或技术中实施的易失性和非易失性、可移除和不可移除介质。计算机存储介质包括但不限于RAM、ROM、EEPROM、闪存或其他存储器技术、CD-ROM、数字多功能盘(DVD)或其他光盘存储、磁盒、磁带、磁盘存储或其他磁存储装置、或者可以用于存储期望的信息并且可以被计算机访问的任何其他的介质。此外,本领域普通技术人员公知的是,通信介质通常包含计算机可读指令、数据结构、程序模块或者诸如载波或其他传输机制之类的调制数据信号中的其他数据,并且可包括任何信息递送介质。
Claims (10)
1.一种路由信息的获取方法,其特征在于,包括:
利用预先获取的以源节点S的所有邻居节点adj为根节点的最短路径SPF(adj)树,确定所述源节点S经邻居节点adj至以源节点S为根节点的SPF(S)树上每个可达节点vertex的最短路径信息;
从所述源节点S的邻居节点中,根据所述最短路径信息,为每个可达节点vertex计算可用的备用下一跳节点;
从所述每个可达节点vertex对应的可用的备份下一跳节点中,为每个可达节点vertex选择符合预先设置的最优选择策略的备份下一跳节点。
2.根据权利要求1所述的方法,其特征在于,所述通过如下方式确定源节点S的所有邻居节点adj,包括:
从所述源节点S的邻居节点adj获取非伪节点的链路状态协议LSP信息;
根据所述非伪节点的LSP信息中的邻居信息,确定所述源节点S的邻居节点的列表,其中所述邻居节点的列表包括每个伪节点的LSP信息对应的系统ID;
根据所述每个伪节点的LSP对应的系统ID,获取所述每个伪节点的LSP信息;
对所述每个伪节点的LSP信息进行邻居节点的解析操作,得到与所述每个伪节点为邻居的目标节点的系统ID;
从所述目标节点的系统ID中确定所述源节点的非伪节点。
3.根据权利要求2所述的方法,其特征在于,所述从所述目标节点的系统ID中确定所述源节点的非伪节点,包括:
判断所述目标节点的系统ID是否在所述邻居节点的列表中;
如果所述目标节点的系统ID不在所述邻居节点的列表中,则确定所述系统ID对应的节点为所述源节点的非伪节点。
4.根据权利要求1所述的方法,其特征在于,所述从所述源节点S的邻居节点中,根据所述最短路径信息,为每个可达节点vertex计算可用的备用下一跳节点,包括:
判断可达节点vertex是否是伪节点;
如果可达节点vertex不是伪节点,再判断所述源节点S所在的ISIS进程中是否有邻居节点;
如果所述源节点S所在的ISIS进程中有邻居节点,则获取所述源节点S对应的每个邻居节点adj;
对于所述每个邻居节点adj,判断邻居节点adj是否是可达节点vertex在主链路的下一跳节点;如果该邻居节点adj不是所述可达节点vertex在主链路的下一跳节点,再判断该邻居节点adj与可达节点vertex之间的开销值是否符合预先设置的IFA不等式策略,如果满足所述IFA不等式策略,则将该邻居节点作为备用下一跳节点。
5.根据权利要求1所述的方法,其特征在于,所述从所述每个可达节点vertex对应的可用的备份下一跳节点中,为每个可达节点vertex选择符合预先设置的最优选择策略的备份下一跳节点,包括:
对每个可达节点vertex,获取当前使用的备份下一跳节点所在备份路径的第一开销值,以及,获取在将邻居节点为作为备份下一跳节点时备份路径的第二开销值;
比较所述第一开销值和所述第二开销值的数值,得到比较结果;
根据所述比较结果所确定的数值大小,执行如下至少一个操作,包括:
如果所述第一开销值小于所述第二开销值,则继续使用所述备用下一跳节点;
如果所述第一开销值大于所述第二开销值,则更新所述邻居节点为新的备用下一跳节点;
如果所述第一开销值等于所述第二开销值,则获取当前使用的备份下一跳的IP地址和邻居节点的IP地址,选择其中IP地址小的节点作为备用下一跳地址。
6.一种路由信息的获取装置,其特征在于,包括:
确定模块,用于利用预先获取的以源节点S的所有邻居节点adj为根节点的最短路径SPF(adj)树,确定所述源节点S经邻居节点adj至以源节点S为根节点的SPF(S)树上每个可达节点vertex的最短路径信息;
计算模块,用于从所述源节点S的邻居节点中,根据所述最短路径信息,为每个可达节点vertex计算可用的备用下一跳节点;
选择模块,用于从所述每个可达节点vertex对应的可用的备份下一跳节点中,为每个可达节点vertex选择符合预先设置的最优选择策略的备份下一跳节点。
7.根据权利要求6所述的装置,其特征在于,通过如下方式确定源节点S的所有邻居节点adj,包括:
从所述源节点S的邻居节点adj获取非伪节点的链路状态协议LSP信息;
根据所述非伪节点的LSP信息中的邻居信息,确定所述源节点S的邻居节点的列表,其中所述邻居节点的列表包括每个伪节点的LSP信息对应的系统ID;
根据所述每个伪节点的LSP对应的系统ID,获取所述每个伪节点的LSP信息;
对所述每个伪节点的LSP信息进行邻居节点的解析操作,得到与所述每个伪节点为邻居的目标节点的系统ID;
从所述目标节点的系统ID中确定所述源节点的非伪节点。
8.根据权利要求7所述的装置,其特征在于,通过如下方式从所述目标节点的系统ID中确定所述源节点的非伪节点,包括:
判断所述目标节点的系统ID是否在所述邻居节点的列表中;
如果所述目标节点的系统ID不在所述邻居节点的列表中,则确定所述系统ID对应的节点为所述源节点的非伪节点。
9.根据权利要求6所述的装置,其特征在于,所述计算模块具体用于:
判断可达节点vertex是否是伪节点;
如果可达节点vertex不是伪节点,再判断所述源节点S所在的ISIS进程中是否有邻居节点;
如果所述源节点S所在的ISIS进程中有邻居节点,则获取所述源节点S对应的每个邻居节点adj;
对于所述每个邻居节点adj,判断邻居节点adj是否是可达节点vertex在主链路的下一跳节点;如果该邻居节点adj不是所述可达节点vertex在主链路的下一跳节点,再判断该邻居节点adj与可达节点vertex之间的开销值是否符合预先设置的IFA不等式策略,如果满足所述IFA不等式策略,则将该邻居节点作为备用下一跳节点。
10.根据权利要求6所述的装置,其特征在于,所述选择模块具体用于:
对每个可达节点vertex,获取当前使用的备份下一跳节点所在备份路径的第一开销值,以及,获取在将邻居节点为作为备份下一跳节点时备份路径的第二开销值;
比较所述第一开销值和所述第二开销值的数值,得到比较结果;
根据所述比较结果所确定的数值大小,执行如下至少一个操作,包括:
如果所述第一开销值小于所述第二开销值,则继续使用所述备用下一跳节点;
如果所述第一开销值大于所述第二开销值,则更新所述邻居节点为新的备用下一跳节点;
如果所述第一开销值等于所述第二开销值,则获取当前使用的备份下一跳的IP地址和邻居节点的IP地址,选择其中IP地址小的节点作为备用下一跳地址。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201911356371.2A CN111107002B (zh) | 2019-12-25 | 2019-12-25 | 路由信息的获取方法和装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201911356371.2A CN111107002B (zh) | 2019-12-25 | 2019-12-25 | 路由信息的获取方法和装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN111107002A true CN111107002A (zh) | 2020-05-05 |
CN111107002B CN111107002B (zh) | 2022-02-01 |
Family
ID=70424896
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201911356371.2A Active CN111107002B (zh) | 2019-12-25 | 2019-12-25 | 路由信息的获取方法和装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111107002B (zh) |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101150514A (zh) * | 2007-11-08 | 2008-03-26 | 杭州华三通信技术有限公司 | 支持附加sys-id的is-is路由实现方法及装置 |
CN101710876A (zh) * | 2009-12-09 | 2010-05-19 | 中兴通讯股份有限公司 | 快速重路由的保护方法及装置 |
US20150016242A1 (en) * | 2013-07-12 | 2015-01-15 | Telefonaktiebolaget L M Ericsson (Publ) | Method and Apparatus for Optimized LFA Computations by Pruning Neighbor Shortest Path Trees |
CN106161230A (zh) * | 2016-06-29 | 2016-11-23 | 杭州华三通信技术有限公司 | 一种备份链路确定方法及装置 |
CN106302164A (zh) * | 2015-05-20 | 2017-01-04 | 中兴通讯股份有限公司 | Ip可达性信息通告方法、路由确定方法及装置 |
-
2019
- 2019-12-25 CN CN201911356371.2A patent/CN111107002B/zh active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101150514A (zh) * | 2007-11-08 | 2008-03-26 | 杭州华三通信技术有限公司 | 支持附加sys-id的is-is路由实现方法及装置 |
CN101710876A (zh) * | 2009-12-09 | 2010-05-19 | 中兴通讯股份有限公司 | 快速重路由的保护方法及装置 |
US20150016242A1 (en) * | 2013-07-12 | 2015-01-15 | Telefonaktiebolaget L M Ericsson (Publ) | Method and Apparatus for Optimized LFA Computations by Pruning Neighbor Shortest Path Trees |
CN106302164A (zh) * | 2015-05-20 | 2017-01-04 | 中兴通讯股份有限公司 | Ip可达性信息通告方法、路由确定方法及装置 |
CN106161230A (zh) * | 2016-06-29 | 2016-11-23 | 杭州华三通信技术有限公司 | 一种备份链路确定方法及装置 |
Non-Patent Citations (1)
Title |
---|
彭比飞: "基于ISIS协议的IP承载网路由方案设计与实现", 《华中科技大学硕士学位论文》 * |
Also Published As
Publication number | Publication date |
---|---|
CN111107002B (zh) | 2022-02-01 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11032197B2 (en) | Reroute detection in segment routing data plane | |
KR102589958B1 (ko) | 전송 경로 오류 처리 방법 및 장치, 그리고 시스템 | |
KR102589957B1 (ko) | 전송 경로 장애 처리 방법 및 장치, 그리고 시스템 | |
US9401858B2 (en) | Loop avoidance during network convergence in switched networks | |
US20150016242A1 (en) | Method and Apparatus for Optimized LFA Computations by Pruning Neighbor Shortest Path Trees | |
EP2974166B1 (en) | Method and apparatus for ip/mpls fast reroute | |
US9485135B1 (en) | Node-protection and path attribute collection with remote loop free alternates | |
CN110535763B (zh) | 一种路由备份方法、装置、服务器及可读存储介质 | |
JP2013510459A (ja) | 分離的なパス計算アルゴリズム | |
US11546252B2 (en) | Fast flooding topology protection | |
US20080225697A1 (en) | Computing repair path information | |
CN111224870B (zh) | 一种SR-MPLS Anycast场景下的故障修复方法、设备和存储介质 | |
CN111385195B (zh) | 一种信息处理方法、装置及存储介质 | |
CN111107002B (zh) | 路由信息的获取方法和装置 | |
US10992573B2 (en) | Multi-layer LSP control method and apparatus | |
US9143399B2 (en) | Minimizing the number of not-via addresses | |
CN112039770B (zh) | 一种路由选择方法及装置 | |
CN113726646B (zh) | 一种分段路由的快速保护倒换方法及装置 | |
US11811611B2 (en) | System and method for backup flooding topology split | |
WO2024001633A1 (zh) | 网络管理方法及装置、网元、计算机可读存储介质 | |
CN118101552A (zh) | 一种故障处理方法、装置、设备及存储介质 | |
CN116094995A (zh) | 标签处理方法、系统、装置和计算机存储介质 | |
WO2019080927A1 (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 |