CN112350935A - 针对具有栈深约束的路径计算方法及装置 - Google Patents
针对具有栈深约束的路径计算方法及装置 Download PDFInfo
- Publication number
- CN112350935A CN112350935A CN201910728470.2A CN201910728470A CN112350935A CN 112350935 A CN112350935 A CN 112350935A CN 201910728470 A CN201910728470 A CN 201910728470A CN 112350935 A CN112350935 A CN 112350935A
- Authority
- CN
- China
- Prior art keywords
- path
- stack
- algorithm
- label
- list
- 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/50—Routing or path finding of packets in data switching networks using label swapping, e.g. multi-protocol label switch [MPLS]
-
- 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/34—Source routing
Abstract
本发明提出了一种针对具有栈深约束的路径计算方法及装置,计算方法包括:基于栈深约束值,采用第一预设算法计算第一路径;若所述第一路径对应的标签栈列表的深度小于或等于所述栈深约束值,则输出所述第一路径。根据本发明计算方法,可以通过将栈深约束值输入第一预设算法,作为计算约束条件,直接计算得到标签列表栈深度小于等于栈深约束值的第一路径,提高了计算具有栈深约束值的路径的效率和成功率。
Description
技术领域
本发明涉及通信技术领域,尤其是涉及一种针对具有栈深约束的路径计算方法及装置。
背景技术
SR(Segment Routing,分段路由)是一种新型的MPLS(Multi-Protocol LabelSwitching,多协议标签交换)技术。其中,控制平面基于IGP路由协议扩展实现,转发层面基于MPLS转发网络实现,对应的Segment标识在转发层面呈现为标签。SR-TE(SR TrafficEngineering)是使用SR作为控制信令的一种新型的MPLS隧道技术,SDN控制器负责计算隧道的转发路径,并将与路径对应的标签栈列表下发给入节点转发设备,转发设备依次根据标签栈列表进行路由转发。
当前,各大通信设备厂商生产的转发设备对标签栈列表栈深支持程度受到限制,即当栈深超过MSD(Maximum Stack Depth)时,会导致路由转发失败,这在很大程度上影响了SR技术以及SR-TE的推广。
发明内容
本发明要解决的技术问题是解决带有MSD约束的最优路径计算问题,提供一种针对具有栈深约束的路径计算方法及装置。
根据本发明实施例的针对具有栈深约束的路径计算方法,包括:
基于栈深约束值,采用第一预设算法计算第一路径;
若所述第一路径对应的标签栈列表的深度小于或等于所述栈深约束值,则输出所述第一路径。
根据本发明实施例的针对具有栈深约束的路径计算方法,可以通过将栈深约束值输入第一预设算法,作为计算约束条件,直接计算得到标签列表栈深度小于等于栈深约束值的第一路径,从而极大提高了计算具有栈深约束值的路径的效率和成功率。
在本发明的一些实施例中,所述方法还包括:在所述第一预设算法无法输出所述第一路径时,采用第二预设算法计算不考虑所述栈深约束值的第二路径,并对所述第二路径对应的标签栈列表进行压缩,使压缩后的所述标签栈列表的深度小于等于所述栈深约束值,并输出压缩后的所述标签栈列表对应的路径。
根据本发明的一些实施例,对所述第二路径对应的标签栈列表进行压缩,包括:
将所述标签列表中的至少部分链路标签替换为相应的节点标签,以降低标签栈列表深度。
在本发明的一些实施例,所述方法还包括:
在进行第一路径计算之前,向控制器上报网络拓扑信息;
基于所述网络拓扑信息进行路径缓存计算;
基于所述路径缓存计算数据,进行所述第一路径或所述第二路径的计算。
在本发明的一些实施例,所述第一预设算法为贝尔曼算法,所述第二预设算法为迪杰斯特拉算法或弗洛伊德算法。
根据本发明实施例的针对具有栈深约束的路径计算装置,包括:
第一算法模块,用于基于栈深约束值,采用第一预设算法计算第一路径;
若所述第一路径对应的标签栈列表的深度小于或等于所述栈深约束值,则输出所述第一路径。
根据本发明实施例的针对具有栈深约束的路径计算装置,可以通过将栈深约束值输入第一预设算法,作为计算约束条件,直接计算得到标签列表栈深度小于等于栈深约束值的第一路径,从而极大提高了计算具有栈深约束值的路径的效率和成功率。
在本发明的一些实施例中,所述装置还包括:第二算法模块,用于在所述第一算模块无法输出所述第一路径时,采用第二预设算法计算不考虑所述栈深约束值的第二路径,并对所述第二路径对应的标签栈列表进行压缩,使压缩后的所述标签栈列表的深度小于等于所述栈深约束值,并输出压缩后的所述标签栈列表对应的路径。
根据本发明的一些实施例,所述第二算法模块对所述第二路径对应的标签栈列表进行压缩时,具体用于:
将所述标签列表中的至少部分链路标签替换为相应的节点标签,以降低标签栈列表深度。
在本发明的一些实施例,所述装置还包括:
拓扑加载模块,用于在进行第一路径计算之前,向控制器上报网络拓扑信息;
路径缓存模块,用于基于所述网络拓扑信息进行路径缓存计算;
所述第一算法模块和所述第二算法模块基于所述路径缓存计算数据进行所述第一路径和所述第二路径的计算。
在本发明的一些实施例,所述第一预设算法为贝尔曼算法,所述第二预设算法为迪杰斯特拉算法或弗洛伊德算法。
根据本发明实施例的分段路由路径标签处理装置,包括:存储器、处理器及存储在所述存储器上并可在所述处理器上运行的计算机程序,所述计算机程序被所述处理器执行时实现如上述所述的方法的步骤。
根据本发明实施例的分段路由路径标签处理装置,首先可以通过Bellman算法计算具有栈深约束的路径,若得到符合栈深约束值条件的第一路径,则输出第一路径;若得不到符合栈深约束值条件的第一路径,则通过基本算法先计算不考虑栈深约束值进行路径计算,并对计算得到的第二路径的标签栈列表进行压缩,得到符合栈深约束值条件的路径,从而极大提高了计算具有栈深约束值的路径成功率。
根据本发明实施例的计算机存储介质,所述计算机存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现如上述所述的针对具有栈深约束的路径计算方法的步骤。
根据本发明实施例的计算机存储介质,首先可以通过Bellman算法计算具有栈深约束的路径,若得到符合栈深约束值条件的第一路径,则输出第一路径;若得不到符合栈深约束值条件的第一路径,则通过基本算法先计算不考虑栈深约束值进行路径计算,并对计算得到的第二路径的标签栈列表进行压缩,得到符合栈深约束值条件的路径,从而极大提高了计算具有栈深约束值的路径成功率。
附图说明
图1是根据本发明实施例的针对具有栈深约束的路径计算方法流程图;
图2是根据本发明实施例的针对具有栈深约束的路径计算方法的详细流程图;
图3是根据本发明实施例的针对具有栈深约束的路径计算装置的结构示意图;
图4是根据本发明实施例的针对具有栈深约束的路径计算装置的结构示意图;
图5是根据本发明实施例的网络拓扑结构图。
具体实施方式
为更进一步阐述本发明为达成预定目的所采取的技术手段及功效,以下结合附图及较佳实施例,对本发明进行详细说明如后。
当前,各大通信设备厂商生产的转发设备对标签栈列表栈深支持程度受到限制,即当栈深超过MSD(Maximum Stack Depth)时,会导致路由转发失败,这在很大程度上影响了SR技术以及SR-TE的推广。因此,需要利用SR技术的特点,根据转发层面与控制器的交互特性,设计新的标签路径计算方法,在满足MSD约束的同时保证最优路径。
如图1所示,根据本发明实施例的针对具有栈深约束的路径计算方法,包括:
S101:基于栈深约束值,采用第一预设算法计算第一路径;
需要说明的是,本申请的路径计算方法可以用于针对具有MSD(Maximum StackDepth,最大栈深)的最优路径的计算,本申请中的MSD可以理解为栈深约束值。在进行路径计算时,可以将栈深与约束值作为计算条件输入第一预设算法,计算出第一路径。
S102:若第一路径对应的标签栈列表的深度小于或等于栈深约束值,则输出第一路径;
需要说明的是,通过将MSD输入第一预设算法,作为计算约束条件,可以通过第一预设算法直接结算得到标签栈列表深度小于或等于MSD的第一路径。
根据本发明实施例的针对具有栈深约束的路径计算方法,可以通过将栈深约束值输入第一预设算法,作为计算约束条件,直接计算得到标签栈深列表小于等于栈深约束的第一路径,从而极大提高了计算具有栈深约束值的路径成功率。
在本发明的一些实施例中,如图1所示,所述方法还包括:S103:在所述第一预设算法无法输出所述第一路径时,采用第二预设算法计算不考虑栈深约束值的第二路径,并对第二路径对应的标签栈列表进行压缩,使压缩后的标签栈列表的深度小于等于栈深约束值,并输出压缩后的标签栈列表对应的路径。
需要说明的是,通过第一预设算法可能无法直接计算得到标签列表深度小于或等于MSD的第一路径。当通过第一预设算法无法直接计算得到标签栈列表的深度小于或等于MSD时,可以通过第二预设算法先计算不考虑MSD的路径并得到第二路径,随后对第二路径的标签栈列表进行压缩,得到标签栈列表深度小于等于MSD的路径。
根据本发明的一些实施例,对第二路径对应的标签栈列表进行压缩,包括:将标签列表中的至少部分链路标签替换为相应的节点标签,以降低标签栈列表深度。
也就是说,可以将标签列表中的全部链路标签替换为相应的节点标签,也可以是将标签列表中的部分链路标签替换为相应的节点标签。由此,可以降低标签列表深度。
如图4所示,若MSD为2,假设通过第二预设算法计算不考虑MSD得到节点1到节点4的第二路径为:1->2->5->3->4,对应的标签列表为{“1->2”,“2->5”,“5->3”,“3->4”},栈深为4,不满足MSD约束要求。对第二路径的标签列表进行压缩,将标签列表中的链路标签替换为相应的节点标签得到标签栈列表为{“5”,“4”},栈深为2,满足MSD约束要求。解释为,请求的完整路径分为了两部分,一部分是起始节点1到节点5的最短路径1->2->5,另一部分是节点5到节点4的最短路径5->4->3。
在本发明的一些实施例,方法还可以包括:
在进行第一路径计算之前,准备路径计算资源;
基于路径计算资源,进行第一路径或第二路径的计算。
可以理解的是,通过在计算路径之前,预先准备路径计算资源,可以提高路径计算效率。
进一步地,准备路径计算资源包括:
向控制器上报网络拓扑信息;
基于网络拓扑信息进行路径缓存计算以得到路径准备资源。
例如,如图2所示,在进行路径计算之前,首先可以基于转发设备层面链路权值进行路径缓存,当控制器第一次启动或者重启时,转发设备通过协议上报给控制器每个IGP域的网络拓扑信息,控制器对IGP域进行路径缓存计算。由此,当进行路径计算时,可以直接从缓存中读取两节点之间的最短路径,提高了路径计算效率。
在本发明的一些实施例,第一预设算法为贝尔曼(Bellman)算法,第二预设算法为迪杰斯特拉(Dijkstra)算法或弗洛伊德(Floyed)算法。
需要说明的是,使用Bellman算法计算带有MSD约束的最优路径,Bellman算法作为最短路径算法的一种,与最大跳数约束下的算路天然适配,这也是其它路径算法所不具备的。使用Bellman计算得到的标签栈列表深度等于路径中所有链路条数总数,此时标签栈列表中所有标签都为链路的Adj-SID。当标签列表栈深小于等于MSD时,认为路经计算成功,返回结果,算法到此结束。
当采用Bellman无法计算得到标签列表栈深小于等于MSD时,首先可以选用普通路径算法,如Dijkstra算法或Floyed算法等计算出一条不考虑MSD约束的最优路径,然后,使用严格LEA算法对该条路径进行压缩,思路为使用Node-SID来代替批量的Adj-SID。值得注意的是,利用Node-SID来引导路由转发路径时,当全网路径缓存中查询到两点之间最短路径只有一条时,才会使用Node-SID来代替批量的Adj-SID,这样可以保证标签栈列表中的Node-SID和Adj-SID元素可以表示唯一一条完整的起始节点到终节点的路径。当标签栈深小于等于MSD时,认为路径计算成功,返回结果,算法至此结束。
或者,首先使用普通路径算法如Dijkstra、Floyed等计算出一条不考虑MSD约束的最优路径,同样使用Node-SID来批量代替的Adj-SID,与上述方法不同的是,利用Node-SID来引导转发路径时,当全网路径缓存中查询到两点之间存在多条等价最短路径时,即ECMP场景,也会使用Node-SID来代替批量的Adj-SID,此时,与严格LEA相反,标签栈列表中的Node-SID和Adj-SID元素不能做到表示唯一一条完整的起始节点到终节点的路径。当标签栈深小于等于MSD时,认为路径计算成功,返回结果,若标签栈深大于MSD,路径计算失败,返回失败结果。
需要说明的是,根据本发明的针对具有栈深约束的路径计算方法可以应用于SDN(Software Defined Network,软件定义网络)控制器进行SR(Segment Routing)标签路径计算,有效的压缩Segment Routing路径标签。具体步骤如图2所示:
S11:转发层网络拓扑状态上报,转发层会有多个IGP域,每个IGP域都对应有如图4所示的拓扑结构,当设备工作时,需要通过通信协议将每个IGP域的拓扑结构上报给控制器;
S12:控制器进行带宽资源的初始化,将S11初始化的链路信息,记录到带宽管理,为每条链路初始化带宽资源信息,记录好最大、已用、未用的带宽资源,并算路时链路可行性判断提供参考;
S13:控制器针对每个IGP域进行全网路径缓存,经过步骤S11和S12,控制器对全局的网络信息有了掌握,针对每个IGP域,控制器会计算出该域内所有节点之间的最短路径并进行存储,每当控制器重启或者拓扑变化时,该步骤都会被触发;
S14:使用Bellman算法进行带有最大栈深约束下的最优路径计算,当有算路请求到达时,调用该算法,结合带宽管理模块进行算路。若算路成功则直接进行步骤S17返回算路结果,否则进入步骤S15;
S15:该步骤首先使用普通算路方法,得到一条不满足MSD约束的最优路径,在该既定路径的基础上,使用严格LEA算法对该路径进行压缩;若压缩成功,则直接进入步骤S17返回结果,否则进入步骤S16;
S16:该步骤首先使用普通算路方法,得到一条不满足MSD约束的最优路径,在该既定路径的基础上,使用松散LEA算法对该路径进行压缩;之后进入步骤S17。
如图3和图4所示,根据本发明实施例的针对具有栈深约束的路径计算装置,包括:第一算法模块。
具体而言,第一算法模块用于基于栈深约束值,采用第一预设算法计算第一路径。若第一路径对应的标签栈列表的深度小于或等于栈深约束值,则输出第一路径。
根据本发明实施例的针对具有栈深约束的路径计算装置,可以通过将栈深约束值输入第一预设算法,作为计算约束条件,直接计算得到标签列表栈深小于等于栈深约束值的第一路径,从而极大提高了计算具有栈深约束值的路径的效率和成功率。
在本发明的一些实施例中,装置还包括:第二算法模块。第二算法模块可以用于在第一算模块无法输出第一路径时,采用第二预设算法计算不考虑栈深约束值的第二路径,并对第二路径对应的标签栈列表进行压缩,使压缩后的标签栈列表的深度小于等于栈深约束值,并输出压缩后的标签栈列表对应的路径。
需要说明的是,通过将MSD输入第一预设算法,可以通过第一预设算法直接结算得到标签栈列表深度小于或等于MSD的第一路径,但也可能是,通过第一预设算法无法直接计算得到标签列表深度小于或等于MSD的第一路径。
也就是说,当通过第一预设算法无法直接计算得到标签栈列表的深度小于或等于MSD时,可以通过第二预设算法先计算不考虑MSD的路径并得到第二路径,随后对第二路径的标签栈列表进行压缩,得到标签栈列表深度小于等于MSD的路径。
根据本发明的一些实施例,第二算法模块对第二路径对应的标签栈列表进行压缩时,具体用于:将标签列表中的至少部分链路标签替换为相应的节点标签,以降低标签栈列表深度。
也就是说,可以将标签列表中的全部链路标签替换为相应的节点标签,也可以是将标签列表中的部分链路标签替换为相应的节点标签。由此,可以降低标签列表深度。
如图4所示,若MSD为2,假设通过第二预设算法计算不考虑MSD得到节点1到节点4的第二路径为:1->2->5->3->4,对应的标签列表为{“1->2”,“2->5”,“5->3”,“3->4”},栈深为4,不满足MSD约束要求。对第二路径的标签列表进行压缩,将标签列表中的链路标签替换为相应的节点标签得到标签栈列表为{“5”,“4”},栈深为2,满足MSD约束要求。解释为,请求的完整路径分为了两部分,一部分是起始节点1到节点5的最短路径1->2->5,另一部分是节点5到节点4的最短路径5->4->3。
如图3和图4所示,在本发明的一些实施例,装置还可以包括:资源准备模块,资源准备模块用于在进行第一路径计算之前,准备路径计算资源;由此,可以基于路径计算资源,进行第一路径或第二路径的计算。
可以理解的是,通过在计算路径之前,预先准备路径计算资源,可以提高路径计算效率。
如图3和图4所示,根据本发明的一些实施例,资源准备模块可以包括:拓扑加载模块和路径缓存模块
拓扑加载模块可以用于向控制器上报网络拓扑信息;
路径缓存模块可以用于基于网络拓扑信息进行路径缓存计算以得到路径计算资源。
例如,如图2所示,在进行路径计算之前,首先可以基于转发设备层面链路权值进行路径缓存,当控制器第一次启动或者重启时,转发设备通过协议上报给控制器每个IGP域的网络拓扑信息,控制器对IGP域进行路径缓存计算。由此,当进行路径计算时,可以直接从缓存中读取两节点之间的最短路径,提高了路径计算效率。
在本发明的一些实施例,第一预设算法可以为Bellman算法,第二预设算法可以为Dijkstra算法或Floyed算法。
需要说明的是,使用Bellman算法计算带有MSD约束的最优路径,Bellman算法作为最短路径算法的一种,与最大跳数约束下的算路天然适配,这也是其它路径算法所不具备的。使用Bellman计算得到的标签栈列表深度等于路径中所有链路条数总数,此时标签栈列表中所有标签都为链路的Adj-SID。当标签列表栈深小于等于MSD时,认为路经计算成功,返回结果,算法到此结束。
当采用Bellman无法计算得到标签列表栈深小于等于MSD时,首先可以选用普通路径算法,如Dijkstra算法或Floyed算法等计算出一条不考虑MSD约束的最优路径,然后,使用严格LEA算法对该条路径进行压缩,思路为使用Node-SID来代替批量的Adj-SID。值得注意的是,利用Node-SID来引导路由转发路径时,当全网路径缓存中查询到两点之间最短路径只有一条时,才会使用Node-SID来代替批量的Adj-SID,这样可以保证标签栈列表中的Node-SID和Adj-SID元素可以表示唯一一条完整的起始节点到终节点的路径。当标签栈深小于等于MSD时,认为路径计算成功,返回结果,算法至此结束。
或者,首先使用普通路径算法如Dijkstra、Floyed等计算出一条不考虑MSD约束的最优路径,同样使用Node-SID来批量代替的Adj-SID,与上述方法不同的是,利用Node-SID来引导转发路径时,当全网路径缓存中查询到两点之间存在多条等价最短路径时,即ECMP场景,也会使用Node-SID来代替批量的Adj-SID,此时,与严格LEA相反,标签栈列表中的Node-SID和Adj-SID元素不能做到表示唯一一条完整的起始节点到终节点的路径。当标签栈深小于等于MSD时,认为路径计算成功,返回结果,若标签栈深大于MSD,路径计算失败,返回失败结果。
根据本发明实施例的分段路由路径标签处理装置,包括:存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,计算机程序被处理器执行时实现如上述的方法的步骤。
根据本发明实施例的分段路由路径标签处理装置,首先可以通过Bellman算法计算具有栈深约束的路径,若得到符合栈深约束值条件的第一路径,则输出第一路径;若得不到符合栈深约束值条件的第一路径,则通过基本算法先计算不考虑栈深约束值进行路径计算,并对计算得到的第二路径的标签栈列表进行压缩,得到符合栈深约束值条件的路径,从而极大提高了计算具有栈深约束值的路径成功率。
根据本发明实施例的计算机存储介质,计算机存储介质上存储有计算机程序,计算机程序被处理器执行时实现如上述的针对具有栈深约束的路径计算方法的步骤。
根据本发明实施例的计算机存储介质,首先可以通过Bellman算法计算具有栈深约束的路径,若得到符合栈深约束值条件的第一路径,则输出第一路径;若得不到符合栈深约束值条件的第一路径,则通过基本算法先计算不考虑栈深约束值进行路径计算,并对计算得到的第二路径的标签栈列表进行压缩,得到符合栈深约束值条件的路径,从而极大提高了计算具有栈深约束值的路径成功率。
下面以具体的实施例详细描述根据本发明的针对具有栈深约束的路径计算方法:
如图4所示为一个具有10个节点、13条链路的网络拓扑,每条链路有它对应的权值,令链路A->B的Adj-SID为“A->B”,令节点A的Node-SID为“A”,为了简单说明问题,忽略了链路的带宽资源信息,但不影响算法的主流程。认为该网络拓扑为单个IGP域,这里以单个IGP域进行展示流程。
通过转发层面上报,控制器获得了单个IGP网络拓扑,以链路权值为准则,进行全局路径缓存,如下表所示(只列出部分结果):
假设当前有一个算路请求,起点为节点1,终点为节点4,当该请求携带的最大栈深约束为一下几种情况时,分别讨论:
(1)最大栈深约束MSD=4时:此时使用图2中的步骤S14中的Bellman算法可得到最优路径为1->2->5->3->4或者1->6->8->3->4,直接算路成功,返回结果,假设为前者,此时标签栈列表为{“1->2”,“2->5”,“5->3”,“3->4”}。值得注意的是,此时即使是使用普通算路算法,也可以得到满足MSD约束的最优路径。而本发明提出的标签压缩方法就是为了解决工程中MSD约束比较小的情况,事实上,实际工程中MSD都不大。
(2)最大栈深约束MSD=3时:此时使用图2中步骤S14中的Bellman算法可得到跳数为3时的最优路径:1->6->7->4,算路成功,返回结果,此时标签栈列表为{“1->6”,“6->7”,“7->4”};而使用普通算路算法得到的最优路径还是1->2->5->3->4或者1->6->8->3->4,此时跳数为4大于MSD,算路失败。
(3)最大栈深约束MSD=2时:此时使用图2中步骤S14中的Bellman算法,算路失败,因为在最大跳数约束为2的情况下,无可行路径;接下来使用普通算路算大得到一条不含有跳数约束的最优路径,假设该路径为:1->2->5->3->4,使用严格LEA算法,得到的标签栈列表为{“5”,“4”},满足MSD约束要求。解释为,请求的完整路径分为了两部分,一部分是起始节点1到节点5的最短路径1->2->5,另一部分是节点5到节点4的最短路径5->4->3,这也是充分利用了Segment Routing技术的特点,即通过Node-SID来引导路由沿着最短路径方向转发。值得注意的是,此时的完整路径是可以唯一表示的,转发设备进行路由转发时候路径确定为1->2->5->3->4。
(4)最大栈深约束MSD=1时:使用图2中步骤S14中的Bellman算法和步骤S15中的严格LEA算法都不能得到满足要求的标签栈列表。而使用图2中步骤S16中松散LEA算法,得到的标签栈列表为{“4”},算路成功。解释为,转发设备进行路由转发的时候将从节点1开始沿着到节点4的最短路径进行,值得注意的是,此时节点1到节点4的最短路径有两条:1->2->5->3->4和1->6->8->3->4,所以并不能唯一标示转发路径。
本发明综合了三种基于栈深约束的算路方案,极大提高了算路成功率。
通过具体实施方式的说明,应当可对本发明为达成预定目的所采取的技术手段及功效得以更加深入且具体的了解,然而所附图示仅是提供参考与说明之用,并非用来对本发明加以限制。
Claims (12)
1.一种针对具有栈深约束的路径计算方法,其特征在于,包括:
基于栈深约束值,采用第一预设算法计算第一路径;
若所述第一路径对应的标签栈列表的深度小于或等于所述栈深约束值,则输出所述第一路径。
2.根据权利要求1所述的针对具有栈深约束的路径计算方法,其特征在于,所述方法还包括:
在所述第一预设算法无法输出所述第一路径时,采用第二预设算法计算不考虑所述栈深约束值的第二路径,并对所述第二路径对应的标签栈列表进行压缩,使压缩后的所述标签栈列表的深度小于等于所述栈深约束值,并输出压缩后的所述标签栈列表对应的路径。
3.根据权利要求2所述的针对具有栈深约束的路径计算方法,其特征在于,对所述第二路径对应的标签栈列表进行压缩,包括:
将所述标签列表中的至少部分链路标签替换为相应的节点标签,以降低标签栈列表深度。
4.根据权利要求2所述的针对具有栈深约束的路径计算方法,其特征在于,所述方法还包括:
在进行第一路径计算之前,向控制器上报网络拓扑信息;
基于所述网络拓扑信息进行路径缓存计算;
基于所述路径缓存计算数据,进行所述第一路径或所述第二路径的计算。
5.根据权利要求2所述的针对具有栈深约束的路径计算方法,其特征在于,
所述第一预设算法为贝尔曼算法,所述第二预设算法为迪杰斯特拉算法或弗洛伊德算法。
6.一种针对具有栈深约束的路径计算装置,其特征在于,包括:
第一算法模块,用于基于栈深约束值,采用第一预设算法计算第一路径;
若所述第一路径对应的标签栈列表的深度小于或等于所述栈深约束值,则输出所述第一路径。
7.根据权利要求6所述的针对具有栈深约束的路径计算装置,其特征在于,所述装置还包括:
第二算法模块,用于在所述第一算模块无法输出所述第一路径时,采用第二预设算法计算不考虑所述栈深约束值的第二路径,并对所述第二路径对应的标签栈列表进行压缩,使压缩后的所述标签栈列表的深度小于等于所述栈深约束值,并输出压缩后的所述标签栈列表对应的路径。
8.根据权利要求7所述的针对具有栈深约束的路径计算装置,其特征在于,所述第二算法模块对所述第二路径对应的标签栈列表进行压缩时,具体用于:
将所述标签列表中的至少部分链路标签替换为相应的节点标签,以降低标签栈列表深度。
9.根据权利要求7所述的针对具有栈深约束的路径计算装置,其特征在于,所述装置还包括:
拓扑加载模块,用于在进行第一路径计算之前,向控制器上报网络拓扑信息;
路径缓存模块,用于基于所述网络拓扑信息进行路径缓存计算;
所述第一算法模块和所述第二算法模块基于所述路径缓存计算数据,进行所述第一路径和所述第二路径的计算。
10.根据权利要求7所述的针对具有栈深约束的路径计算装置,其特征在于,
所述第一预设算法为贝尔曼算法,所述第二预设算法为迪杰斯特拉算法或弗洛伊德算法。
11.一种分段路由路径标签处理装置,其特征在于,包括:存储器、处理器及存储在所述存储器上并可在所述处理器上运行的计算机程序,所述计算机程序被所述处理器执行时实现如权利要求1至5中任一项所述的方法的步骤。
12.一种计算机存储介质,所述计算机存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现如权利要求1至5中任一项所述的针对具有栈深约束的路径计算方法的步骤。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910728470.2A CN112350935B (zh) | 2019-08-08 | 2019-08-08 | 针对具有栈深约束的路径计算方法及装置 |
PCT/CN2020/099017 WO2021022944A1 (zh) | 2019-08-08 | 2020-06-29 | 针对具有栈深约束的路径计算方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910728470.2A CN112350935B (zh) | 2019-08-08 | 2019-08-08 | 针对具有栈深约束的路径计算方法及装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN112350935A true CN112350935A (zh) | 2021-02-09 |
CN112350935B CN112350935B (zh) | 2023-03-24 |
Family
ID=74367428
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910728470.2A Active CN112350935B (zh) | 2019-08-08 | 2019-08-08 | 针对具有栈深约束的路径计算方法及装置 |
Country Status (2)
Country | Link |
---|---|
CN (1) | CN112350935B (zh) |
WO (1) | WO2021022944A1 (zh) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113242179A (zh) * | 2021-05-10 | 2021-08-10 | Ut斯达康通讯有限公司 | 一种基于sdn的sr路径计算和标签栈生成的方法及sdn控制器 |
CN113824632A (zh) * | 2021-09-03 | 2021-12-21 | 比威网络技术有限公司 | 安全分级多径路由中的途径点压缩方法和装置 |
US20220360521A1 (en) * | 2019-12-27 | 2022-11-10 | Huawei Technologies Co., Ltd. | Tunnel Segmentation Method and Apparatus, and Data Transmission System |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2023155068A1 (en) * | 2022-02-16 | 2023-08-24 | Telefonaktiebolaget Lm Ericsson (Publ) | Communication device, sdn controller, and methods therein for facilitating path computation |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1633081A (zh) * | 2003-12-24 | 2005-06-29 | 华为技术有限公司 | 一种在承载控制层中分配路径带宽的方法 |
CN104143991A (zh) * | 2013-05-06 | 2014-11-12 | 华为技术有限公司 | 极性Polar码的译码方法和装置 |
CN105471737A (zh) * | 2014-09-05 | 2016-04-06 | 华为技术有限公司 | 一种标签栈的压缩方法及装置、标签栈的解压缩方法及装置 |
US20170005922A1 (en) * | 2015-07-02 | 2017-01-05 | Telefonaktiebolaget L M Ericsson (Publ) | Using border gateway protocol to expose maximum segment identifier depth to an external application |
US20180343191A1 (en) * | 2017-05-25 | 2018-11-29 | Fang Hao | Hop constrained widest path for segment routing |
CN109863725A (zh) * | 2016-08-15 | 2019-06-07 | 瑞典爱立信有限公司 | 基于最大分段标识符深度的分段路由 |
Family Cites Families (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2017198319A1 (en) * | 2016-05-20 | 2017-11-23 | Telefonaktiebolaget Lm Ericsson (Publ) | Method and apparatus for segment routing and rsvp-te routing in transport sdn networks |
CN109450456B (zh) * | 2018-10-30 | 2021-09-28 | 南京大学 | 一种基于极化码的自适应堆栈译码方法及系统 |
-
2019
- 2019-08-08 CN CN201910728470.2A patent/CN112350935B/zh active Active
-
2020
- 2020-06-29 WO PCT/CN2020/099017 patent/WO2021022944A1/zh active Application Filing
Patent Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1633081A (zh) * | 2003-12-24 | 2005-06-29 | 华为技术有限公司 | 一种在承载控制层中分配路径带宽的方法 |
CN104143991A (zh) * | 2013-05-06 | 2014-11-12 | 华为技术有限公司 | 极性Polar码的译码方法和装置 |
CN105471737A (zh) * | 2014-09-05 | 2016-04-06 | 华为技术有限公司 | 一种标签栈的压缩方法及装置、标签栈的解压缩方法及装置 |
US20170005922A1 (en) * | 2015-07-02 | 2017-01-05 | Telefonaktiebolaget L M Ericsson (Publ) | Using border gateway protocol to expose maximum segment identifier depth to an external application |
CN108055878A (zh) * | 2015-07-02 | 2018-05-18 | 瑞典爱立信有限公司 | 使用边界网关协议来向外部应用揭示最大分段标识符深度 |
CN109863725A (zh) * | 2016-08-15 | 2019-06-07 | 瑞典爱立信有限公司 | 基于最大分段标识符深度的分段路由 |
US20190190818A1 (en) * | 2016-08-15 | 2019-06-20 | Telefonaktiebolaget Lm Ericsson (Publ) | Segment routing based on maximum segment identifier depth |
US20180343191A1 (en) * | 2017-05-25 | 2018-11-29 | Fang Hao | Hop constrained widest path for segment routing |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20220360521A1 (en) * | 2019-12-27 | 2022-11-10 | Huawei Technologies Co., Ltd. | Tunnel Segmentation Method and Apparatus, and Data Transmission System |
CN113242179A (zh) * | 2021-05-10 | 2021-08-10 | Ut斯达康通讯有限公司 | 一种基于sdn的sr路径计算和标签栈生成的方法及sdn控制器 |
CN113824632A (zh) * | 2021-09-03 | 2021-12-21 | 比威网络技术有限公司 | 安全分级多径路由中的途径点压缩方法和装置 |
Also Published As
Publication number | Publication date |
---|---|
CN112350935B (zh) | 2023-03-24 |
WO2021022944A1 (zh) | 2021-02-11 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN112350935B (zh) | 针对具有栈深约束的路径计算方法及装置 | |
CN110730478B (zh) | 切片关联方法、装置、端到端切片编排器及存储介质 | |
US8898335B2 (en) | Apparatus and method for calculating communication paths | |
US10425326B2 (en) | Rerouting tunnel traffic in communication networks | |
CN109361600B (zh) | 一种获取路径标识的方法和设备 | |
US9049145B2 (en) | Method and apparatus for calculating MPLS traffic engineering paths | |
US11546215B2 (en) | Method, system, and device for data flow metric adjustment based on communication link state | |
CN104067581A (zh) | 多网关装置、复用线路通信系统、复用线路通信方法以及程序 | |
EP3002918B1 (en) | Time-based service processing method and device | |
WO2016186861A1 (en) | Method and apparatus for self-tuned adaptive routing | |
US10666562B2 (en) | Network path computation method, apparatus, and system | |
KR20130087535A (ko) | 라우팅 정보의 룩헤드 계산 | |
US20220321453A1 (en) | Path computation method, storage medium and electronic apparatus | |
US10216593B2 (en) | Distributed processing system for use in application migration | |
CN109922161B (zh) | 动态云内容分发网络的内容分发方法、系统、设备及介质 | |
CN113453262A (zh) | 一种双向转发检测bfd方法及装置 | |
CN102845023B (zh) | 用于在宽带接入网中登记传输容量的装置和方法 | |
CN106911532B (zh) | 基于虚拟可扩展局域网的多虚拟通道智能选路方法 | |
CN113556281A (zh) | 一种重新路由方法及装置、电子设备、计算机可读介质 | |
CN108390780B (zh) | 用于处理信息的方法和装置 | |
KR101524825B1 (ko) | 무선 메쉬 네트워크에서의 패킷 라우팅 방법, 패킷 라우팅 제어 장치 및 패킷 라우팅 시스템 | |
You et al. | A coordinated algorithm with resource evaluation for service function chain allocation | |
US20160164715A1 (en) | Method for processing multi-domain path calculation failure and pce | |
He et al. | Towards smart routing: Exploiting user context for video delivery in mobile networks | |
WO2014104278A1 (ja) | 制御装置、制御装置の制御方法及びプログラム |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
TA01 | Transfer of patent application right |
Effective date of registration: 20210208 Address after: 518057 Zhongxing building, science and technology south road, Nanshan District hi tech Industrial Park, Guangdong, Shenzhen Applicant after: ZTE Corp. Address before: 210000 No. 68, Bauhinia Road, Ningnan street, Yuhuatai District, Nanjing, Jiangsu Applicant before: Nanjing Zhongxing Software Co.,Ltd. |
|
TA01 | Transfer of patent application right | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |