用于网络业务的路径计算单元中央控制器(PCECC)的制作方法

文档序号:13561794阅读:472来源:国知局
用于网络业务的路径计算单元中央控制器(PCECC)的制作方法

关于由联邦政府赞助研究或开发的声明

不适用。

参考微缩胶片附录

不适用。



背景技术:

多协议标签交换(multiprotocollabelswitching,mpls)网络广泛地部署在业务提供商网络中。目前的mpls网络由于它们使用标签分发协议(labeldistributionprotocol,ldp)和资源预留协议(resourcereservationprotocol,rsvp)-流量工程(trafficengineering,te)(rsvp-te)mpls信令协议而难以运作和维护。此外,mpls网络中的每个网络设备需要维持已建立的标签交换路径(labelswitchedpath,lsp)的大量状态。另外,将新业务添加到现有mpls网络中可能并不容易。

软件定义网络(softwaredefinednetworking,sdn)是将控制平面与数据平面解耦的组网架构。解耦允许网络控制集中式,从而能够进行有效策略管理和弹性管理。网络控制的集中式便于各种网络功能性,例如网络测量、流量工程、增强型业务质量和增强型访问控制。此外,可易于将新业务添加到基于sdn的网络中。因此,业务提供商可得益于所述sdn架构。

实例sdn网络是开放流openflow网络。openflow提供sdn控制器与网络节点之间的公共通信协议。openflow协议描述在openflow控制器与openflow交换机之间交换的消息,其中openflow控制器利用用于数据转发的流转发表项对openflow交换机进行编程。



技术实现要素:

尽管openflow网络可实现更大的灵活性和有效性,但是openflow网络的部署可能并不切实可行。例如,为了将现有网络迁移到openflowsdn网络,需要将所述网络中的所有网络设备替换或升级成支持sdn功能性的软件可编程设备。提供切实可行的具有良好性能和应用型服务的基于sdn的网络的一个方法是采用基于源路由(sourcerouting,sr)的分段路由。然而,基于sr的分段路由方法可能限于提供部分业务。另一方法是采用有状态路径计算单元(pathcomputationelement,pce)和分布式mpls架构的组合。然而,仍然存在mpls的部署和维护复杂性。为了解决这些和其它问题,并且如本文中将更完全地解释,使用路径计算单元中央控制器(pathcomputationelementcentralcontroller,pcecc)来计算路径,并根据用户、客户和应用的请求来预留或分配业务标签。pcecc将转发指令下载到网络中的所有网络节点。因此,不需要网络节点采用ldp和rsvp-templs信令协议、维持lsp状态或交换内部网关协议(interiorgatewayprotocol,igp)标签与内部边界网关协议(internalbordergatewayprotocol,ibgp)标签。

在一个实施例中,本发明包含一种通过路径计算单元集中式控制器(pathcomputationelementcentralizedcontroller,pcecc)实施的方法,所述方法包括:接收从网络中的第一边缘节点和第二边缘节点提供业务的业务请求;响应于所述业务请求而计算从所述第一边缘节点到所述第二边缘节点的标签交换路径(labelswitchedpath,lsp)的路径;预留用于通过所述lsp转发所述业务的流量的标签信息;以及向所述路径上的第三节点发送标签更新消息,以便于通过所述路径转发所述业务的所述流量,其中所述标签更新消息包括所述标签信息。在一些实施例中,所述业务是虚拟专用网络(virtualprivatenetwork,vpn)业务,并且其中所述标签信息包括用于标识网络中的vpn业务的vpn标签;所述vpn标签包括vpn编号、vpn名称或vpn编号和vpn名称两者;所述业务是端到端伪线仿真(pseudowireemulationedge-to-edge,pwe3)业务,并且其中所述标签信息包括用于标识网络中的pwe3业务的数据链路层连接标识符(datalinklayerconnectionidentifier,dlci)标签;所述dlci标签包括dlci编号、dlci名称或dlci编号和dlci名称两者;所述业务是第六版因特网协议(internetprotocolversion6,ipv6)隧道业务,并且其中所述标签信息包括ipv6地址类型长度值(type-length-value,tlv)和出标签,所述ipv6地址类型长度值指示所述路径上的第三节点的下一跳节点相关联的ipv6地址,所述出标签用于将所述业务的所述流量转发到所述下一跳节点;所述业务是第六版因特网协议(internetprotocolversion6,ipv6)隧道业务,并且其中所述标签信息包括ipv6地址类型长度值(type-length-value,tlv)和入标签,所述ipv6地址类型长度值指示与第三节点的入接口相关联的ipv6地址,所述入标签与所述入接口相关联;预留所述标签信息包括为所述lsp的路径上的多个支持sdn的节点中的每一个预留路径标签,以便于转发所述业务的所述流量,并且其中所述第三节点是支持sdn的节点中的一个;所述方法进一步包括:从所述路径上的不支持sdn的节点接收请求路径标签值范围的标签范围预留请求消息;为所述不支持sdn的节点预留范围;以及向所述不支持sdn的节点发送指示所预留的路径标签值范围的标签范围预留响应消息;所述标签更新消息是路径计算单元通信(pathcomputationelement,pce)通信协议(pcecommunicationprotocol,pcep)标签更新(pclabelup)消息。

在另一实施例中,本发明包含路径计算单元集中式控制器(pathcomputationelementcentralizedcontroller,pcecc),其包括:接收器,其用于接收在网络中创建第一边缘节点到第二边缘节点的业务的请求;处理器,其耦合到所述接收器并用于:响应于所述请求而计算从所述第一边缘节点到所述第二边缘节点的标签交换路径(labelswitchedpath,lsp)的路径;以及预留用于通过所述lsp转发所述业务的流量的标签信息;以及发送器,其耦合到所述处理器并用于向所述路径上的第三节点发送标签更新消息,以便于通过所述路径转发所述业务的所述流量,其中所述标签更新消息包括所述标签信息。在一些实施例中,所述业务是虚拟专用网络(virtualprivatenetwork,vpn)业务,并且其中所述标签信息包括用于标识网络中的vpn业务的vpn标签;所述业务是端到端伪线仿真(pseudowireemulationedge-to-edge,pwe3)业务,并且其中所述标签信息包括用于标识网络中的pwe3业务的数据链路层连接标识符(datalinklayerconnectionidentifier,dlci)标签;所述业务是第六版因特网协议(internetprotocolversion6,ipv6)隧道业务,并且其中所述标签更新消息进一步包括所述lsp的出节点的ipv6地址;所述pcecc进一步包括存储器,其耦合到所述处理器并用于存储包括网络的拓扑信息的流量工程数据库(trafficengineeringdatabase,tedb),其中所述处理器进一步用于根据所述tedb中的所述拓扑信息而计算所述路径;所述pcecc进一步包括存储器,其耦合到所述处理器并用于存储包括用于标识网络中的业务的业务标签的标签数据库(labeldatabase,ldb),其中所述处理器进一步用于从所述ldb中预留标签信息;所述pcecc进一步包括存储器,其耦合到所述处理器并用于存储lsp数据库(lspdatabase,lspdb),其中所述处理器进一步用于在所述lspdb中存储与所述lsp相关联的路径信息,并且其中所述路径信息包括所述标签信息。

在又一实施例中,本发明包含网元(networkelement,ne),其包括:接收器,其用于:从路径计算单元集中式控制器(pathcomputationelementcentralizedcontroller,pcecc)接收用于在网络中通过标签交换路径(labelswitchedpath,lsp)转发业务流量的转发指令,其中所述转发指令指示标识所述网络中的业务的第一标签;以及接收与所述流量相关联的数据包;处理器,其耦合到所述接收器并用于将所述第一标签附着到所述数据包;以及发送器,其耦合到所述处理器并用于根据所述转发指令将所述数据包转发到所述lsp的路径上的下一跳节点。在一些实施例中,所述业务是虚拟专用网络(virtualprivatenetwork,vpn)业务、端到端伪线仿真(pseudowireemulationedge-to-edge,pwe3)业务或第六版因特网协议(internetprotocolversion6,ipv6)隧道业务;ne独立于任何标签分发协议(labeldistributionprotocol,ldp)信令或针对流量工程扩展的资源预留协议(resourcereservationprotocol-trafficengineering,rsvp-te)多协议标签交换(multiprotocollabelswitching,mpls)信令。

在又一实施例中,本发明包含一种系统,其包括:路径计算单元集中式控制器(pathcomputationelementcentralizedcontroller,pcecc),其用于:计算从第一边缘节点到第二边缘节点的标签交换路径(labelswitchedpath,lsp)的路径;预留用于通过所述lsp转发业务流量的标签信息;传输包括所述标签信息的标签更新消息;网元(networkelement,ne),其位于所述路径上并用于:从所述pcecc接收所述标签更新消息;接收与所述流量相关联的数据包;将所述标签信息附着到所述数据包;以及根据所述标签更新消息将所述数据包传输到所述路径上的下一跳节点。

前述实施例中的任一个可与其它前述实施例中的任何一个或多个组合以产生在本发明的范围内的新实施例。

根据以下结合附图以及权利要求书进行的详细描述,将更清楚地理解这些特征以及其它特征。

附图说明

为了更透彻地理解本发明,现参阅结合附图和具体实施方式而描述的以下简要说明,其中的相同参考标号表示相同部分。

图1是mpls网络的示意图。

图2是基于mpls的端到端伪线仿真(pseudowireemulationedge-to-edge,pwe3)网络的示意图。

图3是根据本发明的实施例的采用pcecc来提供虚拟专用网络(virtualprivatenetwork,vpn)业务的mpls网络的示意图。

图4是根据本发明的实施例的采用pcecc来提供第六版因特网协议(internetprotocolversion6,ipv6)隧道业务的mpls网络的示意图。

图5是根据本发明的实施例的采用pcecc来提供pwe3业务的基于mpls的pwe3网络的示意图。

图6是根据本发明的实施例的网元(networkelement,ne)的示意图。

图7是根据本发明的实施例的包括遗留节点和支持sdn的节点的网络的示意图。

图8是根据本发明的实施例的提供业务的方法的协议图。

图9是根据本发明的实施例的提供业务的方法的流程图。

图10是根据本发明的另一实施例的提供业务的方法的流程图。

图11是根据本发明的实施例的在网络中执行数据转发的方法的流程图。

图12是根据本发明的实施例的ipv6地址类型长度值(type-length-value,tlv)的示意图。

图13是根据本发明的实施例的转发等价类(forwardingequivalenceclass,fec)对象的示意图。

图14是根据本发明的另一实施例的fec对象的示意图。

具体实施方式

首先应理解,尽管下文提供一项或多项实施例的说明性实施方案,但所公开的系统和/或方法可使用任何数目的技术来实施,无论该技术是当前已知还是现有的。本发明决不应限于下文所说明的说明性实施方案、附图和技术,包含本文所说明并描述的示例性设计和实施方案,而是可在所附权利要求书的范围以及其等效物的完整范围内修改。

图1是mpls网络100的示意图。网络100包括通过多个链路130互连的多个节点120。节点120示出为运营商边缘(provideredge,pe)1、运营商(p)1、p2、区域边界路由器(areaborderrouter,abr)1、abr2、p3、p4、abr3、abr4、p5、p6和pe2。网络100的基础设施可以是任何类型的网络,例如电力网络、光网络或其组合。链路130可包括物理链路,例如光纤链路、电链路、无线链路和用于在网络100中传送数据的逻辑链路。网络100采用因特网协议(internetprotocol,ip)传送层和mpls数据转发平面。网络100中的转发路径被称为标签交换路径(labelswitchedpath,lsp)。在转发期间,基于附着到数据包上的路径标签或分段标签的指示而沿着lsp转发所述数据包,如下文更全面地描述。网络100可以是业务提供商网络。网络100的不同部分在不同域110中运作。域110示出为域a、域b和域c。每个域110可由不同的管理机构运作,并且可采用不同的访问策略和安全性策略。

节点120是用于执行ldp或rsvp-te等mpls信令以在网络100中建立lsp以及沿着已建立的lsp执行数据转发的任何设备或组件,例如路由器和开关。位于网络100的边缘处的节点pe1和pe2120被称为边缘节点或运营商边缘。边缘节点可连接到在网络外部的一个或多个节点。如图所示,节点pe1120连接到客户边缘(customeredge,ce)141,并且节点pe2120连接到另一ce142。ce141和ce142是位于在网络100外部的客户地点处的网络设备。ce141和ce142可发起和/或终止客户流量。从ce接收流量的边缘节点被称为入节点。向ce发送流量的边缘节点被称为出节点。位于对应的域110内部的节点p1、p2、p3、p4、p5和p6120被称为内节点。节点p1、p2、p3、p4、p5和p6120中的每一个在对应的域110内转发流量。位于多个域110的边界之间的节点abr1、abr2、abr3和abr4120被称为区域边界路由器(areaborderrouter,abr)。节点abr1和abr2120将域a和域b110互连。节点abr3和abr4120将域b和域c110互连。节点abr1、abr2、abr3和abr4120在整个对应的域120中转发流量。

网络100提供vpn151以承载从ce141到ce142的流量。为了创建vpn151,节点pe1120充当入节点以计算从节点pe1120到节点pe2120的连接到ce141的lsp的路径。vpn151叠加在lsp上方,并且通过粗实线示出。节点pe1120为vpn151预留vpn标签。vpn标签是将流量与对应的vpn捆绑或相关联的业务标签。通过交换ibgp标签并采用rsvp-te信令,节点pe1120启动vpn151的lsp沿着lsp的路径的建立。例如,沿着vpn151的lsp的每个节点120从本地标签池分配本地路径标签以转发lsp的流量,并通知在本地路径标签的上游方向上的下一跳节点。上游是指从目的地到源的方向。沿着lsp的入节点pe1120与出节点pe2120之间的lsp的路径的节点120被称为传输节点。路径标签指示流量沿着lsp转发。沿着lsp的路径的每个节点120从沿着所述路径的下游节点接收路径标签,并建立用于转发数据的标签映射列表。下游是指从源到目的地的方向。

在运作时,当节点pe1120从ce141接收到数据包时,节点pe1120例如基于数据包的报头来分析数据包,以确定数据包的fec或流量类型。当节点pe1120确定数据包与vpn151相关联时,节点pe1120将预留的vpn标签附着到数据包以将所述数据包捆绑到vpn151。此外,节点pe1120将沿着lsp的下一跳节点的路径标签附着到数据包以沿着lsp引导所述数据包,所述下一跳节点是节点p2120,节点pe1120还将所述数据包转发到节点p2120。例如,vpn标签可携载在所述数据包的内报头中,并且路径标签可携载在所述数据包的外报头中。因此,vpn标签被称为数据包的内标签,且路径标签被称为数据包的外标签。

当节点p2120接收到数据包时,节点p2120用沿着lsp的下一跳节点的路径标签代替外路径标签,并且将所述数据包转发到节点abr2120,所述下一跳节点是节点abr2120。传入包的报头中的路径标签被称为入标签。传出包的报头中的路径标签被称为出标签。这一转发过程在沿着lsp的路径的每个节点120处重复。

当lsp的出节点,即节点pe2120,接收到数据包时,节点pe2120取出或去除外路径标签和内vpn标签,并将所述数据包转发到ce142。网络100可使用类似机构提供任何数目的vpn。例如,网络100进一步用于提供类似于vpn151的vpn152,如通过粗短划线所示。vpn151和vpn152被称为mplsvpn或开放式系统互连(opensysteminterconnection,osi)层3(layer3,l3)vpn(l3vpn)。

图2是基于mpls的pwe3网络200的示意图。网络200包括第一网络210、mpls网络220和第二网络230。第一网络210和第二网络230是osi层2(layer2,l2)网络或数据链路层网络,例如提供本地业务的面向连接的帧中继网络。第一网络210包括通过链路(未示出)互连的多个节点211,所述链路类似于链路130。第二网络230包括通过类似于链路130的链路(未示出)互连的多个节点231。节点211和231是用于提供呈点到点(point-to-point,p2p)配置的专用虚电路(virtualcircuit,vc)251和252以供数据传送的任何设备或组件,例如帧中继开关。vc251通过粗短划线示出。vc252通过粗点虚线示出。节点211在第一网络210中在本地建立vc251和vc252的部分,节点231在第二网络230中建立vc251和vc252的部分。vc通过数据链路层连接标识符(datalinklayerconnectionidentifier,dlci)201、202标识。例如,数据包被划分成帧,并且dlci附着到每个帧以将帧与指派用于转发的vc捆绑或相关联。

mpls网络220类似于网络100。mpls网络220包括通过类似于链路130的链路(未示出)互连的类似于节点120的多个边缘节点221和内节点222。边缘节点pe1221连接到第一网络210。边缘节点pe2221连接到第二网络230。mpls网络220可进一步包括额外的边缘节点和内节点,并且可在类似于域110的一个或多个域中运作。mpls网络220用于充当伪线223和224以分别将vc251和252从第一网络210连接到第二网络230。伪线223通过粗实线示出。伪线224通过粗短划-点虚线示出。伪线223和224是隧道或lsp。边缘节点221执行边界网关协议(bordergatewayprotocol,bgp)自动发现以发现同一mpls域中的其它边缘节点。

vc251和vc252可充当用于分别将流量从ce241携载到远程ce242和ce243的vpn。ce241、242和243类似于ce141和142。为了创建vc251的伪线223,节点pe1221充当入节点以计算从节点pe1221到节点pe2222的lsp的路径,并为vc251预留dlci标签。沿着lsp的路径的边缘节点221和内节点222使用类似于在网络100中描述的机构的ldp信令来建立lsp。

在运作时,当节点211从ce241接收到数据包时,节点211通过第一网络210中的vc251将数据包转发到mpls网络220。当节点pe1221从第一网络210接收到数据包时,节点pe1221分析所述数据包,例如,所述数据包的报头中的dlci字段,以确定所述数据包的转发类型或流量类型。当节点pe1221确定数据包与vc251相关联时,节点pe1221将预留的dlci标签附着到所述数据包。此外,节点pe1221附着沿着lsp的下一跳节点的路径标签,并将所述数据包转发到所述下一跳节点。dlci标签可以是内标签,并且路径标签可以是数据包的外标签。lsp的路径上的节点随后使用如在网络100中所描述的类似机构沿着lsp转发数据包。当节点pe2221接收到所述数据包时,节点pe2221去除所述路径标签和所述dlci标签,并将所述数据包转发到第二网络230。第二网络230的vc251上的节点随后沿着vc251转发所述数据包。当节点b1231接收到所述数据包时,节点b1231将所述数据包转发到ce242。vc252中的建立和数据转发类似于vc251。由vc251和vc252提供的vpn被称为osi层2(layer2,l2)vpn(l2vpn)。

尽管vpn和pwe3业务可通过mpls实施,但是mpls的部署和维护较为复杂,如上文所描述。如zhao等人在2014年10月10日提交的标题为“使用pce作为sdn控制器(usingpceassdncontroller)”的第14/511,591号美国专利申请(以下简称为“'591申请”)和2016年3月16日因特网工程任务小组(internetengineeringtaskforce,ietf)草案中zhao等人的“用于使用pce作为lsp的中央控制器(pcecc)的pcep程序和协议扩展(pcepproceduresandprotocolextensionsforusingpceasacentralcontroller(pcecc)oflsps)”(以下简称为“zhao”)中所描述的集中式网络模型可有益于通过mpls提供vpn和pwe3业务,所述文档以引用的方式并入。然而,'591申请和zhao可能不支持通过mpls的vpn和pwe3业务。

本文公开用于通过使用pcecc以在mpls网络中协商和分发业务标签指派来提供l3vpn、l2vpn、pwe3和ipv6隧道等基于mplslsp隧道的网络业务的各种实施例。所公开的实施例扩展在'591申请和zhao中所描述的集中式网络模型以支持基于隧道的业务,如2016年3月17日ietf草案中zhao的“使用pce作为lsp的中央控制器(pcecc)的使用案例(theusecasesforusingpceasthecentralcontroller(pcecc)oflsps)”中所描述,其以引用的方式并入。pcecc执行路径计算和业务标签协商与分配,从而排除了在网络节点处的标签的复杂管理和分发。pcecc构建并维护沿着计算出的lsp的网络节点的lsp转发对象,包括转发指令。pcecc将lsp转发对象下载到网络节点。网络节点充当转发设备,而无需实施控制平面功能,例如bgp、ibgp、igp以及ldp和rsvp-templs信令。所公开的实施例介绍了pcecc与路径计算客户端(pathcomputationclient,pcc)之间用于资源预留、业务标签分配和转发条目分发的信令机构。业务标签可以是vpn标签、pwe3或dlci标签,或ipv6标签。所公开的实施例适用于各种类型的网络,例如数据中心、内容投递网络、核心网络、sdn转移网络和传送网络。所公开的实施例可应用于各种技术,例如基于源路由的转发、多拓扑网络虚拟化(networkvirtualization,nv)、路径计算、lsp监测、光网络路径计算单元(pathcomputationelement,pce)、网络恢复能力以及应用感知智能流量te。所公开的实施例允许在各种域和隧道中提供vpn和pwe业务,所述域和隧道包含ipv4以及ipv6域和隧道。

图3是根据本发明的实施例的采用pcecc来提供vpn业务的mpls网络300的示意图。网络300将mpls信令与数据转发解耦,其类似于sdn网络中的控制平面和转发平面的解耦。网络300包括至少一个pcecc360和通过多个链路330互连的多个节点320。网络300在类似于域110的多个域310中运作。例如,域310是第四版ip(ipversion4,ipv4)域。链路330类似于链路130。pcecc360通过多个通信信道370而与每个节点320直接进行数据通信。通信信道370可通过路径计算单元通信协议(pathcomputationelementcommunicationprotocol,pcep)、内部网关协议(interiorgatewayprotocol,igp)或任何合适的通信协议实施。此外,pcecc360与传送业务协同器380进行数据通信。

pcecc360可以是虚拟机(virtualmachine,vm)、超管理器或用于管理和配置节点320以提供vpn业务的任何其它设备。pcecc360直接从每个节点320接收信息,例如路径信息、网络状态信息、标签信息、拓扑信息和约束信息。pcecc360维持并跟踪所有节点320的拓扑信息、标签信息和路径信息。pcecc360根据拓扑信息和约束信息来计算每个节点320的转发路径。pcecc360可从流量控制器分析器接收流量信息,并且可根据所述流量信息来计算转发路径。流量信息可包含沿着链路330的流量统计数据,例如所发送的包的数目、所丢失的包的数目,以及时延。pcecc360为每个节点320预留路径标签以沿着计算出的路径转发流量。pcecc360预留vpn标签以在网络300中创建vpn,并且将所述vpn标签分发到对应的边缘节点320。pcecc360构建节点320的转发对象。转发对象可包含流量分类信息、传入流量接口或端口信息、传出流量接口或端口信息、路径标签和vpn标签。pcecc360将转发对象发送到网络300中的对应节点320。

节点320是用于根据从pcecc360接收到的转发指令或转发对象而在网络300中执行转发功能的任何软件可编程设备。节点320可被称为兼容sdn或支持sdn的节点,这是因为节点320充当网络300中的转发设备而无需实施控制平面。不同于网络100和200,位于网络300的边缘处的节点320并不计算路径或预留vpn标签以用于创建vpn。此外,网络300中的所有节点320不需要实施ldp、rsvp-te协议或类似的沿着计算出的路径的建立信令。因此,在与网络100和200相比时,网络300中的网络复杂度大大降低且控制信令大大减少。

网络300可提供vpn351和vpn352。vpn351和vpn352分别通过粗实线和粗短划线示出。例如,pcecc360从传送业务协同器380接收创建vpn351的vpn创建请求。传送业务协同器380可以是vm、服务器或用于与客户、用户以及客户端应用进行通信的任何设备。vpn创建请求可指示ce341和342以及链路带宽等约束。pcecc360计算从ce341到ce342的lsp的路径。lsp用于服务传送业务协同器380所请求的vpn351。pcecc360分配沿着lsp的路径的节点320的路径标签。pcecc360向vpn351分配vpn标签。pcecc360根据计算出的路径、预留的路径标签和预留的vpn标签来构建沿着lsp的路径的每个节点320的转发对象。例如,例如节点pe1320的入节点和例如节点pe2320的出节点的转发对象包含预留的vpn标签,而传输节点的转发对象可排除所述预留的vpn标签。pcecc360将所述转发对象下载到沿着lsp的路径的节点320。随后,沿着vpn的lsp的路径的节点320根据从pcecc360接收的转发对象来转发vpn的流量。所述转发对象可指示节点320执行如网络100中所描述的类似转发操作。pcecc360可通过使用类似机构而在任何数目的域中创建任何数目的vpn。此外,可通过扩展pcep来支持网络300,如下文全面地描述。

图4是根据本发明的实施例的采用pcecc来提供ipv6隧道业务的mpls网络400的示意图。网络400类似于网络300,但是其包括ipv6传送层,而不是ipv4传送层。网络400包括pcecc460和通过多个链路430互连的多个节点420。网络400在多个ipv6域410中运作。节点420类似于节点120、221、222和320,但是其支持ipv6。链路430类似于链路130和330。pcecc460通过多个通信信道470而与每个节点420直接进行数据通信。pcecc460类似于pcecc360。pcecc460可从类似于传送业务协同器380的传送业务协同器480接收ipv6隧道业务请求。响应于所述请求,如同pcecc360,pcecc460通过采用类似lsp创建机构而在网络400中创建ipv6隧道451和452。ipv6隧道451和452分别通过粗实线和粗短划线示出。ipv6隧道451和452用于携载ipv6流量。pcecc460产生包含具有ipv6地址信息的路径标签的转发对象。pcecc460通过类似于通信信道370的通信信道470而将转发对象下载到节点420。pcecc460可通过使用类似机构而在任何数目的域中创建任何数目的ipv6隧道。此外,例如vpn151、152、351和352的vpn可叠加在类似于ipv6隧道451和452的ipv6隧道之上。另外,可通过扩展pcep来支持网络400,如下文全面地描述。

图5是根据本发明的实施例的采用pcecc来提供pwe3业务的基于mpls的pwe3网络500的示意图。网络500类似于网络200,但是其采用如在网络300和400中的类似机构以将mpls信令与数据转发解耦。网络500包括pcecc560、第一网络510、mpls网络520和第二网络530。pcecc560类似于pcecc360和460。第一网络510和第二网络530分别类似于第一网络210和第二网络230。

类似于mpls网络220,mpls网络520提供伪线523和524以将网络510中的vc551和552的部分分别连接到第二网络530中的vc551和552的对应部分。伪线523和524类似于伪线223和224。然而,pcecc560创建伪线523和524。pcecc560从类似于传送业务协同器380和480的传送业务协同器580接收pwe3业务请求。如同pcecc360和460,pcecc560执行类似lsp创建机构。因此,网络520不采用bgp自动发现和ldp信令。

例如,pcecc560计算路径、预留路径标签,并通过类似于通信信道370和470的通信信道570而将转发对象下载到网络520中类似于节点320和420的每个节点521。此外,pcecc560与边缘节点521协商并预留dlci标签或pwe3标签以标识网络520中的伪线523和524,并且将所述dlci标签分发到mpls网络520中的对应边缘节点521。随后,伪线523和524的路径上的节点521根据从pcecc560接收的转发对象或指令来转发vc551和552的流量。pcecc560可通过使用类似机构而在任何数目的域中创建任何数目的pwe3业务。此外,pwe3业务可叠加在类似于ipv6隧道451和452的ipv6隧道之上。另外,可通过扩展pcep来支持网络500,如下文充分地描述。

图6是根据本发明的实施例的ne600的示意图。ne600适于实施所公开的实施例。ne600包括用于接收数据的入端口610和接收器单元(rx)620;用于处理数据的处理器、逻辑单元或中央处理单元(centralprocessingunit,cpu)630;用于传输数据的传输器单元(tx)640和出端口650;以及用于存储数据的存储器660。设备600还可包括耦合到入端口610的光电(optical-to-electrical,oe)组件和电光(electrical-to-optical,eo)组件、接收器单元620、传输器单元640,以及用于光学或电信号的出入的出端口650。

处理器630通过硬件、中间件、固件和软件的任何合适的组合实施。处理器630可实施为一个或多个cpu芯片、核心(例如,实施为多核心处理器)、现场可编程门阵列(field-programmablegatearray,fpga)、专用集成电路(applicationspecificintegratedcircuit,asic)或数字信号处理器(digitalsignalprocessor,dsp)。处理器630与入端口610、接收器单元620、传输器单元640、出端口650和存储器660通信。处理器630包括业务提供组件670。所述业务提供组件670实施所公开的实施例,举例来说,方法800、900、1000和1100,如下文更全面地描述。因此,包含业务提供组件670很大改进了ne600的功能性,并且实现了ne600到不同状态的转换。可替代地,业务提供组件670被实施为存储于存储器660中且通过处理器630执行的指令。处理器630、存储器660或这两个都可存储方法800、900、1000和1100,以使得ne600可实施方法800、900、1000和1100。另外,在替代实施例中,ne600可包括用于实施方法800、900、1000和1100的任何其它装置。

存储器660包括一个或多个磁盘、磁带机和固态驱动器,且可用作溢流数据存储设备以在选择程序执行时存储此类程序,或存储在程序执行期间读取的指令和数据。存储器660可以是易失性和/或非易失性的,并且可以是只读存储器(read-onlymemory,rom)、随机存取存储器(random-accessmemory,ram)、三重内容寻址存储器(ternarycontent-addressablememory,tcam)或静态随机存取存储器(staticrandom-accessmemory,sram)。

图7是根据本发明的实施例的包括遗留节点和支持sdn的节点的网络700的示意图。网络700类似于网络300、400和520,但是其包括pcecc710,所述pcecc710与遗留节点720和支持sdn的节点730的组合进行数据通信。pcecc710类似于pcecc360、460和560,但是这里提供了其内部组件的更详细视图。遗留节点720类似于节点120、221和222,并且执行控制平面和数据平面这两种功能。遗留节点720也被称作不兼容sdn的节点或不支持sdn的节点。支持sdn的节点730类似于节点320、420和521,并且充当转发设备。pcecc710通过pcep而与遗留节点720和支持sdn的节点730两者通信以进行标签范围协商、标签资源委托和rsvp-te/ldp协议处理。pcecc710可配置遗留节点720和支持sdn的节点730以创建vpn351和352等vpn业务、ipv6隧道451和452等ipv6隧道传输业务,以及伪线523和524等pwe3业务。遗留节点720和支持sdn的节点730通过igp而与彼此通信。

pcecc710包括rsvp-te/ldp组件712、pcep组件713、约束最短路径优先(constraintshortestpathfirst,cspf)组件716、lsp管理器715、多个标签数据库(labeldatabase,ldb)711、多个流量工程数据库(trafficengineeringdatabase,tedb)714和多个lsp数据库(lspdatabase,lspdb)717。tedb714包括拓扑信息、链路信息、节点信息以及与网络700的性能和优化相关的其它信息。拓扑信息包含遗留节点720和支持sdn的节点730等节点和链路130、330和430等链路的布置。多个拓扑可叠加在网络中的节点和链路上方。链路信息可包含未预留的链路带宽、最大链路带宽和链路状态。节点信息可包含节点地址和状态。在pcecc710处或在pcecc710外部的存储器660等存储器设备可存储tedb714。例如,tedb714可在如所示的单独的tedb714中或在任何其它合适的配置中存储不同拓扑的信息。

cspf组件716用于计算通过网络300、500和500等网络的路由路径以满足某些约束。cspf组件716可采用cspf算法。例如,当执行路径计算时,cspf组件716向tedb714咨询。

ldb711包括标签资源信息,其可包含遗留节点720和支持sdn的节点730的路径标签和业务标签列表。路径标签和业务标签可具有单独的标签空间以使得它们不重叠。例如,每个ldb711可存储特定节点的标签。rsvp-te/ldp组件712用于向支持sdn的节点730指派和委托路径标签,与遗留节点720协商标签范围,以及在网络700中建立lsp,如下文更全面地描述。ldb711可包括用于lsp、vpn业务、pwe3业务和ipv6业务的单独的标签空间。rsvp-te/ldp组件712可存储和跟踪ldb711中指派到支持sdn的节点730的标签。rsvp-te/ldp组件712还可存储和跟踪供遗留节点720使用的标签。

pcep组件713用于与遗留节点720和支持sdn的节点730通信。pcep组件713可利用扩展来实施pceppce功能。pcep组件713向支持sdn的节点730发送转发指令以便于沿着网络700中的lsp进行数据转发。此外,pcep组件713与遗留节点720交换pcep消息以启动网络700中的lsp的建立。

lspdb717包括路径信息、转发信息、状态,以及与网络700中的lsp相关的任何其它信息。路径信息可包含lsp遍历的节点序列。例如,vpn351的lsp可以{pe2←p6←abr4←p4←abr2←p2←pe1}的形式存储以表示lsp遍历的节点序列。转发信息可包含转发对象,所述转发对象包括沿着lsp的路径的每个节点的转发指令。lsp的入节点的转发对象可包含附着vpn标签或dlci标签等业务标签和传出路径标签的指令。沿着lsp的传输节点的转发对象可包含交换传入路径标签与传出路径标签的指令。lsp的出节点的转发对象可包含去除传入路径标签和业务标签的指令。lspdb717可包括ipv4lsp和ipv6lsp的单独的子数据库。lsp管理器715用于与cspf组件716、rsvp-te/ldp组件712和pcep组件713协调以创建、删除、修改和维持lsp以提供业务,例如vpn351和352、ipv6隧道451和452,以及pwe3或伪线223和224。

遗留节点720和支持sdn的节点730中的每一个包括pcep组件741和lsp管理器742。遗留节点720进一步包括rsvp-te/ldp组件743。pcep组件741用于实施pceppcc功能并且与pcecc710的pcep组件713通信。在每个支持sdn的节点730处,pcep组件741从pcep组件713接收转发对象或指令和标签资源委托,并且lsp管理器742促进根据从pcecc710接收的转发对象而通过lsp进行数据转发。例如,每个支持sdn的节点730包括转发信息库(forwardinginformationbase,fib)和转发引擎。lsp管理器742可在fib中存储所接收的转发对象,并且可在数据转发期间根据所述fib来配置转发引擎。

在遗留节点720处,rsvp-te/ldp组件743通过pcep组件741而与pcecc710协商路径标签范围。例如,遗留节点720与pcecc710协商路径标签值的特定范围,并在本地管理所述路径标签。例如,rsvp-te/ldp组件743从所协商的路径标签中选择特定lsp的路径标签值,并通知pcecc710所指派的路径标签。pcecc710可在对应的ldb711中存储遗留节点720的路径标签。pcecc710还可在对应的lspdb717中存储与遗留节点720相关联的lsp信息。lsp管理器742建立、删除、修改和维持lsp,如pcecc710所指示。

在运作时,例如,pcecc710从传送业务协同器380等传送业务协同器接收在网络700中创建vpn的请求。lsp管理器715请求cspf组件716计算用于服务vpn的lsp的路径。lsp管理器715请求rsvp-te/ldp组件712为沿着lsp的路径的节点预留路径标签。lsp管理器715从ldb711中为vpn预留vpn标签。vpn标签特定于每个ldb711,因此每个ldb711知道vpn标签与vpn业务之间的对应关系。lsp管理器715根据计算出的路径、预留的vpn标签和预留的路径标签来构建转发对象。lsp管理器715在lspdb717中存储转发对象和与lsp相关联的任何其它信息。lsp管理器715可在如所示的单独的lspdb717中或在另一合适的配置中存储每个节点的转发对象。lsp管理器715与pcep组件713协调以将转发对象下载到沿着lsp的路径的支持sdn的节点730。当遗留节点720沿着lsp的路径时,lsp管理器715与rsvp-te/ldp组件712和pcep组件713协调以与遗留节点720协商路径标签。通过允许pcecc710使用不同的协议来建立同时具有遗留节点和支持sdn的节点的lsp,适合在sdn从现有网络迁移期间使用pcecc760。

图8是根据本发明的实施例的提供业务的方法800的协议图。类似于pcecc360、460、560和710的pcecc、类似于节点320、420、521和730的pcc入节点、pcc传输节点和pcc出节点以及ne600可实施方法800。在pcecc计算出用于服务所述业务的lsp的路径之后,例如使用cspf组件716等cspf组件实施方法800。所述路径通过传输节点而从入节点遍历到出节点。

在步骤810处,pcecc向pcc入节点发送路径计算lsp启动请求(pcinitiate)消息以启动lsp的实例化。pcinitiate消息描述于2015年10月19日ietf草案中crabbe等人的“有状态pce模型中的启动pce的lsp建立的pcep扩展(pcepextensionsforpce-initiatedlspsetupinastatefulpcemodel)”(以下简称为“crabbe”)中,其以引用的方式并入。pcinitiate消息包括lsp的pce特定标识符(plsp-id)、p标志和d标志。当启动所述实例化时,plsp-id被设置成值0。p标志被设置成值1以指示pcecc创建相关联的lsp。d标志被设置成值1以指示pcecc向pcc入节点委托lsp的控制。

在步骤820处,pcc入节点向pcecc发送路径计算状态报告(pcrpt)消息。pcrpt消息描述于crabbe中。pcrpt消息包括plsp-id、p标志、d标志和c标志。plsp-id被设置成值2以标识lsp。p标志和d标志被设置成与在所接收的pcinitiate消息中相同的值。c标志被设置成值1以指示pcinitiate消息启动lsp的创建。

在步骤830处,在接收到pcrpt消息后,pcecc根据pcrpt消息中所接收的plsp-id而将lsp的lsp标识符(lsp-id)设置成2。在步骤840处,pcecc向pcc出节点发送第一路径计算更新(pclabelupd)消息。在步骤850处,pcecc向pcc传输节点发送第二pclabelupd消息。在步骤860处,pcecc向pcc入节点发送第三pclabelupd。第一、第二和第三pclabelupd消息类似于zhao中所描述的pclabelupd消息,但是其具有扩展,如下文更全面地描述。第一、第二和第三pclabelupd消息分别告知pcc出节点、pcc传输节点和pcc出节点沿着lsp路由数据包所需要的标签信息,如下文更全面地描述。

在步骤870处,pcecc向pcc入节点发送路径计算更新(pcupd)消息以告知pcc入节点lsp建立完成。pcupd消息描述于'zhaopcep中。如所说明,pcecc与沿着lsp的路径的每个pcc入节点、pcc传输节点和pcc出节点直接通信。

pclabelupd消息可包括pcep公用报头和pce标签更新列表对象。pce标签更新列表对象包括pce标签更新对象列表。每个pce标签更新对象包括pce标签下载对象或pce标签映射。pcep公用报头描述于2009年3月ietfrfc5440中vasseur等人的“路径计算单元(pce)通信协议(pcep)(pathcomputationelement(pce)communicationprotocol(pcep))”中,其以引用的方式并入。pce标签更新列表对象、pce标签更新对象和pce标签下载对象描述于'zhaopcep中。扩展pce标签映射对象以提供业务,例如vpn351和352、ipv6隧道451和452以及pwe3或伪线523和524,如下文更全面地描述。pclabelupd消息包括消息对象列表,例如如下:

<pclabelupdmessage>::=<commonheader>

<pce-label-update-list>

<pce-label-update-list>::=<pce-label-update>

[<pce-label-update-list>]

<pce-label-update>::=(<pce-label-download>or<pce-label-map>)。

pce标签映射对象包括有状态请求参数(statefulrequestparameter,srp)对象、标签对象和业务对象。srp对象描述于2016年3月20日ietf草案中crabbe等人的“有状态pce的pcep扩展(pcepextensionsforstatefulpce)”中,其以引用的方式并入。srp对象用于使pce发送的更新请求和pcc发送的误差与状态之间相关。标签对象类似于zhao中描述的标签对象。然而,当在域410等ipv6域中运作时,扩展标签对象以包含ipv6地址tlv,如下文更全面地描述。业务对象包括标识业务的值或名称。当业务是vpn业务时,业务对象包括vpn值和/或vpn名称。当业务是pwe3业务时,业务对象包括dlci值和/或dlci名称。vpn的pce标签映射对象的格式如下:

<pce-label-map>::=<srp>

<label>

<vpnnumber>[<vpnname>]。

pwe3的pce标签映射对象的格式如下:

<pce-label-map>::=<srp>

<label>

<dlcinumber>[<dlciname>]。

图9是根据本发明的实施例的提供业务的方法900的流程图。类似于pcecc360、460、560和710的pcecc、类似于节点320、420、521和730的pcc入节点、pcc传输节点和pcc出节点以及ne600可实施方法900。方法900采用如网络300、400、500和700和方法800中所描述的类似机构。当pcecc在网络300、400、500和700等网络中创建业务时实施方法900。在步骤910处,例如,从传送业务协同器380、480和580等传送业务协同器接收从网络中的第一边缘节点向第二边缘节点提供业务的业务请求。所述业务可以是vpn351和352等vpn业务、伪线523和524等pwe3业务,或ipv6隧道451和452等ipv6隧道传输业务。例如,对于vpn351,第一边缘节点是节点pe1320,第二边缘节点是节点pe2320。在步骤920处,响应于所述业务请求,例如,使用cspf组件716等cspf组件来计算从第一边缘节点到第二边缘节点的lsp的路径。可根据例如存储在tedb714等tedb中的网络的拓扑信息通过cspf算法来计算所述路径。

在步骤930处,例如,从ldb711等一个或多个ldb中预留用于通过lsp转发传送业务的流量的标签信息。所述标签信息可包含lsp的路径上除了lsp的入节点之外的每个节点的路径标签和用于标识业务的业务标签。当业务是vpn业务时,业务标签是vpn标签,其可包含vpn编号或vpn名称,如上文所描述。当业务是pwe3业务时,业务标签是dlci标签,其可包含dlci编号或dlci名称,如上文所描述。当业务是ipv6隧道传输业务时,标签信息可包含用于标识所述业务的fec对象中的ipv6地址,如上文所描述。

在步骤940处,将标签更新消息发送到lsp的路径上的第三节点以便于通过lsp的路径转发传送业务的流量。所述标签更新消息包括所述标签信息。在实施例中,所述标签更新消息是包括pce标签映射的pceppclabelupd消息。pce标签映射可包含vpn标签、dlci标签或ipv6fec对象,这取决于业务类型。

图10是根据本发明的另一实施例的提供业务的方法1000的流程图。pcecc360、460、560、710等pcecc或ne600可实施方法1000。方法1000采用如网络300、400、500和700与方法800和900中所描述的类似机构。当在网络700等网络中提供vpn351和352、pwe3551和552以及ipv6隧道传输业务451和452的业务时实施方法1000,所述网络同时包括节点320、420、521和730等支持sdn的节点以及节点120、221、222和720等遗留节点。在pcecc计算出用于服务所述业务的lsp的路径之后实施方法1000。在步骤1010处,例如,从ldb711等ldb中预留用于标识业务的业务标签。在步骤1020处,为lsp的路径上的每个支持sdn的节点预留路径标签以便于转发业务流量。

在步骤1030处,根据对应的路径标签和业务标签来产生每个支持sdn的节点的转发对象。例如,lsp的入节点的转发对象可包含附着所述路径上的下一跳节点的业务标签和路径标签的指令。lsp的传输节点的转发对象可包含交换传入路径标签与传出路径标签的指令,所述传出路径标签是所述路径上的下一跳节点的路径标签。lsp的出节点的转发对象可包含在转发之前去除业务标签和传入路径标签的指令。在步骤1040处,例如,使用pcep组件713等pcep组件将对应的转发对象下载到每个支持sdn的节点。

在步骤1050处,从所述路径上的不支持sdn的节点接收请求路径标签值范围的标签范围预留请求消息。在步骤1060处,为不支持sdn的节点预留路径标签值范围。pcecc可以为不支持sdn的节点预留路径标签值子集。

在步骤1070处,将指示所预留的路径标签值范围的标签范围预留响应消息发送到不支持sdn的节点。pcecc可在ldb711等ldb中存储为不支持sdn的节点预留的路径标签值。可重复步骤1050到1070以协商另一路径标签值范围,或针对所述路径上的其它不支持sdn的节点可重复步骤1050到1070。方法1000可以如所示的次序或用于实现类似功能性的任何其它合适的次序实施步骤。

图11是根据本发明的实施例的在网络300、400、500和700等网络中执行数据转发的方法1100的流程图。节点320、420、521和730等支持sdn的节点或ne600可实施方法1100。方法1100开始于支持sdn的节点接收转发指令。

在步骤1110处,从pcecc360、460、560和710等pcecc接收在网络中通过lsp转发业务流量的转发指令。所述转发指令指示标识所述网络中的业务的第一标签。在步骤1120处,接收与所述业务的流量相关联的数据包。

在步骤1130处,将转发指令中所指示的第一标签附着到所述数据包。在步骤1140处,根据转发指令将附着有第一标签的数据包转发到lsp的路径上的下一跳节点。支持sdn的节点可在fib中存储所接收的转发指令,并且在接收到所述数据包时可在fib中搜索所述转发指令。

图12是根据本发明的实施例的ipv6地址tlv1200的示意图。pcecc360、460、560和710等pcecc采用tlv1200来将下一跳信息与出标签相关联或将入接口与入标签相关联。例如,描述于zhao的章节6.1.1中的pceppclabelupd消息可包含具有tlv1200的标签对象。tlv1200包括类型字段1210、长度字段1220和ipv6地址字段1230。类型字段1210长约两个八位字节,并且指示所述tlv1200是ipv6地址tlv。长度字段1220长约两个八位字节,并且指示ipv6地址字段1230的长度。ipv6地址字段1230长约16个字节,并且指示与出标签相关联的下一跳节点的ipv6地址。可替代地,ipv6地址字段1230指示与入标签相关联的入接口的ipv6地址。

图13是根据本发明的实施例的fec对象1300的示意图。pcecc360、460、560和710等pcecc采用fec对象1300来提供fec信息。例如,pceppclabelupd消息可包含fec对象1300。所述fec对象1300包括节点id地址字段1310。节点id地址字段1310长约16个字节,并且指示与fec相关联的ipv6地址。

图14是根据本发明的另一实施例的fec对象1400的示意图。pcecc360、460、560和710等pcecc采用fec对象1400来提供fec信息。例如,pceppclabelupd消息可包含fec对象1400。所述fec对象1400包括邻接或相邻节点的本地ipv6地址字段1410和远程ipv6地址字段1420。本地ipv6地址字段1410和远程ipv6地址字段1420各自长约16个字节,并且各自指示邻接节点的ipv6地址。

在一个示例实施例中,一种路径计算单元集中式控制器(pathcomputationelementcentralizedcontroller,pcecc)包括:接收单元,其用于接收在网络中创建第一边缘节点到第二边缘节点的业务的请求;处理单元,其耦合到所述接收单元并用于:响应于所述请求而计算从所述第一边缘节点到所述第二边缘节点的标签交换路径(labelswitchedpath,lsp)的路径,并预留标签信息以通过所述lsp转发所述业务的流量;以及传输单元,其耦合到所述处理单元并用于向所述路径上的第三节点发送标签更新消息,以便于通过所述路径转发所述业务的所述流量,其中所述标签更新消息包括所述标签信息。

虽然本发明中已提供若干实施例,但应理解,在不脱离本发明的精神或范围的情况下,所公开的系统和方法可以以许多其它特定形式来体现。本发明的实例应被视为说明性而非限制性的,且本发明并不限于本文中所给出的细节。例如,各种元件或组件可以在另一系统中组合或整合,或者某些特征可以省略或不实施。

此外,在不脱离本发明的范围的情况下,各种实施例中描述和说明为离散或单独的技术、系统、子系统和方法可以与其它系统、模块、技术或方法进行组合或集成。展示或论述为彼此耦合或直接耦合或通信的其它项也可以采用电方式、机械方式或其它方式经由某一接口、设备或中间组件间接地耦合或通信。其它改变、替代和更改的实例可以由本领域的技术人员在不脱离本文所公开的精神和范围的情况下确定。

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