一种创建srte隧道的方法及相关设备

文档序号:1758642 发布日期:2019-11-29 浏览:21次 >En<

阅读说明:本技术 一种创建srte隧道的方法及相关设备 (A kind of method and relevant device creating the tunnel SRTE ) 是由 沈凯强 王白辉 张如云 褚建平 刘天石 陈闯 于 2019-08-27 设计创作,主要内容包括:本发明公开了一种创建SRTE隧道的方法及相关设备,该方法包括:第一节点确定第二节点为粘连节点;第一节点向粘连节点发送第一报文,第一报文包括目标标签栈信息,用于指示粘连节点申请粘连标签;第一节点从粘连节点接收第二报文,第二报文包括粘连标签;第一节点根据第二报文建立端到端的段路由流量工程SRTE隧道。该第一节点通过该粘连节点就可以建立端到端的SRTE隧道,不受标签栈的栈深限制。(The invention discloses a kind of methods and relevant device for creating the tunnel SRTE, this method comprises: first node determines that second node is adhesion node;First node sends the first message to adhesion node, and the first message includes target labels stack information, is used to indicate adhesion node application adhesion label;First node receives the second message from adhesion node, and the second message includes adhesion label;First node establishes the tunnel section routing traffic engineering SRTE end to end according to the second message.The first node can establish the tunnel SRTE end to end by the adhesion node, not limited by the stack depth of label stack.)

一种创建SRTE隧道的方法及相关设备

技术领域

本发明涉及通信领域,具体涉及一种创建SRTE隧道的方法及相关设备。

背景技术

分段路由是一种多协议标签交换(multi-protocol label switching,MPLS)隧道技术,该技术可以根据首节点的MPLS标签栈即可控制整个报文在网络中的传输路径。段路由流量工程(segment routing-traffic engineering,SRTE)主要是基于控制器算路,并将计算好的标签栈下发给路由器。

由于目前各厂商生产的路由器支持的标签栈的栈深都是有一定上限的,当标签栈的栈深超过上限时,无法创建端到端的SRTE隧道。如,某品牌转发器支持的标签栈的栈深最大为10层。若标签栈的栈深超过10层时,则无法创建端到端的SRTE隧道。

发明内容

本发明提供了一种创建SRTE的方法及相关设备,该方法可以使得创建端到端的SRTE隧道,不受标签栈的栈深限制。

本发明第一方面提供了一种创建SRTE隧道的方法,该方法包括:第一节点确定第二节点为粘连节点;第一节点向粘连节点发送第一报文,第一报文包括目标标签栈信息,用于指示粘连节点请求粘连标签;第一节点从粘连节点接收第二报文,第二报文包括粘连标签;第一节点根据第二报文建立端到端的段路由流量工程SRTE隧道。当标签栈的栈深超过路由器支持的最大栈深时,该第一节点也可以建立端到端的SRTE隧道,从而本发明第一方面提供的这种创建SRTE隧道的方法可以不受标签栈的栈深限制。

可选的,结合第一方面,在第一方面的第一种可能的实现方式中,第一节点向粘连节点发送第一报文之后,该方法还包括:第一节点从第二节点接收第三报文,第三报文用于指示第二节点申请粘连标签失败;第一节点向第二节点发送第四报文,第四报文用于指示第二节点在预设的标签池里申请粘连标签并生成转发表项。在第一方面的第一种可能的实现方式中,该若该第二节点申请粘连标签失败,该第一节点可以通过第四报文指示第二节点再次申请粘连标签。这样可以增强方案的灵活性。

可选的,结合第一方面,在第一方面的第二种可能的实现方式中,第一节点向粘连节点发送第一报文之后,该方法还包括:第一节点从第二节点接收第三报文,第三报文用于指示第二节点申请粘连标签失败;第一节点确定第三节点为粘连节点,第三节点为不同于第二节点的一个节点;第一节点向第三节点发送第五报文,第五报文包括目标标签栈信息,用于请求粘连标签;第一节点从粘连节点接收第二报文包括:第一节点从第三节点接收第二报文。在第一方面的第二种可能的实现方式中,若第二节点申请粘连标签失败,该第一节点可以取消第二节点的粘连节点的身份,重新确定第三节点为粘连节点。然后第一节点指示第三节点在预设的标签池里申请粘连标签。这样可以增强方案的稳定性。

本发明第二方面提供了一种创建SRTE隧道的方法,该方法包括:第二节点从第一节点接收第一报文,第一报文包括目标标签栈信息,用于请求粘连标签;第二节点根据第一报文在预设的标签池里申请粘连标签并生成转发表项;第二节点向第一节点发送第二报文,第二报文包括粘连标签,第二报文用于指示第一节点建立端到端的段路由流量工程SRTE隧道。因此,本发明第二方面提供的这种创建SRTE隧道的方法可以不受标签栈的栈深限制。

可选的,结合第二方面,在第二方面的第一种可能的实现方式中,第二节点从第一节点接收第一报文之后,方法还包括:当第二节点在预设的标签池里申请粘连标签失败时,第二节点向第一节点发送第三报文,第三报文用于指示第二节点申请粘连标签失败;第二节点从第一节点接收第四报文,第四报文用于指示第二节点在预设的标签池里申请粘连标签并生成转发表项。在第二方面的第一种可能的实现方式中,第二节点在申请粘连标签失败时,可以根据第一节点的第四报文在预设的标签池里再次申请粘连标签。这样可以增加方案的多样性。

可选的,结合第二方面,在第二方面的第二种可能的实现方式中,第二节点在预设的标签池里申请粘连标签并生成转发表项包括:当第二节点在预设的标签池里申请粘连标签失败时,第二节点在预设时长之后在预设的标签池里申请粘连标签并生成转发表项。在第二方面的第二种可能的实现方式中,第二节点在申请粘连标签失败时,可以在预设时长之后再次在预设的标签池里申请粘连标签,然后生成转发表项。可以增强方案的稳定性。

本发明第三方面提供了一种装置,该装置包括:处理单元,用于确定第二节点为粘连节点;发送单元,用于向粘连节点发送第一报文,第一报文包括目标标签栈信息,用于指示粘连节点请求粘连标签;接收单元,用于从粘连节点接收第二报文,第二报文包括粘连标签;处理单元,用于根据第二报文建立端到端的段路由流量工程SRTE隧道。这种创建SRTE隧道的装置可以不受标签栈的栈深限制,创建SRTE隧道。

可选的,结合第三方面,在第三方面的第一种可能的实现方式中,接收单元,还用于从第二节点接收第三报文,第三报文用于指示第二节点申请粘连标签失败;发送单元,还用于向第二节点发送第四报文,第四报文用于指示第二节点在预设的标签池里申请粘连标签并生成转发表项。

可选的,结合第三方面,在第三方面的第二种可能的实现方式中,接收单元,还用于从第二节点接收第三报文,第三报文用于指示第二节点申请粘连标签失败;处理单元,还用于确定第三节点为粘连节点,第三节点为不同于第二节点的一个节点;发送单元,还用于向第三节点发送第五报文,第五报文包括目标标签栈信息,用于请求粘连标签;接收单元,还用于从第三节点接收第二报文。

本发明第四方面提供了一种装置,该装置包括:接收单元,用于从第一节点接收第一报文,第一报文包括目标标签栈信息,用于请求粘连标签;处理单元,用于根据第一报文在预设的标签池里申请粘连标签并生成转发表项;发送单元,用于向第一节点发送第二报文,第二报文包括粘连标签,第二报文用于指示第一节点建立端到端的段路由流量工程SRTE隧道。这种装置可以不受标签栈的栈深限制,创建SRTE隧道。

可选的,结合第四方面,在第四方面的第一种可能的实现方式中,发送单元,还用于当处理单元在预设的标签池里申请粘连标签失败时,向第一节点发送第三报文,第三报文用于指示处理单元申请粘连标签失败;接收单元,还用于从第一节点接收第四报文,第四报文用于指示第二节点在预设的标签池里申请粘连标签并生成转发表项。

可选的,结合第四方面,在第四方面的第二种可能的实现方式中,处理单元,还用于当申请粘连标签失败时,在预设时长之后在预设的标签池里申请粘连标签并生成转发表项。

本发明实施例提供了一种创建SRTE隧道的方法及相关设备,该方法包括:第一节点确定第二节点为粘连节点;第一节点向粘连节点发送第一报文,第一报文包括请求粘连标签和目标标签栈信息;第一节点从粘连节点接收第二报文,第二报文包括粘连标签;第一节点根据第二报文建立端到端的段路由流量工程SRTE隧道。该第一节点通过该粘连节点就可以建立端到端的SRTE隧道,不会受到标签栈的栈深限制。

附图说明

图1是本申请实施例提供的一种网络拓扑示意图;

图2是本申请实施例提供的一种创建SRTE隧道的方法一个实施例示意图;

图3是本申请实施例提供的一种创建SRTE隧道的方法的另一个实施例示意图;

图4是本申请实施例提供的一种创建SRTE隧道的方法的另一个实施例示意图;

图5是本申请实施例提供的一种创建SRTE隧道的装置的一个实施例示意图;

图6是本申请实施例提供的一种创建SRTE隧道的装置的另一个实施例示意图。

具体实施方式

下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。

本申请中出现的术语“和/或”,可以是一种描述关联对象的关联关系,表示可以存在三种关系,例如,A和/或B,可以表示:单独存在A,同时存在A和B,单独存在B这三种情况。另外,本申请中字符“/”,一般表示前后关联对象是一种“或”的关系。

本申请的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的实施例能够以除了在这里图示或描述的内容以外的顺序实施。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或模块的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或模块,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或模块。

分段路由是一种多协议标签交换(multi-protocol label switching,MPLS)隧道技术,该技术可以根据首节点的MPLS标签栈即可控制整个报文在网络中的传输路径。段路由流量工程(segment routing-traffic engineering,SRTE)主要是基于控制器算路,并将计算好的标签栈下发给路由器。

由于目前各厂商生产的路由器支持的标签栈的栈深都是有一定上限的,当标签栈的栈深超过上限时,无法创建端到端的SRTE隧道。例如,某品牌路由器支持的标签栈的栈深最大为10层。若标签栈的栈深超过10层时,则无法创建端到端的SRTE隧道。如图1所示,在图1所示的路径中,设置有12个路由器(图1中的R1至R12),每个路由器为路径中的一个节点。在该节点中,配置有SRTE隧道(tunnel)的节点为头节点。该路径中最深的标签栈为:{1001-1002-1003-1004-1005-1006-1007-1008-1009-1010-1011},该标签栈的栈深为11层,显然超过了该品牌路由器支持的最大栈深。在这种情况下,无法创建端到端的SRTE隧道。

当标签栈的栈深超过路由器支持的最大栈深时,可以通过控制器来建立SRTE隧道。控制器通过边界路由协议链路状态(border gateway protocol link-state,BGP-LS)协议手机网络拓扑中各个节点的标签,基于全网拓扑进行路径计算之后,计算出一个SRTE标签栈,使用路径计算单元通信协议(path computation element communicationprotocol,PCEP)把SRTE标签栈发给头节点。

当控制器发给头节点的SRTE标签栈超过路由器支持的最大栈深时,控制器会在路径中确定一个节点作为粘连节点,然后将通过路径计算初始化请求(path computationelement communication protocol initiate request,PCInitiate)将粘连标签的信息和目标标签栈的信息发送给粘连节点。该目标标签栈可以为粘连节点与路径中最后一个节点之间形成的标签栈。该目标标签栈的栈深不超过路由器支持的最大栈深。

粘连节点从标签池里动态申请粘连标签,再通过路径计算通告(PathComputation Label switching path state report,PCRpt)消息将粘连标签发送给控制器。控制器再将携带有粘连标签的SRTE标签栈通过路径计算更新(Path computationlabel switching path update request,PCUpd)消息下发给头节点。

该头节点上的标签栈与目标标签栈的栈深均不超过路由器支持的最大栈深。示例性的,如图1所示,若路由器支持标签栈的最大栈深为10层,则控制器可以确定R2为粘连节点,则目标标签栈为{1002-1003-1004-1005-1006-1007-1008-1009-1010-1011},该目标标签栈层数为10,不超过路由器支持的最大栈深。该粘连节点上从标签池里动态申请的粘连标签为100,该粘连标签100可以代表目标标签栈,则该头节点上的标签栈可以表示为{1001-100},所以该头节点上标签栈的最大栈深为2,不超过该路由器支持的最大栈深。

在上述方案中,是通过控制器来计算标签栈的,可以实现转控分离。但是在该场景下的部署必须依赖控制器,若控制器故障,头节点就无法收到算路结果,当SRTE标签栈的栈深超过路由器支持的最大栈深,则无法建立端到端的SRTE隧道。

本发明提供了一种SRTE隧道的方法,该方法不依赖控制器计算标签栈,可以由头节点算路。当头节点计算出的SRTE标签栈超出路由器支持的最大栈深时,本发明在用户数据报协议(user datagram protocol,UDP)上层扩展一种私有协议,该私有协议可以命名为标签自动粘连协议,通过该标签自动粘连协议可以实现头节点SRTE标签栈的自动粘连,而不需要控制器。该标签自动粘连协议需要占用特定的端口号,示例性的,可以占用7735端口号。

该标签自动粘连协议头部的格式可以为如下:

其中,该标签自动粘连协议可以包含4中类型的参数:Ver(3比特)、Flags(5比特)、Message-Type(8比特)和Message-Length(16比特)。其中,Ver代表粘连标签的版本号,当前可以设置为1。Flags当前没有定义,为预留字段,当前可以置为0。Message-Length包含头部,粘连消息的总长度,单位为字节。

Message-Type可以包含以下4种类型的消息:

1)绑定标签请求(binding label request,BLReq):

BLReq消息是头节点向粘连节点发送的,用来向粘连节点请求粘连标签,同时把标签栈的信息带给粘连节点,粘连标签头部消息类型为1。

BLReq消息中携带两个对象:绑定标签对象(binding-label object),用来携带粘连标签,在此处设置为0;标签栈对象(label-stack object),用来携带标签栈信息。若其中一个对象丢失,则接收该消息的粘连节点需要给头节点发送BLErr消息。

BLReq消息格式可以为如下所示:

<BLReq Message>::=<Common Header>

<Binding-Label>

<Label-Stack>

2)绑定标签回复(binding label reply,BLRep):

BLRep消息是粘连节点向头节点发送的,该BLRep消息中携带一个标签栈对象,用来携带标签栈信息,粘连标签头部消息类型为2。该粘连节点通过BLRep消息将标签栈信息发送给头节点。

BLRep消息格式如下:

<BLRep Message>::=<Common Header>

<Binding-Label>

3)绑定标签删除(binding label delete,BLDel):

BLDel消息是头结点向粘连节点发送的,用来通知粘连节点删除粘连标签,在粘连标签头部消息类型字段为3。

这个消息里携带1个对象:Binding-label object,用来通告要删除的粘连标签。

BLDel消息格式如下:

<BLDel Message>::=<Common Header>

<Binding-Label>

4)绑定标签错误(binding label error,BLErr):

BLErr消息是粘连节点向头节点发送的,该粘连节点可以在以下几种情况发送:

1.粘连节点收到头节点的BLReq消息中没有携带绑定标签对象和标签栈对象。

2.粘连节点无粘连能力。例如,有的型号的路由器不具备粘连能力,此时该粘连节点向头节点发送该BLErr消息。

3.粘连节点申请粘连标签失败。例如,该资源池里没有多余的粘连标签,该粘连节点申请粘连标签失败。

Error消息在粘连标签头部消息类型字段为4。Error消息里携带1个对象:bindinglabel error object,用来通告错误类型。

BLErr消息格式如下:

<BLErr Message>::=<Common Header>

<Error>

在上述4中消息类型中,涉及到3种对象,该3种对象的报文格式可以为如下:

1、binding-label object

携带在BLReq,BLRep,BLDel消息里。

Binding-Label Object-Class is 15,占8位。

Binding-Label Object-Type is 1,占8位。

Binding-Label TLV格式如下所示:

Type(16bits):the type is 31

Length(16bits):TLV的总长度,单位字节

Binding-Label(32bits):粘连标签(头节点向粘连节点请求粘连标签时置为0)。

2.label-stack object

携带在BLReq消息里,头节点通过此对象把标签栈信息带给粘连节点。

Label-stack Object-Class is 16,占8位。

Label-stack Object-Type is 1,占8位。

The format of the Label-stack object body is as follows:

MPLS Label Stack:在[RFC3032]中定义

3.binding label error object

携带在BLErr消息里。

Binding Label Error Object-Class is 17,占8位。

Binding Label Error Object-Type is 1,占8位。

The format of the Binding Label Error Object Body is as follows:

Reserved(8bits):当前置为0。

Flags(8bits):当前置为0。

Error-Type(8bits):defines the class of error.

Error-value(8bits):provides additional details about the error.

Optional TLVs:作为未来扩展使用。

参见上述定义,本发明实施例一提供了一种创建SRTE隧道的方法,参见图2,本发明实施例一包括:

201、第一节点确定第二节点为粘连节点。

第一节点确定第二节点为粘连节点。该第一节点为配置有SRTE隧道的节点。示例性的,如图1所示,图1以路径中设置有12个节点为例,R1为头节点。假设路由器支持的最大栈深为10层,该路径中最深的标签栈为:{1001-1002-1003-1004-1005-1006-1007-1008-1009-1010-1011},该标签栈的栈深为11层,超过了路由器支持的最大栈深。

该第二节点可以为图1中的R2,为该第一节点从标签栈中从最后一个标签向前数第十个标签1002,该第一节点从流量工程数据库(traffic engineering database,TEDB)中确定该1002标签对应R2节点,R2到R12之间的标签栈为{1002-1003-1004-1005-1006-1007-1008-1009-1010-1011},该标签栈为目标标签栈。该第一节点也可以确定R3至R11之间的任意一个节点作为粘连节点,此处不视为限制。该目标标签栈的栈深不超过路由器支持的最大栈深。目标标签栈为粘连节点至尾节点之间形成的标签栈。

202、第一节点向第二节点发送第一报文。

第一节点和第二节点建立一个点到点的UDP连接。第一节点向第二节点发送第一报文,该第一报文为上述BLReq消息。该第一报文包括步骤101所述的目标标签栈,该第一报文用于指示该第二节点申请粘连标签。

该第一报文格式可以为如下:

203、第二节点在预设的标签池里申请粘连标签并生成转发表项。

第二节点根据第一报文在预设的标签池里申请粘连标签,根据需要产品适配生成转发表项,该转发表项包括粘连标签和目标标签栈的对应关系。例如,该第二节点申请的粘连标签为100,则该转发表项可以为:

{100,1002-1003-1004-1005-1006-1007-1008-1009-1010-1011};

204、第二节点向第一节点发送第二报文。

第二节点向第一节点发送第二报文,该第二报文为上述BLRep消息。该第二报文中携带有粘连标签。该第二报文可以为如下:

205、第一节点根据第二报文建立端到端的SRTE隧道。

第一节点接收到该第二报文之后,取出粘连标签100,然后将粘连标签下给带约束最短路径优先(constraint shortest path first,CSPF),第一节点可以使用该CSPD本地算路计算出SRTE标签栈{1001,100}。则SRTE端到端隧道建立成功。

此时,如步骤101所述,目标标签栈的栈深不超过路由器的最大栈深,该头节点上的标签栈为{1001-100},所以该头节点上标签栈的最大栈深为2,不超过该路由器支持的最大栈深的栈深也不超过路由器支持的最大栈深。

需要说明的是,该第一节点可以确定多个粘连节点,每一个粘连节点对应一个目标标签栈。当标签栈超过路由器支持的最大栈深的两倍时,可以采用嵌套的方式建立SRTE端到端的隧道。

示例性的:若栈深最深的标签栈为{1001-1002-1003……-1028-1029-1030},该标签栈的栈深为30层,该第一节点可以确定倒数第10个路由器R21为第一个粘连节点,R21对应的目标标签栈为{1021-1022-1023-1024-1025-1026-1027-1028-1029-1030}。若该R21对应的粘连标签为100,则该R21的转发表项为{100,1021-1022-1023-1024-1025-1026-1027-1028-1029-1030}。该第一节点可以继续确定倒数第19个路由器R12为第二个粘连节点,R12对应的目标标签栈为:{1012-1013-1014-1015-1016-1017-1018-1019-1020-100}。若该R12对应的粘连标签为200,则该R12的转发表项为{200,1012-1013-1014-1015-1016-1017-1018-1019-1020-100}。该第一节点可以确定第3个路由器R3为第三个粘连节点,该R3对应的目标标签栈为:{1003-1004-1005-1006-1007-1008-1009-1010-1011-200}。若该R3对应的粘连标签为300,则该R3的转发表项为{300,1003-1004-1005-1006-1007-1008-1009-1010-1011-200}。该第一节点上的标签栈为{1001-1002-300}。这样无论标签栈的栈深有多少层,该第一节点可以确定多个粘连标签,通过嵌套的方式建立起SRTE端到端的隧道。

本发明实施例一提供了一种创建SRTE隧道的方法及相关设备,该方法包括:第一节点确定第二节点为粘连节点;第一节点向粘连节点发送第一报文,第一报文包括目标标签栈信息,用于指示粘连节点请求粘连标签;第一节点从粘连节点接收第二报文,第二报文包括粘连标签;第一节点根据第二报文建立端到端的段路由流量工程SRTE隧道。该第一节点通过该粘连节点就可以建立端到端的SRTE隧道,不会受到标签栈的栈深限制。

在实施例一中,若第二节点在预设的标签池里申请粘连标签失败时,该第一节点可以继续将第二节点当做粘连标签也可以重新确定一个粘连节点。实施例二提供了一种方法,当第二节点在预设的标签池里申请粘连标签失败时,该第二节点继续作为粘连节点在预设的标签池里申请粘连标签。参见图3,实施例二包括:

301、第一节点确定第二节点为粘连节点。

参见实施例一的步骤201,此处不再赘述。

302、第一节点向第二节点发送第一报文。

参见实施例一的步骤202,此处不再赘述。

303、第二节点在标签池里申请粘连标签失败。

第二节点在标签池里申请粘连标签失败,失败的原因可以包括如下:

1.第一报文中没有携带Binding-label object或Label-Stack object;

2.第二节点无粘连能力;

3.资源池中无可被分配的粘连标签。

304、第二节点在标签池里申请粘连标签并生成转发表项。

在一种可能的实施方式中,该第二节点申请粘连标签失败之后,该第二节点可以等待预设时长,然后再在预设的标签池里申请粘连标签。该预设时长具体不做限定。若又申请失败,可以每隔一个预设时长申请一次,直到申请到粘连标签为止。

在另一种可能的实施方式中,在该第二节点申请粘连标签失败之后,该第二节点可以向第一节点发送第三报文,该第三报文用于指示第二节点申请粘连标签失败。该第一节点接收到该第三报文之后,向第二节点发送第四报文,该第四报文用于指示第二节点继续在预设标签池里申请粘连标签并生成转发表项。

该第三报文可以为如下:

(BLErr)Message格式如下:

305、第二节点向第一节点发送第二报文。

参见实施例一的步骤204,此处不再赘述。

306、第一节点根据第二报文建立端到端的SRTE隧道。

参见实施例一的步骤205,此处不再赘述。

若第二节点在预设的标签池里申请粘连标签失败时,该第二节点向第一节点发送第三报文之后,该第一节点可以取消第二节点的粘连节点身份,重新确定第三节点为粘连节点。参见图4,实施例三包括:

401、第一节点确定第二节点为粘连节点。

参见实施例一的步骤201,此处不再赘述。

402、第一节点向第二节点发送第一报文。

参见实施例一的步骤202,此处不再赘述。

403、第二节点在标签池里申请粘连标签失败。

参加实施例二的步骤303,此处不再赘述。

404、第二节点向第一节点发送第三报文。

第二节点向第一节点发送第三报文,该第三报文用于指示第二节点申请粘连标签失败。该第三报文可以如实施例二的步骤304所述,此处不再赘述。

405、第一节点确定第三节点为粘连节点。

第一节点确定第三节点为粘连节点。如图1所示,该第三节点可以为R3至R11之间任意一个节点。该第三节点不同于第二节点,假设R3为第三节点,则该目标标签栈为{1003-1004-1005-1006-1007-1008-1009-1010-1011}。该目标标签栈的栈深不超过路由器支持的最大栈深。

406、第一节点向第三节点发送第五报文。

该第一节点和第三节点建立UDP连接。第一节点向第三节点发送第五报文,该第五报文为BLReq消息。该第五报文包括步骤305中所述的目标标签栈,该第五报文用于指示第三节点申请粘连标签。

该第五报文的格式可以参照实施例一的步骤202,此处不再赘述。

407、第三节点在标签池里申请粘连标签并生成转发表项。

第三节点根据第五报文在预设的标签池里申请粘连标签,根据需要产品适配生成转发表项,该转发表项包括粘连标签和目标标签栈的对应关系。例如,该第三节点申请的粘连标签为200,则该转发表项可以为:

{200,1003-1004-1005-1006-1007-1008-1009-1010-1011};

408、第三节点向第一节点发送第二报文。

第三节点向第二节点发送第二报文,该第二报文为BLRep消息。该第二报文中携带有粘连标签。该第二报文如实施例一中的步骤204所述,此处不再赘述。

409、第一节点根据第二报文建立端到端的SRTE隧道。

可以参照实施例一的步骤205,此处不再赘述。

需要说明的是,在实施例一至实施例三中,当创建好的端到端的SRTE隧道变down时,第一节点发送BLDel消息给粘连节点。该BLDel消息可以为如下:

值得注意的是,若一个粘连节点只是对应一个配置了SRTE隧道的第一节点,该粘连节点在接收到该第一节点发送的BLDel消息之后就删除该粘连标签。若存在多个配置了SRTE隧道的节点都与该粘连节点对应,则需要所有与该粘连节点对应的配置了SRTE隧道的节点都向该粘连节点发送BLDel消息之后,该粘连节点才删除该粘连标签。

该实施例一与实施例三所述的方法还可以应用于网络拓扑中配置了控制器,但是控制器无法工作的场景。

本发明实施例第四方面提供了一种装置50,该装置50可以为实施例一至实施例三任一的第一节点。

如图5所示,该装置50可以包括:

处理单元501,用于确定第二节点为粘连节点。可以参照实施例一的步骤201、实施例二的步骤301以及实施例三的步骤401进行理解,此处不再赘述。

该处理单元501,还用于根据第二报文建立端到端的段路由流量工程SRTE隧道。可以参照实施例一的步骤205、实施例二的步骤306以及实施例三的步骤409进行理解,此处不再赘述。

该处理单元501,还用于确定第三节点为粘连节点,第三节点为不同于第二节点的一个节点。可以参照实施例三的步骤405进行理解,此处不再赘述

发送单元502,用于向粘连节点发送第一报文,第一报文包括目标标签栈信息,用于指示粘连节点申请粘连标签。可以参照实施例一的步骤202、实施例二的步骤302以及实施例三的步骤402进行理解,此处不再赘述。

该发送单元502,还用于向第二节点发送第四报文,第四报文用于指示第二节点在预设的标签池里申请粘连标签并生成转发表项。可以参照实施例二的步骤304进行理解,此处不再赘述。

该发送单元502,还用于向第三节点发送第五报文,第五报文包括目标标签栈信息,用于指示粘连节点申请粘连标签。可以参照实施例三的步骤406进行理解,此处不再赘述。

接收单元503,用于从粘连节点接收第二报文,第二报文包括粘连标签。可以参照实施例一的步骤204、实施例二的步骤305以及实施例三的步骤408进行理解,此处不再赘述。

该接收单元503,还用于从第二节点接收第三报文,第三报文用于指示第二节点申请粘连标签失败。可以参照实施例二的步骤304和实施例三的步骤404进行理解,此处不再赘述。

本发明实施例第五方面提供了一种装置60,该装置60可以为实施例一至实施例三任意的第二节点。

如图6所示,该装置60可以包括:

接收单元601,用于从第一节点接收第一报文,第一报文包括目标标签栈信息,用于指示粘连节点申请粘连标签。可以参照实施例一的步骤202、实施例二的步骤302以及实施例三的步骤402进行理解,此处不再赘述。

该接收单元601,还用于从第一节点接收第四报文,第四报文用于指示第二节点在预设的标签池里申请粘连标签并生成转发表项。可以参照实施例二的步骤304进行理解,此处不再赘述。

处理单元602,用于根据第一报文在预设的标签池里申请粘连标签并生成转发表项。可以参照实施例一的步骤203以及实施例二的步骤304进行理解,此处不再赘述。

该处理单元602,还用于当申请粘连标签失败时,在预设时长之后在预设的标签池里申请粘连标签并生成转发表项。可以参照实施例二的步骤304进行理解,此处不再赘述。

发送单元603,用于向第一节点发送第二报文,第二报文包括粘连标签,第二报文用于指示第一节点建立端到端的段路由流量工程SRTE隧道。可以参照实施例一的步骤204、实施例二的步骤305进行理解,此处不再赘述。

该发送单元603,还用于当处理单元在预设的标签池里申请粘连标签失败时,向第一节点发送第三报文,第三报文用于指示处理单元申请粘连标签失败。请参照实施例二的步骤304和实施例三的步骤404进行理解,此处不再赘述。

以上对本发明实施例所提供的一种创建SRTE隧道的方法及相关设备进行了详细介绍,本文中应用了具体个例对本发明的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本发明的方法及其核心思想;同时,对于本领域的一般技术人员,依据本发明的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本发明的限制。尽管参照前述实施例对本申请进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本申请各实施例技术方案的精神和范围。

21页详细技术资料下载
上一篇:一种医用注射器针头装配设备
下一篇:一种应用层复用网络报文头部的方法

网友询问留言

已有0条留言

还没有人留言评论。精彩留言会获得点赞!

精彩留言,会给你点赞!