一种跨层路径部署方法及装置与流程

未命名 10-18 阅读:117 评论:0


1.本发明涉及通信技术领域,具体涉及一种跨层路径部署方法及装置。


背景技术:

2.在srv6 over sr-tp、mtn fg-channel或otn等利用srv6路径进行算网连接的场景(注:srv6为segment routing ipv6,基于ipv6转发平面的段路由。sr-tp为segment routing transport profile,基于mpls的段路由。mtn为metro transport network城域传输网络,fg-channel为fine granularity channel,小颗粒通道。otn为optical transport network,光传送网),存在跨越不同网络链路层次进行端到端路径部署的需求,如图1所示,灰色和黑色节点以及淡实线链路组成服务层网络(例如:可以建立sr-tp,mtn fg-channel路径),灰色和白色节点以及深实线链路组成客户层网络(例如:可以建立srv6policy路径),灰色节点是网关节点(同时支持服务层路径和客户层路径)。需要建立从a节点到j节点的端到端客户层路径,现有技术需要进行以下步骤:
3.step1:管控系统静态配置或从设备采集客户层拓扑(如图2所示,客户层拓扑为ipv6拓扑),管控系统静态配置或从设备采集服务层拓扑(如图3所示,服务层拓扑为ipv4拓扑)。
4.step2:在服务层拓扑图中对网关节点两两配置服务层路径(如图4所示,c,d,h,g 4个节点之间为服务层链路和客户层链路相交的节点,对这4个节点两两配置sr-tp路径)。
5.step3:对step2配置好的服务层路径生成虚拟的链路(如图5所示,生成6条虚拟链路),作为客户层拓扑中的一条虚拟链路加入客户层拓扑。
6.step4:基于上述合并后的客户层拓扑进行客户层路径的寻路,创建客户层路径。
7.基于以上部署步骤,现有技术存在以下问题:
8.1、网关节点之间两两提前部署好服务层路径,会配置一些不会使用到的服务层路径,导致资源浪费。
9.2、因为需要在网关节点提前部署服务层路径,不满足网络实时按需快速部署客户层路径的需求。
10.3、部署客户层路径时,不支持根据用户需求按需选择不同的服务层拓扑类型。


技术实现要素:

11.针对现有技术中存在的缺陷,本发明第一方面提供一种跨层路径部署方法,其可以在服务层路径未提前配置好的情况下,通过跨层路径计算,同时计算和部署服务层和客户层路径。
12.为达到以上目的,本发明采取的技术方案是:
13.一种跨层路径部署方法,该方法包括以下步骤:
14.根据构造的服务层拓扑和客户层拓扑确定相交的网关节点;
15.通过对服务层拓扑和客户层拓扑进行寻路,构造出所述网关节点之间的服务层链
路和客户层链路,以同时部署服务层路径和客户层路径。
16.一些实施例中,所述根据构造的服务层拓扑和客户层拓扑确定相交的网关节点,包括:
17.构造包括节点和链路的服务层拓扑和客户层拓扑;
18.根据服务层拓扑和客户层拓扑的节点交集确定相交的网关节点集合。
19.一些实施例中,所述通过对服务层拓扑和客户层拓扑进行寻路,构造出所述网关节点之间的服务层链路和客户层链路,以同时部署服务层路径和客户层路径,包括:
20.根据客户层拓扑的节点集合、相交的网关节点和链路的时延属性,在需部署的客户层路径的源节点和宿节点间进行客户层路径寻路,返回服务层链路列表和客户层链路列表;
21.基于服务层链路列表,将服务层链路中第一个overlay属性为overlay_nni的链路的源节点、最后一个overlay属性为overlay_nni的链路的宿节点,作为服务层路径的源节点和宿节点以创建服务层路径,并将服务层路径构造成一条虚拟链路,其中,当链路两端的端口类型均为网络结点接口nni时,该链路的overlay属性为overlay_nni;
22.根据客户层链路列表和构造的虚拟链路,创建客户层路径。
23.一些实施例中,所述根据客户层拓扑的节点集合、相交的网关节点和链路的时延属性,在需部署的客户层路径的源节点和宿节点间进行客户层路径寻路,返回服务层链路列表和客户层链路列表,包括:
24.从客户层拓扑包括的节点集合中选择一时延属性值最小的节点;
25.基于所选节点是否为网关节点,对所选节点的每个具有邻接关系的节点进行时延属性值的松弛操作,直至客户层拓扑包括的节点集合选择完毕或时延属性值最小的节点为客户层路径的宿节点;
26.从宿节点开始获取到前置节点的链路列表和链路类型,直至迭代到前置节点为空,所述链路类型包括服务层链路和客户层链路。
27.一些实施例中,所述基于所选节点是否为网关节点,对所选节点的每个具有邻接关系的节点进行时延属性值的松弛操作,包括:
28.若所选节点非网关节点,则对所选节点的邻接节点进行时延属性值的松弛操作;
29.若所选节点是网关节点,则对所选节点的邻接节点进行时延属性值的松弛操作,并对网关节点集合中除所选节点外的其他网关节点进行松弛操作。
30.一些实施例中,所述对所选节点的邻接节点进行时延属性值的松弛操作,包括:
31.若u.totalcost+link(u,v).cost《v.totalcost,则更新v.totalcost=u.totalcost+link(u,v).cost,其中u.totalcost为源节点到所选节点u的时延属性值,link(u,v).cost为u与其邻接节点v间的链路的时延属性值,v.totalcost为源节点到v的时延属性值;
32.且将v到前置节点的链路列表置为u和v之间的链路,将v到前置节点的链路类型置为客户层链路。
33.一些实施例中,所述对网关节点集合中除所选节点外的其他网关节点进行松弛操作,包括:
34.对网关节点集合中的每个非u的其他网关节点v

调用最短路径算法,计算u和v


间最短路径,返回经过的u和v

之间经过的链路,以及u和v

之间的时延属性值link(u,v

).cost;
35.若u和v

之间存在服务层路径,且u.totalcost+link(u,v

).cost《v

.totalcost,则更新v

.totalcost=u.totalcost+link(u,v

).cost,其中v

.totalcost为源节点到v

的时延属性值;
36.且将v

到前置节点的链路列表置为u和v

之间的链路,将v

到前置节点的链路类型置为服务层链路。
37.一些实施例中,在管控系统上根据静态配置节点和链路信息,构造服务层拓扑和客户层拓扑。
38.一些实施例中,在设备上部署分布式协议进行拓扑发现,利用管控系统从设备上采集发现到的拓扑,构造服务层拓扑和客户层拓扑。
39.本发明第二方面提供一种跨层路径部署装置,其可以在服务层路径未提前配置好的情况下,通过跨层路径计算,同时计算和部署服务层和客户层路径。
40.为达到以上目的,本发明采取的技术方案是:
41.一种跨层路径部署装置,包括:
42.构造模块,其根据构造的服务层拓扑和客户层拓扑确定相交的网关节点;
43.部署模块,其通过对服务层拓扑和客户层拓扑进行寻路,构造出所述网关节点之间的服务层链路和客户层链路,以同时部署服务层路径和客户层路径。
44.与现有技术相比,本发明的优点在于:
45.本发明中的跨层路径部署方法,其根据构造的服务层拓扑和客户层拓扑确定相交的网关节点;通过对服务层拓扑和客户层拓扑进行寻路,构造出所述网关节点之间的服务层链路和客户层链路,以同时部署服务层路径和客户层路径。从而可以在服务层路径未提前配置好的情况下,通过跨层路径计算,同时计算和部署服务层和客户层路径。避免了因不确定客户层需求,需提前在网关节点中两两部署服务层路径而造成的服务层路径资源浪费的问题。也避免了提前部署的服务层路径的时延等不能满足客户层路径的需求的问题。
附图说明
46.图1是现有技术中客户层承载在服务层网络示意图;
47.图2是现有技术中管控系统静态配置或从设备采集客户层拓扑的示意图;
48.图3是现有技术中管控系统静态配置或从设备采集服务层拓扑的示意图;
49.图4是现有技术中在服务层的网关网元之间两两配置服务层路径的示意图;
50.图5是现有技术中对配置好的服务层路径生成虚拟的链路,作为客户层拓扑中的一条虚拟链路的示意图;
51.图6是本发明实施例中服务层路径终结在网元上的示意图;
52.图7是本发明实施例中服务层路径终结在端口上的示意图;
53.图8是本发明实施例中跨层路径部署方法的流程图;
54.图9是本发明实施例中路径计算完成后根据各节点的属性组成路径链路示意图;
55.图10是本发明实施例中ipv6链路拓扑和ipv4链路和mtn channel链路拓扑示意图;
56.图11是本发明实施例中根据路径计算返回的服务层和客户层链路创建服务层路径和客户层路径示意图;
57.图12是本发明实施例中srv6 over otn的拓扑示意图;
58.图13是本发明实施例中pv6客户层拓扑和otn服务层拓扑以及srv6 policy路径和otn路径示意图。
具体实施方式
59.为使本技术实施例的目的、技术方案和优点更加清楚,下面将结合本技术实施例中的附图,对本技术实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本技术的一部分实施例,而不是全部的实施例。基于本技术中的实施例,本领域普通技术人员在没有做出创造性劳动的前提下所获得的所有其他实施例,都属于本技术保护的范围。
60.本发明实施例公开了一种跨层路径部署方法,该方法包括以下步骤:
61.根据构造的服务层拓扑和客户层拓扑确定相交的网关节点。
62.通过对服务层拓扑和客户层拓扑进行寻路,构造出所述网关节点之间的服务层链路和客户层链路,以同时部署服务层路径和客户层路径。
63.首先值得说明的是,为了确定服务层路径,本发明实施例根据服务层路径终结的位置定义2种overlay类型,分别为overlay_uni和overlay_nni。链路有一个overlay属性,如果服务层路径的终结点在端口上,则该端口所属的链路的overlay属性为overlay_uni。如果服务层路径的终结点在网元上,则该服务层路径经过的链路的overlay属性为overlay_nni。参见图6所示,服务层路径的终结点在网元上,(link2,link3,link4,link5)的overlay属性为overlay_nni。图7中服务层路径的终结点在端口上,(link2,link5)的overlay属性为overlay_uni,(link3,link4)的overlay属性为overlay_nni。
64.参见图8所示,下面对上述步骤的具体过程做出介绍:
65.s1.构造服务层路径计算的拓扑,标记服务层拓扑为gs;
66.值得说明的是对于服务层拓扑,其由节点和链路组成,链路具有时延属性(用cost值表示),比如节点u到v的链路的cost值可以用link(u,v).cost表示。
67.服务层拓扑的链路具有上述overlay属性,该属性值可以人工指定也可以根据链路两边的端口类型自动生成。自动生成的规则为:如果链路两端的端口类型都为nni(network to network interface)端口,则该链路的overlay属性为overlay_nni,如果链路两端的端口类型一端为nni端口,另一端为uni(user network interface)端口则该链路的overlay属性为overlay_uni。如图5中(link2,link3,link4,link5)两端的端口类型都为nni,故(link2,link3,link4,link5)的overlay属性为overlay_nni。如图6中link2连接到节点c的端口类型为uni,连接到节点b的端口类型为nni,link5连接到节点e的端口类型为uni,连接到节点f的端口类型为nni,(link3,link4)两端端口类型都为nni,故(link2,link5)的overlay属性为overlay_uni,(link3,link4)的overlay属性为overlay_nni。
68.服务层拓扑可以由多种构造方法,可以在管控系统上由用户静态配置节点和链路信息。也可以在设备上部署分布式协议进行拓扑发现,管控系统从设备上采集发现到的拓扑。
69.此外,根据设备支持服务层路径能力的情况,同时构造不同类型的服务层拓扑,分
别标记为gs1,gs2,...gsn。
70.s2.构造客户层路径计算的拓扑,标记该拓扑为gc;
71.客户层拓扑由节点和链路组成,链路具有时延属性(用cost值表示)。
72.客户层拓扑可以由多种构造方法,可以在管控系统上由用户静态配置节点和链路信息。也可以在设备上部署分布式协议进行拓扑发现,管控系统从设备上采集发现的拓扑。
73.s3.计算服务层链路和客户层链路相交的网关节点;
74.s31.获取客户层拓扑gc的包括的节点集合,标记为a。
75.s32.对每个构造出来的服务层拓扑gsk(k=1,2,..,n),分别获取其包括的节点集合,标记为bk(k=1,2,..,n)。
76.s33.集合a分别与集合bk取交集得到gatewaysetk(k=1,2,..,n),即为:服务层链路和客户层链路相交的网关节点集合。
77.s4.端到端部署客户层路径;
78.s41.选择需要部署的客户层路径的源节点和宿节点,指定需要的带宽,指定服务层类型(例如硬隔离,软隔离)等,每一种服务层类型可以与s1步骤构造的各服务层拓扑一一对应。
79.s42.根据服务层类型在s1步骤中构造的多个服务层拓扑中选择对应的服务层拓扑,标记为gsk。
80.s43.根据s4.2选择的服务层拓扑gsk,和s2构造的客户层拓扑gc,在源节点和宿节点进行客户层路径进行寻路,返回一个列表,列表中的对象包含2个成员:链路类型(区别是服务层还是客户层链路),链路列表(代表有序的链路集合)。
81.具体而言,在步骤s43中,根据客户层拓扑gc和服务层拓扑gsk,以及源宿节点,同时计算客户层和服务层路径的过程如下(在下面的过程中客户层拓扑中的节点如果是网关节点,除了把与之存在客户层link关系的节点作为邻居外,也把其他网关节点作为虚拟的邻居,网关节点与其他网关节点之间的虚拟链路是通过调用服务层拓扑寻路计算得到服务层路径后虚拟生成):
82.s431.根据服务层拓扑gsk中k的取值找到步骤s3中计算得到网元节点集合gatewaysetk。
83.s432.gc中的每个节点定义以下属性:
84.totalcost(代表源节点到该节点的cost值);
85.prenode(代表从该节点到源节点的前置节点);
86.toprelinklist(代表到前置节点的link列表);
87.linktype(代表到前置节点的链路类型,取值为客户层和服务层);
88.visited(是否已计算过的标记)。
89.s433.初始化gc中的每个节点的totalcost值为无穷大,prenode为空,toprelinklist为空。初始化gc中的源节点的totalcost值为0。初始化gc中的每个节点的visited值为false。
90.s434.从gc的visited值为false的节点集合中选择一个totalcost值最小的节点,标记为u.
91.如果u是宿节点,转到s436
92.对u的每个邻接节点v:进行v的totalcost值的松弛操作:
93.(if u.totalcost+link(u,v).cost《v.totalcost:then v.totalcost=u.totalcost+link(u,v).cost),v的toprelinklist置为(u,v)之间的链路,v的linktype置为客户层。
94.如果u是网关节点,对gatewaysetk中的每个非u的其他网关节点v’调用最短路径算法(输入拓扑为服务层拓扑gsk),计算u,v’之间最短路径,返回经过的linklist(u-v’)和(u,v’)的cost(u-v’)值(等于linklist(u-v’)包含的每条link的cost值之和)。如果u,v’之间存在服务层路径,则对节点v’进行松弛操作:更新节点v’的totalcost值,v’的toprelinklist置为linklist(u-v’),v’的linktype置为服务层。
95.标记节点u的visited为true.
96.s435.重复s434直到gc中的每个节点的visited属性都为true。
97.s436.从宿节点开始获取到前置节点的toprelinklist和linktype,把这二元组加入到path的列表的头部,一直迭代到前置节点为空。返回该path,过程结束。
98.以图9为例进行说明:从宿节点为j开始,迭代获取其前置节点,直到前置节点为空,获取得到的客户层路径为[a,b,c,g,j],链路列表为[([link1],c),([link2],c),([link3,link4],s),([link5],c)].其中s代表是服务层链路,c代表是客户层链路。
[0099]
s44.根据s43返回的服务层链路列表,创建服务层路径:其中服务层路径的源节点为服务层链路中第一个overlay属性为overlay_nni属性的链路的源节点,服务层路径的宿节点为服务层链路中倒数第一个overlay属性为overlay_nni属性的链路的宿节点。对于图5:s43寻路计算出的服务层链路列表为(link2,link3,link4,link5),这些link的overlay属性都为overlay_nni,则服务层路径的源节点为link2的源节点b,服务层路径的宿节点为link5的宿节点f。对于图6,寻路计算出的服务层链路列表为(link2,link3,link4,link5),其中link2和link5的overlay属性为overlay_uni,link3和link5的overlay属性都为overlay_nni,则服务层路径的源节点为link3的源节点c,服务层路径的宿节点为link4的宿节点e。同时把整个服务层链路抽象成一条虚拟链路,作为客户层路径的一跳。
[0100]
s45.根据s43返回的客户层链路和s44构造的虚拟链路,创建客户层路径。
[0101]
下面以两个具体的例子来对上述步骤进行进一步说明:
[0102]
一个实施例以srv6 policy隧道over sr-tp隧道/mtn fg-channel隧道为例进行说明:
[0103]
s1.构造服务层拓扑(如图10所示),本实施例中服务层网元支持ipv4链路和mtn channel链路。
[0104]
网元之间的ipv4链路可以通过bgp-ls协议从设备采集而成,也可以手工静态配置。
[0105]
根据生成ipv4链路和节点,可以构造出服务层拓扑gs1。
[0106]
网元之间的mtn channel链路可有手工静态配置而成,根据生成mtn channel链路和节点,可以构造出服务层拓扑gs2。可以理解的是,gs1和gs2包含的节点可能相同或不同。
[0107]
因为sr-tp隧道和mtn fg-channel隧道都是终结在网元上,因此构造出的ipv4链路和mtn channel链路的overlay属性为overlay_nni。
[0108]
s2.构造客户层网络拓扑(如图10所示),本例中客户层链路为ipv6链路。
[0109]
网元之间的ipv6链路可以通过从设备采集而成,也可以手工静态配置。
[0110]
根据生成ipv6链路和节点,可以构造出客户层拓扑gc.
[0111]
s3.计算服务层链路和客户层链路相交的网元,具体步骤如下:
[0112]
对gs1和gc两个拓扑的网元集合取交集得到gatewayset1,
[0113]
对gs2和gc两个拓扑的网元集合取交集得到gatewayset2。
[0114]
s4.部署端到端部署客户层路径,本实施例部署两条srv6 policy隧道,其中一条(标记为a)承载在sr-tp上,另一条(标记为b)承载在mtn fg-channel上。
[0115]
s41.选择需要部署的客户层路径的源节点和宿节点,指定需要的带宽,对于隧道a,指定承载的服务层类型为软隔离,对于隧道b,指定承载的服务层类型为硬隔离。
[0116]
s42.根据服务层类型在s1步骤中构造的多个服务层拓扑中选择一个,标记为gsk。本例中隧道a,指定承载的服务层类型为软隔离,故选择的服务层拓扑为gs1,本例中隧道b,指定承载的服务层类型为硬隔离,故选择的服务层拓扑为gs2。
[0117]
s43.根据s42选择的服务层拓扑gsk,和s2构造的客户层拓扑gc,在源节点和宿节点进行客户层路径进行寻路(寻路算法描述见上文),返回一个列表,列表中的对象包含2个成员:链路类型(区别是服务层还是客户层链路),链路列表(代表有序的链路集合)。
[0118]
s44.根据s43返回的服务层链路列表,对于srv6 policy隧道a创建sr-tp服务层路径,对于srv6 policy隧道b创建mtn fg-channel服务层路径,因为返回的服务层链路的overlay属性都为overlay_nni,因此服务层路径的源节点为服务层链路列表中的第1条链路的源节点,服务层路径的宿节点为服务层链路列表中的最后一条链路的宿节点(如图11所示,sr-tp服务层路径的源节点为c,宿节点为g,包含的链路列表为[link3,link4])。同时把整个服务层路径抽象成一条虚拟链路(virtuallink1),作为srv6 policy路径的一跳,为该虚拟链路分配sid。
[0119]
s45.根据s43返回的客户层链路和s4.4构造的虚拟链路列表,创建srv6 policy隧道(如图10所示,srv6 policy隧道a路径为[link1,link2,virtuallink1,link5])。
[0120]
另一个实施例以srv6 policy隧道over otn场景为例(如图12所示为本实施例拓扑示意图)进行说明:
[0121]
s1.构造服务层拓扑,本例中服务层网元只支持otn链路。
[0122]
手工静态配置或自动发现服务层网元之间的otn链路。本实施例中的服务层拓扑为:gs1=(es,vs),如图13所示,其中
[0123]
es={link2,link3,link4,link5,link10,link11,link12,link13,link14},vs={b,c,d,e,f,i,j,k,l}。link2,link5,link10,link14的overlay属性为overlay_uni,其他链路的overlay属性为overlay_nni。
[0124]
s2.构造客户层网络拓扑,本例中客户层链路为ipv6链路。
[0125]
网元之间的ipv6链路可以通过从设备采集而成,也可以手工静态配置。
[0126]
根据生成ipv6链路和节点,可以构造出客户层拓扑gc.本实施例中的服务层拓扑为:gc=(ec,vc),如图10所示,其中
[0127]
ec={link1,link6,link7,link8,link9,link15,link16},vc={a,b,f,g,h,i,l}。
[0128]
s3.计算服务层链路和客户层链路相交的网元,具体步骤如下:
[0129]
对gs1和gc两个拓扑的网元集合取交集得到gatewayset1.本实施例中gatewayset1={b,f,i,l}。
[0130]
s4.部署端到端部署客户层路径,本实施例部署1条srv6 policy隧道。
[0131]
s41.选择需要部署的客户层路径的源节点和宿节点,指定需要的带宽,指定承载的服务层类型为硬隔离。本实施例中srv6 policy的源节点为a,宿节点为g。
[0132]
s42.本例中隧道指定承载的服务层类型为硬隔离,故选择的服务层拓扑为gs1.
[0133]
s43.根据s42选择的服务层拓扑gs1,和s2构造的客户层拓扑gc,在源节点和宿节点进行客户层路径进行寻路(寻路算法描述见上文),返回一个列表,列表中的对象包含2个成员:链路类型(区别是服务层还是客户层链路),链路列表(代表有序的链路集合)。
[0134]
采用上述寻路算法进行寻路之后,本实施例返回的列表数据为:[([link1],c),([link2,link11,link12,link14],s),([link16],c)]。
[0135]
s44.根据s43返回的服务层链路列表,创建otn服务层路径,因为link2,link14的overlay属性为overlay_uni,因此要创建的otn服务层路径的源节点为c,宿节点为k,路径为[link11,link12]。同时把该服务层链路列表[link2,link11,link12,link14]虚拟成一条虚拟link(virtuallink1)作为srv6 policy路径中的一跳,为该虚拟链路分配sid。
[0136]
s45.根据s43返回的客户层链路和s44构造的虚拟链路,创建srv6 policy隧道。本实施例中srv6 policy隧道路径为:[link1,virtuallink1,link16]。
[0137]
综上所述,本发明中的跨层路径部署方法,其根据构造的服务层拓扑和客户层拓扑确定相交的网关节点;通过对服务层拓扑和客户层拓扑进行寻路,构造出所述网关节点之间的服务层链路和客户层链路,以同时部署服务层路径和客户层路径。从而可以在服务层路径未提前配置好的情况下,通过跨层路径计算,同时计算和部署服务层和客户层路径。避免了因不确定客户层需求,需提前在网关节点中两两部署服务层路径而造成的服务层路径资源浪费的问题。也避免了提前部署的服务层路径的时延等不能满足客户层路径的需求的问题。
[0138]
与此同时,本发明实施例还提供一种跨层路径部署装置,其包括构造模块和部署模块。
[0139]
其中,构造模块,其根据构造的服务层拓扑和客户层拓扑确定相交的网关节点;
[0140]
部署模块,其通过对服务层拓扑和客户层拓扑进行寻路,构造出所述网关节点之间的服务层链路和客户层链路,以同时部署服务层路径和客户层路径。
[0141]
一些实施例中,所述构造模块根据构造的服务层拓扑和客户层拓扑确定相交的网关节点,包括:
[0142]
构造包括节点和链路的服务层拓扑和客户层拓扑;
[0143]
根据服务层拓扑和客户层拓扑的节点交集确定相交的网关节点集合。
[0144]
一些实施例中,所述部署模块通过对服务层拓扑和客户层拓扑进行寻路,构造出所述网关节点之间的服务层链路和客户层链路,以同时部署服务层路径和客户层路径,包括:
[0145]
根据客户层拓扑的节点集合、相交的网关节点和链路的时延属性,在需部署的客户层路径的源节点和宿节点间进行客户层路径寻路,返回服务层链路列表和客户层链路列表;
[0146]
基于服务层链路列表,将服务层链路中第一个overlay属性为overlay_nni的链路的源节点、最后一个overlay属性为overlay_nni的链路的宿节点,作为服务层路径的源节点和宿节点以创建服务层路径,并将服务层路径构造成一条虚拟链路,其中,当链路两端的端口类型均为网络结点接口nni时,该链路的overlay属性为overlay_nni;
[0147]
根据客户层链路列表和构造的虚拟链路,创建客户层路径。
[0148]
一些实施例中,所述部署模块根据客户层拓扑的节点集合、相交的网关节点和链路的时延属性,在需部署的客户层路径的源节点和宿节点间进行客户层路径寻路,返回服务层链路列表和客户层链路列表,包括:
[0149]
从客户层拓扑包括的节点集合中选择一时延属性值最小的节点;
[0150]
基于所选节点是否为网关节点,对所选节点的每个具有邻接关系的节点进行时延属性值的松弛操作,直至客户层拓扑包括的节点集合选择完毕或时延属性值最小的节点为客户层路径的宿节点;
[0151]
从宿节点开始获取到前置节点的链路列表和链路类型,直至迭代到前置节点为空,所述链路类型包括服务层链路和客户层链路。
[0152]
一些实施例中,所述部署模块基于所选节点是否为网关节点,对所选节点的每个具有邻接关系的节点进行时延属性值的松弛操作,包括:
[0153]
若所选节点非网关节点,则对所选节点的邻接节点进行时延属性值的松弛操作;
[0154]
若所选节点是网关节点,则对所选节点的邻接节点进行时延属性值的松弛操作,并对网关节点集合中除所选节点外的其他网关节点进行松弛操作。
[0155]
一些实施例中,所述部署模块对所选节点的邻接节点进行时延属性值的松弛操作,包括:
[0156]
若u.totalcost+link(u,v).cost《v.totalcost,则更新v.totalcost=u.totalcost+link(u,v).cost,其中u.totalcost为源节点到所选节点u的时延属性值,link(u,v).cost为u与其邻接节点v间的链路的时延属性值,v.totalcost为源节点到v的时延属性值;
[0157]
且将v到前置节点的链路列表置为u和v之间的链路,将v到前置节点的链路类型置为客户层链路。
[0158]
一些实施例中,所述部署模块对网关节点集合中除所选节点外的其他网关节点进行松弛操作,包括:
[0159]
对网关节点集合中的每个非u的其他网关节点v

调用最短路径算法,计算u和v

之间最短路径,返回经过的u和v

之间经过的链路,以及u和v

之间的时延属性值link(u,v

).cost;
[0160]
若u和v

之间存在服务层路径,且u.totalcost+link(u,v

).cost《v

.totalcost,则更新v

.totalcost=u.totalcost+link(u,v

).cost,其中v

.totalcost为源节点到v

的时延属性值;
[0161]
且将v

到前置节点的链路列表置为u和v

之间的链路,将v

到前置节点的链路类型置为服务层链路。
[0162]
一些实施例中,所述构造模块在管控系统上根据静态配置节点和链路信息,构造服务层拓扑和客户层拓扑。
[0163]
一些实施例中,所述构造模块在设备上部署分布式协议进行拓扑发现,利用管控系统从设备上采集发现到的拓扑,构造服务层拓扑和客户层拓扑。
[0164]
以上所述仅是本技术的具体实施方式,使本领域技术人员能够理解或实现本技术。对这些实施例的多种修改对本领域的技术人员来说将是显而易见的,本文中所定义的一般原理可以在不脱离本技术的精神或范围的情况下,在其它实施例中实现。因此,本技术将不会被限制于本文所示的这些实施例,而是要符合与本文所申请的原理和新颖特点相一致的最宽的范围。

技术特征:
1.一种跨层路径部署方法,其特征在于,该方法包括以下步骤:根据构造的服务层拓扑和客户层拓扑确定相交的网关节点;通过对服务层拓扑和客户层拓扑进行寻路,构造出所述网关节点之间的服务层链路和客户层链路,以同时部署服务层路径和客户层路径。2.根据权利要求1所述的一种跨层路径部署方法,其特征在于,所述根据构造的服务层拓扑和客户层拓扑确定相交的网关节点,包括:构造包括节点和链路的服务层拓扑和客户层拓扑;根据服务层拓扑和客户层拓扑的节点交集确定相交的网关节点集合。3.根据权利要求2所述的一种跨层路径部署方法,其特征在于,所述通过对服务层拓扑和客户层拓扑进行寻路,构造出所述网关节点之间的服务层链路和客户层链路,以同时部署服务层路径和客户层路径,包括:根据客户层拓扑的节点集合、相交的网关节点和链路的时延属性,在需部署的客户层路径的源节点和宿节点间进行客户层路径寻路,返回服务层链路列表和客户层链路列表;基于服务层链路列表,将服务层链路中第一个overlay属性为overlay_nni的链路的源节点、最后一个overlay属性为overlay_nni的链路的宿节点,作为服务层路径的源节点和宿节点以创建服务层路径,并将服务层路径构造成一条虚拟链路,其中,当链路两端的端口类型均为网络结点接口nni时,该链路的overlay属性为overlay_nni;根据客户层链路列表和构造的虚拟链路,创建客户层路径。4.根据权利要求3所述的一种跨层路径部署方法,其特征在于,所述根据客户层拓扑的节点集合、相交的网关节点和链路的时延属性,在需部署的客户层路径的源节点和宿节点间进行客户层路径寻路,返回服务层链路列表和客户层链路列表,包括:从客户层拓扑包括的节点集合中选择一时延属性值最小的节点;基于所选节点是否为网关节点,对所选节点的每个具有邻接关系的节点进行时延属性值的松弛操作,直至客户层拓扑包括的节点集合选择完毕或时延属性值最小的节点为客户层路径的宿节点;从宿节点开始获取到前置节点的链路列表和链路类型,直至迭代到前置节点为空,所述链路类型包括服务层链路和客户层链路。5.根据权利要求4所述的一种跨层路径部署方法,其特征在于,所述基于所选节点是否为网关节点,对所选节点的每个具有邻接关系的节点进行时延属性值的松弛操作,包括:若所选节点非网关节点,则对所选节点的邻接节点进行时延属性值的松弛操作;若所选节点是网关节点,则对所选节点的邻接节点进行时延属性值的松弛操作,并对网关节点集合中除所选节点外的其他网关节点进行松弛操作。6.根据权利要求5所述的一种跨层路径部署方法,其特征在于,所述对所选节点的邻接节点进行时延属性值的松弛操作,包括:若u.totalcost+link(u,v).cost<v.totalcost,则更新v.totalcost=u.totalcost+link(u,v).cost,其中u.totalcost为源节点到所选节点u的时延属性值,link(u,v).cost为u与其邻接节点v间的链路的时延属性值,v.totalcost为源节点到v的时延属性值;且将v到前置节点的链路列表置为u和v之间的链路,将v到前置节点的链路类型置为客户层链路。
7.根据权利要求5所述的一种跨层路径部署方法,其特征在于,所述对网关节点集合中除所选节点外的其他网关节点进行松弛操作,包括:对网关节点集合中的每个非u的其他网关节点v

调用最短路径算法,计算u和v

之间最短路径,返回经过的u和v

之间经过的链路,以及u和v

之间的时延属性值link(u,v

).cost;若u和v

之间存在服务层路径,且u.totalcost+link(u,v

).cost<v

.totalcost,则更新v

.totalcost=u.totalcost+link(u,v

).cost,其中v

.totalcost为源节点到v

的时延属性值;且将v

到前置节点的链路列表置为u和v

之间的链路,将v

到前置节点的链路类型置为服务层链路。8.根据权利要求2所述的一种跨层路径部署方法,其特征在于:在管控系统上根据静态配置节点和链路信息,构造服务层拓扑和客户层拓扑。9.根据权利要求2所述的一种跨层路径部署方法,其特征在于:在设备上部署分布式协议进行拓扑发现,利用管控系统从设备上采集发现到的拓扑,构造服务层拓扑和客户层拓扑。10.一种跨层路径部署装置,其特征在于,包括:构造模块,其根据构造的服务层拓扑和客户层拓扑确定相交的网关节点;部署模块,其通过对服务层拓扑和客户层拓扑进行寻路,构造出所述网关节点之间的服务层链路和客户层链路,以同时部署服务层路径和客户层路径。

技术总结
本发明公开了一种跨层路径部署方法及装置,涉及通信技术领域,该方法包括以下步骤:根据构造的服务层拓扑和客户层拓扑确定相交的网关节点;通过对服务层拓扑和客户层拓扑进行寻路,构造出所述网关节点之间的服务层链路和客户层链路,以同时部署服务层路径和客户层路径。本发明可以在服务层路径未提前配置好的情况下,通过跨层路径计算,同时计算和部署服务层和客户层路径。层和客户层路径。层和客户层路径。


技术研发人员:罗岳斌
受保护的技术使用者:烽火通信科技股份有限公司
技术研发日:2023.07.27
技术公布日:2023/10/11
版权声明

本文仅代表作者观点,不代表航空之家立场。
本文系作者授权航家号发表,未经原创作者书面授权,任何单位或个人不得引用、复制、转载、摘编、链接或以其他任何方式复制发表。任何单位或个人在获得书面授权使用航空之家内容时,须注明作者及来源 “航空之家”。如非法使用航空之家的部分或全部内容的,航空之家将依法追究其法律责任。(航空之家官方QQ:2926969996)

飞行汽车 https://www.autovtol.com/

分享:

扫一扫在手机阅读、分享本文

相关推荐