针对具有栈深约束的路径计算方法及装置制造方法及图纸

技术编号:27305440 阅读:16 留言:0更新日期:2021-02-10 09:16
本发明专利技术提出了一种针对具有栈深约束的路径计算方法及装置,计算方法包括:基于栈深约束值,采用第一预设算法计算第一路径;若所述第一路径对应的标签栈列表的深度小于或等于所述栈深约束值,则输出所述第一路径。根据本发明专利技术计算方法,可以通过将栈深约束值输入第一预设算法,作为计算约束条件,直接计算得到标签列表栈深度小于等于栈深约束值的第一路径,提高了计算具有栈深约束值的路径的效率和成功率。功率。功率。

【技术实现步骤摘要】
针对具有栈深约束的路径计算方法及装置


[0001]本专利技术涉及通信
,尤其是涉及一种针对具有栈深约束的路径计算方法及装置。

技术介绍

[0002]SR(Segment Routing,分段路由)是一种新型的MPLS(Multi-Protocol Label Switching,多协议标签交换)技术。其中,控制平面基于IGP路由协议扩展实现,转发层面基于MPLS转发网络实现,对应的Segment标识在转发层面呈现为标签。SR-TE(SR Traffic Engineering)是使用SR作为控制信令的一种新型的MPLS隧道技术,SDN控制器负责计算隧道的转发路径,并将与路径对应的标签栈列表下发给入节点转发设备,转发设备依次根据标签栈列表进行路由转发。
[0003]当前,各大通信设备厂商生产的转发设备对标签栈列表栈深支持程度受到限制,即当栈深超过MSD(Maximum Stack Depth)时,会导致路由转发失败,这在很大程度上影响了SR技术以及SR-TE的推广。

技术实现思路

[0004]本专利技术要解决的技术问题是解决带有MSD约束的最优路径计算问题,提供一种针对具有栈深约束的路径计算方法及装置。
[0005]根据本专利技术实施例的针对具有栈深约束的路径计算方法,包括:
[0006]基于栈深约束值,采用第一预设算法计算第一路径;
[0007]若所述第一路径对应的标签栈列表的深度小于或等于所述栈深约束值,则输出所述第一路径。
[0008]根据本专利技术实施例的针对具有栈深约束的路径计算方法,可以通过将栈深约束值输入第一预设算法,作为计算约束条件,直接计算得到标签列表栈深度小于等于栈深约束值的第一路径,从而极大提高了计算具有栈深约束值的路径的效率和成功率。
[0009]在本专利技术的一些实施例中,所述方法还包括:在所述第一预设算法无法输出所述第一路径时,采用第二预设算法计算不考虑所述栈深约束值的第二路径,并对所述第二路径对应的标签栈列表进行压缩,使压缩后的所述标签栈列表的深度小于等于所述栈深约束值,并输出压缩后的所述标签栈列表对应的路径。
[0010]根据本专利技术的一些实施例,对所述第二路径对应的标签栈列表进行压缩,包括:
[0011]将所述标签列表中的至少部分链路标签替换为相应的节点标签,以降低标签栈列表深度。
[0012]在本专利技术的一些实施例,所述方法还包括:
[0013]在进行第一路径计算之前,向控制器上报网络拓扑信息;
[0014]基于所述网络拓扑信息进行路径缓存计算;
[0015]基于所述路径缓存计算数据,进行所述第一路径或所述第二路径的计算。
[0016]在本专利技术的一些实施例,所述第一预设算法为贝尔曼算法,所述第二预设算法为迪杰斯特拉算法或弗洛伊德算法。
[0017]根据本专利技术实施例的针对具有栈深约束的路径计算装置,包括:
[0018]第一算法模块,用于基于栈深约束值,采用第一预设算法计算第一路径;
[0019]若所述第一路径对应的标签栈列表的深度小于或等于所述栈深约束值,则输出所述第一路径。
[0020]根据本专利技术实施例的针对具有栈深约束的路径计算装置,可以通过将栈深约束值输入第一预设算法,作为计算约束条件,直接计算得到标签列表栈深度小于等于栈深约束值的第一路径,从而极大提高了计算具有栈深约束值的路径的效率和成功率。
[0021]在本专利技术的一些实施例中,所述装置还包括:第二算法模块,用于在所述第一算模块无法输出所述第一路径时,采用第二预设算法计算不考虑所述栈深约束值的第二路径,并对所述第二路径对应的标签栈列表进行压缩,使压缩后的所述标签栈列表的深度小于等于所述栈深约束值,并输出压缩后的所述标签栈列表对应的路径。
[0022]根据本专利技术的一些实施例,所述第二算法模块对所述第二路径对应的标签栈列表进行压缩时,具体用于:
[0023]将所述标签列表中的至少部分链路标签替换为相应的节点标签,以降低标签栈列表深度。
[0024]在本专利技术的一些实施例,所述装置还包括:
[0025]拓扑加载模块,用于在进行第一路径计算之前,向控制器上报网络拓扑信息;
[0026]路径缓存模块,用于基于所述网络拓扑信息进行路径缓存计算;
[0027]所述第一算法模块和所述第二算法模块基于所述路径缓存计算数据进行所述第一路径和所述第二路径的计算。
[0028]在本专利技术的一些实施例,所述第一预设算法为贝尔曼算法,所述第二预设算法为迪杰斯特拉算法或弗洛伊德算法。
[0029]根据本专利技术实施例的分段路由路径标签处理装置,包括:存储器、处理器及存储在所述存储器上并可在所述处理器上运行的计算机程序,所述计算机程序被所述处理器执行时实现如上述所述的方法的步骤。
[0030]根据本专利技术实施例的分段路由路径标签处理装置,首先可以通过Bellman算法计算具有栈深约束的路径,若得到符合栈深约束值条件的第一路径,则输出第一路径;若得不到符合栈深约束值条件的第一路径,则通过基本算法先计算不考虑栈深约束值进行路径计算,并对计算得到的第二路径的标签栈列表进行压缩,得到符合栈深约束值条件的路径,从而极大提高了计算具有栈深约束值的路径成功率。
[0031]根据本专利技术实施例的计算机存储介质,所述计算机存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现如上述所述的针对具有栈深约束的路径计算方法的步骤。
[0032]根据本专利技术实施例的计算机存储介质,首先可以通过Bellman算法计算具有栈深约束的路径,若得到符合栈深约束值条件的第一路径,则输出第一路径;若得不到符合栈深约束值条件的第一路径,则通过基本算法先计算不考虑栈深约束值进行路径计算,并对计算得到的第二路径的标签栈列表进行压缩,得到符合栈深约束值条件的路径,从而极大提
高了计算具有栈深约束值的路径成功率。
附图说明
[0033]图1是根据本专利技术实施例的针对具有栈深约束的路径计算方法流程图;
[0034]图2是根据本专利技术实施例的针对具有栈深约束的路径计算方法的详细流程图;
[0035]图3是根据本专利技术实施例的针对具有栈深约束的路径计算装置的结构示意图;
[0036]图4是根据本专利技术实施例的针对具有栈深约束的路径计算装置的结构示意图;
[0037]图5是根据本专利技术实施例的网络拓扑结构图。
具体实施方式
[0038]为更进一步阐述本专利技术为达成预定目的所采取的技术手段及功效,以下结合附图及较佳实施例,对本专利技术进行详细说明如后。
[0039]当前,各大通信设备厂商生产的转发设备对标签栈列表栈深支持程度受到限制,即当栈深超过MSD(Maximum Stack Depth)时,会导致路由转发失败,这在很大程度上影响了SR技术以及SR-TE的推广。因此,需要利用SR技术的特点,根据转发层面与控制器的交互特性,设计新的标签路径计算方法,在满足MSD约本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种针对具有栈深约束的路径计算方法,其特征在于,包括:基于栈深约束值,采用第一预设算法计算第一路径;若所述第一路径对应的标签栈列表的深度小于或等于所述栈深约束值,则输出所述第一路径。2.根据权利要求1所述的针对具有栈深约束的路径计算方法,其特征在于,所述方法还包括:在所述第一预设算法无法输出所述第一路径时,采用第二预设算法计算不考虑所述栈深约束值的第二路径,并对所述第二路径对应的标签栈列表进行压缩,使压缩后的所述标签栈列表的深度小于等于所述栈深约束值,并输出压缩后的所述标签栈列表对应的路径。3.根据权利要求2所述的针对具有栈深约束的路径计算方法,其特征在于,对所述第二路径对应的标签栈列表进行压缩,包括:将所述标签列表中的至少部分链路标签替换为相应的节点标签,以降低标签栈列表深度。4.根据权利要求2所述的针对具有栈深约束的路径计算方法,其特征在于,所述方法还包括:在进行第一路径计算之前,向控制器上报网络拓扑信息;基于所述网络拓扑信息进行路径缓存计算;基于所述路径缓存计算数据,进行所述第一路径或所述第二路径的计算。5.根据权利要求2所述的针对具有栈深约束的路径计算方法,其特征在于,所述第一预设算法为贝尔曼算法,所述第二预设算法为迪杰斯特拉算法或弗洛伊德算法。6.一种针对具有栈深约束的路径计算装置,其特征在于,包括:第一算法模块,用于基于栈深约束值,采用第一预设算法计算第一路径;若所述第一路径对应的标签栈列表的深度小于或等于所述栈深约束值,则输出所述第一路径。7.根据权利要求6所述的针对具有栈深约束的路径计算装置,...

【专利技术属性】
技术研发人员:张天祥陆钱春李锋刘万慧
申请(专利权)人:南京中兴软件有限责任公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1