一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

一种隧道建立方法、装置及系统与流程

2021-11-30 21:44:00 来源:中国专利 TAG:


1.本技术涉及通信技术领域,尤其涉及一种隧道建立方法、装置及系统。


背景技术:

2.资源预留协议流量工程(resource reservation protocol

traffic engineer,rsvp

te)是使用rsvp的一种多协议标签交换(multiprotocol label switching,mpls)

te隧道技术。由隧道入口的入节点基于约束最短路径优先(constrained shortest path forwarding,cspf)的路由协议,完成路径计算之后,由隧道入节点产生携带标签请求信息的路径(path)消息,沿着通过cspf的路由协议计算出的路径逐跳发送给隧道尾端的出节点,用于每个节点向下一跳节点获取下一跳节点的标签;后续在转发报文,基于下一跳节点的标签来转发报文。
3.段路由流量工程(segment routing

traffic engineering,sr

te)是使用内部网关协议(interior gateway protocol,igp)或者边界网关协议(border gateway protocol,bgp)协议作为控制信令的一种新型的mpls te隧道技术。控制器负责计算隧道的转发路径,并将与路径严格对应的标签栈下发给转发器。在sr

te隧道的首端节点上,转发器根据标签栈,即可控制报文在网络中的传输路径。
4.现有技术中在配置网络节点时,有些节点支持rsvp协议,有些支持sr协议,有些节点两者都支持,在该场景下,支持rsvp的节点如何通过两者都支持的节点与支持sr协议的节点之间建立隧道,有待研究。


技术实现要素:

5.本技术提供一种隧道建立方法、装置及系统,用以解决现有技术中存在的无法实现支持rsvp的节点通过两者都支持的节点与支持sr协议的节点之间建立隧道问题。
6.第一方面,本技术实施例提供了一种隧道建立方法,包括:第一网络设备接收上一跳网络设备发送的第一请求消息,所述第一请求消息用于请求获取所述第一网络设备的资源预留协议流量工程rsvp

te标签,所述第一请求消息中包括所述待建隧道的路径信息,所述待建隧道的路径信息用于指示所述待建隧道的路径,其中,所述上一跳网络设备为在所述待建隧道的路径上所述第一网络设备的上一跳网络设备,所述第一网络设备支持rsvp

te以及段路由流量工程sr

te,所述上一跳网络设备支持rsvp

te;当所述第一网络设备确定在所述待建隧道的路径上所述第一网络设备的下游网络设备中有至少一个网络设备支持sr

te时,建立从所述第一网络设备到所述至少一个网络设备中的第二网络设备的sr

te隧道,并生成用于标识所述sr

te隧道的隧道标识,其中,所述第一网络设备为所述sr

te隧道的入口网络设备,所述第二网络设备为所述sr

te隧道的出口网络设备;所述第一网络设备向所述上一跳网络设备发送第一响应消息,所述第一响应消息包括所述隧道标识,所述隧道标识用作所述第一网络设备的rsvp

te标签。
7.上述方案,提供了一种rsvp

te隧道穿越通过sr

te隧道或者rsvp

te隧道粘连sr

te隧道场景下,隧道建立的方式,丰富了rsvp

te节点与sr

te节点进行组网的场景。
8.在一种可能的设计中,所述建立从所述第一网络设备到所述至少一个网络设备中的第二网络设备的sr

te隧道,并生成用于标识所述sr

te隧道的隧道标识,包括:所述第一网络设备根据所述待建隧道的路径信息获取所述第一网络设备和所述第二网络设备之间的sr

te隧道中每两个邻接节点对应的至少一个邻接标签;所述第一网络设备根据所述至少一个邻接标签生成所述sr

te隧道的标签栈列表,并生成映射于所述标签栈列表的所述隧道标识;所述第一网络设备保存所述隧道标识与所述标签栈列表的关联关系。
9.上述设计中提供了一种rsvp

te隧道穿越通过sr

te隧道或者rsvp

te隧道粘连sr

te隧道的场景下,简单而有效的建立sr

te隧道的方式。
10.在一种可能的设计中,所述第二网络设备为所述待建隧道的出口网络设备,所述至少一个网络设备均不支持rsvp

te。
11.上述设计指明,本技术实施例适用于rsvp

te粘连sr

te的场景。
12.在一种可能的设计中,所述至少一个网络设备中仅所述第二网络设备支持rsvp

te,且所述第二网络设备为所述待建隧道的中间网络设备;所述第一网络设备向所述上一跳网络设备发送第一响应消息之前,还包括:所述第一网络设备通过所述sr

te隧道向所述第二网络设备发送第二请求消息,所述第二请求消息用于请求获取所述第二网络设备的rsvp

te标签;所述第一网络设备接收到所述第二网络设备发送的第二响应消息,所述第二响应消息包括所述第二网络设备的rsvp

te标签。
13.上述设计,指明本技术实施例还适用于rsvp

te隧道穿越通过sr

te隧道的场景。
14.在一种可能的设计中,所述方法还包括:所述第一网络设备接收所述上一跳网络设备发送的报文,所述报文中携带所述隧道标识;所述第一网络设备根据所述隧道标识与所述标签栈列表的关联关系将所述报文中的隧道标识交换为所述标签栈列表,并将更新后的所述报文发送给在所述待建隧道中所述第一网络设备的下一跳网络设备。
15.上述设计提供了在rsvp

te隧道穿越通过或者粘连sr

te隧道下,简单而有效的发送报文的方式。
16.在一种可能的设计中,当所述至少一个网络设备中仅所述第二网络设备支持rsvp

te,且所述第二网络设备为所述待建隧道中的中间网络设备时,所述第一网络设备将所述报文中的隧道标识交换为所述标签栈列表之后,所述方法还包括:所述第一网络设备在所述报文中所述标签栈列表的底部封装所述第二网络设备的rsvp

te标签。
17.上述设计提供了在rsvp

te隧道穿越通过sr

te隧道下,另一种简单而有效的发送报文的方式。
18.第二方面,本技术实施例提供了一种隧道建立方法,包括:网络设备向待建隧道中的下一跳网络设备发送请求消息,所述请求消息用于请求获取所述下一跳网络设备的资源预留协议流量工程rsvp

te标签,所述请求消息包括所述待建隧道的路径信息,所述待建隧道的路径信息用于指示所述待建隧道的路径,其中,所述下一跳网络设备为在所述待建隧道的路径上所述网络设备的下一跳网络设备,所述网络设备支持rsvp

te,所述下一跳网络设备支持rsvp

te以及段路由流量工程sr

te;所述网络设备接收所述下一跳网络设备发送的响应消息,所述响应消息包括作为所述网络设备的rsvp

te标签的隧道标识,所述隧道标识用于标识所述下一跳网络设备在所述待建隧道的路径中建立的sr

te隧道。
19.上述方案中,提供了一种rsvp

te隧道穿越通过sr

te隧道或者rsvp

te隧道粘连sr

te隧道场景下,隧道建立的方式,丰富了rsvp

te节点与sr

te节点进行组网的场景。
20.在一种可能的设计中,还包括:所述网络设备在向所述下一跳网络设备发送报文时,将所述隧道标识作为所述下一跳网络设备的rsvp

te标签携带在所述报文中发送给所述下一跳网络设备。
21.上述设计,提供了一种rsvp

te隧道穿越通过sr

te隧道或者rsvp

te隧道粘连sr

te隧道场景下,报文的发送方式。
22.第三方面,基于与第一方面的方法实施例同样的发明构思,本技术实施例提供了一种隧道建立装置,所述装置应用于第一方面所述的第一网络设备,即该装置可以是第一网络设备,也可以是能够应用于第一网络设备的芯片。该装置具有实现上述第一方面的各实施例的功能。该功能可以通过硬件实现,也可以通过硬件执行相应的软件实现。该硬件或软件包括一个或多个与上述功能相对应的模块。
23.第四方面,基于与第二方面提供的方法实施例同样的发明构思,本技术实施例提供了一种隧道建立装置,所述装置应用于第二方面所述的网络设备,即该装置可以是网络设备,也可以是能够应用于网络设备的芯片。该装置具有实现上述第一方面的各实施例的功能。该功能可以通过硬件实现,也可以通过硬件执行相应的软件实现。该硬件或软件包括一个或多个与上述功能相对应的模块。
24.第五方面,本技术实施例提供一种装置,包括:处理器和存储器;该存储器用于存储指令,当该装置运行时,该处理器执行该存储器存储的该指令,以使该装置执行上述第一方面或第一方面的任一实现方法中的隧道建立方法。需要说明的是,该存储器可以集成于处理器中,也可以是独立于处理器之外。装置还可以包括总线。其中,处理器通过总线耦接存储器。其中,存储器可以包括可读存储器以及随机存取存储器。当需要运行该装置时,通过固化在只读存储器中的基本输入输出系统或者嵌入式系统中的bootloader引导系统进行启动,引导装置进入正常运行状态。在装置进入正常运行状态后,在随机存取存储器中运行应用程序和操作系统,使得该处理器执行第一方面或第一方面的任意可能的实现设计中的方法。
25.第六方面,本技术实施例提供一种装置,包括:处理器和存储器;该存储器用于存储指令,当该装置运行时,该处理器执行该存储器存储的该指令,以使该装置执行上述第二方面或第二方面的任一实现方法中的隧道建立方法。需要说明的是,该存储器可以集成于处理器中,也可以是独立于处理器之外。装置还可以包括总线。其中,处理器通过总线耦接存储器。其中,存储器可以包括可读存储器以及随机存取存储器。当需要运行该装置时,通过固化在只读存储器中的基本输入输出系统或者嵌入式系统中的bootloader引导系统进行启动,引导装置进入正常运行状态。在装置进入正常运行状态后,在随机存取存储器中运行应用程序和操作系统,使得该处理器执行第二方面或第二方面的任意可能的实现设计中的方法。
26.第七方面,本技术实施例还提供了一种系统,包括第三方面或第五方面所述的第一网络设备,以及第四方面或第六方面所述的网络设备。在一个可能的设计中,该系统还可以包括本技术实施例提供的方案中与该两种网络设备进行交互的其他网络设备,例如待建隧道上路径上的其它网络设备。
27.第八方面,本技术实施例还提供一种可读存储介质,所述可读存储介质中存储有程序或指令,当其在计算机上运行时,使得上述各方面的任意的隧道建立方法被执行。
28.第九方面,本技术实施例还提供一种包含指令的计算机程序产品,当其在计算机上运行时,使得计算机执行上述各方面中的任意隧道建立方法。
29.另外,第三方面至第九方面中任一种设计方式所带来的技术效果可参见第一方面至第二方面中不同实现方式所带来的技术效果,此处不再赘述。
附图说明
30.图1为本技术实施例提供的rsvp

te的工作原理示意图;
31.图2为本技术实施例提供的sr

te的工作原理示意图;
32.图3a为本技术实施例提供的rsvp

te隧道穿越通过sr

te隧道架构示意图;
33.图3b为本技术实施例提供的rsvp

te隧道粘连sr

te隧道架构示意图;
34.图3c为本技术实施例提供的多个rsvp

te隧道与多个sr

te隧道穿越通过架构示意图;
35.图4为本技术实施例提供的一种隧道建立方法流程图;
36.图5为本技术实施例提供的rsvp

te隧道穿越通过sr

te隧道场景架构示意图;
37.图6a

6b为本技术实施例提供的rsvp

te隧道穿越通过sr

te隧道场景下的隧道建立方法流程示意图;
38.图7a

7b为本技术实施例提供的rsvp

te隧道穿越通过sr

te隧道场景下的报文传输方法流程示意图;
39.图8为本技术实施例提供的rsvp

te隧道粘连sr

te隧道场景架构示意图;
40.图9a

9b为本技术实施例提供的rsvp

te隧道粘连sr

te隧道场景下的隧道建立方法流程示意图;
41.图10a

10b为本技术实施例提供的rsvp

te隧道粘连sr

te隧道场景下的报文传输方法流程示意图;
42.图11为本技术实施例提供的装置1100的结构示意图;
43.图12为本技术实施例提供的网络设备1200的结构示意图;
44.图13为本技术实施例提供的装置1300的结构示意图;
45.图14为本技术实施例提供的网络设备1400的结构示意图。
具体实施方式
46.本技术应用于支持sr

te的节点和支持rsvp

te的节点混合组网场景。
47.在本技术实施例中,节点也可以称为网络设备,网络设备是在网络中提供路由转发功能的设备,例如,可以是路由器、交换机、转发器或者标签交换路由器(label switching router,lsr)等,不作限定。在后续描述过程中,以节点为例进行说明。
48.下面以图1为例对rsvp

te的工作原理进行简单说明,以建立从节点r1至节点r8的隧道为例:
49.入节点r1依据rsvp

te隧道所配置的约束,如指定路径、带宽约束、链路着色等条件通过cspf计算得出rsvp

te隧道所要经过的路径。以经过的路径为r1

>r2

>r4

>r8为例。
完成路径计算之后,由入节点r1向目的节点(也可以称为出节点、末节点或者尾节点)r8发送rsvp path消息,该rsvp path消息用于请求获取下游方向上节点的标签,并申请预留资源。收到rsvp path消息的下游节点,比如节点r2会首先检测消息格式是否正确,然后检测path消息中申请预留的资源是否可以满足。该过程可以称为准入控制。
50.当准入控制成功之后,每个下游节点会产生一个新的path消息,然后发送给下一跳节点,比如r2发送给r3,r3发送给r4,该过程持续到最后一个节点,即出节点。当出节点r8接收到上一跳发来的path消息后,验证是否是够可以满足path消息中申请预留的资源是否可以满足,若满足,则通过rsvp响应消息(比如rsvp resv消息)进行回应,并且预留对应的资源。rsvp resv消息也是按照路径逐跳发送,并且携带着rsvp标签、预留资源等信息,例如,r4向r3发送的rsvp resv消息中携带着r4的rsvp标签。当入节点r1接收到rsvp resv消息时,隧道建立成功。采用rsvp

te建立的lsp具有资源预留功能,沿途经过的节点可以为该lsp分配一定的资源,使在此lsp上传送的业务得到保证。
51.下面以图2为例对sr

te的工作原理进行简单说明:
52.在sr

te技术中,控制平面采用基于链路状态的igp协议,或者边界网关协议(border gateway protocol,bgp),来分发节点的mpls标签,数据平面基于该控制平面分发的标签进行mpls报文转发。
53.sr

te(segment routing

traffic engineering)是使用内部网关协议(interior gateway protocol,igp)或者边界网关协议(border gateway protocol,bgp)协议作为控制信令的一种新型的te隧道技术。控制器负责计算隧道的转发路径,并将与路径严格对应的标签栈列表下发给转发器。在sr

te隧道的入节点上,转发器根据标签栈列表,即可控制报文在网络中的传输路径。
54.标签栈列表包括了转发路径上每个链路对应的邻接标签。
55.邻接标签(adjacency segment)用于标识sr网络中的路由链路,是sr

te主要使用的标签类型。adjacency segment可以通过adjacency segment id(sid)标识。邻接标签具有一定的方向性,用于指导报文转发时,仅在源节点本地有效。如图2所示,邻接标签9003对应链路pe1

>p3,源节点为pe1;邻接标签9004对应链路p3

>pe1,源节点为p3。
56.标签栈列表是邻接标签的排序集合,用于标识一条完整的标签交换路径lsp。标签栈列表中每一个邻接标签标识一条具体的链路,整个标签栈列表从栈顶到栈底依次标识了整条lsp途径的所有链路。在报文转发过程中,根据标签栈列表栈顶的邻接标签查找对应的链路,并将标签弹出后进行转发,将标签栈列表中所有邻接标签弹出后,报文就走完了整条lsp,到达sr

te隧道的目的地。
57.转发器基于igp协议分配邻接标签,并将分配的邻接标签上报给控制器,从而控制器基于邻接标签生成标签栈列表。
58.邻接标签通过igp协议泛洪到整个网络中。如图2所示,以p3设备为例,igp协议分配邻接标签的具体过程如下:
59.p3通过igp协议为其所有链路申请本地动态标签(例如:p3为链路p3

>p4分配链路标签9002)。p3通过igp协议发布邻接标签,泛洪到整个网络。网络中的其它设备通过igp协议学习到p3发布的邻接标签。具体的,pe1、pe2、p1、p2、p4按照p3的方式分配和发布邻接标签,并泛洪给网络中的其它设备。
60.控制器基于sr

te的隧道约束属性进行路径计算,计算出来的路径根据拓扑和邻接标签,将整条路径的邻接标签整合在一起,生成一个标签栈列表。比如参见图2所示,控制器计算出sr

te隧道路径为pe1

>p3

>p1

>p2

>p4

>pe2,对应的标签栈列表为{1003,1006,1005,1009,1010},控制器通过计算出的标签栈列表下发给转发器入节点pe1。从而转发器根据控制器下发的标签栈列表获得sr

te隧道lsp。
61.转发器上根据sr

te隧道lsp对应的标签栈列表,对报文进行标签操作,并根据栈顶标签逐跳查找转发出接口,指导数据报文转发到隧道目的地址。
62.当报文进入sr

te隧道时,入节点在报文中插入一个标签栈列表;当报文在sr

te隧道中转发时,根据栈顶的标签查找转发出接口之后,将栈顶的标签剥掉。比如,参见图2所示,入节点pe1为数据报文添加标签栈列表{1003,1006,1005,1009,1010},然后根据栈顶的标签1003匹配链路,找到对应的转发出接口为pe1

>p3链路,之后将标签1003弹出。报文携带标签栈{1006,1005,1009,1010},通过pe1

>p3链路向下一跳节点p3转发。中间节点p3收到报文后,根据栈顶的标签1006匹配链路,找到对应的转发出接口为p3

>p1链路,之后将标签1006弹出,以此类推,节点p1、p2、p4收到报文后,以与中间节点p3相同的方式继续转发。直到节点p4弹出最后一个标签1010,数据报文转发至节点f。出节点pe2收到的报文不带标签,通过查找路由表继续转发。
63.另外,需要说明的是,本技术实施例中的多个指两个或两个以上。“和/或”,描述关联对象的关联关系,表示可以存在三种关系,例如,a和/或b,可以表示:单独存在a,同时存在a和b,单独存在b这三种情况。另外,需要理解的是,在本技术的描述中,“第一”、“第二”等词汇,仅用于区分描述的目的,而不能理解为指示或暗示相对重要性,也不能理解为指示或暗示顺序。节点1或者节点2等也仅用于区分描述的节点,而不能理解为指示或者暗示相对重要性,也不能理解为指示或者暗示顺序。
64.在支持sr

te的节点和支持rsvp

te的节点混合组网场景下,rsvp

te隧道如何穿越通过或者粘连sr

te隧道建立由rsvp

te隧道和sr

te隧道共同构成的混合隧道,有待研究。比如,参见图3a和图3b所示,其中图3a所示为rsvp

te域(domain)穿越sr

te域,图3b所示为rs

te域粘连sr

te域。其中,每个域中的节点的数量不作具体限定。另外,还可以是三个rsvp

te域需要穿越通过两个sr

te域,或者更多,比如图3c所示。其中,rsvp

te(1)和rsvp

te(2)需要穿越通过sr

te(1)可以通过本技术实施例提供的隧道建立方法实现,rsvp

te(2)和rsvp

te(3)需要穿越通过sr

te(2)可以通过本技术实施例提供的隧道建立方法实现。
65.基于此,本技术实施例提供一种隧道建立方法、装置及系统,实现rsvp

te隧道穿越通过或者粘连sr

te隧道来建立由rsvp

te隧道和sr

te隧道共同构成的混合隧道。其中,方法和装置是基于同一发明构思的,由于方法及装置解决问题的原理相似,因此装置与方法的实施可以相互参见,重复之处不再赘述。
66.参见图4所示,为本技术实施例提供的隧道建立方法流程示意图。以待建隧道包括n个节点为例,其中,位于中间位置的节点1支持rsvp

te以及sr

te。第一节点的上一跳节点不支持sr

te,仅支持rsvp

te,在待建隧道的路径上第一节点的下游节点中有至少一个节点支持sr

te。比如,第一节点的下游方向上一个节点支持sr

te,则待建隧道中,在下游方向上,第一节点的下一跳节点支持sr

te,若下游方向上两个节点支持sr

te,该两个节点为
邻接的两个节点,且其中一个节点与第一节点邻接,即第一节点的下一跳节点支持sr

te,该下一跳节点的下一跳节点也支持sr

te。以a连接b,b连接c为例,则a

>b

>c的路径中,a的下一跳节点的下一跳节点为c。
67.为了后续描述方便将第一节点的下游节点中最后一个支持sr

te的节点称为第二节点。
68.值得说明的是,在本技术实施例中,上游和下游是以数据报文在隧道上传输的方向为依据来阐述的。待建隧道是一条从入口节点到出口节点方向的隧道,数据报文在该隧道的路径上传输。入口节点就是出口节点的上游节点,反之,出口节点是入口节点的下游节点。如果在该待建隧道的路径上,入口节点和出口节点之间还存在中间节点,则中间节点相对入口节点来说,是入口节点的下游节点,而中间节点相对于出口节点来说,是出口节点的上游节点。
69.s401,第一节点的上一跳节点向第一节点发送第一请求消息,该第一请求消息用于请求获取第一节点的rsvp

te标签,所述第一请求消息中包括所述待建隧道的路径信息。
70.该待建隧道的路径信息用于指示所述待建隧道的路径。
71.s402,第一节点接收上一跳节点发送的第一请求消息。
72.s403,第一节点确定在待建隧道的路径上的所述第一节点的下游节点中有至少一个节点支持sr

te时,建立所述第一节点到所述至少一个节点中的第二节点的sr

te隧道,并生成用于标识所述sr

te隧道的隧道标识。
73.其中,隧道标识采用的格式可以与rsvp标签的格式相同。隧道标识也可以称为绑定段标识(blind segment id,bsid)。
74.本技术实施例中,sr网络中的每一个节点会将自身sr能力通过igp协议扩展在整个sr域内通告,这样,每一个sr节点就可以自动获知其它支持sr

te的节点。
75.其中,所述至少一个节点包括所述第一节点的下一跳节点,所述第二节点为所述sr

te隧道的出节点。比如,当至少一个节点为1个节点时,即第一节点的下一跳节点为第二节点,当至少一个节点为两个节点时,比如第一节点的下一跳节点为节点x,则第二节点为节点x的下一跳节点。
76.s404,所述第一节点向所述上一跳节点发送第一响应消息,所述第一响应消息包括所述隧道标识,所述隧道标识用作所述第一节点的rsvp

te标签。
77.其中,请求消息可以是path消息,响应消息可以是resv消息。
78.本技术实施例在应用于rsvp

te粘连sr

te场景时,上述第二节点为所述待建隧道的出节点,所述至少一个节点均不支持rsvp

te。
79.本技术实施例在应用于rsvp

te隧道穿越通过sr

te隧道场景时,所述至少一个节点中仅所述第二节点支持rsvp

te,且所述第二节点不为所述待建隧道的出节点,即第二节点为所述待建隧道的中间节点。
80.在此场景下,所述第一节点向所述上一跳节点发送第一响应消息之前,所述第一节点通过所述sr

te隧道向所述第二节点发送第二请求消息,所述第二请求消息用于请求获取所述第二节点的rsvp

te标签;所述第一节点接收到所述第二节点发送的第二响应消息,所述第二响应消息包括所述第二节点的rsvp

te标签。
81.下面结合具体实例对上述两个场景分别描述。
82.参见图5所示,为rsvp

te隧道穿越通过隧道sr

te场景。
83.其中,rsvp

te节点,即支持rsvp

te的节点,包括节点a、节点b、节点h以及节点i。sr

te节点,即支持sr

te的节点,包括节点d和节点f。rsvp

te&sr

te节点,即既支持rsvp

te又支持sr

te的节点,包括节点c和节点g。其中,节点a作为待建隧道的入节点,节点i为待建隧道的出节点。
84.具体的隧道建立方案如图6a和图6b所示。
85.节点a基于cspf计算从节点a到节点i这条待建隧道的路径,这条路径是指定了沿途每一跳的ip地址。经过计算后路径为a

>b

>c

>d

>f

>g

>h

>i。节点a将cspf计算出来的ip地址列表作为待建隧道的路径信息,该路径信息可以称为显示路径对象(explicit route object,ero)信息,根据路径信息构造path消息(message,msg)1。还可以由节点a触发控制器基于cspf计算从节点a到节点i的路径,然后并将计算出来的ip地址列表作为ero信息发送给节点a,从而节点a根据接收到的ero信息构造path消息1。
86.节点a构造的path消息1包括的内容如表1所示。本技术提供的表格所表明的path消息中包括的内容仅作为一种示例,当然path消息还可以其它相关信息,比如发送者的地址(可以通过sender_template表示)、通过record_route来记录了已经走过的路由,此处不作具体限定。
87.其中,对象会话包括rsvp会话相关信息,包括:目的地址(destination address)、整个建立的隧道id(tunnel id)、扩展的隧道id(extend tunnel id)等信息。phop表示发送path消息的上一跳的出接口地址,即节点a到节点b的出接口地址,为a的出接口地址,sender_tspec指明了数据流的流量特征,也即描述了path的要求,比如表1中sender_tspec配置为2mbps,即表明需要预留2mbps的带宽。
88.表1
89.对象(object)值(value)会话(session)a

>iphopaerob

>c

>d

>f

>g

>h

>isender_tspec2mbps
90.s601,节点a基于ero将构建的path消息1发送给节点b。
91.s602,节点b在接收到path消息1后,将path消息1更新为path消息2,并将path消息2发送给节点c。
92.其中path消息2包括的内容如表2所示。具体的,节点b更新path消息1的phop为b到c的出接口地址,即为b的地址。节点b更新path消息1的ero,删除节点b自己的出接口地址。
93.表2
94.对象(object)值(value)会话(session)a

>iphopberoc

>d

>f

>g

>h

>isender_tspec2mbps
95.s603,节点c接收到节点b发送的path消息2后,节点c根据path消息2确定待建隧道
的路径中在节点c的下游节点中有支持sr

te的节点,即节点d、节点f、节点g。
96.在待建隧道的路径上,节点d与节点c直接相邻(或者说节点d与节点c邻接),节点f与节点d直接相邻,节点g与节点f直接相邻。也就是,节点c的下游节点中有支持sr

te的节点,所述支持sr

te的节点在待建隧道上是依次相邻的,而且在节点c的下游所述支持sr

te的节点中处在最上游的节点(如节点d)与节点c直接相邻。
97.具体的,节点c可以根据path消息2确定待建隧道中节点d和节点f不支持rsvp

te,仅支持sr

te。并确定节点g既支持sr

te也支持rsvp

te,从而确定了一条从节点c到节点g的sr

te路径。
98.其中,在节点c确定路径中节点d和节点f不支持rsvp

te时,可以通过rfc5073扩展的te节点能力指示符(te node capability descriptor)来确定。其中frc5073是为发现流量工程节点能力而扩展的igp路由协议的相关标准文件。
99.s604,节点c建立由节点c到节点g之间的sr

te隧道,并为该sr

te隧道分配隧道标识。在分配隧道标识时,节点c可以从srlb(即sr本地标签段)中自动分配一个与其它节点标签不冲突的标签。
100.其中,节点c建立由节点c到节点g之间的sr

te隧道时可以通过igp协议建立。
101.具体的,节点c获取到节点c和节点g之间的sr

te隧道中每两个邻接节点对应的至少一个邻接标签。即包括用于表示节点c与节点d之间链路的邻接标签,比如为304;用于表示节点d和节点f之间链路的邻接标签,比如为405;以及用于表示节点f和节点g之间链路的邻接标签,比如为506。从而节点c根据所述邻接标签生成所述sr

te隧道的标签栈列表,并生成映射于所述标签栈列表的隧道标识,即为sr

te隧道分配一个隧道标识,并建立该隧道标识与标签栈列表的关联关系,从而节点c创建完成一条节点c到节点g的sr

te隧道。节点c将该关联关系保存下来。
102.其中,path消息2中包括待建a

i这条隧道的路径信息,路径信息即ero信息,该path消息2中ero包括d、f、g的ip路由信息,即d

>f

>g这条路径。从而节点c在根据所述邻接标签生成标签栈列表时,可以基于ero信息和获取到的所述邻接标签,生成所述sr

te隧道的标签栈列表,即按照d

>f

>g这条路径,标签栈列表从栈顶到栈底依次为304、405、506。
103.s605,节点c将path消息2更新为path消息3,并将path消息3通过节点c到节点g之间的sr

te隧道发送给节点g,即基于标签栈列表将path消息3发送给节点g。
104.其中path消息3包括的内容如表3所示。具体的,节点c更新path消息2的phop为c到g的出接口地址,即为c的地址。节点c更新path消息2的ero,删除节点c自己的出接口地址。
105.表3
106.对象(object)值(value)会话(session)a

>iphopcerog

>h

>isender_tspec2mbps
107.s606,节点g接收到该path消息3后,将path消息3更新为path消息4,发送给节点h。
108.其中path消息4包括的内容如表4所示。具体的,节点g更新path消息3的phop为g到h的出接口地址,即为g的地址。节点g更新path消息3的ero,删除节点g自己的出接口地址。
109.表4
110.对象(object)值(value)会话(session)a

>iphopgeroh

>isender_tspec2mbps
111.s607,节点h接收到该path消息4后,将path消息4更新为path消息5,发送给节点i。
112.其中path消息5包括的内容如表5所示。具体的,节点h更新path消息4的phop为h到i的出接口地址,即为h的出接口地址。节点h更新path消息4的ero,删除节点h自己的出接口地址。
113.表5
114.对象(object)值(value)会话(session)a

>iphopheroisender_tspec2mbps
115.s608,节点i接收到path消息5后,分配节点i的rsvp

te标签,将该节点i的rsvp

te标签携带在resv消息5中发送给节点h。节点i的rsvp

te标签是节点i为节点h识别该节点i分配的标签。
116.节点i从收到的path消息5中提取phop字段的h的出接口地址作为resv消息的目的ip地址。此外,resv消息沿着反向路径进行转发,因此resv消息中并不携带ero。
117.s609,节点h接收到resv消息5后,分配节点h的rsvp

te标签,将resv消息5中节点i的rsvp

te标签保存下来,并将resv消息5中将该节点i的rsvp

te标签替换为节点h的rsvp

te标签。从而resv消息5更新为resv消息4,并将resv消息4发送给节点g。
118.同理,s610,节点g接收到resv消息4后,分配节点g的rsvp

te标签,将resv消息4中节点h的rsvp

te标签保存下来,将resv消息4中将该节点h的rsvp

te标签替换为节点g的rsvp

te标签,从而resv消息4更新为resv消息3,并将resv消息3发送给节点c。具体的,节点g根据记录路由对象(record route object,pro),确定节点c的ip地址,根据节点c的ip地址resv消息3发送给节点c。其中,pro记录路由列表中记录了rsvp

te隧道中在发送path消息的每个节点的ip地址。
119.s611,节点c接收到resv消息3后,将resv消息3中节点g的rsvp

te标签保存下来,将resv消息3中将该节点g的rsvp

te标签替换为隧道标识(该隧道标识即作为了节点c的rsvp

te标签),从而resv消息3更新为resv消息2,并将resv消息2发送给节点b。
120.s612,节点b接收到resv消息2后,为节点b分配rsvp

te标签,将resv消息2中隧道标识保存下来,将resv消息2中隧道标识替换为节点b的rsvp

te标签,从而resv消息2更新为resv消息1,并将resv消息1发送给节点a。
121.节点a接收到resv消息1后,保存节点b的rsvp

te标签。从而整条隧道建立完成。
122.在完成隧道建立后,当节点a可以通如下方式通过建立好隧道向节点i发送报文,参见图7a和图7b所示:
123.s701,节点a向下一跳节点b发送报文,该报文携带节点b的rsvp

te标签。
124.s702,节点b接收到报文后,将报文中的节点b的标签替换为隧道标识,比如bsid,并将更新后的报文发送给节点c。
125.s703,节点c接收到节点b发来的报文后,根据保存的所述隧道标识与所述标签栈列表的关联关系将报文中隧道标识交换为标签栈列表。
126.其中,标签栈列表中按顺序为节点c与节点d之间链路的邻接标签,节点d和节点f之间链路的邻接标签,节点f和节点g之间链路的邻接标签。
127.具体的,节点c基于关联关系查找报文中的隧道标识关联的标签栈列表,然后将隧道标识更换为查找到的标签栈列表。
128.s704,节点c在报文中标签栈列表的底部添加节点g的rsvp

te标签。
129.s705,节点c根据标签栈列表中栈顶的邻接标签(节点c和节点d之间链路的邻接标签304)确定节点c和节点d之间的链路,并将栈顶的邻接标签304弹出后,将更新后的报文发送给节d。
130.s706,节点d接收到节点c发来的报文后,根据报文中标签栈列表中栈顶的邻接标签405确定节点d和节点f之间的链路,并将栈顶的邻接标签405弹出后,将更新后的报文发送给节f。
131.s707,节点f接收到节点d发送的报文后,根据报文中标签栈列表中栈顶的邻接标签506确定节点f和节点g之间的链路,并将栈顶的邻接标签506弹出后,将更新后的报文发送给节点g。
132.s708,节点g接收到节点f发送的报文后,确定报文中的标签为自身的rsvp

te标签,将报文中自身的rsvp

te标签交换为节点h的rsvp

te标签,并将更新后的报文发送给节点h。
133.s709,节点h接收到节点g发送给的报文后,确定报文中的标签为自身的rsvp

te标签,将报文中自身的rsvp

te标签交换为节点i的rsvp

te标签,并将更新后的报文发送给节点i。从而节点i接收到节点h发送的报文后,确定报文中的标签为自身的rsvp

te标签,将报文中自身的rsvp

te标签删除,继续后续转发。
134.参见图8所示,为rsvp

te粘连sr

te场景。
135.其中,rsvp

te节点,包括节点a、节点b;sr

te节点,包括节点d、节点f和节点g。rsvp

te&sr

te节点,包括节点c。其中,节点a作为待建隧道的入节点,节点g为待建隧道的出节点。图8对应的实施例与图5对应的实施例的区别在于,节点g不支持rsvp

te,且节点g为待建隧道的出节点。
136.具体的隧道建立方案如图9a和图9b所示。
137.节点a基于cspf计算从节点a到节点g的待建隧道的路径,这条路径是指定了沿途每一跳的ip地址。经过计算后路径为a

>b

>c

>d

>f

>g。节点a将cspf计算出来的ip地址列表作为显示路径对象(explicit route object,ero)信息,构造path消息(message,msg)1。还可以由节点a触发控制器基于cspf计算从节点a到节点i的路径,然后并将计算出来的ip地址列表作为ero信息发送给节点a,从而节点a根据接收到的ero信息构造path消息1。
138.s901

s904,参见s601

s604,此处不再赘述。
139.s905,节点c确定节点g为待建隧道的出节点,隧道标识携带在resv消息1中发送给
节点b,该隧道标识即作为了节点c的rsvp

te标签。
140.s906,节点b接收到resv消息2后,为节点b分配rsvp

te标签,将resv消息2中隧道标识保存下来,将resv消息2中的隧道标识替换为节点b的rsvp

te标签,即resv消息2更新为resv消息1,并将resv消息1发送给节点a。
141.节点a接收到resv消息1后,保存节点b的rsvp

te标签。从而整条隧道建立完成。
142.在完成隧道建立后,当节点a可以通如下方式通过建立好隧道向节点g发送报文,参见图10a和图10b所示:
143.s1001

s1003,参见s701

s703,此处不再赘述。
144.s1004

s1006,参见s705

s707,此处不再赘述。节点g接收到节点f发送的报文后,继续后续转发。
145.基于与方法实施例同样的发明构思,本技术实施例还提供了一种装置,参见图11所示,该装置1100应用于网络设备,该网络设备可以是rsvp

te与sr

te的粘连节点,比如图4对应的实施例中的第一节点或者图5、图8对应的实施例中的节点c,该装置1100具体可以是网络设备中的处理器,或者芯片或者芯片系统,或者是一个功能模块等。该装置1100可以包括接收模块1101、处理模块1102、发送模块1103。处理模块1102用于对装置1100的动作进行控制管理,接收模块1101用于接收请求消息或者接收报文,发送模块1103用于发送响应消息或者发送报文,处理模块1102用于对接收模块1101接收到的请求消息或者报文进行处理。处理模块1102还可以用于指示上述任意实施例中涉及网络设备(比如第一节点或者节点c)的处理过程和/或本技术所描述的技术方案的其他过程。该装置还可以包括存储模块(图11中未示出),存储模块用于存储隧道标识与标签栈列表之间的关联关系。
146.以该装置1100应用于第一节点为例,接收模块1101用于接收上一跳节点发送的第一请求消息(具体参见图4

图10b中的相关描述,此处不再赘述),所述第一请求消息用于请求获取所述第一节点的rsvp

te标签,所述第一请求消息中包括所述待建隧道的路径信息,所述待建隧道的路径信息用于指示所述待建隧道的路径,其中,所述上一跳节点为在所述待建隧道的路径上所述第一节点的上一跳节点,所述第一节点支持rsvp

te以及段路由流量工程sr

te,所述上一跳节点支持rsvp

te。处理模块1102用于当确定在所述待建隧道的路径上所述第一节点的下游节点中有至少一个节点支持sr

te时,建立从所述第一节点到所述至少一个节点中的第二节点的sr

te隧道,并生成用于标识所述sr

te隧道的隧道标识,其中,所述第一节点为所述sr

te隧道的入口节点,所述第二节点为所述sr

te隧道的出口节点;发送模块1103用于向所述上一跳节点发送第一响应消息,所述第一响应消息包括所述隧道标识,所述隧道标识用作所述第一节点的rsvp

te标签。
147.本技术实施例可以应用于两种场景下:
148.第一种场景,所述第二节点为所述待建隧道的出口节点,所述至少一个节点均不支持rsvp

te。
149.第二种场景,所述至少一个节点中仅所述第二节点支持rsvp

te,且所述第二节点为所述待建隧道的中间节点。
150.在任一场景下,一种可能的实施方式中,所述处理模块1102,在建立从所述第一节点到所述至少一个节点中的第二节点的sr

te隧道,并生成用于标识所述sr

te隧道的隧道标识时,可以通过如下方式实现:
151.根据所述待建隧道的路径信息获取所述第一节点和所述第二节点之间的sr

te隧道中每两个邻接节点对应的至少一个邻接标签;根据所述至少一个邻接标签生成所述sr

te隧道的标签栈列表,并生成映射于所述标签栈列表的所述隧道标识。并将所述隧道标识与所述标签栈列表的关联关系保存在所述存储模块中。
152.在第二场景下,一种可能的实施方式中,所述发送模块1103还用于在向所述上一跳节点发送第一响应消息之前,通过所述sr

te隧道向所述第二节点发送第二请求消息,所述第二请求消息用于请求获取所述第二节点的rsvp

te标签;所述接收模块1101,还用于接收所述第二节点发送的第二响应消息,所述第二响应消息包括所述第二节点的rsvp

te标签。
153.在任一场景下,一种可能的实施方式中,所述接收模块1101还用于接收所述上一跳节点发送的报文,所述报文中携带所述隧道标识;所述处理模块1102,还用于根据所述隧道标识与所述标签栈列表的关联关系将所述报文中的隧道标识交换为所述标签栈列表;所述发送模块1103,还用于将更新后的所述报文发送给在所述待建隧道中所述第一节点的下一跳节点。
154.在第二场景下,一种可能的实施方式中,当所述至少一个节点中仅所述第二节点支持rsvp

te,且所述第二节点为所述待建隧道中的中间节点时,所述处理模块1102,还用于在将所述报文中的隧道标识交换为所述标签栈列表之后,在所述报文中所述标签栈列表的底部封装所述第二节点的rsvp

te标签。
155.本技术实施例还提供另外一种网络设备的结构,如图12所示,网络设备1200中可以包括通信接口1210、处理器1220。可选的,网络设备120中还可以包括存储器1230。该网络设备1200是粘连节点,比如图4

图10b中所述的第一节点或者节点c。其中,存储器1230可以设置于网络设备内部,还可以设置于网络设备1200外部。上述图11中所示的、处理模块1102均可以由处理器1220实现。接收模块1101、发送模块1103可以由通信接口1210实现。处理器1220通过通信接口1210收发报文或者消息,并用于实现图4~图10b中所述的网络设备(第一节点或者节点c)所执行的任一方法。在实现过程中,处理流程的各步骤可以通过处理器1220中的硬件的集成逻辑电路或者软件形式的指令完成图4~图10b中所述的第一节点或者节点c所执行的方法。为了简洁,在此不再赘述。处理器1220用于实现上述方法所执行的程序代码可以存储在存储器1230中。存储器1230和处理器1220耦合。存储器1230还用于存储隧道标识与标签栈列表的关联关系。
156.本技术实施例中不限定上述通信接口1210、处理器1220以及存储器1230之间的具体连接介质。本技术实施例在图12中以存储器1230、处理器1220以及通信接口1210之间通过总线连接,总线在图12中以粗线表示,其它部件之间的连接方式,仅是进行示意性说明,并不引以为限。所述总线可以分为地址总线、数据总线、控制总线等。为便于表示,图12中仅用一条粗线表示,但并不表示仅有一根总线或一种类型的总线。
157.基于与方法实施例同样的发明构思,本技术实施例还提供了一种装置,参见图13所示,该装置1300应用于网络设备,该网络设备可以是rsvp

te与sr

te的粘连节点的上一跳节点,比如图4对应的实施例中的第一节点的上一跳节点或者图5

图10b对应的实施例中的节点b,该装置1300具体可以是网络设备中的处理器,或者芯片或者芯片系统,或者是一个功能模块等。该装置1300可以包括接收模块1301、处理模块1302、发送模块1303。处理模
块1302用于对装置1300的动作进行控制管理,接收模块1301用于接收请求消息或者接收报文,发送模块1303用于发送响应消息或者发送报文,处理模块1302用于对接收模块1301接收到的请求消息或者报文进行处理。处理模块1302还可以用于指示上述任意实施例中涉及网络设备(比如图4

图10b中第一节点的上一跳节点或者节点b)的处理过程和/或本技术所描述的技术方案的其他过程。
158.发送模块1303用于向在待建隧道中的下一跳节点发送请求消息,所述请求消息用于请求获取所述下一跳节点的资源预留协议流量工程rsvp

te标签,所述请求消息包括所述待建隧道的路径信息,所述待建隧道的路径信息用于指示所述待建隧道的路径,其中,所述下一跳节点为在所述待建隧道的路径上所述节点的下一跳节点,所述节点支持rsvp

te,所述下一跳节点支持rsvp

te以及段路由流量工程sr

te;接收模块1301用于接收所述下一跳节点发送的响应消息,所述响应消息包括作为所述节点的rsvp

te标签的隧道标识,所述隧道标识用于标识所述下一跳节点在所述待建隧道的路径中建立的sr

te隧道。
159.在一种可能的实施方式中,处理模块1302,用于在所述发送模块1303向所述下一跳节点发送报文时,将所述隧道标识作为所述下一跳节点的rsvp

te标签携带在所述报文中;所述发送模块1303,还用于将携带所述隧道标识的所述报文发送给所述下一跳节点。
160.本技术实施例还提供另外一种网络设备的结构,如图14所示,网络设备1400中可以包括通信接口1410、处理器1420。可选的,网络设备140中还可以包括存储器1430。其中,存储器1430可以设置于网络设备内部,还可以设置于网络设备外部。上述图13中所示的、处理模块1302均可以由处理器1420实现。接收模块1301、发送模块1303可以由通信接口1410实现。处理器1420通过通信接口1410收发报文或者消息,并用于实现图4~图10b中所述的网络设备(第一节点的上一跳节点或者节点b)所执行的任一方法。在实现过程中,处理流程的各步骤可以通过处理器1420中的硬件的集成逻辑电路或者软件形式的指令完成图4~图10b中所述的第一节点的上一跳节点或者节点b所执行的方法。为了简洁,在此不再赘述。处理器1420用于实现上述方法所执行的程序代码可以存储在存储器1430中。存储器1430和处理器1420耦合。
161.本技术实施例中涉及到的任一通信接口可以是电路、总线、收发器或者其它任意可以用于进行信息交互的装置。比如网络设备1400中的通信接口1410,示例性地,该其它装置可以是与该网络设备1400相连的设备,比如,该其它装置可以是该网络设备1400的上一跳节点或者下一跳节点等。
162.本技术实施例中涉及的处理器可以是通用处理器、数字信号处理器、专用集成电路、现场可编程门阵列或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件,可以实现或者执行本技术实施例中的公开的各方法、步骤及逻辑框图。通用处理器可以是微处理器或者任何常规的处理器等。结合本技术实施例所公开的方法的步骤可以直接体现为硬件处理器执行完成,或者用处理器中的硬件及软件模块组合执行完成。
163.本技术实施例中的耦合是装置、模块或模块之间的间接耦合或通信连接,可以是电性,机械或其它的形式,用于装置、模块或模块之间的信息交互。
164.处理器1420可能和存储器1430协同操作。存储器1430可以是非易失性存储器,比如硬盘(hard disk drive,hdd)或固态硬盘(solid

state drive,ssd)等,还可以是易失性存储器(volatile memory),例如随机存取存储器(random

access memory,ram)。存储器
1430是能够用于携带或存储具有指令或数据结构形式的期望的程序代码并能够由计算机存取的任何其他介质,但不限于此。
165.本技术实施例中不限定上述通信接口1410、处理器1420以及存储器1430之间的具体连接介质。本技术实施例在图14中以存储器1430、处理器1420以及通信接口1410之间通过总线连接,总线在图14中以粗线表示,其它部件之间的连接方式,仅是进行示意性说明,并不引以为限。所述总线可以分为地址总线、数据总线、控制总线等。为便于表示,图14中仅用一条粗线表示,但并不表示仅有一根总线或一种类型的总线。
166.基于以上实施例,本技术实施例还提供了一种计算机存储介质,该存储介质中存储软件程序,该软件程序在被一个或多个处理器读取并执行时可实现上述任意一个或多个实施例提供的方法。所述计算机存储介质可以包括:u盘、移动硬盘、只读存储器、随机存取存储器、磁碟或者光盘等各种可以存储程序代码的介质。
167.基于以上实施例,本技术实施例还提供了一种芯片,该芯片包括处理器,用于实现上述任意一个或多个实施例所涉及的功能,例如用于实现图4

图10b中第一节点或者节点c所执行的方法,或者用于实现图4

图10b中第一节点的上一跳节点或者节点b所执行的方法。可选地,所述芯片还包括存储器,所述存储器,用于处理器所执行必要的程序指令和数据。该芯片,可以由芯片构成,也可以包含芯片和其他分立器件。
168.本领域内的技术人员应明白,本技术的实施例可提供为方法、系统、或计算机程序产品。因此,本技术可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本技术可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、cd

rom、光学存储器等)上实施的计算机程序产品的形式。
169.本技术是参照根据本技术实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
170.这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
171.这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
172.显然,本领域的技术人员可以对本技术进行各种改动和变型而不脱离本技术的范围。这样,倘若本技术的这些修改和变型属于本技术权利要求及其等同技术的范围之内,则本技术也意图包含这些改动和变型在内。
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献