一种路径构建的方法及相关设备与流程

文档序号:20946028发布日期:2020-06-02 19:52阅读:340来源:国知局
一种路径构建的方法及相关设备与流程

本发明实施例涉及但不限于bgp/mplsvpn技术,更具体的涉及一种路径构建的方法及相关设备。



背景技术:

bgp-lu(bgplabeledunicast)机制提供了一种为bgp(bordergatewayprotocol,边界网关协议)prefix建立mplslsp(multiprotocollabelswitching,多协议标签交换,labelswitchpath,标签交换路径)的机制。该机制在mplsvpn(virtualprivatenetwork,虚拟专用网络)业务部署中,通过bgp通告路由和标签的绑定,能够建立端到端的跨越as(autonomoussystem,自治系统)和igp(interiorgatewayprotocol内部网关协仪)域的mplslsp。

但是,在实际应用中,只有igp路由表中的路由/前缀prefix能够产生标签绑定。因此bgp-lu机制为指定两个pe(provideredge)之间的不同vpn业务只能提供相同的传输路径和资源,如此当vpn用户对业务的传输质量有差别化要求的时候,比如有的vpn业务要求在低时延传输,有的要求低时延抖动传输,当前的bgp-lu机制无法支持不同vpn业务对灵活的差异化的传输路径的要求。



技术实现要素:

有鉴于此,本发明实施例提供了一种路径构建的方法,包括:第二pe节点通过mp-bgp信令通道向第一pe节点发布第一vpn路由,以便第一pe节点根据接收到的所述第一vpn路由中携带的第一传输路径描述符tpd确定到达第一vpnprefix的标签转发路径;

其中,所述第一tpd用于标识第一vpn报文达到bgpnexthop的标签转发路径。

本发明实施例还提供了一种路径构建的方法,包括:第一pe节点通过mp-bgp信令通道接收第二pe节点发布的第一vpn路由;

其中,所述第一vpn路由携带第一传输路径描述符tpd,所述第一tpd用于标识第一vpn报文达到bgpnexthop的标签转发路径;

第一pe节点根据接收到的所述第一vpn路由中携带的第一传输路径描述符tpd确定到达第一vpnprefix的标签转发路径。

本发明实施例还提供了一种路径构建的方法,包括:区域边界路由器abr通过mp-bgp信令通道将第二pe节点发布的第一bgp-lu路由转发给第一pe节点,以便所述根据接收到的所述第一bgp-lu路由创建所述第一fec对应的第一ftn转发表项,所述第一ftn转发表项中关联由所述第一tpd标识的第一vpn报文到达bgpnexthop的标签转发路径;

其中,所述第一bgp-lu路由携带所述第一tpd和第一fec对应的标签,所述第一fec由所述第一tpd和第二pe节点为所述第一bgp-lu路由配置的第一前缀prefix组成。

本发明实施例还提供了一种第二pe节点,包括:

发布单元,通过mp-bgp信令通道向第一pe节点发布第一vpn路由,以便第一pe节点根据接收到的所述第一vpn路由中携带的第一传输路径描述符tpd确定到达第一vpnprefix的标签转发路径;

其中,所述第一tpd用于标识第一vpn报文达到bgpnexthop的标签转发路径。

本发明实施例还提供了一种第一pe节点,包括:

接收单元,通过mp-bgp信令通道接收第二pe节点发布的第一vpn路由;

其中,所述第一vpn路由携带第一传输路径描述符tpd,所述第一tpd用于标识第一vpn报文达到bgpnexthop的标签转发路径;

确定单元,根据接收到的所述第一vpn路由中携带的第一传输路径描述符tpd确定到达第一vpnprefix的标签转发路径。

本发明实施例还提供了一种区域边界路由器abr,包括:

转发单元,用于区域边界路由器abr通过mp-bgp信令通道将第二pe节点发布的第一bgp-lu路由转发给第一pe节点,以便所述第一pe节点根据接收到的所述第一bgp-lu路由创建第一fec对应的第一ftn转发表项,所述第一ftn转发表项中关联由所述第一tpd标识的第一vpn报文到达bgpnexthop的标签转发路径;

其中,所述第一bgp-lu路由携带所述第一tpd和所述第一fec对应的标签,所述第一fec由所述第一tpd和第二pe节点为所述第一bgp-lu路由配置的第一前缀prefix组成。

本发明实施例还提供了一种构建传输路径的系统,其特征在于,包括:

第二pe节点,用于通过mp-bgp信令通道向第一pe节点发布第一vpn路由;

第一pe节点,用于根据接收到的所述第一vpn路由中携带的第一传输路径描述符tpd确定到达第一vpnprefix的标签转发路径;

其中,所述第一tpd用于标识第一vpn报文达到bgpnexthop的标签转发路径。

本发明实施例还提供了一种第二pe节点,包括存储器、处理器及存储在所述存储器上并可在所述处理器上运行的计算机程序,所述计算机程序被所述处理器执行时实现上述第二pe节点执行的构建传输路径的方法。

本发明实施例还提供了一种第一pe节点,包括存储器、处理器及存储在所述存储器上并可在所述处理器上运行的计算机程序,所述计算机程序被所述处理器执行时实现上述第一pe节点执行的构建传输路径的方法。

本发明实施例还提供了一种区域边界路由器abr,包括存储器、处理器及存储在所述存储器上并可在所述处理器上运行的计算机程序,所述计算机程序被所述处理器执行时实现上述abr执行的构建传输路径的方法。

本发明实施例还提供了一种计算机可读存储介质,所述计算机可读存储介质上存储有信息处理程序,所述信息处理程序被处理器执行时实现上述任一项所述构建传输路径的方法的步骤。

与相关技术相比,本发明实施例提供了一种路径构建的方法及相关设备,其中方法之一包括:第二pe节点通过mp-bgp信令通道向第一pe节点发布第一vpn路由,以便第一pe节点根据接收到的所述第一vpn路由中携带的第一传输路径描述符tpd确定到达第一vpnprefix的标签转发路径;其中,所述第一tpd用于标识第一vpn报文达到bgpnexthop的标签转发路径。如此,可以为vpn业务选择满足业务要求的底层传输路径。

本发明的其它特征和优点将在随后的说明书中阐述,并且,部分地从说明书中变得显而易见,或者通过实施本发明而了解。本发明的目的和其他优点可通过在说明书、权利要求书以及附图中所特别指出的结构来实现和获得。

附图说明

附图用来提供对本发明技术方案的进一步理解,并且构成说明书的一部分,与本申请的实施例一起用于解释本发明的技术方案,并不构成对本发明技术方案的限制。

图1为本发明实施例一提供的路径构建的方法的流程示意图;

图2为本发明实施例三提供的路径构建的方法的流程示意图;

图3为本发明实施例三提供的路径构建的方法的流程示意图;

图4.1为本发明实施例四中tpdtlv的格式示意图;

图4.2为本发明实施例四中colorsub-tlv的格式示意图;

图4.3为本发明实施例四中igpprefixalgorithmsub-tlv的格式示意图;

图4.4为本发明实施例四中networksliceidsub-tlv的格式示意图;

图4.5为本发明实施例四中lablesub-tlv的格式示意图;

图4.6为本发明实施例四中label-indexsub-tlv的格式示意图;

图5为本发明实施例五提供的路径构建的方法的流程示意图;

图6为本发明实施例六提供的路径构建的方法的流程示意图;

图7为本发明实施例七提供的路径构建的系统的结构示意图;

图8为本发明实施例七提供的路径构建的方法的流程示意图;

图9为本发明实施例八提供的路径构建的系统的结构示意图;

图10为本发明实施例八提供的路径构建的方法的流程示意图;

图11为本发明实施例九提供的路径构建的系统的结构示意图;

图12为本发明实施例九提供的路径构建的方法的流程示意图;

图13为本发明实施例十提供的路径构建的系统的结构示意图;

图14为本发明实施例十提供的路径构建的方法的流程示意图;

图15为本发明实施例十一提供的构建传输路径的系统的结构示意图;

图16为本发明实施例十一提供的第二pe节点的结构示意图;

图17为本发明实施例十一提供的第一pe节点的结构示意图;

图18为本发明实施例十一提供的区域边界路由器abr的结构示意图。

具体实施方式

为使本发明的目的、技术方案和优点更加清楚明白,下文中将结合附图对本发明的实施例进行详细说明。需要说明的是,在不冲突的情况下,本申请中的实施例及实施例中的特征可以相互任意组合。

在附图的流程图示出的步骤可以在诸如一组计算机可执行指令的计算机系统中执行。并且,虽然在流程图中示出了逻辑顺序,但是在某些情况下,可以以不同于此处的顺序执行所示出或描述的步骤。

鉴于bgp-lu机制为指定两个pe(provideredge)之间的不同vpn业务只能提供相同的传输路径和资源,如此当vpn用户对业务的传输质量有差别化要求的时候,比如有的vpn业务要求在低时延传输,有的要求低时延抖动传输,当前的bgp-lu机制无法支持不同vpn业务对灵活的差异化的传输路径的要求。

因此,本发明实施例提供了一种新的传输路径描述符tpd(transmissionpathdescriptor),在vpn路由发布时携带vpn业务对应的tpd,能够为vpn业务选择满足业务要求的传输路径;更进一步地,在bgp-lu路由发布时携带vpn业务对应的tpd,能够为指定两个pe之间的vpn业务提供灵活的差异化的bgp-lu传输路径。

实施例一

图1为本发明实施例一提供的路径构建的方法的流程示意图。如图1所示,该方法包括:

步骤101,第二pe节点通过mp-bgp信令通道向第一pe节点发布第一vpn路由,以便第一pe节点根据接收到的所述第一vpn路由中携带的第一传输路径描述符tpd确定到达第一vpnprefix的标签转发路径;

其中,所述第一tpd用于标识第一vpn报文达到bgpnexthop的标签转发路径。

其中,在第二pe节点通过mp-bgp信令通道向第一pe节点发布第一vpn路由之前,该方法还包括:

预先定义多个支持vpn业务的底层传输路径对应的tpd;

所述第二pe节点与所述第一pe节点创建第一vpn,并根据满足所述第一vpn业务要求的底层传输路径确定第一tpd;

所述底层传输路径包括以下之一:隧道、网络切片、igpprefixalgorithm、网络切片内的指定隧道、网络切片内的指定algorithm、网络切片内基于指定algorithm的指定隧道。

其中,在第二pe节点通过mp-bgp信令通道向第一pe节点发布第一vpn路由之前,该方法还包括:

第二pe节点通过mp-bgp信令通道经过区域边界路由器abr向第一pe节点发布第一bgp-lu路由,以便所述第一pe节点根据接收到的所述第一bgp-lu路由创建第一fec对应的第一ftn转发表项,所述第一ftn转发表项中关联由所述第一tpd标识的第一vpn报文到达bgpnexthop的标签转发路径;

其中,所述第一bgp-lu路由携带所述第一tpd和第一fec对应的标签,所述第一fec由所述第一tpd和第二pe节点为所述第一bgp-lu路由配置的第一prefix组成。

其中,第二pe节点通过mp-bgp信令通道经过区域边界路由器abr向第一pe节点发布第一bgp-lu路由,包括:

所述第二pe节点为所述第一fec分配第一标签,创建第一ilm转发表项;

所述第二pe节点向所述abr发送第一bgp-lu路由通告消息并将bgpnext-hop修改为所述第二pe节点的地址,所述第一bgp-luprefix路由通告消息携带所述第一tpd和所述第一标签;

所述abr根据接收的所述第一bgp-lu路由通告消息创建所述第一fec对应的第二ftn转发表项,所述第二ftn转发表项关联由所述第一tpd标识的第一vpn报文到达bgpnexthop的标签转发路径;

所述abr为第一fec重新分配第二标签,并根据所述第二标签创建第二ilm转发表项;

所述abr将所述第一bgp-lu路由通告消息中的第一标签替换为所述第二标签并将bgpnext-hop修改为所述abr的地址后转发给所述第一pe节点。

其中,该方法还包括:

第二pe节点通过mp-bgp信令通道向第一pe节点发布第二vpn路由,以便第一pe节点根据接收到的所述第二vpn路由中携带的第二tpd确定到达第二vpnprefix的标签转发路径;

其中,所述第二tpd用于标识第二vpn报文达到bgpnexthop的标签转发路径。

其中,在第二pe节点通过mp-bgp信令通道向第一pe节点发布第二vpn路由之前,该方法还包括:

所述第二pe节点与所述第一pe节点创建第二vpn,并根据满足所述第二vpn业务要求的底层传输路径确定第二tpd。

其中,在第二pe节点通过mp-bgp信令通道向第一pe节点发布第二vpn路由之前,该方法还包括:

第二pe节点通过mp-bgp信令通道经过区域边界路由器abr向第一pe节点发布第二bgp-lu路由,以便所述第一pe节点根据接收到的所述第二bgp-lu路由创建第二fec对应的第三ftn转发表项,所述第三ftn转发表项中关联由所述第二tpd标识的第二vpn报文到达bgpnexthop的标签转发路径;

其中,所述第二bgp-lu路由携带所述第二tpd和第二fec对应的标签,所述第二fec由所述第二tpd和第二pe节点为所述第二bgp-lu路由配置的第二prefix组成。

其中,所述第二pe节点通过mp-bgp信令通道经过区域边界路由器abr向第一pe节点发布第二bgp-lu路由,包括:

所述第二pe节点为所述第二fec分配第三标签,创建第三ilm转发表项;

所述第二pe节点向所述abr发送第二bgp-lu路由通告消息并将bgpnext-hop修改为所述第二pe节点的地址,所述第二bgp-luprefix路由通告消息携带所述第二tpd和所述第三标签;

所述abr根据接收的所述第二bgp-lu路由通告消息创建所述第二fec对应的第四ftn转发表项,所述第四ftn转发表项关联由所述第二tpd标识的第二vpn报文到达bgpnexthop的标签转发路径;

所述abr为第二fec重新分配第四标签,并根据所述第四标签创建第四ilm转发表项;

所述abr将所述第二bgp-lu路由通告消息中的第三标签替换为所述第四标签并将bgpnext-hop修改为所述abr的地址后转发给所述第一pe节点。

其中,tpd的格式为tlv格式,包括tpdtype和sub-tlv,所述tpdtype用来标识tpd由哪些sub-tlv组成,所述sub-tlv包括组成所述tpd的一种或多种sub-tlv。

其中,所述tpdtype包括:

type为1,表示tpd由colorsub-tlv组成,标识一个由color标识的到达bgpnexthop的标签转发路径;

type为2,表示tpd由igpprefixalgorithmsub-tlv组成,标识一个基于指定algorithm的到达bgpnexthop的标签转发路径;

type为3,表示tpd由networksliceidsub-tlv组成,标识一个网络切片内的到达bgpnexthop的标签转发路径;

type为4,表示tpd由networksliceidsub-tlv和colorsub-tlv组成,标识一条指定网络切片内的由color标识的到达bgpnexthop的标签转发路径;

type为5,表示tpd由networksliceidsub-tlv和igpprefixalgorithmsub-tlv组成,标识一条指定网络切片内的基于指定algorithm的到达bgpnexthop的标签转发路径;

type为6,表示由networksliceidsub-tlv,igpprefixalgorithmsub-tlv和colorsub-tlv组成,标识一条指定网络切片内的基于指定algorithm的由color标识的到达bgpnexthop的te标签转发路径。

实施例二

图2为本发明实施例二提供的路径构建的方法的流程示意图。如图2所示,该方法包括:

步骤201,第一pe节点通过mp-bgp信令通道接收第二pe节点发布的第一vpn路由;

其中,所述第一vpn路由携带第一传输路径描述符tpd,所述第一tpd用于标识第一vpn报文达到bgpnexthop的标签转发路径;

步骤202,第一pe节点根据接收到的所述第一vpn路由中携带的第一传输路径描述符tpd确定到达第一vpnprefix的标签转发路径。

其中,在第一pe节点通过mp-bgp信令通道接收第二pe节点发布的第一vpn路由之前,该方法还包括:

第一pe节点通过mp-bgp信令通道接收第二pe节点经过区域边界路由器abr发布的第一bgp-lu路由;

其中,所述第一bgp-lu路由携带所述第一tpd和第一fec对应的标签,所述第一fec由所述第一tpd和第二pe节点为所述第一bgp-lu路由配置的第一前缀prefix组成

所述第一pe节点根据接收到的所述第一bgp-lu路由创建所述第一fec对应的第一ftn转发表项,所述第一ftn转发表项中关联由所述第一tpd标识的第一vpn报文到达bgpnexthop的标签转发路径。

其中,所述第一pe节点通过mp-bgp信令通道接收第二pe节点经过区域边界路由器abr发布的第一bgp-lu路由,包括:

所述第二pe节点为所述第一fec分配第一标签,创建第一ilm转发表项;

所述第二pe节点向所述abr发送第一bgp-lu路由通告消息并将bgpnext-hop修改为所述第二pe节点的地址,所述第一bgp-luprefix路由通告消息携带所述第一tpd和所述第一标签;

所述abr根据接收的所述第一bgp-lu路由通告消息创建所述第一fec对应的第二ftn转发表项,所述第二ftn转发表项关联由所述第一tpd标识的第一vpn报文到达bgpnexthop的标签转发路径;

所述abr为第一fec重新分配第二标签,并根据所述第二标签创建第二ilm转发表项;

所述abr将所述第一bgp-lu路由通告消息中的第一标签替换为所述第二标签并将bgpnext-hop修改为所述abr的地址后转发给所述第一pe节点。

其中,该方法还包括:

第一pe节点通过mp-bgp信令通道接收第二pe节点发布的第二vpn路由;其中,所述第二vpn路由携带第二tpd,所述第二tpd用于标识第二vpn报文到达bgpnexthop的标签转发路径

第一pe节点根据接收到的所述第二vpn路由中携带的第二tpd确定到达第二vpnprefix的标签转发路径。

其中,在第一pe节点通过mp-bgp信令通道接收第二pe节点发布的第二vpn路由之前,该方法还包括:

第一pe节点通过mp-bgp信令通道经过区域边界路由器abr接收第二pe节点发布的第二bgp-lu路由;

其中,所述第二bgp-lu路由携带所述第二tpd和第二fec对应的标签,所述第二fec由所述第二tpd和第二pe节点为所述第二bgp-lu路由配置的第二prefix组成;

所述第一pe节点根据接收到的所述第二bgp-lu路由创建所述第二fec对应的第三ftn转发表项,所述第三ftn转发表项中关联由所述第二tpd标识的第二vpn报文到达bgpnexthop的标签转发路径。

其中,所述第一pe节点通过mp-bgp信令通道经过区域边界路由器abr接收第二pe节点发布的第二bgp-lu路由,包括:

所述第二pe节点为所述第二fec分配第三标签,创建第三ilm转发表项;

所述第二pe节点向所述abr发送第二bgp-lu路由通告消息并将bgpnext-hop修改为所述第二pe节点的地址,所述第二bgp-luprefix路由通告消息携带所述第二tpd和所述第三标签;

所述abr根据接收的所述第二bgp-lu路由通告消息创建所述第二fec对应的第四ftn转发表项,所述第四ftn转发表项关联由所述第二tpd标识的第二vpn报文到达bgpnexthop的标签转发路径;

所述abr为第二fec重新分配第四标签,并根据所述第四标签创建第四ilm转发表项;

所述abr将所述第二bgp-lu路由通告消息中的第三标签替换为所述第四标签并将bgpnext-hop修改为所述abr的地址后转发给所述第一pe节点。

其中,所述第一pe节点根据接收到的所述第一vpn路由中携带的第一传输路径描述符tpd确定到达第一vpnprefix的标签转发路径,包括:

所述第一pe节点根据所述第一tpd得到第一fec,根据所述第一fec迭代到达第一vpnprefix的标签转发路径;

或者,所述第一pe节点根据接收到的所述第二vpn路由中携带的第二tpd确定到达第二vpnprefix的标签转发路径,包括:

所述第一pe节点根据所述第二tpd得到第二fec,根据所述第二fec迭代到达第二vpnprefix的标签转发路径。

其中,tpd的格式为tlv格式,包括tpdtype和sub-tlv,所述tpdtype用来标识tpd由哪些sub-tlv组成,所述sub-tlv包括组成所述tpd的一种或多种sub-tlv。

其中,所述tpdtype包括:

type为1,表示tpd由colorsub-tlv组成,标识一个由color标识的到达bgpnexthop的标签转发路径;

type为2,表示tpd由igpprefixalgorithmsub-tlv组成,标识一个基于指定algorithm的到达bgpnexthop的标签转发路径;

type为3,表示tpd由networksliceidsub-tlv组成,标识一个网络切片内的到达bgpnexthop的标签转发路径;

type为4,表示tpd由networksliceidsub-tlv和colorsub-tlv组成,标识一条指定网络切片内的由color标识的到达bgpnexthop的标签转发路径;

type为5,表示tpd由networksliceidsub-tlv和igpprefixalgorithmsub-tlv组成,标识一条指定网络切片内的基于指定algorithm的到达bgpnexthop的标签转发路径;

type为6,表示由networksliceidsub-tlv,igpprefixalgorithmsub-tlv和colorsub-tlv组成,标识一条指定网络切片内的基于指定algorithm的由color标识的到达bgpnexthop的te标签转发路径。

实施例三

图3为本发明实施例三提供的路径构建的方法的流程示意图。如图3所示,该方法包括:

步骤301,区域边界路由器abr通过mp-bgp信令通道将第二pe节点发布的第一bgp-lu路由转发给第一pe节点,以便所述根据接收到的所述第一bgp-lu路由创建所述第一fec对应的第一ftn转发表项,所述第一ftn转发表项中关联由所述第一tpd标识的第一vpn报文到达bgpnexthop的标签转发路径;

其中,所述第一bgp-lu路由携带所述第一tpd和第一fec对应的标签,所述第一fec由所述第一tpd和第二pe节点为所述第一bgp-lu路由配置的第一前缀prefix组成。

其中,所述区域边界路由器abr通过mp-bgp信令通道将第二pe节点发布的第一bgp-lu路由转发给第一pe节点,包括:

所述abr接收所述第二pe节点发送的第一bgp-lu路由通告消息,所述第一bgp-luprefix路由通告消息携带所述第一tpd和所述第二pe为所述第一fec分配的第一标签;

所述abr根据接收的所述第一bgp-lu路由通告消息创建所述第一fec对应的第二ftn转发表项,所述第二ftn转发表项中关联由所述第一tpd标识的第一vpn报文到达bgpnexthop的标签转发路径;

所述abr为第一fec重新分配第二标签,并根据所述第二标签创建第二ilm转发表项;

所述abr将所述第一bgp-lu路由通告消息中的第一标签替换为所述第二标签并将bgpnext-hop修改为所述abr的地址后转发给所述第一pe节点。

其中,该方法还包括:

所述区域边界路由器abr通过mp-bgp信令通道将第二pe节点发布的第二bgp-lu路由转发给第一pe节点,以便所述第一pe节点根据接收到的所述第二bgp-lu路由创建第二fec对应的第三ftn转发表项,所述第三ftn转发表项中关联由所述第二tpd标识的第二vpn报文到达bgpnexthop的标签转发路径;

其中,所述第二bgp-lu路由携带所述第二tpd和第二fec对应的标签,所述第二fec由所述第二tpd和第二pe节点为所述第二bgp-lu路由配置的第二prefix组成。

其中,所述区域边界路由器abr通过mp-bgp信令通道将第二pe节点发布的第二bgp-lu路由转发给第一pe节点,包括:

所述abr接收所述第二pe节点发送的第二bgp-lu路由通告消息,所述第二bgp-luprefix路由通告消息携带所述第二tpd和所述第二pe为第二fec分配的第三标签;

所述abr根据接收的所述第二bgp-lu路由通告消息创建所述第二fec对应的第四ftn转发表项,所述第四ftn转发表项关联由所述第二tpd标识的第二vpn报文到达bgpnexthop的标签转发路径;

所述abr为第二fec重新分配第四标签,并根据所述第四标签创建第四ilm转发表项;

所述abr将所述第二bgp-lu路由通告消息中的第三标签替换为所述第四标签并将bgpnext-hop修改为所述abr的地址后转发给所述第一pe节点。

其中,tpd的格式为tlv格式,包括tpdtype和sub-tlv,所述tpdtype用来标识tpd由哪些sub-tlv组成,所述sub-tlv包括组成所述tpd的一种或多种sub-tlv。

其中,所述tpdtype包括:

type为1,表示tpd由colorsub-tlv组成,标识一个由color标识的到达bgpnexthop的标签转发路径;

type为2,表示tpd由igpprefixalgorithmsub-tlv组成,标识一个基于指定algorithm的到达bgpnexthop的标签转发路径;

type为3,表示tpd由networksliceidsub-tlv组成,标识一个网络切片内的到达bgpnexthop的标签转发路径;

type为4,表示tpd由networksliceidsub-tlv和colorsub-tlv组成,标识一条指定网络切片内的由color标识的到达bgpnexthop的标签转发路径;

type为5,表示tpd由networksliceidsub-tlv和igpprefixalgorithmsub-tlv组成,标识一条指定网络切片内的基于指定algorithm的到达bgpnexthop的标签转发路径;

type为6,表示由networksliceidsub-tlv,igpprefixalgorithmsub-tlv和colorsub-tlv组成,标识一条指定网络切片内的基于指定algorithm的由color标识的到达bgpnexthop的te标签转发路径。

下面通过几个具体的实施例详细阐述上述实施例一、二、三提供的技术方案。

实施例四

本发明实施例引入了一种新的传输路径描述符(transmissionpathdescriptor,简称为tpd)。

创建vpn时,首先在网络中为各vpn分配相应的拓扑相关的资源(比如包含哪些节点和链路)以及节点内的资源(比如包含多少队列、处理器资源等),通过igp(interiorgatewayprotocol,内部网关协议),ldp(labeldistributionprotocol,标签分发协议)、sr(segmentrouting,分段路由)等等mpls技术建立满足vpn要求的底层传输路径。

在bgp/mplsvpn系统中,可以预先为支持不同的vpn业务对应的不同底层传输路径定义不同的tpd(transmissionpathdescriptor,传输路径描述符)。

具体而言,可以根据vpn业务的传输要求定义tpd。tpd标识的底层传输路径可以是隧道、网络切片networkslice,igp(interiorgatewayprotocol,内部网关协议)前缀算法prefixalgorithm(包括草案draft-ietf-lsr-flex-algo中定义的弹性算法flexiblealgorithm),te(trafficengineering,流量工程)标签转发路径等等,或者是几者的组合。

可以在vpn路由通告消息或者bgp-lu路由通告消息中携带tpd,本发明实施例中,vpn路由通告消息或者bgp-lu路由通告消息可以承载于mp-ibgp的更新update消息等bgp消息,例如,可以将tpd加入mp-bgpupdate消息的属性扩展字段中。

为了在bgp消息中携带tpd及其对应的fec的标签,一种具体的实现方式是扩展bgp路由的pathattribute路径属性,增加一个可选地optional,可传递地transitive的bgppathattribute,称做tpd属性attribute。tpdattribute下携带一组tlv。

tpdtlv格式如图4.1所示,包括:

tlvtype:待分配;

length:tlv所占字节数;

tpdtype:用来表示tpd由哪些sub-tlv组成。

flags:rbit置位表示删除remove该tlv,否则表示增加或更新tlv。

tpdattribute在vpn路由(safi=128)通告消息中携带时,只需要携带标识tpd的sub-tlv。tpdattribute在bgp-luprefix路由(safi=4)通告消息中携带时,需要携带标识tpd的sub-tlv和标识标签的sub-tlv。

tpdtlv可以携带多种sub-tlvs,一种实现是定义三个标识tpd的sub-tlv和两个标识标签的sub-tlv。

三个标识tpd的sub-tlv如下:

colorsub-tlv,格式如图4.2所示。

igpprefixalgorithmsub-tlv,格式如图4.3所示。

networksliceidsub-tlv,格式如图4.4所示。

tlv中tpdtype用来标识tpd由哪些sub-tlv组成:

type为1,表示tpd由colorsub-tlv组成,表示一个由color标识的到达bgpnexthop的te标签转发路径;

type为2,表示tpd由igpprefixalgorithmsub-tlv组成,标识一个基于指定algorithm的到达bgpnexthop的标签转发路径;

type为3,表示tpd由networksliceidsub-tlv组成,标识一个切片内的到达bgpnexthop的标签转发路径;

type为4,表示tpd由networksliceidsub-tlv和colorsub-tlv组成,标识一条指定切片内的由color标识的到达bgpnexthop的te标签转发路径;

type为5,表示tpd由networksliceidsub-tlv和igpprefixalgorithmsub-tlv组成,标识一条指定切片内的基于指定algorithm的到达bgpnexthop的标签转发路径;

type为6,表示由networksliceidsub-tlv,igpprefixalgorithmsub-tlv和colorsub-tlv组成,标识一条指定切片内的基于指定algorithm的由color标识的到达bgpnexthop的te标签转发路径。

两个标识标签的sub-tlv如下:

lablesub-tlv,格式如图4.5所示,该sub-tlv携带的是bgppeer为该tpd对应的fec(forwardingequivalentclass,转发等价类)分配的label;

label-indexsub-tlv,格式如图4.6所示,该sub-tlv携带的是该tpd对应的bgpprefix-sid(segmentid)。

实施例五

图5为本发明实施例五提供的路径构建的方法的流程示意图。如图5所示,该方法包括:

步骤501,pe2节点通过mp-bgp信令通道向pe1节点发布一个或多个vpn路由;

其中,可以通过发送bgp消息发布vpn路由,bgp消息可以携带一个或多个vpn路由,每一个vpn路由携带对应的tpd;

步骤502,pe1节点根据接收到的所述一个或多个vpn路由中对应的tpd确定各个vpn到达对应prefix的标签转发路径。

其中,mpls网络中,pe1节点和pe2节点使能igp网络,pe1节点和pe2节点上可以按用户需要创建第一vpn,建立满足第一vpn要求的底层传输路径,例如可以在igp网络中建立red隧道用于满足第一vpn的传输要求。在创建vpn和建立满足vpn业务要求的隧道之后,pe2节点可以为第一vpn配置第一tpd。例如,根据实施例四中预先定义的tpd,可以确定第一vpn对应的第一tpd的tpdtype为1,表示第一tpd由color(red)sub-tlv组成,表示一个由color(red)标识的到达bgpnexthop的标签转发路径。

然后在pe1节点和pe2节点之间建立mp-bgp信令通道;可以通过mp-bgp消息发布vpn路由。

具体而言,当pe1节点和pe2节点创建了一个vpn时,pe2节点通过mp-bgp信令通道向pe1节点发送bgp消息,该bgp消息携带第一vpn路由,所述第一vpn路由中携带第一tpd;

同时,pe1节点和pe2节点上也可以按用户需要创建第二vpn,建立满足第二vpn要求的底层传输路径,例如可以在igp网络中建立blue隧道用于满足第二vpn的传输要求。如此,根据实施例四中预先定义的tpd,可以确定第二vpn对应的第二tpd的tpdtype也为1,表示第二tpd由color(blue)sub-tlv组成,表示一个由color(blue)标识的到达bgpnexthop的标签转发路径。

如果pe1节点和pe2节点上存在两个vpn,第二vpn路由可以通过另一个bgp消息进行发布,也可以与第一vpn路由承载在同一个bgp消息中同时发布。即当pe1节点和pe2节点创建了两个vpn时,pe2节点通过mp-bgp信令通道向pe1节点发送bgp消息,该bgp消息携带第一vpn路由和第二vpn路由,所述第一vpn路由中携带第一tpd,所述第二vpn路由中携带第二tpd。以此类推,如果pe1节点和pe2节点上同时存在多个vpn,可以多个vpn路由可以分开发布或者承载与一个bgp消息中发布,每一个vpn路由发布时都携带其对应的tpd。

满足vpn要求的底层传输路径还可以是网络切片、指定algorithm、指定网络切片内的隧道、指定网络切片内的指定algorithm,指定网络切片内的指定algorithm的隧道等。如此,能够为不同的vpn业务选择满足特定要求的传输路径。

其中,如何建立mp-bgp信令通道、创建vpn、用于vpn路由发布的bgp消息的格式等都为现有技术在此不再赘述。

实施例六

图6为本发明实施例六提供的路径构建的方法的流程示意图。如图6所示,该方法包括:

步骤601,bgp-luprefix始发节点确定bgp-luprefix支持的tpd,构成tpd-fec,并为tpd-fec分配标签,生成ilm转发表项;

其中,在步骤601之前,mpls网络中,始发节点和邻居节点使能igp网络,始发节点和邻居节点上创建vpn,在igp网络中建立满足vpn要求的底层传输路径,并且建立mp-bgp信令通道,该mp-bgp信令通道可以用于发布bgp-lu路由和vpn路由。

其中,一般在bgp-luprefix(一般是loopback路由)的始发节点上配置该bgp-luprefix支持的tpd,prefix和tpd的组合作为fec(转发等价类,forwardingequivalenceclass),称为tpd-fec。另外,bgp-sr情况下还需要为tpd-fec配置对应的prefix-sid。

具体而言,可以在不使能php(penultimatehoppopping,倒数第二跳弹出)情况下,为tpd-fec分配标签,生成ilm(incominglabelmap,入标签映射)转发表项。

其中,在步骤601之前,可以预先为vpn业务定义tpd,具体详见实施例四的内容。

步骤602,bgp-luprefix始发节点向bgp邻居通告bgp-lu路由,通告消息中设置路由的bgpnext-hop为自身,并携带支持的tpd以及为tpd-fec分配的标签;

本实施例中,bgp-lu路由的safi(subsequentaddressfamilyidentifier,子地址族标识)=4。

另外sr情况下,通告消息还要携带对应的prefixsid。

步骤603,bgp邻居节点根据收到的bgp-lu路由中的tpd创建ftn表项,以及重新分配标签后创建ilm转发表项;

具体而言,bgp邻居节点收到相应的bgp-lu路由通告后,可为该tpd-fec创建ftn(fectonhlfemap,fec至下一跳标签转发单元映射)转发表项,bgp邻居节点重新为tpd-fec分配新的标签,根据重新分配的新标签创建ilm转发表项;

其中,ftn和ilm转发表项中包含的转发信息将关联使用tpd对应的节点内资源以及根据路由的bgpnext-hop迭代到满足tpd要求的底层传输路径。

另外,bgp邻居节点可以继续向其它bgp邻居通告该bgp-lu路由,在通告时修改路由的bgpnext-hop为自身,且修改tpd-fec标签为本邻居节点重新分配的标签。其它bgp邻居的处理与上述bgp邻居类似。

步骤604,bgp-luprefix始发节点向bgp邻居通告vpn路由,通告消息中携带支持的tpd;

例如,在通告bgpvpn(safi=128)路由时,携带vpn业务需要的tpd。

步骤605,bgp邻居节点收到该vpn路由,迭代到达bgpnexthop的标签转发路径时,按照路由通告消息中携带的tpd选择标签转发路径。

例如,收到vpn路由(safi=128)通告消息时,迭代到达bgpnexthop的标签转发路径时,按照路由通告消息中携带的tpd选择标签转发路径。

通过本发明实施例六提供的技术方案,可以为vpn业务提供差异化的、可以精确到每vpn路由的端到端的传输路径。

实施例七

图7为本发明实施例七提供的路径构建的系统的结构示意图,图8为本发明实施例七提供的路径构建的方法的流程示意图。

本实施例七描述在bgp-lu路径上选择基于color标识的标签转发路径构建端到端的传输路径。如图7所示的mpls网络中,ce(customeredgerouter,用户网络边缘路由器)1-1、ce1-2为vpn1的站点,ce2-1、ce2-2为vpn2的站点;abr节点与pe1节点、abr节点与pe2节点之间是使能了igp的网络,pe1节点和abr节点,abr节点和pe2节点之间建立mp-bgp会话(即mp-bgp信令通道),用于发布bgp-lu路由,pe1节点和pe2节点之间建立mp-bgp会话用于发布vpn路由。pe1节点和pe2节点上按用户需要创建vpn1和vpn2,则按照本发明实施例七提供的构建pe1节点向pe2节点发送业务流量的路径的方法,如图8所示,包括:

步骤801,pe2节点配置luprefix以及tpd(red和blue),组成redfec和bluefec,为redfec和bluefec分配标签并创建ilm转发表项;

其中,在步骤801之前,在igp1和igp2网络中,各自建立满足vpn1和vpn2要求的隧道,用颜色color来区分不同的隧道。例如本实施例七中,red隧道用于满足vpn1的要求(图7中位于上面的虚线所示为red隧道),blue隧道用于满足vpn2的要求(图7中位于下面的虚线所示为blue隧道)。

另外,sr情况下需要分配redprefixsid和blueprefixsid,不使能php(penultimatehoppopping,倒数第二跳弹出)情况下,为redfec和bluefec分配标签,创建ilm转发表项。

步骤802,pe2节点向abr节点通告luprefix路由,同时修改bgpnext-hop为pe2上的地址;

其中,luprefix路由通告消息中携带redtpd和bluetpd以及为redfec和bluefec分配的标签。

具体而言,luprefix路由通告消息中携带tpd属性attribute,属性中携带两个tlv,一个tlv中携带colorsub-tlv(color为red),labelsub-tlv(redfec对应的标签),如果是sr,则通告消息还要携带label-indexsub-tlv(redprefixsid);另一个tlv中携带colorsub-tlv(color为blue),labelsub-tlv(bluefec对应的标签)。

其中,pe2节点也可以分别向abr节点通告vpn1的luprefix路由和vpn2的luprefix路由。

其中,如果是sr,luprefix路由通告消息中还要携带label-indexsub-tlv(blueprefixsid)。

其中,luprefix路由消息可以承载于mp-bgpupdate消息中,具体可以通过扩展nlri字段携带tpdattribute。

步骤803,abr节点收到pe2节点通告的luprefix路由时,为redfec和bluefec创建ftn转发表项,以及重新分配标签后创建ilm转发表项;

其中,ftn转发表项和ilm转发表项中关联着由color标识的igp2中到达bgpnexthop的te标签转发路径。

步骤804,abr节点继续向pe1节点通告该luprefix路由,同时修改bgpnext-hop为abr上的地址;

其中,abr节点把路由消息中携带的tlv中的redfec,bluefec标签替换为本abr节点重新分配的redfec,bluefec标签后转发给pe1节点。

步骤805,pe1节点收到abr节点通告的luprefix路由时,为redfec和bluefec创建ftn转发表项;

其中,ftn转发表项中关联着由color标识的igp1中到达bgpnexthop的te标签转发路径。

步骤806,pe2节点分别向pe1节点通告vpn1和vpn2路由;

其中,vpn路由通告消息中携带redtpd和bluetpd。

具体而言,通告vpn1路由的消息中携带tpd属性,属性中携带一个tlv,tlv中携带colorsub-tlv(color为red);通告vpn2路由的消息中携带tpd属性,属性中携带一个tlv,tlv中携带colorsub-tlv(color为blue)。vpn1路由和vpn2路由也可以同时携带在一个通告消息中进行传递。

其中,vpn路由通告消息可以承载于mp-bgpupdate消息中,具体可以通过扩展nlri字段携带tpdattribute。

步骤807,pe1节点收到pe2节点通告的vpn1路由后,根据通告消息中携带的tpd(red)、tpd(blue)迭代到达bgpnexthop的标签转发路径。

具体而言,通过消息中携带的tpd(red)和bgpnexthop组成redfec,通过redfec迭代到达vpn1prefix的标签转发路径;通过消息中携带的tpd(blue)和bgpnexthop组成bluefec,通过bluefec找到到达vpn2prefix的标签转发路径。

其中,如何创建ftn转发表项、ilm转发表项、如何进行标签分发等属于现有技术,在此不再赘述。

本发明实施例八提供的技术方案,分别为vpn1和vpn2生成满足各自要求的端到端的传输路径。

实施例八

图9为本发明实施例八提供的路径构建的系统的结构示意图,图10为本发明实施例八提供的路径构建的方法的流程示意图。

本实施例八描述在bgp-lu路径上选择基于网络切片networkslice构建端到端的传输路径。如图9所示的mpls网络中,ce(customeredgerouter,用户网络边缘路由器)1-1、ce1-2为vpn1的站点,ce2-1、ce2-2为vpn2的站点;abr节点与pe1节点,abr节点与pe2节点之间是使能了igp的网络,pe1节点和abr节点,abr节点和pe2节点之间建立mp-bgp会话,用于发布lu路由,pe1节点和pe2节点之间建立mp-bgp会话用于发布vpn路由。pe1节点和pe2节点上按用户需要创建vpn1和vpn2,则按照本发明实施例八提供的构建pe1节点向pe2节点发送业务流量的路径的方法,如图10所示,包括:

步骤1001,pe2节点上配置luprefix以及tpd(slice1和slice2),组成slice1fec和slice2fec,为slice1fec和slice2fec分配标签,创建ilm转发表项;

其中,在步骤1001之前,在igp1和igp2网络中,各自建立满足vpn1和vpn2要求的networkslice,例如本实施例八中,slice1用于满足vpn1的要求(),slice2用于满足vpn2的要求。

其中,如果是sr的情况,还需要分别为slice1fec和slice2fec分配slice1prefixsid和slice2prefixsid。

其中,,可以在不使能php(penultimatehoppopping,倒数第二跳弹出)情况下,为slice1fec和slice2fec分配标签,创建ilm转发表项。

步骤1002,pe2节点向abr节点通告luprefix路由,同时修改bgpnext-hop为pe2上的地址;

其中,luprefix路由通告消息中携带slice1tpd和slice2tpd以及为slice1fec和slice2fec分配的标签。

具体而言,luprefix路由通告消息中携带tpd属性attribute,属性中携带两个tlv,一个tlv中携带networksliceidsub-tlv(sliceid为1),labelsub-tlv(slice1fec对应的标签),另一个tlv中携带networksliceidsub-tlv(sliceid为2),labelsub-tlv(slice2fec对应的标签)。

其中,pe2节点也可以分别向abr节点通告vpn1的luprefix路由和vpn2的luprefix路由。

其中,如果是sr,luprefix路由通告消息还要携带label-indexsub-tlv(slice2prefixsid)、label-indexsub-tlv(slice1prefixsid)。

其中,luprefix路由消息可以承载于mp-bgpupdate消息中,具体可以通过扩展nlri字段携带tpdattribute。

步骤1003,abr节点收到pe2节点通告的luprefix路由时,为slice1fec和slice2fec创建ftn转发表项,以及重新分配标签后创建ilm转发表项;

其中,ftn转发表项、ilm转发表项中关联着由sliceid标识的slice内到达bgpnexthop的标签转发路径。

步骤1004,abr节点继续向pe1节点通告该luprefix路由,同时修改bgpnext-hop为abr上的地址;

其中,abr节点把路由消息中携带的tpdtlv中的slice1fec,slice2fec标签替换为本abr节点分配的slice1fec,slice2fec标签后转发给pe1节点。

步骤1005,pe1节点收到abr节点通告的luprefix路由时,为slice1fec,slice2fec创建ftn转发表项;

其中,ftn转发表项中关联着由sliceid标识的slice内到达bgpnexthop的标签转发路径。

步骤1006,pe2节点分别向pe1节点通告vpn1和vpn2路由;

其中,vpn路由通告消息中携带slice1tpd和slice2tpd。

具体而言,通告vpn1路由的消息中携带tpd属性,属性中携带一个tpdtlv,tlv中携带networksliceidsub-tlv(sliceid为1)。通告vpn2路由的消息中携带tpd属性,属性中携带一个tpdtlv,tlv中携带networksliceidsub-tlv(sliceid为2)。vpn1路由和vpn2路由也可以同时携带在一个通告消息中进行传递。

其中,vpn路由通告消息可以承载于mp-bgpupdate消息中,具体可以通过扩展nlri字段携带tpdattribute。

步骤1007,pe1节点收到pe2节点通告的vpn1路由后,根据通告消息中携带的slice1tpd和slice2tpd迭代到达bgpnexthop的标签转发路径。

具体而言,可以通过消息中携带的tpd(slice1)和bgpnexthop组成slice1fec,通过slice1fec找到到达vpn1prefix的标签转发路径;通过消息中携带的tpd(slice2)和bgpnexthop组成slice2fec,通过slice2fec找到到达vpn2prefix的标签转发路径。

本发明实施例八提供的技术方案,分别为vpn1和vpn2生成满足各自要求的端到端的传输路径。

实施例九

图11为本发明实施例九提供的路径构建的系统的结构示意图,图12为本发明实施例九提供的路径构建的方法的流程示意图。

本实施例九描述在bgp-lu路径上选择fa(弹性算法,flexiblealgorithm)构建端到端的传输路径。如图11所示的mpls网络中,ce(customeredgerouter,用户网络边缘路由器)1-1、ce1-2为vpn1的站点,ce2-1、ce2-2为vpn2的站点;abr节点与pe1节点,abr节点与pe2节点之间是使能了igp的网络;pe1节点和abr节点、abr节点和pe2节点之间建立mp-bgp会话,用于发布lu路由,pe1节点和pe2节点之间建立mp-bgp会话用于发布vpn路由。pe1节点和pe2节点上按用户需要创建vpn1和vpn2,则按照本发明实施例九提供的构建pe1节点向pe2节点发送业务流量的路径的方法,如图12所示,包括:

步骤1201,pe2节点上配置luprefix以及tpd(fa128和fa129),组成fa128fec和fa129fec,为fa128fec和fa129fec分配标签,创建ilm转发表项;

其中,在步骤1201之前,在igp1和igp2网络中,各自建立满足vpn1和vpn2要求的fa。例如本实施例九中,fa128用于满足vpn1的要求,fa129用于满足vpn2的要求。

其中,如果是sr的情况,pe2节点还要分配fa1prefixsid和fa2prefixsid。

其中,不使能php(penultimatehoppopping,倒数第二跳弹出)情况下,为fa128fec和fa129fec分配标签,创建ilm转发表项。

步骤1202,pe2节点向abr节点通告luprefix路由,同时修改bgpnext-hop为pe2上的地址;

其中,luprefix路由通告消息中携带fa128tpd和fa129tpd以及为fa128fec和fa129fec分配的标签。

具体而言,luprefix路由通告消息中携带tpd属性attribute,属性中携带两个tpdtlv,一个tlv中携带igpprefixalgorithmsub-tlv(fa为128),labelsub-tlv(fa128fec对应的标签),另一个tlv中携带igpprefixalgorithmsub-tlv(fa为129),labelsub-tlv(slice2fec对应的标签),

其中,pe2节点也可以分别向abr节点通告vpn1的luprefix路由和vpn2的luprefix路由。

其中,如果是sr,luprefix路由通告消息中还要携带label-indexsub-tlv(fa129prefixsid)、label-indexsub-tlv(fa128prefixsid)。

其中,luprefix路由消息可以承载于mp-bgpupdate消息中,具体可以通过扩展nlri字段携带tpdattribute。

步骤1203,abr节点收到pe2节点通告的luprefix路由时,为fa128fec和fa129fec创建ftn转发表项,以及重新分配标签后创建ilm转发表项;

其中,ftn转发表项、ilm转发表项中关联着由fa标识的到达bgpnexthop的标签转发路径。

步骤1204,abr节点继续向pe1节点通告该luprefix路由,同时修改bgpnext-hop为abr上的地址;

其中,abr节点把路由消息中携带的tpdtlv中的fa128fec,fa129fec的标签替换为本abr节点重新为fa128fec,fa129fec分配的标签。

步骤1205,pe1节点收到abr节点通告的luprefix路由时,为fa128fec,fa129fec创建ftn转发表项;

其中,ftn转发表项表项中关联着由fa标识到达bgpnexthop的标签转发路径。

步骤1206,pe2节点分别向pe1节点通告vpn1和vpn2路由;

其中,vpn路由通告消息中携带fa128tpd和fa129tpd。

具体而言,通告vpn1路由的消息中携带tpd属性,属性中携带一个tpdtlv,tlv中携带igpprefixalgorithmsub-tlv(fa为128);通告vpn2路由的消息中携带tpd属性,属性中携带一个tpdtlv,tlv中携带igpprefixalgorithmsub-tlv(fa为129)。vpn1路由和vpn2路由也可以同时携带在一个通告消息中进行传递。

其中,vpn路由通告消息可以承载于mp-bgpupdate消息中,具体可以通过扩展nlri字段携带tpdattribute。

步骤1207,pe1节点收到pe2节点通告的vpn1路由后,根据通告消息中携带的fa128tpd和fa129tpd迭代到达bgpnexthop的标签转发路径。

具体而言,可以通过消息中携带的tpd(fa128)和bgpnexthop组成fa128fec,通过fa128fec找到到达vpn1prefix的标签转发路径;通过消息中携带的tpd(fa129)和bgpnexthop组成fa129fec,通过fa129fec找到到达vpn2prefix的标签转发路径。

本发明实施例九提供的技术方案,分别为vpn1和vpn2生成满足各自要求的端到端的传输路径。

实施例十

图13为本发明实施例十提供的路径构建的系统的结构示意图,图14为本发明实施例十提供的路径构建的方法的流程示意图。

本实施例十描述在bgp-lu路径上选择networkslice内的color标识的te标签转发路径构建端到端的传输路径。如图13所示的mpls网络中,ce(customeredgerouter,用户网络边缘路由器)1-1、ce1-2为vpn1的站点,ce2-1、ce2-2为vpn2的站点;abr节点与pe1节点,abr节点与pe2节点之间是使能了igp的网络,pe1节点和abr节点,abr节点和pe2节点之间建立bgp会话,用于发布lu路由,pe1节点和pe2节点之间建立bgp会话用于发布vpn路由。pe1节点和pe2节点上按用户需要创建vpn1和vpn2,则按照本发明实施例九提供的构建pe1节点向pe2节点发送业务流量的路径的方法,如图14所示,包括:

步骤1401,pe2节点上配置luprefix以及tpd(slice1+red和slice1+blue),组成slice1-redfec和slice1-bluefec,为slice1-redfec和slice1-bluefec分配标签,创建ilm转发表项;

其中,在步骤1401之前,在igp1和igp2网络中,各自建立满足vpn1和vpn2要求的slice以及slice内的te标签转发路径,slice1中的red标签转发路径用于满足vpn1的要求(图13中位于上面的虚线所示为red标签转发路径),slice1中的blue标签转发路径用于满足vpn2的要求(图13中位于下面的虚线所示为blue标签转发路径)。

其中,如果是sr的情况,pe2节点还要分配slice1-redprefixsid和slice1-blueprefixsid。

其中,不使能php(penultimatehoppopping,倒数第二跳弹出)情况下,为slice1-redfec和slice1-bluefec分配标签,创建ilm转发表项。

步骤1402,pe2节点向abr节点通告luprefix路由,同时修改bgpnext-hop为pe2上的地址;

其中,luprefix路由通告消息中携带tpd(slice1+red)和tpd(slice1+blue)以及为slice1-redfec和slice1-bluefec分配的标签。

具体而言,通告消息中携带tpd属性,属性中携带两个tpdtlv,一个tlv中携带networksliceidsub-tlv(id为1),colorsub-tlv(color为red),labelsub-tlv(slice1-redfec对应的标签),另一个tlv中携带networksliceidsub-tlv(id为1),colorsub-tlv(color为blue),labelsub-tlv(slice1-bluefec对应的标签)。

其中,pe2节点也可以分别向abr节点通告vpn1的luprefix路由和vpn2的luprefix路由。

其中,如果是sr,通告消息中还要携带label-indexsub-tlv(slice1-redprefixsid)、label-indexsub-tlv(slice1-blueprefixsid)。

其中,luprefix路由消息可以承载于mp-bgpupdate消息中,具体可以通过扩展nlri字段携带tpdattribute。

步骤1403,abr节点收到pe2节点通告的luprefix路由时,为slice1-redfec和slice1-bluefec创建ftn转发表项,以及重新分配标签后创建ilm转发表项;

其中,ftn转发表项、ilm转发表项中关联着由slice+color标识的到达bgpnexthop的te标签转发路径。

步骤1404,abr节点继续向pe1节点通告该luprefix路由,同时修改bgpnext-hop为abr上的地址;

其中,abr节点把路由消息中携带的tpdtlv中的slice1-redfec,slice1-bluefec标签替换为本abr节点为slice1-redfec,slice1-bluefec重新分配的标签后转发给pe1节点。

步骤1405,pe1节点收到abr节点通告的luprefix路由时,为slice1-redfec,slice1-bluefec创建ftn转发表项;

其中,ftn转发表项中关联着由slice+color标识的到达bgpnexthop的te标签转发路径。

步骤1406,pe2节点分别向pe1节点通告vpn1和vpn2路由,

其中,vpn路由通告消息中携带tpd(slice1+red)和tpd(slice1+blue)。

具体而言,通告vpn1路由的消息中携带tpd属性,属性中携带一个tpdtlv,tlv中携带networksliceidsub-tlv(id为1),colorsub-tlv(color为red);通告vpn2路由的消息中携带tpd属性,属性中携带一个tpdtlv,tlv中携带networksliceidsub-tlv(id为1),colorsub-tlv(color为blue)。vpn1路由和vpn2路由也可以同时携带在一个通告消息中进行传递。

其中,vpn路由通告消息可以承载于mp-bgpupdate消息中,具体可以通过扩展nlri字段携带tpdattribute。

步骤1407,pe1节点收到pe2节点通告的vpn1路由后,根据通告消息中携带的tpd(slice1+red)和tpd(slice1+blue)迭代到达bgpnexthop的标签转发路径。

具体而言,可以通过消息中携带的tpd(slice1-red)和bgpnexthop组成slice1-redfec,通过slice1-redfec找到到达vpn1prefix的标签转发路径;通过消息中携带的tpd(slice1-blue)和bgpnexthop组成slice1-bluefec,通过slice1-bluefec找到到达vpn2prefix的标签转发路径。

本发明实施例十提供的技术方案,分别为vpn1和vpn2生成满足各自要求的端到端的传输路径。

实施例十一

图15为本发明实施例十一提供的构建传输路径的系统的结构示意图,如图15所示,该系统包括:

第二pe节点,用于通过mp-bgp信令通道向第一pe节点发布第一vpn路由;

第一pe节点,用于根据接收到的所述第一vpn路由中携带的第一传输路径描述符tpd确定到达第一vpnprefix的标签转发路径;

其中,所述第一tpd用于标识第一vpn报文达到bgpnexthop的标签转发路径。

其中,该系统还包括:区域边界路由器abr;

所述第二pe节点,还用于通过mp-bgp信令通道经过区域边界路由器abr向第一pe节点发布第一bgp-lu路由;

所述第一pe节点,还用于根据接收到的所述第一bgp-lu路由创建第一fec对应的第一ftn转发表项,所述第一ftn转发表项中关联由所述第一tpd标识的第一vpn报文到达bgpnexthop的标签转发路径;

其中,所述第一bgp-lu路由携带所述第一tpd和第一fec对应的标签,所述第一fec由所述第一tpd和第二pe节点为所述第一bgp-lu路由配置的第一prefix组成。

其中,所述第二pe节点,具体用于为所述第一fec分配第一标签,创建第一ilm转发表项;向所述abr发送第一bgp-lu路由通告消息并将bgpnext-hop修改为所述第二pe节点的地址,所述第一bgp-luprefix路由通告消息携带所述第一tpd和所述第一标签;

所述abr,具体用于根据接收的所述第一bgp-lu路由通告消息创建所述第一fec对应的第二ftn转发表项,所述第二ftn转发表项关联由所述第一tpd标识的第一vpn报文到达bgpnexthop的标签转发路径;为第一fec重新分配第二标签,并根据所述第二标签创建第二ilm转发表项;将所述第一bgp-lu路由通告消息中的第一标签替换为所述第二标签并将bgpnext-hop修改为所述abr的地址后转发给所述第一pe节点。

其中,所述第二节点,还用于通过mp-bgp信令通道向第一pe节点发布第二vpn路由;

所述第一pe节点,还用于根据接收到的所述第二vpn路由中携带的第二tpd确定到达第二vpnprefix的标签转发路径;

其中,所述第二tpd用于标识第二vpn报文达到bgpnexthop的标签转发路径。

其中,其中,所述第二节点,还用于在第二pe节点通过mp-bgp信令通道向第一pe节点发布第二vpn路由之前,通过mp-bgp信令通道经过区域边界路由器abr向第一pe节点发布第二bgp-lu路由;

所述第一节点,还用于根据接收到的所述第二bgp-lu路由创建第二fec对应的第三ftn转发表项,所述第三ftn转发表项中关联由所述第二tpd标识的第二vpn报文到达bgpnexthop的标签转发路径;

其中,所述第二bgp-lu路由携带所述第二tpd和第二fec对应的标签,所述第二fec由所述第二tpd和第二pe节点为所述第二bgp-lu路由配置的第二prefix组成。

其中,所述第二节点,具体用于为所述第二fec分配第三标签,创建第三ilm转发表项;向所述abr发送第二bgp-lu路由通告消息并将bgpnext-hop修改为所述第二pe节点的地址,所述第二bgp-luprefix路由通告消息携带所述第二tpd和所述第三标签;

所述abr,具体用于根据接收的所述第二bgp-lu路由通告消息创建所述第二fec对应的第四ftn转发表项,所述第四ftn转发表项关联由所述第二tpd标识的第二vpn报文到达bgpnexthop的标签转发路径;为第二fec重新分配第四标签,并根据所述第四标签创建第四ilm转发表项;将所述第二bgp-lu路由通告消息中的第三标签替换为所述第四标签并将bgpnext-hop修改为所述abr的地址后转发给所述第一pe节点。

其中,tpd的格式为tlv格式,包括tpdtype和sub-tlv,所述tpdtype用来标识tpd由哪些sub-tlv组成,所述sub-tlv包括组成所述tpd的一种或多种sub-tlv。

其中,所述tpdtype包括:

type为1,表示tpd由colorsub-tlv组成,标识一个由color标识的到达bgpnexthop的标签转发路径;

type为2,表示tpd由igpprefixalgorithmsub-tlv组成,标识一个基于指定algorithm的到达bgpnexthop的标签转发路径;

type为3,表示tpd由networksliceidsub-tlv组成,标识一个网络切片内的到达bgpnexthop的标签转发路径;

type为4,表示tpd由networksliceidsub-tlv和colorsub-tlv组成,标识一条指定网络切片内的由color标识的到达bgpnexthop的标签转发路径;

type为5,表示tpd由networksliceidsub-tlv和igpprefixalgorithmsub-tlv组成,标识一条指定网络切片内的基于指定algorithm的到达bgpnexthop的标签转发路径;

type为6,表示由networksliceidsub-tlv,igpprefixalgorithmsub-tlv和colorsub-tlv组成,标识一条指定网络切片内的基于指定algorithm的由color标识的到达bgpnexthop的te标签转发路径。

图16为本发明实施例十一提供的第二pe节点的结构示意图,如图16所示,该第二pe节点包括:

发布单元,通过mp-bgp信令通道向第一pe节点发布第一vpn路由,以便第一pe节点根据接收到的所述第一vpn路由中携带的第一传输路径描述符tpd确定到达第一vpnprefix的标签转发路径;

其中,所述第一tpd用于标识第一vpn报文达到bgpnexthop的标签转发路径。

其中,该第二pe节点还包括:

定义单元,用于预先定义多个支持vpn业务的底层传输路径对应的tpd;

创建及确定单元,用于与所述第一pe节点创建第一vpn,并根据满足所述第一vpn业务要求的底层传输路径确定第一tpd;

所述底层传输路径包括以下之一:隧道、网络切片、igpprefixalgorithm、网络切片内的指定隧道、网络切片内的指定algorithm、网络切片内基于指定algorithm的指定隧道。

其中,所述发布单元,还用于在通过mp-bgp信令通道向第一pe节点发布第一vpn路由之前,通过mp-bgp信令通道经过区域边界路由器abr向第一pe节点发布第一bgp-lu路由,以便所述第一pe节点根据接收到的所述第一bgp-lu路由创建第一fec对应的第一ftn转发表项,所述第一ftn转发表项中关联由所述第一tpd标识的第一vpn报文到达bgpnexthop的标签转发路径;

其中,所述第一bgp-lu路由携带所述第一tpd和第一fec对应的标签,所述第一fec由所述第一tpd和第二pe节点为所述第一bgp-lu路由配置的第一prefix组成。

其中,所述发布单元,具体用于为所述第一fec分配第一标签,创建第一ilm转发表项;向所述abr发送第一bgp-lu路由通告消息并将bgpnext-hop修改为所述第二pe节点的地址,所述第一bgp-luprefix路由通告消息携带所述第一tpd和所述第一标签。

其中,所述发布单元,还用于通过mp-bgp信令通道向第一pe节点发布第二vpn路由,以便第一pe节点根据接收到的所述第二vpn路由中携带的第二tpd确定到达第二vpnprefix的标签转发路径;

其中,所述第二tpd用于标识第二vpn报文达到bgpnexthop的标签转发路径。

其中,所述创建及确定单元,还用于与所述第一pe节点创建第二vpn,并根据满足所述第二vpn业务要求的底层传输路径确定第二tpd。

其中,所述发布单元,还用于在通过mp-bgp信令通道向第一pe节点发布第二vpn路由之前,该方法还包括:

第二pe节点通过mp-bgp信令通道经过区域边界路由器abr向第一pe节点发布第二bgp-lu路由,以便所述第一pe节点根据接收到的所述第二bgp-lu路由创建第二fec对应的第三ftn转发表项,所述第三ftn转发表项中关联由所述第二tpd标识的第二vpn报文到达bgpnexthop的标签转发路径;

其中,所述第二bgp-lu路由携带所述第二tpd和第二fec对应的标签,所述第二fec由所述第二tpd和第二pe节点为所述第二bgp-lu路由配置的第二prefix组成。

其中,所述发布单元,具体用于为所述第二fec分配第三标签,创建第三ilm转发表项;向所述abr发送第二bgp-lu路由通告消息并将bgpnext-hop修改为所述第二pe节点的地址,所述第二bgp-luprefix路由通告消息携带所述第二tpd和所述第三标签。

其中,tpd的格式为tlv格式,包括tpdtype和sub-tlv,所述tpdtype用来标识tpd由哪些sub-tlv组成,所述sub-tlv包括组成所述tpd的一种或多种sub-tlv。

其中,所述tpdtype包括:

type为1,表示tpd由colorsub-tlv组成,标识一个由color标识的到达bgpnexthop的标签转发路径;

type为2,表示tpd由igpprefixalgorithmsub-tlv组成,标识一个基于指定algorithm的到达bgpnexthop的标签转发路径;

type为3,表示tpd由networksliceidsub-tlv组成,标识一个网络切片内的到达bgpnexthop的标签转发路径;

type为4,表示tpd由networksliceidsub-tlv和colorsub-tlv组成,标识一条指定网络切片内的由color标识的到达bgpnexthop的标签转发路径;

type为5,表示tpd由networksliceidsub-tlv和igpprefixalgorithmsub-tlv组成,标识一条指定网络切片内的基于指定algorithm的到达bgpnexthop的标签转发路径;

type为6,表示由networksliceidsub-tlv,igpprefixalgorithmsub-tlv和colorsub-tlv组成,标识一条指定网络切片内的基于指定algorithm的由color标识的到达bgpnexthop的te标签转发路径。

图17为本发明实施例十一提供的第一pe节点的结构示意图,如图17所示,该第一pe节点包括:

接收单元,通过mp-bgp信令通道接收第二pe节点发布的第一vpn路由;

其中,所述第一vpn路由携带第一传输路径描述符tpd,所述第一tpd用于标识第一vpn报文达到bgpnexthop的标签转发路径;

确定单元,根据接收到的所述第一vpn路由中携带的第一传输路径描述符tpd确定到达第一vpnprefix的标签转发路径。

其中,所述接收单元,还用于在通过mp-bgp信令通道接收第二pe节点发布的第一vpn路由之前,通过mp-bgp信令通道接收第二pe节点经过区域边界路由器abr发布的第一bgp-lu路由;

其中,所述第一bgp-lu路由携带所述第一tpd和第一fec对应的标签,所述第一fec由所述第一tpd和第二pe节点为所述第一bgp-lu路由配置的第一前缀prefix组成;

所述第一pe节点还包括创建单元,

所述创建单元,用于根据接收到的所述第一bgp-lu路由创建所述第一fec对应的第一ftn转发表项,所述第一ftn转发表项中关联由所述第一tpd标识的第一vpn报文到达bgpnexthop的标签转发路径。

其中,所述接收单元,还用于通过mp-bgp信令通道接收第二pe节点发布的第二vpn路由;其中,所述第二vpn路由携带第二tpd,所述第二tpd用于标识第二vpn报文到达bgpnexthop的标签转发路径;

所述确定单元,还用于根据接收到的所述第二vpn路由中携带的第二tpd确定到达第二vpnprefix的标签转发路径。

其中,所述接收单元,还用于在通过mp-bgp信令通道接收第二pe节点发布的第二vpn路由之前,通过mp-bgp信令通道经过区域边界路由器abr接收第二pe节点发布的第二bgp-lu路由;

其中,所述第二bgp-lu路由携带所述第二tpd和第二fec对应的标签,所述第二fec由所述第二tpd和第二pe节点为所述第二bgp-lu路由配置的第二prefix组成;

所述创建单元,还用于根据接收到的所述第二bgp-lu路由创建所述第二fec对应的第三ftn转发表项,所述第三ftn转发表项中关联由所述第二tpd标识的第二vpn报文到达bgpnexthop的标签转发路径。

其中,所述确定单元,具体用于根据所述第一tpd得到第一fec,根据所述第一fec迭代到达第一vpnprefix的标签转发路径;

或者,根据所述第二tpd得到第二fec,根据所述第二fec迭代到达第二vpnprefix的标签转发路径。

图18为本发明实施例十一提供的区域边界路由器abr的结构示意图,如图18所示,该abr包括:

转发单元,用于区域边界路由器abr通过mp-bgp信令通道将第二pe节点发布的第一bgp-lu路由转发给第一pe节点,以便所述第一pe节点根据接收到的所述第一bgp-lu路由创建第一fec对应的第一ftn转发表项,所述第一ftn转发表项中关联由所述第一tpd标识的第一vpn报文到达bgpnexthop的标签转发路径;

其中,所述第一bgp-lu路由携带所述第一tpd和所述第一fec对应的标签,所述第一fec由所述第一tpd和第二pe节点为所述第一bgp-lu路由配置的第一前缀prefix组成。

其中,所述转发单元,具体用于接收所述第二pe节点发送的第一bgp-lu路由通告消息,所述第一bgp-luprefix路由通告消息携带所述第一tpd和所述第二pe为所述第一fec分配的第一标签;根据接收的所述第一bgp-lu路由通告消息创建所述第一fec对应的第二ftn转发表项,所述第二ftn转发表项中关联由所述第一tpd标识的第一vpn报文到达bgpnexthop的标签转发路径;为第一fec重新分配第二标签,并根据所述第二标签创建第二ilm转发表项;将所述第一bgp-lu路由通告消息中的第一标签替换为所述第二标签并将bgpnext-hop修改为所述abr的地址后转发给所述第一pe节点。

其中,所述转发单元,还用于通过mp-bgp信令通道将第二pe节点发布的第二bgp-lu路由转发给第一pe节点,以便所述第一pe节点根据接收到的所述第二bgp-lu路由创建第二fec对应的第三ftn转发表项,所述第三ftn转发表项中关联由所述第二tpd标识的第二vpn报文到达bgpnexthop的标签转发路径;

其中,所述第二bgp-lu路由携带所述第二tpd和第二fec对应的标签,所述第二fec由所述第二tpd和第二pe节点为所述第二bgp-lu路由配置的第二prefix组成。

其中,所述转发单元,具体用于接收所述第二pe节点发送的第二bgp-lu路由通告消息,所述第二bgp-luprefix路由通告消息携带所述第二tpd和所述第二pe为第二fec分配的第三标签;根据接收的所述第二bgp-lu路由通告消息创建所述第二fec对应的第四ftn转发表项,所述第四ftn转发表项关联由所述第二tpd标识的第二vpn报文到达bgpnexthop的标签转发路径;为第二fec重新分配第四标签,并根据所述第四标签创建第四ilm转发表项;将所述第二bgp-lu路由通告消息中的第三标签替换为所述第四标签并将bgpnext-hop修改为所述abr的地址后转发给所述第一pe节点。

本发明实施例还提供了一种第二pe节点,包括存储器、处理器及存储在所述存储器上并可在所述处理器上运行的计算机程序,所述计算机程序被所述处理器执行时实现第二pe节点执行的上述任一项构建传输路径的方法。

本发明实施例还提供了一种第一pe节点,包括存储器、处理器及存储在所述存储器上并可在所述处理器上运行的计算机程序,所述计算机程序被所述处理器执行时实现第一pe节点执行的上述任一项构建传输路径的方法。

本发明实施例还提供了一种区域边界路由器abr,包括存储器、处理器及存储在所述存储器上并可在所述处理器上运行的计算机程序,所述计算机程序被所述处理器执行时实现abr执行的上述任一项构建传输路径的方法。

本发明实施例还提供了一种计算机可读存储介质,所述计算机可读存储介质上存储有信息处理程序,所述信息处理程序被处理器执行时实现上述任一项所述构建传输路径的方法的步骤。

本领域普通技术人员可以理解,上文中所公开方法中的全部或某些步骤、系统、装置中的功能模块/单元可以被实施为软件、固件、硬件及其适当的组合。在硬件实施方式中,在以上描述中提及的功能模块/单元之间的划分不一定对应于物理组件的划分;例如,一个物理组件可以具有多个功能,或者一个功能或步骤可以由若干物理组件合作执行。某些组件或所有组件可以被实施为由处理器,如数字信号处理器或微处理器执行的软件,或者被实施为硬件,或者被实施为集成电路,如专用集成电路。这样的软件可以分布在计算机可读介质上,计算机可读介质可以包括计算机存储介质(或非暂时性介质)和通信介质(或暂时性介质)。如本领域普通技术人员公知的,术语计算机存储介质包括在用于存储信息(诸如计算机可读指令、数据结构、程序模块或其他数据)的任何方法或技术中实施的易失性和非易失性、可移除和不可移除介质。计算机存储介质包括但不限于ram、rom、eeprom、闪存或其他存储器技术、cd-rom、数字多功能盘(dvd)或其他光盘存储、磁盒、磁带、磁盘存储或其他磁存储装置、或者可以用于存储期望的信息并且可以被计算机访问的任何其他的介质。此外,本领域普通技术人员公知的是,通信介质通常包含计算机可读指令、数据结构、程序模块或者诸如载波或其他传输机制之类的调制数据信号中的其他数据,并且可包括任何信息递送介质。

虽然本发明所揭露的实施方式如上,但所述的内容仅为便于理解本发明而采用的实施方式,并非用以限定本发明。任何本发明所属领域内的技术人员,在不脱离本发明所揭露的精神和范围的前提下,可以在实施的形式及细节上进行任何的修改与变化,但本发明的专利保护范围,仍须以所附的权利要求书所界定的范围为准。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1