CN114389989B - 多级下一跳路由处理方法及装置 - Google Patents
多级下一跳路由处理方法及装置 Download PDFInfo
- Publication number
- CN114389989B CN114389989B CN202111596182.XA CN202111596182A CN114389989B CN 114389989 B CN114389989 B CN 114389989B CN 202111596182 A CN202111596182 A CN 202111596182A CN 114389989 B CN114389989 B CN 114389989B
- Authority
- CN
- China
- Prior art keywords
- route
- vir
- level
- prefix
- hop route
- 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
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/34—Source routing
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D30/00—Reducing energy consumption in communication networks
- Y02D30/70—Reducing energy consumption in communication networks in wireless communication networks
Abstract
本发明公开了一种多级下一跳路由处理方法,包括:确定所述多级下一跳路由的级数N;所述N为大于1的正整数;利用N‑1个vir_prefix和vir_adj构造多级下一跳路由中的级联关系;根据所述级联关系转换得到新的多级下一跳路由并存储配置;所述新的多级下一跳路由由N条单播单级路由构成;其中,首条单播单级路由的prefix为所述多级下一跳路由的prefix,非首条单播单级路由的路由前缀为vir_prefix;非末条单播单级路由的vir_adj索引至当前单播单级路由的下一条单播单级路由的vir_prefix,末条单播单级路由的adj为所述多级下一跳路由的adj。本发明实施例能够解决现有技术中存在多级下一跳路由结构复杂,维护难度较大且不易扩展的问题。
Description
技术领域
本发明涉及通信技术领域,尤指一种多级下一跳路由处理方法及装置。
背景技术
随着数据中心网络的日益壮大,网络服务应用等越来越丰富,随之而来的网络拓扑也会越来越复杂,路由表项的存储及维护工作也愈加困难。
常见的网络拓扑中,转发器不需要知道完整转发路径,只需要知道到达目的地的最近的下一跳如何走,这种报文中继转发的过程称为逐跳转发(hop-by-hop)。
例如,段路由(Segment Routing,SR)拓扑中,节点(通常为路由器、主机或设备)选择路径,并且引导数据包沿着该路径通过网络,其做法是在数据包报头中插入带顺序的Segment列表,以指示接收到这些数据包的节点怎么去处理和转发这些数据包。Segment可以表示任何类型的指令:与拓扑相关的、基于服务的、基于上下文的等。因为指令被编码在数据包报头中,所以网络节点在接收数据包时只需执行这些指令。转发路径上的节点不必为所有可能经过它们的流维持状态信息,即所谓“状态在数据包中”。在该网络拓扑中,通常会有一个控制器知道完整的拓扑,控制器负责计算路由的转发路径,并将与路径严格对应的标签栈下发给转发器,转发器根据标签栈进行转发,因此一条SR路由包含整个转发路径多个下一跳的信息。该路由即可认为是一个多级下一跳路由。
现有的多级下一跳路由在通过软件存储时,通常是采用下一跳指向下一级下一跳,该种存储方式更接近硬件芯片转发模型,容易理解,但是当下一跳级数较多时,则结构较为复杂,加大了数据维护复杂度,且级数越多,需要维护的多级关系越多,不易扩展。
发明内容
本发明实施例提供一种多级下一跳路由处理方法,用以解决现有技术中存在多级下一跳路由结构复杂,维护难度较大且不易扩展的问题。
根据本发明实施例,提供一种多级下一跳路由处理方法,所述方法,包括:
确定所述多级下一跳路由的级数N;所述N为大于1的正整数;
利用N-1个虚拟路由前缀vir_prefix和虚拟邻接表vir_adj构造多级下一跳路由中的级联关系;
根据所述级联关系转换得到新的多级下一跳路由并存储配置;所述新的多级下一跳路由由N条单播单级路由构成;
其中,首条单播单级路由的路由前缀prefix为所述多级下一跳路由的prefix,非首条单播单级路由的路由前缀为所述vir_prefix;非末条单播单级路由的vir_adj索引至当前单播单级路由的下一条单播单级路由的vir_prefix,末条单播单级路由的邻接表adj为所述多级下一跳路由的adj。
优选地,所述利用N-1个虚拟路由前缀vir_prefix和虚拟邻接表vir_adj构造多级下一跳路由中的级联关系,包括:
使用组播网际互联协议IP地址作为所述多级下一跳路由中第n级下一跳路由的vir_prefix,其中,所述n为大于1且小于N的正整数;
配置所述第n级下一跳路由的vir_prefix与第n-1级下一跳路由的虚拟邻接表vir_adj互相索引;
配置所述第n级下一跳路由的vir_prefix索引至所述第n级下一跳路由的等价多路径表ecmp;
配置所述第n级下一跳路由的ecmp索引至所述第n级下一跳路由的下一跳表nhop;
配置所述第n级下一跳路由的nhop索引至所述第n级下一跳路由的vir_adj。
优选地,所述方法,还包括:
配置第N级下一跳路由的adj索引至所述多级下一跳路由的出口表out_intf。
优选地,存储所述新的多级下一跳路由,包括:
将所述N-1个vir_prefix存储配置至软件表项中,且不配置至硬件前缀表项中。
根据本发明实施例,还提供一种多级下一跳路由处理装置,所述装置,包括:确定单元、构造单元以及处理单元;其中,
所述确定单元,用于确定所述多级下一跳路由的级数N;所述N为大于1的正整数;
所述构造单元,用于利用N-1个虚拟路由前缀vir_prefix和虚拟邻接表vir_adj构造多级下一跳路由中的级联关系;
所述处理单元,用于根据所述级联关系转换得到新的多级下一跳路由并存储配置;所述新的多级下一跳路由由N条单播单级路由构成;
其中,首条单播单级路由的路由前缀prefix为所述多级下一跳路由的prefix,非首条单播单级路由的路由前缀为所述vir_prefix;非末条单播单级路由的vir_adj索引至当前单播单级路由的下一条单播单级路由的vir_prefix,末条单播单级路由的邻接表adj为所述多级下一跳路由的adj。
优选地,所述构造单元,用于利用N-1个虚拟路由前缀vir_prefix和虚拟邻接表vir_adj构造多级下一跳路由中的级联关系,具体用于:
使用组播网际互联协议IP地址作为所述多级下一跳路由中第n级下一跳路由的vir_prefix,其中,所述n为大于1且小于N的正整数;
配置所述第n级下一跳路由的vir_prefix与第n-1级下一跳路由的虚拟邻接表vir_adj互相索引;
配置所述第n级下一跳路由的vir_prefix索引至所述第n级下一跳路由的等价多路径表ecmp;
配置所述第n级下一跳路由的ecmp索引至所述第n级下一跳路由的下一跳表nhop;
配置所述第n级下一跳路由的nhop索引至所述第n级下一跳路由的vir_adj。
优选地,所述构造单元,还用于:
配置第N级下一跳路由的adj索引至所述多级下一跳路由的出口表out_intf。
优选地,所述处理单元,用于存储所述新的多级下一跳路由,具体用于:
将所述N-1个vir_prefix存储设置至软件表项中,且不设置至硬件前缀表项中。
根据本发明实施例,还提供一种电子设备,所述电子设备包括处理器、通信接口、存储器和通信总线,其中,处理器,通信接口,存储器通过通信总线完成相互间的通信;
存储器,用于存放计算机程序;
处理器,用于执行存储器上所存储的程序时,实现上述的方法步骤。
根据本发明实施例,还提供一种计算机可读存储介质,所述计算机可读存储介质内存储有计算机程序,所述计算机程序被处理器执行时实现上述的方法步骤。
本发明有益效果如下:
本发明实施例提供的多级下一跳路由处理方法及装置,通过确定所述多级下一跳路由的级数N;所述N为大于1的正整数;利用N-1个虚拟路由前缀vir_prefix和虚拟邻接表vir_adj构造多级下一跳路由中的级联关系;根据所述级联关系转换得到新的多级下一跳路由并存储配置;所述新的多级下一跳路由由N条单播单级路由构成;其中,首条单播单级路由的路由前缀prefix为所述多级下一跳路由的prefix,非首条单播单级路由的路由前缀为所述vir_prefix;非末条单播单级路由的vir_adj索引至当前单播单级路由的下一条单播单级路由的vir_prefix,末条单播单级路由的邻接表adj为所述多级下一跳路由的adj。本发明实施例通过利用vir_prefix和vir_adj来构造多级下一跳路由中的级联关系,将多级下一跳路由转化为由多个单播单级路由构成的新的多级下一跳路由,简化了多级下一跳路由的结构关系,不需要维护多级下一跳路由的多级关系,通过虚拟路由查找路由表即可实现对多级下一跳路由的级联关系维护,易于扩展,降低了软件维护的难度,适用性更强。
附图说明
图1为本发明实施例中多级下一跳路由处理方法的流程图;
图2为本发明实施例中多级下一跳路由处理装置的结构示意图;
图3为本申请示出的一种电子设备的结构示意图。
具体实施方式
针对现有技术中存在的多级下一跳路由结构复杂,维护难度较大且不易扩展的的问题,本发明实施例提供的一种多级下一跳路由处理方法,通过虚拟路由前缀构造多级下一跳路由中的级联关系,将多级下一跳路由转换为由多条单播单级路由构成的新的多级下一跳路由进行存储配置。本发明方法的流程如图1所示,执行步骤如下:
步骤101,确定所述多级下一跳路由的级数N;所述N为大于1的正整数;
通常现有的一个多级下一跳路由的软件数据结构可通过依次索引下列数据表得到:路由前缀(prefix)、等价多路径(Equal-CostMultipathRouting,ecmp)、下一跳(nhop)、ecmp、nhop、…ecmp、nhop、邻接表(adj)、出口(out_intf);所述多级下一跳路由的级数是指包括的下一跳的个数。相邻表之间通过key值实现索引查找。
步骤102,利用N-1个虚拟路由前缀vir_prefix和虚拟邻接表vir_adj构造多级下一跳路由中的级联关系;
这里,由于现有的一个多级下一跳路由中仅存在一个路由前缀和一个邻接表,各级之间通过nhop索引至ecmp实现的级联关系,因此,本步骤中,通过引入虚拟路由前缀vir_prefix和虚拟邻接表vir_adj来替代nhop索引至ecmp的级联关系,通过vir_prefix和vir_adj将多级下一跳路由拆解为多个单播单级路由。其中,vir_prefix和prefix设置在同一个数据表中,adj和vir_adj设置在同一个数据表中。
步骤103,根据所述级联关系转换得到新的多级下一跳路由并存储配置;所述新的多级下一跳路由由N条单播单级路由构成;
其中,首条单播单级路由的路由前缀prefix为所述多级下一跳路由的prefix,非首条单播单级路由的路由前缀为所述vir_prefix;非末条单播单级路由的vir_adj索引至当前单播单级路由的下一条单播单级路由的vir_prefix,末条单播单级路由的邻接表adj为所述多级下一跳路由的adj。
所述新的多级下一跳路由的软件数据结构可由下列数据表依次索引组成:prefix、ecmp、nhop、虚拟邻接表(vir_adj)、虚拟路由前缀(vir_prefix)、ecmp、nhop、vir_adj、…vir_prefix、ecmp、nhop、adj、out_intf。相邻表之间通过key值实现索引查找。
可选地,步骤102,所述利用N-1个虚拟路由前缀vir_prefix和虚拟邻接表vir_adj构造多级下一跳路由中的级联关系,包括:
使用组播网际互联协议(Internet Protocol,IP)地址作为所述多级下一跳路由中第n级下一跳路由的vir_prefix,其中,所述n为大于1且小于N的正整数;这里,本发明实施例中,所述vir_prefix和prefix位于同一个哈希表,但vir_prefix为组播IP地址,prefix为单播IP地址,vir_prefix未占用单播IP,因此不会影响单播路由的容量,也不影响单播路由的转发。
配置所述第n级下一跳路由的vir_prefix与第n-1级下一跳路由的虚拟邻接表vir_adj互相索引;本发明实施例中,所述vir_adj可递归至下一级的vir_prefix,即vir_adj中包含下一级vir_prefix的key信息,这样才能通过vir_adj索引下一级vir_prefix。vir_prefix可索引上一级vir_adj,即vir_prefix中包含上一级vir_adj的key信息,如此,下级存在更新时,需要通过vir_prefix查找上一级vir_adj。
配置所述第n级下一跳路由的vir_prefix索引至所述第n级下一跳路由的等价多路径表ecmp;
配置所述第n级下一跳路由的ecmp索引至所述第n级下一跳路由的下一跳表nhop;
配置所述第n级下一跳路由的nhop索引至所述第n级下一跳路由的vir_adj。
其中,所述方法,还包括:
配置第N级下一跳路由的adj索引至所述多级下一跳路由的出口表out_intf。
优选地,步骤103中,存储所述新的多级下一跳路由,包括:
将所述N-1个vir_prefix存储配置至软件表项中,且不配置至硬件前缀表项中。本发明实施例中,当软件表项存储的多级下一跳路由向硬件进行配置时,vir_prefix是不配置在硬件前缀表中以便影响硬件转发,vir_prefix只在软件表项中进行存储,方便维护扩展即可。
下面以一个三级下一跳路由为例,对本发明提供的多级下一跳路由处理方法进行具体说明:三级下一跳路由在软件表项中实际是三条独立的单播路由。第一级路由前缀prefix对应第一级下一跳,申请第一级下一跳下一跳所需的ecmp、nhop对应的硬件资源,该路由前缀设置至硬件前缀表;第二级虚拟路由前缀vir_prefix,对应第二级下一跳,申请第二级下一跳所需的ecmp、nhop对应的硬件资源,第二级虚拟路由前缀vir_prefix不设置至硬件前缀表;第三级虚拟路由前缀vir_prefix,对应第三级下一跳,申请第三级下一跳所需的ecmp、nhop、adj对应的硬件资源,第三级虚拟路由前缀vir_prefix不设置至硬件前缀表。
下面对上述多级下一跳路由处理方法中涉及到的各表之间的索引映射key值进行举例说明,应当理解,以下示例只是一种key值的实现方式,其并不用于对本发明索引映射的限定,本领域普通技术人员在不付出创造性的劳动的情况下,即可以理解并实施其他key值的实现方式,则本发明也意图包含这些改动和变型在内。
1、prefix/vir_prefix位于同一个哈希表,具体如表1所示,索引该表项的key是vrf+prefix+mask+proto,通过nhb_id索引ecmp,vir_prefix通过adj_ip、adj_ifx索引上一级adj。
表1
2、ecmp如下表2所示,索引该表项的key是nhb_id,ecmp对应多个nhop,通过nh_ip+nh_ifx+nh_proto索引下一跳;
表2
3、nhop如下表3所示,索引该表项的key是nh_ip+nh_ifx+nh_proto,通过nh_ip+nh_ifx+nh_proto索引adj
表3
4、adj/vir_adj位于同一个哈希表,具体如下表4所示,二者不同点在于adj不是递归的,索引到出口,vir_adj递归到下一级路由,具体下一级路由是下一级虚拟路由前缀vir_prefix的IP;索引该表项的key是ip+ifx+proto(跟下一跳nhop的key对应),通过dest_ip+dest_mask+dest_proto+dest_vrf索引vir_prefix,根据recursive标志位判断是否递归,通过ifx索引出口out_intf。
表4
5、out_intf如下表5所示,索引该表项的key是ifx
表5
基于同一发明构思,本发明实施例提供一种多级下一跳路由处理装置,该装置结构如图2所示,包括:确定单元21、构造单元22以及处理单元23;其中,
所述确定单元21,用于确定所述多级下一跳路由的级数N;所述N为大于1的正整数通常现有的一个多级下一跳路由的软件数据结构可通过依次索引下列数据表得到:路由前缀(prefix)、等价多路径(Equal-CostMultipathRouting,ecmp)、下一跳(nhop)、ecmp、nhop、…ecmp、nhop、邻接表(adj)、出口(out_intf);所述多级下一跳路由的级数是指包括的下一跳的个数。相邻表之间通过key值实现索引查找。
所述构造单元22,用于利用N-1个虚拟路由前缀vir_prefix和虚拟邻接表vir_adj构造多级下一跳路由中的级联关系;本发明实施例中,通过引入虚拟路由前缀vir_prefix和虚拟邻接表vir_adj来替代nhop索引至ecmp的级联关系,通过vir_prefix和vir_adj将多级下一跳路由拆解为多个单播单级路由。其中,vir_prefix和prefix设置在同一个数据表中,adj和vir_adj设置在同一个数据表中。
所述处理单元23,用于根据所述级联关系转换得到新的多级下一跳路由并存储配置;所述新的多级下一跳路由由N条单播单级路由构成;
其中,首条单播单级路由的路由前缀prefix为所述多级下一跳路由的prefix,非首条单播单级路由的路由前缀为所述vir_prefix;非末条单播单级路由的vir_adj索引至当前单播单级路由的下一条单播单级路由的vir_prefix,末条单播单级路由的邻接表adj为所述多级下一跳路由的adj。新的多级下一跳路由的软件数据结构可由下列数据表依次索引组成:prefix、ecmp、nhop、虚拟邻接表(vir_adj)、虚拟路由前缀(vir_prefix)、ecmp、nhop、vir_adj、…vir_prefix、ecmp、nhop、adj、out_intf。相邻表之间通过key值实现索引查找。
优选地,所述构造单元22,用于利用N-1个虚拟路由前缀vir_prefix和虚拟邻接表vir_adj构造多级下一跳路由中的级联关系,具体用于:
使用组播网际互联协议IP地址作为所述多级下一跳路由中第n级下一跳路由的vir_prefix,其中,所述n为大于1且小于N的正整数;
配置所述第n级下一跳路由的vir_prefix与第n-1级下一跳路由的虚拟邻接表vir_adj互相索引;本发明实施例中,所述vir_adj可递归至下一级的vir_prefix,即vir_adj中包含下一级vir_prefix的key信息,这样才能通过vir_adj索引下一级vir_prefix。vir_prefix可索引上一级vir_adj,即vir_prefix中包含上一级vir_adj的key信息,如此,下级存在更新时,需要通过vir_prefix查找上一级vir_adj。
配置所述第n级下一跳路由的vir_prefix索引至所述第n级下一跳路由的等价多路径表ecmp;
配置所述第n级下一跳路由的ecmp索引至所述第n级下一跳路由的下一跳表nhop;
配置所述第n级下一跳路由的nhop索引至所述第n级下一跳路由的vir_adj。
优选地,所述构造单元22,还用于:
配置第N级下一跳路由的adj索引至所述多级下一跳路由的出口表out_intf。
其中,所述处理单元23,用于存储所述新的多级下一跳路由,具体用于:
将所述N-1个vir_prefix存储设置至软件表项中,且不设置至硬件前缀表项中。本发明实施例中,当软件表项存储的多级下一跳路由向硬件进行配置时,vir_prefix是不配置在硬件前缀表中以便影响硬件转发,vir_prefix只在软件表项中进行存储,方便维护扩展即可。
应当理解,本发明实施例提供的多级下一跳路由处理装置的实现原理及过程与上述图1及所示的实施例类似,在此不再赘述。
本发明实施例提供的多级下一跳路由处理方法及装置,通过确定所述多级下一跳路由的级数N;所述N为大于1的正整数;利用N-1个虚拟路由前缀vir_prefix和虚拟邻接表vir_adj构造多级下一跳路由中的级联关系;根据所述级联关系转换得到新的多级下一跳路由并存储配置;所述新的多级下一跳路由由N条单播单级路由构成;其中,首条单播单级路由的路由前缀prefix为所述多级下一跳路由的prefix,非首条单播单级路由的路由前缀为所述vir_prefix;非末条单播单级路由的vir_adj索引至当前单播单级路由的下一条单播单级路由的vir_prefix,末条单播单级路由的邻接表adj为所述多级下一跳路由的adj。本发明实施例通过利用vir_prefix和vir_adj来构造多级下一跳路由中的级联关系,将多级下一跳路由转化为由多个单播单级路由构成的新的多级下一跳路由,简化了多级下一跳路由的结构关系,不需要维护多级下一跳路由的多级关系,通过虚拟路由查找路由表即可实现对多级下一跳路由的级联关系维护,易于扩展,降低了软件维护的难度,适用性更强。
本申请实施例还提供了一种电子设备,请参见图3所示,包括处理器510、通信接口520、存储器530和通信总线540,其中,处理器510,通信接口520,存储器530通过通信总线540完成相互间的通信。
存储器530,用于存放计算机程序;
处理器510,用于执行存储器530上所存放的程序时,实现上述实施例中任一所述的多级下一跳路由处理方法。
通信接口520用于上述电子设备与其他设备之间的通信。
存储器可以包括随机存取存储器(Random Access Memory,RAM),也可以包括非易失性存储器(Non-Volatile Memory,NVM),例如至少一个磁盘存储器。可选的,存储器还可以是至少一个位于远离前述处理器的存储装置。
上述的处理器可以是通用处理器,包括中央处理器(Central Processing Unit,CPU)、网络处理器(Network Processor,NP)等;还可以是数字信号处理器(Digital SignalProcessing,DSP)、专用集成电路(Application Specific Integrated Circuit,ASIC)、现场可编程门阵列(Field-Programmable Gate Array,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。
该方案中,通过利用vir_prefix和vir_adj来构造多级下一跳路由中的级联关系,将多级下一跳路由转化为由多个单播单级路由构成的新的多级下一跳路由,简化了多级下一跳路由的结构关系,不需要维护多级下一跳路由的多级关系,通过虚拟路由查找路由表即可实现对多级下一跳路由的级联关系维护,易于扩展,降低了软件维护的难度,适用性更强。
相应地,本申请实施例还提供一种计算机可读存储介质,该计算机可读存储介质中存储有指令,当其在计算机上运行时,使得计算机执行上述实施例中任一所述的多级下一跳路由处理方法。
该方案中,通过利用vir_prefix和vir_adj来构造多级下一跳路由中的级联关系,将多级下一跳路由转化为由多个单播单级路由构成的新的多级下一跳路由,简化了多级下一跳路由的结构关系,不需要维护多级下一跳路由的多级关系,通过虚拟路由查找路由表即可实现对多级下一跳路由的级联关系维护,易于扩展,降低了软件维护的难度,适用性更强。
本领域普通技术人员可以理解:附图只是一个实施例的示意图,附图中的模块或流程并不一定是实施本发明所必须的。
通过以上的实施方式的描述可知,本领域的技术人员可以清楚地了解到本发明可借助软件加必需的通用硬件平台的方式来实现。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在存储介质中,如ROM/RAM、磁碟、光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例或者实施例的某些部分所述的方法。
本说明书中的各个实施例均采用递进的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于装置或系统实施例而言,由于其基本相似于方法实施例,所以描述得比较简单,相关之处参见方法实施例的部分说明即可。以上所描述的装置及系统实施例仅仅是示意性的,其中所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。本领域普通技术人员在不付出创造性劳动的情况下,即可以理解并实施。
另外,在上述实施例及附图中的描述的一些流程中,包含了按照特定顺序出现的多个操作,但是应该清楚了解,这些操作可以不按照其在本文中出现的顺序来执行或并行执行,操作的序号如201、202、203等,仅仅是用于区分开各个不同的操作,序号本身不代表任何的执行顺序。另外,这些流程可以包括更多或更少的操作,并且这些操作可以按顺序执行或并行执行。需要说明的是,本文中的“第一”、“第二”等描述,是用于区分不同的消息、设备、模块等,不代表先后顺序,也不限定“第一”和“第二”是不同的类型。
以上所描述的装置实施例仅仅是示意性的,其中所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。本领域普通技术人员在不付出创造性的劳动的情况下,即可以理解并实施。
本发明是参照根据本发明实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
尽管已描述了本发明的可选实施例,但本领域内的技术人员一旦得知了基本创造性概念,则可对这些实施例作出另外的变更和修改。所以,所附权利要求意欲解释为包括可选实施例以及落入本发明范围的所有变更和修改。
显然,本领域的技术人员可以对本发明实施例进行各种改动和变型而不脱离本发明实施例的精神和范围。这样,倘若本发明实施例的这些修改和变型属于本发明权利要求及其等同技术的范围之内,则本发明也意图包含这些改动和变型在内。
Claims (8)
1.一种多级下一跳路由处理方法,其特征在于,所述方法,包括:
确定所述多级下一跳路由的级数N;所述N为大于1的正整数;
利用N-1个虚拟路由前缀vir_prefix和虚拟邻接表vir_adj构造多级下一跳路由中的级联关系;
根据所述级联关系转换得到新的多级下一跳路由并存储配置;所述新的多级下一跳路由由N条单播单级路由构成;
其中,首条单播单级路由的路由前缀prefix为所述多级下一跳路由的prefix,非首条单播单级路由的路由前缀为所述vir_prefix;非末条单播单级路由的vir_adj索引至当前单播单级路由的下一条单播单级路由的vir_prefix,末条单播单级路由的邻接表adj为所述多级下一跳路由的adj;
其中,所述利用N-1个虚拟路由前缀vir_prefix和虚拟邻接表vir_adj构造多级下一跳路由中的级联关系,包括:
使用组播网际互联协议IP地址作为所述多级下一跳路由中第n级下一跳路由的vir_prefix,其中,所述n为大于1且小于N的正整数;
配置所述第n级下一跳路由的vir_prefix与第n-1级下一跳路由的虚拟邻接表vir_adj互相索引;
配置所述第n级下一跳路由的vir_prefix索引至所述第n级下一跳路由的等价多路径表ecmp;
配置所述第n级下一跳路由的ecmp索引至所述第n级下一跳路由的下一跳表nhop;
配置所述第n级下一跳路由的nhop索引至所述第n级下一跳路由的vir_adj。
2.根据权利要求1所述的方法,其特征在于,所述方法,还包括:
配置第N级下一跳路由的adj索引至所述多级下一跳路由的出口表out_intf。
3.根据权利要求1至2任一所述的方法,其特征在于,存储所述新的多级下一跳路由,包括:
将所述N-1个vir_prefix存储配置至软件表项中,且不配置至硬件前缀表项中。
4.一种多级下一跳路由处理装置,其特征在于,所述装置,包括:确定单元、构造单元以及处理单元;其中,
所述确定单元,用于确定所述多级下一跳路由的级数N;所述N为大于1的正整数;
所述构造单元,用于利用N-1个虚拟路由前缀vir_prefix和虚拟邻接表vir_adj构造多级下一跳路由中的级联关系;
所述处理单元,用于根据所述级联关系转换得到新的多级下一跳路由并存储配置;所述新的多级下一跳路由由N条单播单级路由构成;
其中,首条单播单级路由的路由前缀prefix为所述多级下一跳路由的prefix,非首条单播单级路由的路由前缀为所述vir_prefix;非末条单播单级路由的vir_adj索引至当前单播单级路由的下一条单播单级路由的vir_prefix,末条单播单级路由的邻接表adj为所述多级下一跳路由的adj;
其中,所述构造单元,用于利用N-1个虚拟路由前缀vir_prefix和虚拟邻接表vir_adj构造多级下一跳路由中的级联关系,具体用于:
使用组播网际互联协议IP地址作为所述多级下一跳路由中第n级下一跳路由的vir_prefix,其中,所述n为大于1且小于N的正整数;
配置所述第n级下一跳路由的vir_prefix与第n-1级下一跳路由的虚拟邻接表vir_adj互相索引;
配置所述第n级下一跳路由的vir_prefix索引至所述第n级下一跳路由的等价多路径表ecmp;
配置所述第n级下一跳路由的ecmp索引至所述第n级下一跳路由的下一跳表nhop;
配置所述第n级下一跳路由的nhop索引至所述第n级下一跳路由的vir_adj。
5.根据权利要求4所述的装置,其特征在于,所述构造单元,还用于:
配置第N级下一跳路由的adj索引至所述多级下一跳路由的出口表out_intf。
6.根据权利要求4至5任一所述的装置,其特征在于,所述处理单元,用于存储所述新的多级下一跳路由,具体用于:
将所述N-1个vir_prefix存储设置至软件表项中,且不设置至硬件前缀表项中。
7.一种电子设备,其特征在于,所述电子设备包括处理器、通信接口、存储器和通信总线,其中,处理器,通信接口,存储器通过通信总线完成相互间的通信;
存储器,用于存放计算机程序;
处理器,用于执行存储器上所存储的程序时,实现权利要求1-3任一所述的方法步骤。
8.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质内存储有计算机程序,所述计算机程序被处理器执行时实现权利要求1-3任一所述的方法步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111596182.XA CN114389989B (zh) | 2021-12-24 | 2021-12-24 | 多级下一跳路由处理方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111596182.XA CN114389989B (zh) | 2021-12-24 | 2021-12-24 | 多级下一跳路由处理方法及装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN114389989A CN114389989A (zh) | 2022-04-22 |
CN114389989B true CN114389989B (zh) | 2023-07-21 |
Family
ID=81197327
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202111596182.XA Active CN114389989B (zh) | 2021-12-24 | 2021-12-24 | 多级下一跳路由处理方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN114389989B (zh) |
Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101505279A (zh) * | 2009-03-20 | 2009-08-12 | 中国人民解放军信息工程大学 | 一种路由查找方法和装置 |
Family Cites Families (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1897562A (zh) * | 2005-07-12 | 2007-01-17 | 华为技术有限公司 | 路由转发及路由转发的下一跳表存储方法 |
US8121032B2 (en) * | 2008-05-30 | 2012-02-21 | Cisco Technology, Inc. | Efficient convergence of grouped VPN prefixes |
US9847910B2 (en) * | 2012-08-31 | 2017-12-19 | Bce Inc. | IP MPLS PoP virtualization and fault tolerant virtual router |
CN103051543B (zh) * | 2012-11-01 | 2015-09-09 | 广州键智桥网络技术有限公司 | 一种路由前缀的处理、查找、增加及删除方法 |
US10476798B1 (en) * | 2015-09-22 | 2019-11-12 | Amazon Technologies, Inc. | Network switch with deterministic longest prefix match lookup |
CN105763454B (zh) * | 2016-02-25 | 2018-11-27 | 比威网络技术有限公司 | 基于二维路由策略的数据报文转发方法及装置 |
US10397097B2 (en) * | 2017-01-18 | 2019-08-27 | Futurewei Technologies, Inc. | Weighted next hop selection at a router using an equal cost multipath process |
CN112235197B (zh) * | 2020-10-23 | 2022-07-15 | 烽火通信科技股份有限公司 | 一种并行路由查找方法及系统 |
CN112437008B (zh) * | 2020-11-26 | 2022-12-13 | 锐捷网络股份有限公司 | 网络路由收敛处理和报文处理方法、装置及设备 |
-
2021
- 2021-12-24 CN CN202111596182.XA patent/CN114389989B/zh active Active
Patent Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101505279A (zh) * | 2009-03-20 | 2009-08-12 | 中国人民解放军信息工程大学 | 一种路由查找方法和装置 |
Also Published As
Publication number | Publication date |
---|---|
CN114389989A (zh) | 2022-04-22 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP5551253B2 (ja) | 複数の等コストパスから選択するための方法および装置 | |
US8553584B2 (en) | Automated traffic engineering for 802.1AQ based upon the use of link utilization as feedback into the tie breaking mechanism | |
JP5086585B2 (ja) | ネットワーク中継装置 | |
US8553562B2 (en) | Automated traffic engineering for multi-protocol label switching (MPLS) with link utilization as feedback into the tie-breaking mechanism | |
US20190149457A1 (en) | Modeling a border gateway protocol network | |
KR20100112144A (ko) | 최단 경로 결정시의 타이브레이킹 | |
US9740542B2 (en) | All-to-all message exchange in parallel computing systems | |
KR20040019524A (ko) | 서비스 품질(QoS)보장 다중경로 계산방법 | |
CN104521192A (zh) | 用于网络拓扑结构中的链路状态协议的洪泛优化的技术 | |
WO2020156090A1 (zh) | 一种建立跨域转发路径的方法、装置及系统 | |
US20180115481A1 (en) | Reducing flooding of link state changes in networks | |
KR20150030644A (ko) | 최단 경로 결정에서의 타이 브레이킹 | |
US20140301549A1 (en) | Process for selecting compressed key bits for collision resolution in hash lookup table | |
CN108322388B (zh) | 一种报文转发方法及装置 | |
CN112787938B (zh) | 一种路由表项配置方法及装置 | |
CN114389989B (zh) | 多级下一跳路由处理方法及装置 | |
Gadasin et al. | Application of the Method of Majority Coding to Determine the Optimal Route for Data Transmission in the Network | |
CN113179532A (zh) | 多路径路由方法及装置 | |
US11855883B2 (en) | System and methods for computing flooding topology | |
CN108337181B (zh) | 一种交换网拥塞管理方法和装置 | |
Al Mtawa et al. | Disjoint-Path Segment Routing: Network Reliability Perspective | |
US20230068443A1 (en) | Dynamic packet routing using prioritized groups | |
US8660127B2 (en) | Cascaded load balancing | |
WO2023234997A1 (en) | Ospf for source address validation | |
CN117957825A (zh) | 边界网关协议(bgp)-最短路径优先(spf)泛洪减少 |
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 |