路径建立方法、装置及网络节点与流程

文档序号:13519044阅读:344来源:国知局

本发明涉及通信领域,具体而言,涉及一种路径建立方法、装置及网络节点。



背景技术:

当前,基于prefix(前缀)类型的转发等价类(forwardingequivalenceclass,简称为fec)创建的基于多协议标记交换(multi-protocollabelswitching,简称为mpls)的标签交换路径(labelswitchedpath,简称为lsp),一般采取按每fec分配标签的方式,由于fec规模很大,则占用标签资源十分严重,无法满足多种mpls标签分发协议(如标记分配协议(labeldistributionprotocol,简称为ldp)、边界网关协议(bordergatewayprotocol,简称为bgp)、基于流量工程的资源预留协议(resourcereservationprotocol-trafficextension,简称为rsvp-te)等)同时创建mplslsp的需求。一种信令若占用过多的标签资源,就会挤占其它信令的标签资源需求。

针对这个问题,相关技术中提出了多种解决办法,但都有具体的应用场景限制。例如,三层虚拟专用网(layer3virtualprivatenetwork,简称为l3vpn)场景中在网络侧边缘(provideredge,简称为pe)设备上配置每虚拟专用网(virtualprivatenetwork,简称为vpn)分配标签的方式,仅仅是节约了该pe节点上对vpnlsp的标签资源占用,但是并没有节约其它节点上对vpnlsp的标签资源占用。比如每下一跳分配标签的方式,仅能适用于下一跳相应的出标签很少的场景,如l3vpnoptionb跨域场景中自治域边界路由器(autonomoussystemborderrouter,简称为asbr)上配置每下一跳分配标签,此时必须在pe上同时配置每vpn分配标签,无法适用于普通的ldplsp。

因此,相关技术中存在标签资源不能满足需求的问题。



技术实现要素:

本发明实施例提供了一种路径建立方法、装置及网络节点,以至少解决相关技术中存在标签资源不能满足需求的问题。

根据本发明的一个实施例,提供了一种路径建立方法,包括:在由入口节点至出口节点路径上的第一节点上,将出口节点的宿主转发等价类fec的入标签和/或出标签作为所述出口节点的寄生fec的入标签和/或出标签,建立与所述寄生fec对应的基于多协议标签交换mpls的标签交换路径lsp。

可选地,所述方法还包括:在所述第一节点为非入口节点的情况下,向所述第一节点的上游节点发送第一消息,所述第一消息中携带有标识所述宿主fec与所述寄生fec之间标签借用关系的信息,其中,所述标签借用关系用于将所述宿主fec的入标签和/或出标签作为寄生fec的入标签和/或出标签,以使所述上游节点根据所述第一消息确定所述宿主fec与所述寄生fec之间标签的所述标签借用关系,建立与所述寄生fec对应的基于mpls的lsp。

可选地,在向所述第一节点的上游节点发送第一消息之前,还包括:在所述第一节点为所述出口节点的情况下,根据预定策略确定宿主fec与寄生fec之间的所述标签借用关系;或者,在所述第一节点非出口节的情况下,通过接收所述出口节点的所述宿主fec对应的通告消息的方式,确定宿主fec与寄生fec之间的所述标签借用关系。

可选地,通过接收所述出口节点的所述宿主fec对应的通告消息的方式,确定宿主fec与寄生fec之间的所述标签借用关系包括:接收一个或多个用于通告所述出口节点的路由前缀的泛洪消息,其中,所述泛洪消息中携带有用于标识所述出口节点的宿主路由前缀和/或与所述宿主路由前缀匹配的所述出口节点的寄生路由前缀,所述宿主路由前缀与所述宿主fec对应,所述寄生路由前缀与所述寄生fec对应;接收所述第一节点的下游节点发送的第二消息,其中,所述第二消息中携带有用于标识所述宿主fec的标识信息;根据所述标识信息,以及所述泛洪消息通告的所述出口节点的路由前缀,确定所述标签借用关系为:将所述宿主fec的入标签和/或出标签作为寄生fec的入标签和/或出标签,其中,所述寄生fec与所述宿主路由前缀匹配的所述寄生路由前缀对应。

可选地,在通过接收所述出口节点的所述宿主fec对应的通告消息的方式,确定宿主fec与寄生fec之间的所述标签借用关系之后,还包括:根据所述标签借用关系,更新本地保存的、与所述宿主fec对应的标签借用信息,包括:根据所述标签借用关系,确定借用所述宿主fec入标签和/或出标签的第一类寄生fec;根据确定的所述第一类寄生fec,添加属于所述第一类寄生fec、但未借用所述宿主fec入标签和/或出标签的寄生fec借用所述宿主fec入标签和/或出标签的标签借用信息;和/或,根据确定的所述第一类寄生fec,撤销不属于所述第一类寄生fec、但已借用所述宿主fec入标签和/或出标签的寄生fec的标签借用,删除不属于所述第一类寄生fec、但已借用所述宿主fec的入标签和/或出标签的寄生fec基于借用所述宿主fec的入标签和/或出标签建立的lsp。

根据本发明的另一个实施例,提供了一种路径建立装置,包括:建立模块,用于在由入口节点至出口节点路径上的第一节点上,将出口节点的宿主转发等价类fec的入标签和/或出标签作为所述出口节点的寄生fec的入标签和/或出标签,建立与所述寄生fec对应的基于多协议标签交换mpls的标签交换路径lsp。

可选地,所述装置还包括:发送模块,用于在所述第一节点为非入口节点的情况下,向所述第一节点的上游节点发送第一消息,其中,所述第一消息中携带有标识所述宿主fec与所述寄生fec之间标签借用关系的信息,其中,所述标签借用关系用于将所述宿主fec的入标签和/或出标签作为寄生fec的入标签和/或出标签,以使所述上游节点根据所述第一消息确定所述宿主fec与所述寄生fec之间标签的所述标签借用关系,建立与所述寄生fec对应的基于mpls的lsp。

可选地,所述装置还包括:第一确定模块,用于在所述第一节点为所述出口节点的情况下,根据预定策略确定宿主fec与寄生fec之间的所述标签借用关系;或者,第二确定模块,用于在所述第一节点非出口节点的情况下,通过接收所述出口节点的所述宿主fec对应的通告消息的方式,确定宿主fec与寄生fec之间的所述标签借用关系。

可选地,所述第二确定模块包括:第一接收单元,用于接收一个或多个用于通告所述出口节点的路由前缀的泛洪消息,其中,所述泛洪消息中携带有用于标识所述出口节点的宿主路由前缀和/或与所述宿主路由前缀匹配的所述出口节点的寄生路由前缀,所述宿主路由前缀与所述宿主fec对应,所述寄生路由前缀与所述寄生fec对应;第二接收单元,用于接收所述第一节点的下游节点发送的第二消息,其中,所述第二消息中携带有用于标识所述宿主fec的标识信息;第一确定单元,用于根据所述标识信息,以及所述泛洪消息通告的所述出口节点的路由前缀,确定所述标签借用关系为:将所述宿主fec的入标签和/或出标签作为寄生fec的入标签和/或出标签,其中,所述寄生fec与所述宿主路由前缀匹配的所述寄生路由前缀对应。

可选地,所述装置还包括包括:更新模块,用于根据所述标签借用关系,更新本地保存的、与所述宿主fec对应的标签借用信息;所述更新模块包括:第二确定单元,根据所述标签借用关系,确定借用所述宿主fec入标签和/或出标签的第一类寄生fec;添加单元,用于根据确定的所述第一类寄生fec,添加属于所述第一类寄生fec、但未借用所述宿主fec入标签和/或出标签的寄生fec借用所述宿主fec入标签和/或出标签的标签借用信息;和/或,撤销单元,用于根据确定的所述第一类寄生fec,撤销不属于所述第一类寄生fec、但已借用所述宿主fec入标签和/或出标签的寄生fec的标签借用;删除单元,用于删除不属于所述第一类寄生fec、但已借用所述宿主fec的入标签和/或出标签的寄生fec基于借用所述宿主fec的入标签和/或出标签建立的lsp。

根据本发明的又一个实施例,还提供了一种网络节点,该网络节点包括上述任一项所述的路径建立装置。

根据本发明的又一个实施例,还提供了一种存储介质。该存储介质设置为存储用于执行以下步骤的程序代码:在由入口节点至出口节点路径上的第一节点上,将出口节点的宿主转发等价类fec的入标签和/或出标签作为所述出口节点的寄生fec的入标签和/或出标签,建立与所述寄生fec对应的基于多协议标签交换mpls的标签交换路径lsp。

可选地,存储介质还设置为存储用于执行以下步骤的程序代码:在所述第一节点为非入口节点的情况下,向所述第一节点的上游节点发送第一消息,其中,所述第一消息中携带有标识所述宿主fec与所述寄生fec之间标签借用关系的信息,其中,所述标签借用关系用于将所述宿主fec的入标签和/或出标签作为寄生fec的入标签和/或出标签,以使所述上游节点根据所述第一消息确定所述宿主fec与所述寄生fec之间标签的所述标签借用关系,建立与所述寄生fec对应的基于mpls的lsp。

可选地,存储介质还设置为存储用于执行以下步骤的程序代码:在向所述第一节点的上游节点发送第一消息之前,还包括:在所述第一节点为所述出口节点的情况下,根据预定策略确定宿主fec与寄生fec之间的所述标签借用关系;或者,在所述第一节点为非出口节点的情况下,通过接收所述出口节点的所述宿主fec对应的通告消息的方式,确定宿主fec与寄生fec之间的所述标签借用关系。

可选地,存储介质还设置为存储用于执行以下步骤的程序代码:通过接收所述出口节点的所述宿主fec对应的通告消息的方式,确定宿主fec与寄生fec之间的所述标签借用关系包括:接收一个或多个用于通告所述出口节点的路由前缀的泛洪消息,其中,所述泛洪消息中携带有用于标识所述出口节点的宿主路由前缀和/或与所述宿主路由前缀匹配的所述出口节点的寄生路由前缀,所述宿主路由前缀与所述宿主fec对应,所述寄生路由前缀与所述寄生fec对应;接收所述第一节点的下游节点发送的第二消息,其中,所述第二消息中携带有用于标识所述宿主fec的标识信息;根据所述标识信息,以及所述泛洪消息通告的所述出口节点的路由前缀,确定所述标签借用关系为:将所述宿主fec的入标签和/或出标签作为寄生fec的入标签和/或出标签,其中,所述寄生fec与所述宿主路由前缀匹配的所述寄生路由前缀对应。

可选地,存储介质还设置为存储用于执行以下步骤的程序代码:在通过接收所述出口节点的所述宿主fec对应的通告消息的方式,确定宿主fec与寄生fec之间的所述标签借用关系之后,还包括:根据所述标签借用关系,更新本地保存的、与所述宿主fec对应的标签借用信息,包括:根据所述标签借用关系,确定借用所述宿主fec入标签和/或出标签的第一类寄生fec;根据确定的所述第一类寄生fec,添加属于所述第一类寄生fec、但未借用所述宿主fec入标签和/或出标签的寄生fec借用所述宿主fec入标签和/或出标签的标签借用信息;和/或,根据确定的所述第一类寄生fec,撤销不属于所述第一类寄生fec、但已借用所述宿主fec入标签和/或出标签的寄生fec的标签借用,删除不属于所述第一类寄生fec、但已借用所述宿主fec的入标签和/或出标签的寄生fec基于借用所述宿主fec的入标签和/或出标签建立的lsp。

通过本发明,由于在建立寄生fec对应的mplslsp时,借用了宿主fec的入标签和/或出标签,减少了建立fec对应的mplslsp时需要分配的标签数量,因此,可以解决相关技术中存在标签资源不能满足需求的问题,达到节省标签资源,提高mplslsp创建效率的效果。

附图说明

此处所说明的附图用来提供对本发明的进一步理解,构成本申请的一部分,本发明的示意性实施例及其说明用于解释本发明,并不构成对本发明的不当限定。在附图中:

图1是本发明实施例的一种路径建立方法的终端的硬件结构框图;

图2是根据本发明实施例的路径建立方法的流程图;

图3是根据本发明优选实施例的路径建立方法的流程图;

图4是根据本发明优选实施例的host-parasitismfecrelationshiptlv的格式图;

图5是根据本发明优选实施例的labelborrowingmessage的格式图;

图6是根据本发明优选实施例的egress节点产生host-parasitismfecrelationship的处理流程图;

图7是根据本发明优选实施例的ingress/transit节点从标签通告或回收消息中接收host-parasitismfecrelationship的处理流程图;

图8根据本发明优选实施例的ingress/transit节点从labelborrowingmessage中接收host-parasitismfecrelationship的处理流程图;

图9是根据本发明优选实施例的ldplsp的建立流程图;

图10是根据本发明优选实施例的bgplsp的建立流程图;

图11是根据本发明优选实施例的bgplsp的建立流程图;

图12是根据本发明实施例的路径建立装置的结构框图一;

图13是根据本发明实施例的路径建立装置的结构框图二;

图14是根据本发明实施例的路径建立装置的结构框图三;

图15是根据本发明实施例的路径建立装置中第二确定模块144的结构框图;

图16是根据本发明实施例的路径建立装置的结构框图三;

图17是根据本发明实施例的网络节点的结构框图。

具体实施方式

下文中将参考附图并结合实施例来详细说明本发明。需要说明的是,在不冲突的情况下,本申请中的实施例及实施例中的特征可以相互组合。

需要说明的是,本发明的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。

rfc5036虽然在协议上支持一个fec标签长度内容(taglengthvalue,简称为tlv)可以包含多个fecelement,这些fecelement可以共用一个标签,但是没有提出如何共用标签的方法。由于没有可行的方法,在实际网络部署中,真正能够将多个fecelement包含在一个fectlv中的场景是很少的,一般仅见于一个节点可以为其所有本地的或直连的prefixfecs分配相同的标签3,此时这些prefixfecs可以作为fecelements包含于同一个fectlv中。这种共用标签的行为对整个网络的标签资源占用的紧张局面几乎没有缓解。

开放式最短路径优先协议(openshortestpathfirst,简称为ospf)与中间系统到中间系统(intermediatesystemtointermediatesystem,简称为isis)都会对物理网络划分区域(area或level),在以划分区域后的网络为基础计算拓扑时,各区域内的节点只计算本区域内的拓扑,但会计算至全网的prefix的路由信息。每个prefix都有其起始节点(或称通告节点)信息,只不过对于区域外的prefix,其起始节点信息换成了本区域的边界节点。实际上,越来越多的应用场景表明,除了需要知道一个prefix是区域内的还是区域外的,还需要知道其原始起始节点(或称原始通告节点),如最大冗余树(maximallyredundanttree,简称为mrt)场景。为此内部网关协议(nteriorgatewayprotocol,简称为igp)乃至bgp需要在通告prefix时,携带其原始起始节点信息,从目前的最新标准进展来看,isis已经在rfc7794中补充了这个能力,其它协议有待补充。

实施例1

本申请实施例1所提供的方法实施例可以在终端、计算机终端或者类似的运算装置中执行。以运行在终端上为例,图1是本发明实施例的一种路径建立方法的终端的硬件结构框图。如图1所示,终端10可以包括一个或多个(图中仅示出一个)处理器102(处理器102可以包括但不限于微处理器mcu或可编程逻辑器件fpga等的处理装置)、用于存储数据的存储器104、以及用于通信功能的传输装置106。本领域普通技术人员可以理解,图1所示的结构仅为示意,其并不对上述电子装置的结构造成限定。例如,终端10还可包括比图1中所示更多或者更少的组件,或者具有与图1所示不同的配置。

存储器104可用于存储应用软件的软件程序以及模块,如本发明实施例中的路径建立方法对应的程序指令/模块,处理器102通过运行存储在存储器104内的软件程序以及模块,从而执行各种功能应用以及数据处理,即实现上述的方法。存储器104可包括高速随机存储器,还可包括非易失性存储器,如一个或者多个磁性存储装置、闪存、或者其他非易失性固态存储器。在一些实例中,存储器104可进一步包括相对于处理器102远程设置的存储器,这些远程存储器可以通过网络连接至终端10。上述网络的实例包括但不限于互联网、企业内部网、局域网、移动通信网及其组合。

传输装置106用于经由一个网络接收或者发送数据。上述的网络具体实例可包括终端10的通信供应商提供的无线网络。在一个实例中,传输装置106包括一个网络适配器(networkinterfacecontroller,简称为nic),其可通过基站与其他网络设备相连从而可与互联网进行通讯。在一个实例中,传输装置106可以为射频(radiofrequency,简称为rf)模块,其用于通过无线方式与互联网进行通讯。

在本实施例中提供了一种运行于终端的路径建立方法,图2是根据本发明实施例的路径建立方法的流程图,如图2所示,该流程包括如下步骤:

步骤s202,在由入口节点至出口节点路径上的第一节点上,将出口节点的宿主转发等价类fec的入标签和/或出标签作为出口节点的寄生fec的入标签和/或出标签,建立与寄生fec对应的基于多协议标签交换mpls的标签交换路径lsp。

通过本发明,在建立寄生fec对应的mplslsp时,借用了宿主fec的入标签和/或出标签,减少了建立fec对应的mplslsp时需要分配的标签数量,解决了相关技术中存在标签资源不能满足需求的问题,节省了标签资源,提高了mplslsp的创建效率。

宿主fec与寄生fec仅为入标签和/或出标签的接入方和借出方的区别,在其他属性上可以并无实质性的区别,宿主fec与寄生fec也可以使用第一fec与第二fec的方式进行区别。

可选地,该方法还可以包括:在第一节点为非入口节点的情况下,向第一节点的上游节点发送第一消息,其中,该第一消息中携带有标识宿主fec与寄生fec之间标签借用关系的信息,其中,标签借用关系用于标识将宿主fec的入标签和/或出标签作为寄生fec的入标签和/或出标签,以使该上游节点根据第一消息确定宿主fec与寄生fec之间标签的标签借用关系,建立与寄生fec对应的基于mpls的lsp。发送第一消息可以是在建立与寄生fec对应的mplslsp之前,也可以在建立与寄生fec对应的mplslsp之后。第一消息可以为已有的标签通告或回收消息,也可以为除标签通告或回收消息之外的其他消息。

通过本发明实施例的上述技术方案,第一节点可以通过第一消息将出口节点的宿主fec与寄生fec之间标签借用关系传递给其上游节点,使得出口节点的宿主fec与寄生fec之间标签借用关系可以在网络中传递,提高了出口节点的宿主fec与寄生fec之间标签借用关系的传播效率。

可选地,在向第一节点的上游节点发送第一消息之前,还可以确定宿主fec与寄生fec之间的标签借用关系:在第一节点为出口节点的情况下,根据预定策略确定宿主fec与寄生fec之间的标签借用关系;在第一节点为非出口节点的情况下,通过接收出口节点的宿主fec对应的通告消息的方式,确定宿主fec与寄生fec之间的标签借用关系。当然,也可以通过其他接收标签通告消息或者标签回收消息之外的其他消息,确定宿主fec与寄生fec之间的标签借用关系。上述预定策略可以根据需要进行设定,例如,根据需要设定预定策略为所有的寄生fec均借用(或不借用)宿主fec的入标签和/或出标签,又例如,根据需要设定预定策略为指定的部分寄生fec借用(或不借用)宿主fec的入标签和/或出标签。

通过本发明实施例的上述技术方案,不同类型的节点获取标签借用关系的方式不同,可以适用于整个网络中的节点架构,提高了确定宿主fec与寄生fec之间的标签借用关系方式的效率。

可选地,通过接收出口节点的宿主fec对应的通告消息的方式,确定宿主fec与寄生fec之间的标签借用关系可以采用多种方式,例如,可以通过接收第一节点的下游节点发送的通告消息,该通告消息中包括用于标识出口节点的路由前缀对应的宿主fec,以及借用(或不借用)该宿主fec的寄生fec;根据上述通告消息,确定标签借用关系为将该通告消息中的宿主fec的入标签和/或出标签作为该通告消息中的寄生fec的入标签和/或出标签。又例如,可以接收一个或多个用于通告出口节点的路由前缀的泛洪消息,泛洪消息中可以分别携带用于标识出口节点的宿主路由前缀,或者与宿主路由前缀匹配的寄生路由前缀,也可以同时携带用于标识出口节点的宿主路由前缀以及与宿主路由前缀匹配的寄生路由前缀,宿主路由前缀与宿主fec对应,寄生路由前缀与寄生fec对应;接收第一节点的下游节点发送的携带有用于标识宿主fec的标识信息的第二消息,根据所述标识信息,确定所述标签借用关系为:将宿主fec的入标签和/或出标签作为寄生fec的入标签和/或出标签,其中,该寄生fec与宿主路由前缀匹配的寄生路由前缀对应。也就是,分别通过泛洪消息确定出口节点的宿主路由前缀与寄生路由前缀的匹配关系,通过第二消息确定宿主fec,然后确定与宿主fec对应的宿主路由前缀匹配的寄生路由前缀,再由寄生路由前缀确定借用宿主fec的入标签和/或出标签的寄生fec,此时的通告消息可以包括泛洪消息和第二消息。

通过本发明实施例的上述技术方案,通过泛洪消息与第二消息结合确定标签借用关系的方式,降低了单个通告消息中需要携带的信息量,提高了确定标签借用关系的效率。

可选地,在通过接收出口节点的宿主fec对应的通告消息的方式,确定宿主fec与寄生fec之间的标签借用关系之后,该方法还可以包括:根据标签借用关系,更新本地保存的、与宿主fec对应的标签借用信息,具体地,可以:根据标签借用关系,确定借用宿主fec入标签和/或出标签的第一类寄生fec;根据确定的第一类寄生fec,添加属于第一类寄生fec、但未借用宿主fec入标签和/或出标签的寄生fec借用宿主fec入标签和/或出标签的标签借用信息;和/或,根据确定的第一类寄生fec,撤销不属于第一类寄生fec、但已借用宿主fec入标签和/或出标签的寄生fec的标签借用,删除不属于第一类寄生fec、但已借用宿主fec的入标签和/或出标签的寄生fec基于借用宿主fec的入标签和/或出标签建立的lsp。作为一种可选的方案,也可以直接使用根据第二消息确定的标签借用关系进行标签借用,而不在本地保存与宿主fec对应的标签借用信息,只是这样会存在不允许借用宿主fec的入标签和/或出标签的寄生fec仍然借用宿主fec的入标签和/或出标签的情况。

通过本发明实施例的上述技术方案,根据标签借用关系,更新本地保存的、与宿主fec对应的标签借用信息,可以保证标签借用的准确性,避免网络资源的浪费。

基于上述实施例及可选实施方式,为说明方案的整个流程交互,在本优选实施例中,提供了一种路径建立方法,图3是根据本发明优选实施例的路径建立方法的流程图,如图3所示,该流程包括以下步骤:

步骤s302,ospf、isis、bgp等路由协议在通告prefix信息时,携带prefix的原始起始节点信息,在每个节点上,建立prefix和其原始起始节点的双向查找关系。

各节点的原始起始节点信息一般是指该节点的某个loopback地址路由,称为host-prefix(宿主-前缀),也可以配置指定其它某个本地路由作为host-prefix。该节点在向其它路由协议邻居节点通告prefix时,将携带该节点的host-prefix属性。该节点向其它路由协议邻居节点通告的prefix也包括host-prefix自身,通告host-prefix时也携带host-prefix属性。此外,除了host-prefix自身以外,通告的prefix也包括携带host-prefix属性的prefix,称为parasitic-prefix(寄生-前缀)。

步骤s304,通过mpls标签分发协议创建至上述host-prefix的mplslsp。

通过mpls标签分发协议创建至上述host-prefix的mplslsp,相应的目的fec称为host-fec。

步骤s306,在上述mplslsp的egress节点(出口节点)上,将所有parasitic-prefix对应的parasitic-fecs根据一定的策略全部或部分借用该host-fec的入标签,并将这些parasitic-fecs的标签借用关系通告给mpls标签分发协议的邻居。

上述一定的策略可以为粗粒度的策略或者细粒度的策略,其中,粗粒度的策略是所有以上述host-prefix为原始起始节点的parasitic-prefixes相应的parasitic-fecs将借用相应host-fec的标签;细粒度的策略是部分parasitic-prefixes相应的parasitic-fecs将显式的借用相应host-fec的标签。

步骤s308,上述mplslsp的transit节点(传输节点)或ingress节点(入口节点)收到上述parasitic-fecs的标签借用关系通告后,也将这些parasitic-fecs借用相应host-fec的入标签与出标签。

上述mplslsp的transit节点会继续将这些parasitic-fecs的标签借用关系通告给mpls标签分发协议的邻居节点。最终在整个网络中为这些parasitic-fecs建立相应的mplslsp。

下面对本优选实施例的上述路径建立流程进行具体说明。

在本优选实施例中,通过产生host-parasitismfecrelationship进行mplslsp的建立。为建立mplslsp,本优选实施例中引入了一种tlv和一种消息:host-parasitismfecrelationshiptlv和labelborrowingmessage。

图4给出了host-parasitismfecrelationshiptlv格式,其中:

u-bit与f-bit:都设置为1,使得不认识该tlv的节点直接忽略它并且继续向其它邻居传播。

sequencenumber:表示标签借用关系的序列号,32位无符号整型。当标签借用关系在网络中许多节点上传播时,极容易出现时序问题,sequencenumber将决定哪个标签借用关系是新的,哪个是旧的。两个sequencenumber相比较时,一般值越大者越新,但是如果值较大者减去值较小者的差值超过了32位无符号整型取值范围的一半时,则表示发生了翻转,此时值较小者为新。

其中,hostfec与parasiticfec都是按照rfc5036所定义的prefix类型的fec。hostfec是标签借出方,parasiticfec是标签借入方。

该tlv可以包含于标签分发协议的已有标签通告与标签回收消息中,也可以包含于本发明定义的labelborrowingmessage中。

图5给出了labelborrowingmessage格式,其中:

u-bit:设置为1,使得不认识该消息的节点直接忽略它。

action:设置为0表示标签不借用,设置为1表示标签借用。

接下来是host-parasitismfecrelationshiptlv。

下面对host-parasitismfecrelationship的处理流程进行说明,其中涉及到的ingress、transit、egress等角色是针对具体hostfec而言的。

图6是根据本发明优选实施例的egress节点产生host-parasitismfecrelationship的处理流程图,如图6所示,该流程包括如下步骤:

步骤s602,在egress节点上,在相应的标签分发协议实例下,配置使用某个loopback路由作为hostfec,与igp/bgp使用的原始起始节点信息一致。

该标签分发协议实例仅仅需要默认为该hostfec分配标签并通告给邻居,建立相应的mplslsp。

步骤s604,在egress节点上,配置策略描述哪些本地的与直连的prefix借用hostfec的标签。

配置的策略可以包括:

1)粗粒度,所有parasiticfecs都想(或都不想)借用hostfec的标签;

2)细粒度,指定具体哪些parasiticfecs想(或不想)借用hostfec的标签。

步骤s606,egress节点在向邻居节点发送hostfec相应的标签通告或标签回收消息中包括相应的host-parasitismfecrelationshiptlv,或者,向邻居节点发送单独的labelborrowingmessage中包括相应的host-parasitismfecrelationshiptlv。

具体地,

当hostfec的标签有效,且配置有parasiticfecs需要借用该hostfec的标签,则egress节点向邻居节点发送hostfec相应的标签通告消息时,其中必须包含host-parasitismfecrelationshiptlv。粗粒度策略时,host-parasitismfecrelationshiptlv中仅给出hostfec的信息,parasiticfec为空。细粒度策略时,host-parasitismfecrelationshiptlv中既给出hostfec的信息,也给出多条parasiticfec信息。

当hostfec的标签有效,且删除配置parasiticfecs借用该hostfec的标签,则egress节点向邻居节点发送hostfec相应的标签通告消息时,其中必须不能包含host-parasitismfecrelationshiptlv。

当hostfec的标签无效,且配置有parasiticfecs需要借用该hostfec的标签,则egress节点向邻居节点发送hostfec相应的标签回收消息时,其中必须包含host-parasitismfecrelationshiptlv。粗粒度策略时,host-parasitismfecrelationshiptlv中仅给出hostfec的信息,parasiticfec为空。细粒度策略时,host-parasitismfecrelationshiptlv中既给出hostfec的信息,也给出多条parasiticfec信息。

当hostfec的标签无效,且删除配置parasiticfecs借用该hostfec的标签,则egress节点向邻居节点发送hostfec相应的标签回收消息时,其中必须不能包含host-parasitismfecrelationshiptlv。

egress节点也可以采取向邻居节点发送单独的labelborrowingmessage(labelborrowingmessage的格式如图5所示),labelborrowingmessage包含相应的host-parasitismfecrelationshiptlv。具体为:

当配置parasiticfecs需要借用该hostfec的标签,则egress节点向邻居节点发送labelborrowingmessage消息,其中action设置为1,且必须包含host-parasitismfecrelationshiptlv。粗粒度策略时,host-parasitismfecrelationshiptlv中仅给出hostfec的信息,parasiticfec为空。细粒度策略时,host-parasitismfecrelationshiptlv中既给出hostfec的信息,也给出多条parasiticfec信息。

当删除配置parasiticfecs借用该hostfec的标签,则egress节点向邻居节点发送labelborrowingmessage消息,其中action设置为0,且必须包含host-parasitismfecrelationshiptlv,仅给出hostfec的信息,parasiticfec为空。

图7是根据本发明优选实施例的ingress/transit节点从标签通告或回收消息中接收host-parasitismfecrelationship的处理流程图,如图7所示,该流程包括如下步骤:

步骤s702,transit或ingress节点接收到egress节点的hostfec的标签通告或者回收消息,首先按传统流程处理相应的标签通告与回收。

步骤s704,判断解析消息中是否存在host-parasitismfecrelationshiptlv,如果是,执行步骤s706,否则,执行步骤s7010。

步骤s706,根据host-parasitismfecrelationshiptlv,仅其中包含的相应egressparasiticfecs能借用相应egresshostfec的标签,而撤销历史上其它egressparasiticfecs对相应egresshostfec的标签借用行为。

如果消息中存在host-parasitismfecrelationshiptlv,则根据该tlv所表示的标签借用关系,仅允许该tlv中包含的相应egressparasiticfecs能借用相应egresshostfec的标签,而撤销历史上其它egressparasiticfecs对相应egresshostfec的标签借用行为,删除这些egressparasiticfecs的基于借用标签的lsps。上述撤销和删除操作的前提是消息中存在的host-parasitismfecrelationshiptlv内容,比本地保存的相应egressparasiticfecs借用相应egresshostfec的数据更加新,通过host-parasitismfecrelationshiptlv中的sequencenumber判断。

当有多个下游邻居节点时,通过host-parasitismfecrelationshiptlv中的sequencenumber判断哪个下游邻居节点通告的标签借用关系是最新的。如果有的下游邻居节点在标签通告或回收消息中包含了host-parasitismfecrelationshiptlv,但有的下游邻居没有包含,则此时仍然以最新的host-parasitismfecrelationshiptlv为准,认为存在针对相应hostfec的标签借用关系,只有当所有的下游邻居都在标签通告或回收消息中不包含host-parasitismfecrelationshiptlv,则认为不再存在针对相应hostfec的标签借用关系。

本地总是保存最新的相应egressparasiticfecs借用相应egresshostfec的数据。

步骤s708,继续向其它上游邻居节点发送针对egresshostfec的相应的标签通告或回收消息时,其中包括最新的host-parasitismfecrelationshiptlv。

mplslsp的建立模式为independent时,transit节点即使收到了下游邻居节点的标签回收消息,它也不会继续向上游邻居节点发送相应的标签回收消息,此时需要判断从下游邻居节点接收到的标签回收消息中存在的host-parasitismfecrelationshiptlv内容,是否比本地保存的相应egressparasiticfecs借用相应egresshostfec的数据更加新且一致,若更加新且不一致,则产生相应的标签通告消息且其中包含从下游邻居收到的host-parasitismfecrelationshiptlv,向上游邻居发送。

不管mplslsp的建立模式为independent或order,transit节点均需判断从下游邻居节点接收到的标签通告消息中存在的host-parasitismfecrelationshiptlv内容是否比本地保存的相应egressparasiticfecs借用相应egresshostfec的数据更加新且不一致时,则需要产生相应的标签通告消息且其中包含从下游邻居节点收到的host-parasitismfecrelationshiptlv,向上游邻居节点发送。

当transit节点针对egresshostfec在已经没有分配有效标签的情况下,需要向上游邻居节点传递更新的host-parasitismfecrelationshiptlv时,可通过向上游邻居节点发送带无效标签的标签回收消息,其中包含相应的host-parasitismfecrelationshiptlv。

步骤s7010,撤销历史上所有egressparasiticfecs对相应egresshostfec的标签借用行为。

如果消息中不存在host-parasitismfecrelationshiptlv,则判断是否所有的下游邻居节点都没有在标签通告或回收消息中包含host-parasitismfecrelationshiptlv,如果判断结果为是,则认为不再存在针对相应hostfec的标签借用关系。此时撤销历史上所有egressparasiticfecs对相应egresshostfec的标签借用行为,删除相应egressparasiticfecs的基于借用标签的lsps。

需要说明的是,只要还存在任何其它下游邻居节点在标签通告或回收消息中包含host-parasitismfecrelationshiptlv,则认为针对相应hostfec的标签借用关系仍然存在。

步骤s7012,继续向其它邻居节点发送针对egresshostfec的相应的标签通告或回收消息时,其中不包括host-parasitismfecrelationshiptlv。

当针对相应hostfec的标签借用关系不再存在时,继续向其它上游邻居节点发送针对egresshostfec的相应的标签通告或回收消息中将不再包括host-parasitismfecrelationshiptlv。

当transit节点针对egresshostfec在已经没有分配有效标签的情况下,需要向上游邻居节点传递不再存在针对相应hostfec的标签借用关系时,可通过向上游邻居节点发送带无效标签的标签回收消息,其中不包含host-parasitismfecrelationshiptlv。

图8根据本发明优选实施例的ingress/transit节点从labelborrowingmessage中接收host-parasitismfecrelationship的处理流程图,如图8所示,相比上述将host-parasitismfecrelationship随已有的标签通告或回收消息中捎带的方式,其处理是十分简洁的。该流程包括如下步骤:

步骤s802,transit节点或ingress节点接收到egress节点的hostfec的labelborrowingmessage。

步骤s804,根据labelborrowingmessage中的action以及host-parasitismfecrelationshiptlv,为相应的egressparasiticfecs借用或不借用egresshostfec的标签。

上述操作的前提是:labelborrowingmessage消息中存在的host-parasitismfecrelationshiptlv内容,比本地保存的相应egressparasiticfecs借用相应egresshostfec的数据更加新,通过host-parasitismfecrelationshiptlv中的sequencenumber判断。

当有多个下游邻居节点时,通过host-parasitismfecrelationshiptlv中的sequencenumber判断哪个下游邻居节点通告的标签借用关系是最新的。

本地总是保存最新的相应egressparasiticfecs借用相应egresshostfec的数据。

步骤s806,transit节点继续向其它上游邻居节点发送labelborrowingmessage,其中包括同样的action以及host-parasitismfecrelationshiptlv。

上述操作的前提是:本地保存的最新的相应egressparasiticfecs借用相应egresshostfec的数据发生了变化。

下面分别结合多种mpls标签分发协议说明本优选实施例的路径建立方法。

图9是根据本发明优选实施例的ldplsp的建立流程图,如图9所示,网络中运行ospf与ldp协议,ospf跨三个area。s作为ingress节点建立至egress节点为d的ldplsp。该流程包括如下步骤:

步骤s902,d节点上存在loopback0的路由,以及其它本地路由prefix1,prefix2,...,prefixn。假设d的router-id为loopback0的ip地址。d将prefix-loopback0,prefix1,prefix2,...,prefixn通过ospf在全网泛洪,并且随每个prefix都携带prefixattribute,其中描述了该prefix的原始起始节点信息router-idd。以下提到的loopback0都特指d节点的loopback0。

网络中所有节点都将生成至prefix-loopback0,prefix1,prefix2,...,prefixn的路由。以s节点为例,s节点上至prefix-loopback0,prefix1,prefix2,...,prefixn的路由的下一跳都指向p1,并且知道这些prefix的起始节点都为router-idabr1,但同时也知道这些prefix的原始起始节点都为router-idd。

d节点通过ldp向p3通告标签映射(fec-loopback0,l1)。

同时d节点上配置hostfec为loopback0对应的路由,并配置粗粒度策略将所有本地prefix都借用fec-loopback0的标签,并且配置使用通告labelborrowingmessage的方式向邻居通告标签借用关系。则d节点上将l1标签也都作为fec-prefix1,fec-prefix2,...,fec-prefixn的入标签,生成相应的ldpegresslsp,并通过ldp向p3通告标签借用消息,其中action设置为1,host-parasitismfecrelationshiptlv中仅包括hostprefix为prefix-loopback0。

步骤s904,p3节点收到d节点的标签映射(fec-loopback0,l1)消息,同时也有序或独立的为fec-loopback0分配入标签l2。

p3节点也从d节点收到针对fec-loopback0的粗粒度标签借用消息,则p3节点查询路由表中,凡是其原始起始节点信息为router-idd即能够与prefix-loopback0的路由匹配的prefix,并且这些prefix的路由转发信息应该要与prefix-loopback0的路由转发信息一致,则这些prefix对应的fec都将从fec-loopback0继承入标签与出标签,各自建立相应的ldptransitlsp。

p3节点通过ldp继续向abr2节点通告标签映射(fec-loopback0,l2)消息,也通告标签借用消息,其中action设置为1,host-parasitismfecrelationshiptlv中仅包括hostprefix为prefix-loopback0。

步骤s906,abr2的处理与p3是类似的。最终abr2节点上基于借用的ldp入标签与出标签为fec-prefix1,fec-prefix2,...,fec-prefixn建立了ldptransitlsp,并通过ldp继续向p2节点通告标签映射(fec-loopback0,l3)消息,也通告标签借用消息,其中action设置为1,host-parasitismfecrelationshiptlv中仅包括hostprefix为prefix-loopback0。

步骤s908,p2的处理与p3是类似的。最终p2节点上基于借用的ldp入标签与出标签为fec-prefix1,fec-prefix2,...,fec-prefixn建立了ldptransitlsp,并通过ldp继续向abr1节点通告标签映射(fec-loopback0,l4)消息,也通告标签借用消息,其中action设置为1,host-parasitismfecrelationshiptlv中仅包括hostprefix为prefix-loopback0。

步骤s9010,abr1的处理与p3是类似的。最终abr1节点上基于借用的ldp入标签与出标签为fec-prefix1,fec-prefix2,...,fec-prefixn建立了ldptransitlsp,并通过ldp继续向p1节点通告标签映射(fec-loopback0,l5)消息,也通告标签借用消息,其中action设置为1,host-parasitismfecrelationshiptlv中仅包括hostprefix为prefix-loopback0。

步骤s9012,p1的处理与p3是类似的。最终p1节点上基于借用的ldp入标签与出标签为fec-prefix1,fec-prefix2,...,fec-prefixn建立了ldptransitlsp,并通过ldp继续向s节点通告标签映射(fec-loopback0,l6)消息,也通告标签借用消息,其中action设置为1,host-parasitismfecrelationshiptlv中仅包括hostprefix为prefix-loopback0。

步骤s9014,s的处理与p3是类似的。最终s节点上基于借用的ldp出标签为fec-prefix1,fec-prefix2,...,fec-prefixn建立了ldpingresslsp。

图10是根据本发明优选实施例的bgplsp的建立流程图,如图10所示,l3vpn跨域optionc场景中,自治系统(autonomoussystem,简称为as)内运行ospf与ldp协议,as间通过多协议扩展的外部边界网关协议(multi-protocolexternalbordergatewayprotocol,简称为mp-ebgp)通告带标签的bgp路由,as内亦通过多协议扩展的外部内部网关协议(multi-protocolinternalbordergatewayprotocol,简称为mp-ibgp)在as内通告从其它as学习到的带标签的bgp路由。pe1作为ingress节点建立至egress节点为pe2的bgplsp。该流程包括如下步骤:

步骤s1002,pe2节点上存在loopback0的路由,以及其它本地路由prefix1,prefix2,...,prefixn。假设pe2的router-id为loopback0的ip地址。pe2将prefix-loopback0,prefix1,prefix2,...,prefixn在as2内通过ospf全网泛洪,并且随每个prefix都携带prefixattribute,其中描述了该prefix的原始起始节点信息router-idpe2。以下提到的loopback0都特指pe2节点的loopback0。

as2内所有节点都将生成至prefix-loopback0,prefix1,prefix2,...,prefixn的路由。以asbr2节点为例,asbr2节点上至prefix-loopback0,prefix1,prefix2,...,prefixn的路由的下一跳都指向p3,并且知道这些prefix的原始起始节点都为router-idpe2。

pe2节点通过ldp向p3通告标签映射(fec-loopback0,l1)。

同时pe2节点上配置hostfec为loopback0对应的路由,并配置粗粒度策略将所有本地prefix都借用fec-loopback0的标签,并且配置使用通告labelborrowingmessage的方式向邻居通告标签借用关系。则pe2节点上将l1标签也都作为fec-prefix1,fec-prefix2,...,fec-prefixn的入标签,生成相应的ldpegresslsp,并通过ldp向p3通告标签借用消息,其中action设置为1,host-parasitismfecrelationshiptlv中仅包括hostprefix为prefix-loopback0。

步骤s1004,p3节点收到pe2节点的标签映射(fec-loopback0,l1)消息,同时也有序或独立的为fec-loopback0分配入标签l2。

p3节点也从pe2节点收到针对fec-loopback0的粗粒度标签借用消息,则p3节点查询路由表中,凡是其原始起始节点信息为router-idpe2即能够与prefix-loopback0的路由匹配的prefix,并且这些prefix的路由转发信息应该要与prefix-loopback0的路由转发信息一致,则这些prefix对应的fec都将从fec-loopback0继承入标签与出标签,建立相应ldptransitlsp。

p3节点通过ldp继续向asbr2节点通告标签映射(fec-loopback0,l2)消息,也通告标签借用消息,其中action设置为1,host-parasitismfecrelationshiptlv中仅包括hostprefix为prefix-loopback0。

步骤s1006,asbr2的处理与p3是类似的。最终asbr2节点上基于借用的ldp出标签为fec-prefix1,fec-prefix2,...,fec-prefixn建立了ldpingresslsp。

asbr2上同时将ospfprefix导入bgp,在导入时描述各prefix的原始起始节点信息的prefixattribute不丢失。asbr2节点通过bgp继续向asbr1节点通告带标签的bgp路由prefix-loopback0,其中包含标签属性描述了标签映射关系(fec-loopback0,l3),也包含host-parasitismfecrelationshiptlv,描述粗粒度的标签借用关系,该tlv中仅包括hostprefix为prefix-loopback0。asbr2节点也通过bgp继续向asbr1节点通告带标签的bgp路由prefix1,prefix2,...,prefixn,其中包含标签属性描述了标签映射关系如(fec-prefix1,l3)。

asbr2节点上将基于借用的bgp入标签为fec-prefix1,fec-prefix2,...,fec-prefixn建立了bgpegresslsp。并将此bgpegresslsp与上述ldpingresslsp粘连。

步骤s1008,asbr1节点收到asbr2节点的带标签的bgp路由prefix-loopback0后,也为fec-loopback0分配bgp入标签l4,同时根据路由通告中包含的标签借用属性,以及结合从asbr2收到的带标签的bgp路由prefix1,prefix2,...,prefixn,基于借用的bgp入标签与出标签为fec-prefix1,fec-prefix2,...,fec-prefixn建立了bgptransitlsp。

asbr1继续通过bgp向pe1节点通告带标签的bgp路由prefix-loopback0,其中包含标签属性描述了标签映射关系(fec-loopback0,l4),也包含host-parasitismfecrelationshiptlv,描述粗粒度的标签借用关系,该tlv中仅包括hostprefix为prefix-loopback0。也通过bgp继续向pe1节点通告带标签的bgp路由prefix1,prefix2,...,prefixn,其中包含标签属性描述了标签映射关系如(fec-prefix1,l4)。

步骤s10010,pe1的处理与asbr1是类似的。最终pe1节点上基于借用的bgp出标签为fec-prefix1,fec-prefix2,...,fec-prefixn建立了bgpingresslsp。

图11是根据本发明优选实施例的bgplsp的建立流程图,如图11所示,基本vpn场景中,公网as内运行ospf与ldp协议,as内亦通过mp-ibgp在as内通告从ce学习到的bgpvpnv4/6路由。pe与ce间运行ospf协议,ce属于pe的vrfa。pe1作为ingress节点建立至egress节点为ce2的vpnlsp。该流程包括如下步骤:

步骤s1102,ce2节点上存在loopback0的路由,以及其它本地路由prefix1,prefix2,...,prefixn。假设ce2的router-id为loopback0的ip地址。ce2将prefix-loopback0,prefix1,prefix2,...,prefixn通过ospf泛洪给pe2,并且随每个prefix都携带prefixattribute,其中描述了该prefix的原始起始节点信息router-idce2。以下提到的loopback0都特指ce2节点的loopback0。

步骤s1104,pe2将在vrfa内生成至prefix-loopback0,prefix1,prefix2,...,prefixn的私网路由,路由的下一跳都指向ce2,并且知道这些prefix的原始起始节点都为router-idce2。

pe2节点上为vrfa配置粗粒度的标签借用策略,将vrfa内所有prefix都借用其原始起始节点对应fec的标签,并且配置使用随路由通告的方式向邻居通告标签借用关系。

pe2节点通过bgp向pe1通告vpnv4(或vpnv6)路由prefix-loopback0,包含标签映射关系(vrfa,fec-loopback0,l1),也包含host-parasitismfecrelationshiptlv,描述粗粒度的标签借用关系,该tlv中仅包括hostprefix为prefix-loopback0。pe2节点也通过bgp向pe1通告vpnv4(或vpnv6)路由prefix1,prefix2,...,prefixn,包含标签映射关系如(vrfa,fec-prefix1,l1)。

pe2节点上将fec-prefix1,fec-prefix2,...,fec-prefixn的入标签从它们的原始起始节点对应的fec-loopback0借用,即标签l1,生成相应的vpnegresslsp。

步骤s1106,pe1节点收到pe2节点通告的vpnv4(或vpnv6)路由prefix-loopback0后,导入本地vrfa,生成相应的vpningresslsp。同时根据路由通告中包含的标签借用属性,以及结合从pe2收到的vpnv4(或vpnv6)路由prefix1,prefix2,...,prefixn,基于借用的bgp出标签为vrfa内的fec-prefix1,fec-prefix2,...,fec-prefixn建立vpningresslsp。

与现有技术相比,本发明优选实施例的上述技术方案克服了相关技术中存在的标签资源浪费严重的问题和缺陷,节省了大量的标签资源,提高了mplslsp创建的效率。

通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到根据上述实施例的方法可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质(如rom/ram、磁碟、光盘)中,包括若干指令用以使得一台终端设备(可以是手机,计算机,服务器,或者网络设备等)执行本发明各个实施例所述的方法。

实施例2

在本实施例中还提供了一种路径建立装置,该装置用于实现上述实施例及优选实施方式,已经进行过说明的不再赘述。如以下所使用的,术语“模块”可以实现预定功能的软件和/或硬件的组合。尽管以下实施例所描述的装置较佳地以软件来实现,但是硬件,或者软件和硬件的组合的实现也是可能并被构想的。

图12是根据本发明实施例的路径建立装置的结构框图一,如图12所示,该装置包括:建立模块122,用于在由入口节点至出口节点路径上的第一节点上,将出口节点的宿主转发等价类fec的入标签和/或出标签作为出口节点的寄生fec的入标签和/或出标签,建立与寄生fec对应的基于多协议标签交换mpls的标签交换路径lsp。

图13是根据本发明实施例的路径建立装置的结构框图二,如图13所示,该装置除包括图12所示的所有模块外,还包括:发送模块132,用于在第一节点为非入口节点的情况下,向第一节点的上游节点发送第一消息,其中,第一消息中携带有标识宿主fec与寄生fec之间标签借用关系的信息,其中,标签借用关系用于标识将宿主fec的入标签和/或出标签作为寄生fec的入标签和/或出标签,以使上游节点根据第一消息确定宿主fec与寄生fec之间标签的标签借用关系,建立与寄生fec对应的基于mpls的lsp。

图14是根据本发明实施例的路径建立装置的结构框图三,如图14所示,该装置除包括图13所示的所有模块外,还包括:

第一确定模块142,用于在第一节点为出口节点的情况下,根据预定策略确定宿主fec与寄生fec之间的标签借用关系;或者,第二确定模块144,用于在第一节点为非出口节点的情况下,通过接收出口节点的宿主fec对应的通告消息的方式,确定宿主fec与寄生fec之间的标签借用关系。

图15是根据本发明实施例的路径建立装置中第二确定模块144的结构框图,如图15所示,该第二确定模块144包括:

第一接收单元152,用于接收一个或多个用于通告出口节点的路由前缀的泛洪消息,其中,该泛洪消息中携带有用于标识出口节点的宿主路由前缀和/或与宿主路由前缀匹配的该出口节点的寄生路由前缀,该宿主路由前缀与宿主fec对应,该寄生路由前缀与寄生fec对应;

第二接收单元154,用于接收第一节点的下游节点发送的第二消息,其中,该第二消息中携带有用于标识宿主fec的标识信息;

第一确定单元156,与上述第一确定单元152以及上述第二接收单元154相连,用于根据该标识信息,以及所述泛洪消息通告的所述出口节点的路由前缀,确定标签借用关系为:将该宿主fec的入标签和/或出标签作为寄生fec的入标签和/或出标签,其中,该寄生fec与该宿主路由前缀匹配的寄生路由前缀对应。

图16是根据本发明实施例的路径建立装置的结构框图三,如图16所示,该装置除包括图12所示的所有模块外,还包括:更新模块162,用于根据该标签借用关系,更新本地保存的、与该宿主fec对应的标签借用信息,更新模块162包括:

第二确定单元1622,用于根据该标签借用关系,确定借用该宿主fec入标签和/或出标签的第一类寄生fec;

添加单元1624,与上述第二确定单元1622相连,用于根据确定的上述第一类寄生fec,添加属于上述第一类寄生fec、但未借用该宿主fec入标签和/或出标签的寄生fec借用该宿主fec入标签和/或出标签的标签借用信息;和/或,

撤销单元1626,与上述第二确定单元1622相连,用于根据确定的上述第一类寄生fec,撤销不属于上述第一类寄生fec、但已借用该宿主fec入标签和/或出标签的寄生fec的标签借用;

删除单元1628,与上述第二确定单元1622相连,用于删除不属于上述第一类寄生fec、但已借用该宿主fec的入标签和/或出标签的寄生fec基于借用该宿主fec的入标签和/或出标签建立的lsp。

需要说明的是,上述各个模块是可以通过软件或硬件来实现的,对于后者,可以通过以下方式实现,但不限于此:上述模块均位于同一处理器中;或者,上述各个模块以任意组合的形式分别位于不同的处理器中。

实施例3

在本实施例中还提供了一种网络节点,图17是根据本发明实施例的网络节点的结构框图,如图17所示,该网络节点包括上述实施例中的路径建立装置172。

实施例4

本发明的实施例还提供了一种存储介质。可选地,在本实施例中,上述存储介质可以被设置为存储用于执行以下步骤的程序代码:在由入口节点至出口节点路径上的第一节点上,将出口节点的宿主转发等价类fec的入标签和/或出标签作为出口节点的寄生fec的入标签和/或出标签,建立与寄生fec对应的基于多协议标签交换mpls的标签交换路径lsp。

可选地,存储介质还被设置为存储用于执行以下步骤的程序代码:在第一节点为非入口节点的情况下,向第一节点的上游节点发送第一消息,其中,第一消息中携带有标识宿主fec与寄生fec之间标签借用关系的信息,其中,标签借用关系用于标识将宿主fec的入标签和/或出标签作为寄生fec的入标签和/或出标签,以使上游节点根据第一消息确定宿主fec与寄生fec之间标签的标签借用关系,建立与寄生fec对应的基于mpls的lsp。

可选地,存储介质还被设置为存储用于执行以下步骤的程序代码:

在向第一节点的上游节点发送第一消息之前,还包括:

s1,在第一节点为出口节点的情况下,根据预定策略确定宿主fec与寄生fec之间的标签借用关系;或者,

s2,在第一节点为非出口节点之外的情况下,通过接收出口节点的宿主fec对应的通告消息的方式,确定宿主fec与寄生fec之间的标签借用关系。

可选地,存储介质还被设置为存储用于执行以下步骤的程序代码:

通过接收出口节点的宿主fec对应的通告消息的方式,确定宿主fec与寄生fec之间的标签借用关系包括:

s1,接收一个或多个用于通告出口节点的路由前缀的泛洪消息,其中,泛洪消息中携带有用于标识出口节点的宿主路由前缀和/或与宿主路由前缀匹配的出口节点的寄生路由前缀,宿主路由前缀与宿主fec对应,寄生路由前缀与寄生fec对应;

s2,接收第一节点的下游节点发送的第二消息,其中,第二消息中携带有用于标识宿主fec的标识信息;

s3,根据标识信息,确定标签借用关系为:将宿主fec的入标签和/或出标签作为寄生fec的入标签和/或出标签,其中,寄生fec与宿主路由前缀匹配的寄生路由前缀对应。

可选地,存储介质还被设置为存储用于执行以下步骤的程序代码:

在通过接收出口节点的宿主fec对应的通告消息的方式,确定宿主fec与寄生fec之间的标签借用关系之后,还包括:根据标签借用关系,更新本地保存的、与宿主fec对应的标签借用信息,包括:

s1,根据标签借用关系,确定借用宿主fec入标签和/或出标签的第一类寄生fec;

s2,根据确定的第一类寄生fec,添加属于第一类寄生fec、但未借用宿主fec入标签和/或出标签的寄生fec借用宿主fec入标签和/或出标签的标签借用信息;和/或,

s3,根据确定的第一类寄生fec,撤销不属于第一类寄生fec、但已借用宿主fec入标签和/或出标签的寄生fec的标签借用,删除不属于第一类寄生fec、但已借用宿主fec的入标签和/或出标签的寄生fec基于借用宿主fec的入标签和/或出标签建立的lsp。

可选地,在本实施例中,上述存储介质可以包括但不限于:u盘、只读存储器(rom,read-onlymemory)、随机存取存储器(ram,randomaccessmemory)、移动硬盘、磁碟或者光盘等各种可以存储程序代码的介质。

可选地,在本实施例中,处理器根据存储介质中已存储的程序代码执行:在由入口节点至出口节点路径上的第一节点上,将出口节点的宿主转发等价类fec的入标签和/或出标签作为出口节点的寄生fec的入标签和/或出标签,建立与寄生fec对应的基于多协议标签交换mpls的标签交换路径lsp。

可选地,在本实施例中,处理器根据存储介质中已存储的程序代码执行:在第一节点为非入口节点的情况下,向第一节点的上游节点发送第一消息,其中,第一消息中携带有标识宿主fec与寄生fec之间标签借用关系的信息,其中,标签借用关系用于标识将宿主fec的入标签和/或出标签作为寄生fec的入标签和/或出标签,以使上游节点根据第一消息确定宿主fec与寄生fec之间标签的标签借用关系,建立与寄生fec对应的基于mpls的lsp。

可选地,在本实施例中,处理器根据存储介质中已存储的程序代码执行:在向第一节点的上游节点发送第一消息之前,在第一节点为出口节点的情况下,根据预定策略确定宿主fec与寄生fec之间的标签借用关系;或者,在第一节点为非出口节点的情况下,通过接收出口节点的宿主fec对应的通告消息的方式,确定宿主fec与寄生fec之间的标签借用关系。

可选地,在本实施例中,处理器根据存储介质中已存储的程序代码执行:通过接收出口节点的宿主fec对应的通告消息的方式,确定宿主fec与寄生fec之间的标签借用关系包括:接收一个或多个用于通告出口节点的路由前缀的泛洪消息,其中,泛洪消息中携带有用于标识出口节点的宿主路由前缀和/或与宿主路由前缀匹配的出口节点的寄生路由前缀,宿主路由前缀与宿主fec对应,寄生路由前缀与寄生fec对应;接收第一节点的下游节点发送的第二消息,其中,第二消息中携带有用于标识宿主fec的标识信息;根据标识信息,以及泛洪消息通告的出口节点的路由前缀,确定标签借用关系为:将宿主fec的入标签和/或出标签作为寄生fec的入标签和/或出标签,其中,寄生fec与宿主路由前缀匹配的寄生路由前缀对应。

可选地,在本实施例中,处理器根据存储介质中已存储的程序代码执行:在通过接收出口节点的宿主fec对应的通告消息的方式,确定宿主fec与寄生fec之间的标签借用关系之后,还包括:根据标签借用关系,更新本地保存的、与宿主fec对应的标签借用信息,包括:根据标签借用关系,确定借用宿主fec入标签和/或出标签的第一类寄生fec;根据确定的第一类寄生fec,添加属于第一类寄生fec、但未借用宿主fec入标签和/或出标签的寄生fec借用宿主fec入标签和/或出标签的标签借用信息;和/或,根据确定的第一类寄生fec,撤销不属于第一类寄生fec、但已借用宿主fec入标签和/或出标签的寄生fec的标签借用,删除不属于第一类寄生fec、但已借用宿主fec的入标签和/或出标签的寄生fec基于借用宿主fec的入标签和/或出标签建立的lsp。

可选地,本实施例中的具体示例可以参考上述实施例及可选实施方式中所描述的示例,本实施例在此不再赘述。

显然,本领域的技术人员应该明白,上述的本发明的各模块或各步骤可以用通用的计算装置来实现,它们可以集中在单个的计算装置上,或者分布在多个计算装置所组成的网络上,可选地,它们可以用计算装置可执行的程序代码来实现,从而,可以将它们存储在存储装置中由计算装置来执行,并且在某些情况下,可以以不同于此处的顺序执行所示出或描述的步骤,或者将它们分别制作成各个集成电路模块,或者将它们中的多个模块或步骤制作成单个集成电路模块来实现。这样,本发明不限制于任何特定的硬件和软件结合。

以上所述仅为本发明的优选实施例而已,并不用于限制本发明,对于本领域的技术人员来说,本发明可以有各种更改和变化。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。

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