CN110620726A - 通信系统、通信方法及网络装置 - Google Patents
通信系统、通信方法及网络装置 Download PDFInfo
- Publication number
- CN110620726A CN110620726A CN201910526611.2A CN201910526611A CN110620726A CN 110620726 A CN110620726 A CN 110620726A CN 201910526611 A CN201910526611 A CN 201910526611A CN 110620726 A CN110620726 A CN 110620726A
- Authority
- CN
- China
- Prior art keywords
- tunnel
- network
- dynamic tunnel
- dynamic
- path computation
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L45/00—Routing or path finding of packets in data switching networks
- H04L45/38—Flow based routing
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L12/00—Data switching networks
- H04L12/28—Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
- H04L12/46—Interconnection of networks
- H04L12/4633—Interconnection of networks using encapsulation techniques, e.g. tunneling
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L12/00—Data switching networks
- H04L12/28—Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
- H04L12/46—Interconnection of networks
- H04L12/4641—Virtual LANs, VLANs, e.g. virtual private networks [VPN]
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L45/00—Routing or path finding of packets in data switching networks
- H04L45/50—Routing or path finding of packets in data switching networks using label swapping, e.g. multi-protocol label switch [MPLS]
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L45/00—Routing or path finding of packets in data switching networks
- H04L45/52—Multiprotocol routers
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L45/00—Routing or path finding of packets in data switching networks
- H04L45/64—Routing or path finding of packets in data switching networks using an overlay routing layer
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L45/00—Routing or path finding of packets in data switching networks
- H04L45/74—Address processing for routing
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L45/00—Routing or path finding of packets in data switching networks
- H04L45/42—Centralised routing
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Computer Security & Cryptography (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本发明涉及一种通信系统、通信方法及网络装置。通常,描述了用于向网络的路径计算元件(PCE)报告动态隧道以通知PCE针对网络内的流量工程的路径计算的技术。在一些示例中,一种方法包括:由被配置为在网络内路由网络数据包的网络装置生成动态隧道报告消息,该消息包括用于通过网络传输网络数据包的动态隧道的动态隧道描述数据,其中,由动态隧道传输的网络数据包各自包括不包含多协议标签交换(MPLS)传输标签的外部报头;并且由网络装置将动态隧道报告消息发送给路径计算域的路径计算元件(PCE),以将动态隧道报告给PCE,以便包括在PCE针对网络的标签交换路径的路径计算中。
Description
技术领域
本公开涉及计算机网络,更具体地,涉及改进计算机网络内路径的路径计算。
背景技术
网络中的路由装置(通常称为路由器)维护描述网络中可用路由的路由信息表。网络路由器维护描述网络中可用路由的路由信息。一旦接收到数据包,路由器检查数据包中的信息,并根据路由信息转发数据包。为了保持网络的准确表示,路由器根据一个或多个路由协议交换路由信息,例如,内部网关协议(IGP)或边界网关协议(BGP)。
术语“链路”通常用于指网络上两个装置之间的连接。该链路可以是物理连接,例如,铜线、同轴电缆、多种不同光纤线路中的任何一种或无线连接。此外,网络装置可以定义“虚拟”或“逻辑”链路,并将虚拟链路映射到物理链路。换言之,虚拟链路的使用提供了一定程度的抽象。
流量工程可以在网络中应用于各种目的,例如,围绕网络故障或拥塞链路路由流量,或者沿着满足一组明确要求的特定路径通过网络引导某些流量。例如,网络内的路由器可以使用资源预留协议(例如,具有流量工程扩展(RSVP-TE)的资源预留协议),在多协议标签交换(MPLS)网络中建立流量工程标签交换路径(TE LSP)。一旦数据包被该LSP的入口标签边缘路由器(LER)映射到流量工程LSP(TE LSP),则沿着该TE LSP的中间装置基于附加到该数据包的标签转发该数据包,而不是基于数据包目的地和中间装置的路由信息做出独立的转发决定。流量工程MPLS LSP可以以这种方式用于定义和实现从源装置到目的地装置的满足网络传输的某些流量的要求的路径。
LSP必须满足的明确要求代表了从源装置到目的地装置的一组可能路径的约束。这些约束(例如,可用带宽)引导最短路径优先算法,以计算关于约束度量的满意路径。然后,网络路由器建立与计算路径相匹配的LSP,并使用该LSP以满足约束的方式转发流量。因此,受限最短路径优先(CSPF)代表了流量工程系统的基本构建模块,包括MPLS和广义MPLS(gMPLS)网络。然而,在大型、多域、多区域和/或多层网络中基于约束的路径计算是复杂的,并且在某些情况下可能需要不同管理域中的元件之间的合作,这些元件不交换足够的流量工程信息来计算多域路径。
网络运营商可以通过引入一个或多个允许网络路由器卸载路径计算的路径计算元件(PCE)来增强其网络的路径计算和流量工程。PCE通过网络与一个或多个路径计算客户端(PCC)建立PCE通信协议(PCEP)会话。路径计算客户端(例如,路由器)使用其相应的PCEP会话向PCE发出路径计算请求。PCE应用路径计算请求中提供的约束来计算通过满足约束的路径计算域的LSP的路径。然后,PCE将路径返回给TE LSP的入口LER的请求PCC,有效地增强了网络路径计算功能。PCE可以是无状态的或有状态的。通常,无状态的PCE在网络中不保持描述TE LSP的状态。另一方面,有状态的PCE保持网络中TE LSP的子集的状态,允许有状态的PCE在某些情况下使用更复杂的LSP路径计算算法。
发明内容
通常,描述了用于向网络的路径计算元件(PCE)报告动态隧道以通知PCE针对网络内的流量工程的路径计算的技术。网络装置可以建立到隧道目的地网络装置的动态隧道,作为通过第3层网络传输虚拟专用网(VPN)流量的覆盖。例如,当网络装置接收到去往下一跳地址的VPN路由时,网络装置可以动态地配置隧道,以将该VPN的VPN流量传送到下一跳地址。根据在本文描述的技术,网络装置自动向PCE报告这个被称为动态隧道的隧道,从而通知PCE动态隧道的存在,以用于通知PCE的未来路径计算。
在一些示例中,PCE通信协议(PCEP)被扩展以支持包括动态隧道的隧道描述数据的动态隧道报告消息。动态隧道的示例隧道描述数据可以包括隧道标识符、源地址、目的地地址、操作状态、度量、隧道类型和服务标签。在某些情况下,PCEP路径计算状态报告(PCRpt)消息被扩展为包括动态隧道对象(“动态隧道”),该动态隧道对象包括隧道描述数据。路径计算客户端(PCC)(例如,配置动态隧道的网络装置)可以生成并发送动态隧道报告消息,以向PCE通告动态隧道,从而影响路径计算,并因此将具有由PCE 6计算的路径的LSP放置在网络内。
这些技术可以提供一个或多个技术优势。例如,通过使能向PCE报告动态隧道,这些技术可以提高PCE在网络中的可见性。通过访问描述网络中配置的隧道(在这种情况下是动态隧道)的额外数据,PCE可以更智能地配置标签交换路径,以提高网络中覆盖的效率的方式传输流量。这种技术优势在数据中心环境中可能是特别有利的,在数据中心环境中成千上万条隧道被配置为在节点之间传输服务流量。以这种方式,这些技术可以促进PCE使用隧道描述数据来改进路径计算的优化。
在一些示例中,一种系统包括:用于网络的软件定义网络(SDN)控制器,该SDN控制器包括用于网络的路径计算域的路径计算元件(PCE);以及网络装置,被配置为在网络内路由网络数据包,所述网络装置还被配置为生成动态隧道报告消息,所述动态隧道报告消息包括用于通过网络传输网络数据包的动态隧道的动态隧道描述数据,其中,由所述动态隧道传输的网络数据包各自包括不包含多协议标签交换(MPLS)传输标签的外部报头,并且其中,所述网络装置还被配置为向所述SDN控制器发送动态隧道报告消息,以向所述SDN控制器报告所述动态隧道,并且其中,所述SDN控制器被配置为至少基于所述动态隧道描述数据来计算用于在网络内传输其他网络数据包的一个或多个标签交换路径的相应路径,并将所计算的路径发送到网络以在网络内供应。
在一些示例中,一种方法包括:由被配置为在网络内路由网络数据包的网络装置生成动态隧道报告消息,所述动态隧道报告消息包括用于通过网络传输网络数据包的动态隧道的动态隧道描述数据,其中,由所述动态隧道传输的网络数据包各自包括不包含多协议标签交换(MPLS)传输标签的外部报头;并且由所述网络装置向路径计算域的路径计算元件(PCE)发送动态隧道报告消息以向PCE报告动态隧道,以用于包括在PCE针对网络的标签交换路径的路径计算中。
在一些示例中,一种网络装置包括:一个或多个处理器,耦接到存储器;路由协议守护进程,被配置为由所述一个或多个处理器执行以接收路由通告,该路由通告包括用于网络前缀的路由和该路由的服务标签,其中,所述路由协议守护进程还被配置为配置通过网络传输网络数据包的动态隧道,所述网络数据包包括路由的服务标签,该服务标签用于识别由网络提供的服务;以及路径计算客户端,被配置为由所述一个或多个处理器执行,以响应于所述动态隧道的配置而生成包括所述动态隧道的动态隧道描述数据的动态隧道报告消息,其中,所述路径计算客户端还被配置为经由与网络的软件定义网络(SDN)控制器的路径计算元件协议(PCEP)会话来发送动态隧道报告消息,以向所述SDN控制器报告所述动态隧道。
在附图和以下描述中阐述本发明的一个或多个实施方式的细节。通过说明书和附图以及权利要求书,本发明的其他特征、目的和优点将变得显而易见。
附图说明
图1是示出根据本公开的技术的网络系统的框图,其中,网络装置(例如,路由器)向网络系统的一个或多个路径计算元件报告动态隧道的创建和移除;
图2是示出根据本公开中描述的技术的网络装置的示例操作模式的流程图;
图3是示出根据本公开中描述的技术的便于报告动态隧道的路径计算状态报告(“PCRpt”)消息的示例格式的框图;
图4是示出根据本公开的技术的由PCRpt消息(更具体地,在一些示例中,由包含在PCRpt消息中的动态隧道状态报告)承载的动态隧道对象的示例格式的框图;
图5是示出根据本公开的技术的由PCRpt消息(更具体地,在一些示例中,由PCRpt消息中包括的动态隧道状态报告中包括的动态隧道对象)承载的隧道标识符对象的示例格式的框图;
图6是示出根据本公开中描述的技术的有状态路径计算元件的示例实例的框图,该有状态路径计算元件建立并使用PCEP会话来接收动态隧道报告消息,并基于动态隧道报告消息来计算网络内的一条或多条路径;
图7是示出根据本公开中描述的技术的向路径计算元件发送TE LSP的实际路径指示的示例路由器的框图。
在所有附图和文本中,相同的附图标记表示相同的元件。
具体实施方式
图1是示出根据本公开的技术的网络系统2的框图,其中,网络装置向路径计算元件6报告网络系统2内动态隧道的创建和/或移除。在这个示例中,网络系统2包括路径计算元件(PCE)6和通过网络3互连的多个网络装置4A-4B(“网络装置4”)。网络3可以代表第3层网络,该第3层网络包括一个或多个提供商边缘(PE)装置(显示为网络装置4),这些装置将连接电路扩展到客户边缘(CE)装置7,以向连接到中间数据包交换网络3的客户网络提供服务。在某些情况下,网络3实现BGP/多协议标签交换(BGP/MPLS)互联网协议(IP)虚拟专用网(VPN),以通过确保来自不同VPN的路由保持不同且分离,来隔离不同客户的流量,而不管相应客户的VPN是否具有重叠的地址空间。
对于在网络装置4上配置的用于通过网络3传输客户流量并且特定PE路由器4参与其中的每个VPN,PE路由器4通常维护对应的VPN路由和转发(VRF)实例,该实例包括VPN的客户特定路由信息。通常,连接PE路由器(网络装置4)和CE装置7的每个连接电路都与VRF相关联。对于任何给定的VPN,PE路由器(网络装置4)学习VPN的路由(在某些情况下,来自CE装置),并将VPN路由安装到PE路由器用来转发流量的对应VRF。每个VPN路由可以包括识别VPN的服务流量的服务标签,例如,MPLS标签。此外,PE路由器使用BGP将学习到的VPN路由分发到服务提供商网络的其他PE路由器(或到一个或多个额外服务提供商网络的PE路由器)。在Rosen和Rekhter的“GP/MPLS IP Virtual Private Network(VPN)”Internet EngineeringTask Force Network Working Group,Request for Comments 4364,2006年2月中详细描述了BGP/MPLS IP VPN,该文件的全部内容通过引用结合于此(以下简称“RFC 4364”)。
在系统2的示例中,网络装置4通常代表实现VPN的网络3的PE装置。网络装置4(在本文可替代地称为“PE装置4”或“PE路由器4”)通常执行一个或多个内部网关协议,例如,开放最短路径优先(OSPF)、路由信息协议(RIP)、中间系统到中间系统(IS-IS)、内部网关路由协议(IGRP)、增强IGRP(EIGRP)和内部边界网关协议(iBGP)。网络装置4逻辑上位于网络3的“边缘”,并将连接电路扩展到客户边缘装置7,以向一个或多个客户提供服务,包括虚拟提供网络(VPN)服务。此外,尽管未示出,但是每个网络装置4可以服务于多个本地连接的CE装置7和客户网络,每个CE装置7和客户网络具有由网络装置4维护的不同VPN和VRF。
每个客户边缘装置7A-7B(“客户边缘装置7”)代表一网络装置(例如,路由器),其经由PE路由器(网络装置4)连接到网络3以接收网络3的服务。每个CE装置7可以包括互联网协议(IP)路由器、以太网交换机、异步传输模式(ATM)交换机、帧中继交换机。CE装置7可以代表逻辑上是一个或多个客户VPN的部分的CE装置。例如,CE装置7可以位于客户站点,或者可以代表数据中心内租户的CE装置。
网络装置4是由PCE 6服务的路径计算域的成员。路径计算域可以包括例如内部网关协议(例如,开放最短路径优先(OSPF)或中间系统到中间系统(IS-IS))区域、自治系统(AS)、服务提供商网络内的多个ASe、跨越多个服务提供商网络的多个ASe。在各种示例中,网络装置4的不同组合可以包括多个ASe的成员路由器。这样,连接网络装置4的网络链路可以是内部链路、AS间的传输链路或其某种组合。这些技术可以应用于创建动态隧道的任何网络装置。网络系统2可以代表服务提供商网络,并且在一些示例中,包括以各种拓扑排列的数百个路由器。
在单个VPN中,成对的PE装置4用信号通知一个或多个逻辑隧道,用于通过中间网络3传送客户流量,其中,逻辑隧道可以包括MPLS标签交换路径(LSP)、通用路由封装隧道或成对的PE路由器8之间的其他合适的逻辑连接,其能够在PE路由器之间封装和传输基于数据包的网络通信。PE路由器8可以使用例如资源预留协议(RSVP)或标签分发协议(LDP)来建立隧道。
虽然未示出,但是网络3通常包括用于路由和交换数据包的额外基础设施,例如,一个或多个核心(P)路由器(为了便于说明,未示出),其不直接连接到任何CE装置7而是至少部分地实现在用于IP-VPN的PE路由器8对之间延伸的隧道。例如,中间路由器(在本文称为P路由器)可以支持MPLS LSP或标签分发协议(LDP)功能,但是P路由器不必需要支持VPN功能,并且通常不知道CE装置7和封装在隧道内的客户流量。
以这种方式,网络装置4和网络3向一个或多个客户或租户提供VPN服务。为了通告包括CE装置7A和CE装置7B的用于VPN 17的VPN路由,网络装置4A和4B建立对等会话16(直接或经由路由反射器,未示出),以便在内部将VPN 17的拓扑信息(例如,路由)通告给彼此。这些路由可以称为VPN路由、VPN-IP(例如,VPN-IPv4或VPN-IPv6)或客户路由,并且可以包括到CE装置7后面的IP网络的路由。使用对等会话9彼此对等的装置在本文中可替代地称为“对等体”。对等会话16可以是边界网关协议(BGP)对等会话。
网络装置4交换包含VPN的路由的路由通告,例如,BGP UPDATE消息。通常,路由通告将前缀与前缀的下一跳路由器(BGP UPDATE消息中的“NEXT_HOP”)以及一个或多个自治系统的列表相关联,这些自治系统必须被遍历以到达前缀(BGP UPDATE消息中的“AS_PATH”)。在一些情况下,路由通告可以包括标签路由,其中,与VPN路由相关联地包括服务标签。服务标签可以是MPLS标签。当包含VPN 17的流量时,服务标签将流量识别为属于VPN。这样,网络装置4接收在堆栈顶部具有服务标签的数据包,网络装置4弹出堆栈并将该数据包传送到属于VPN 17的客户边缘装置7。
网络装置4A建立到网络装置4B的动态隧道19。网络装置4A是动态隧道19的隧道源,并且网络装置4B是动态隧道19的隧道目的地。例如,当网络装置4A接收包括到与网络装置4B相关联的下一跳地址的VPN路由和用于VPN 17的服务标签的路由通告18时,网络装置4A可以建立动态隧道19,以通过网络3将VPN流量传送到网络装置4B。网络装置4A可以响应于确定不存在从网络装置4A到网络装置4B的现有LSP而建立动态隧道19。作为另一个示例,如果在网络装置4A接收到路由通告18时存在动态隧道19,则网络装置4A可以将带有服务标签的VPN 17添加到动态隧道19,使得网络装置4A使用动态隧道19来传输VPN 17的流量。可以在路由协议下一跳解析过程中触发动态隧道19的创建。
动态隧道19可以是例如通用路由封装(GRE)隧道或用户数据报协议(UDP)隧道,这些隧道是隧道类型的示例,并且对应于这些隧道类型。在服务标签是MPLS标签的情况下,动态隧道19的这些实例分别是MPLS-over-GRE或MPLS-over-UDP(也称为MPLSoGRE或MPLSoUDP或称为MPLS-in-GRE或MPLS-in-UDP)。作为示例,其他隧道类型包括GRE、VXLAN、VXLAN-GPE、NVGRE、IP-in-IP。网络装置4A可以使用动态隧道19来传输具有多个不同服务标签的流量。MPLS-over-UDP的示例实现在“Encapsulating MPLS in UDP”Network Working Group ofthe Internet Engineering Task Force,Request for Comments 7510,2015年4月中被详细描述,该文件的全部内容通过引用结合于此。MPLS-over-GRE的示例实现在“Encapsulating MPLS in IP or Generic Routing Encapsulation(GRE)”NetworkWorking Group of the Internet Engineering Task Force,Request for Comments4023,2005年3月中被详细描述,该文件的全部内容通过引用结合于此。
在一些情况下,网络装置4可以代表由数据中心架构的MPLS核心网络连接的PE装置。网络装置4可以作为本地数据中心网关运行。在数据中心服务器上执行的虚拟路由器也可以作为PE装置运行。成对的这些PE装置可以建立动态隧道,例如,动态隧道19,以在作为动态隧道的隧道端点运行的对之间传输应用流量。在这种体系结构中,MPLSoUDP可能是优于MPLSoGRE的选项,因为可以基于正在传输的数据包中的字段来生成MPLSoUDP隧道封装报头中的源端口值。结果,连接隧道端点的网络路由器可以使用至少根据MPLSoUDP隧道封装报头中的源端口值计算的哈希值来负载平衡流量。在2013年12月12日公布为WO2013/184846的PCT/US2013/044378中,描述了其中虚拟路由器和交换/路由装置建立覆盖网络的数据中心体系结构的示例,该文件的全部内容通过引用结合于此。
在一些情况下,路由通告18可以指定隧道类型。例如,路由通告18可以包括指定隧道类型的隧道封装属性或封装扩展团体属性。隧道类型识别动态隧道19的隧道类型。网络装置4A可以根据指定的隧道类型建立动态隧道19。
在一些情况下,网络装置4B可以在相反的方向上建立单独的动态隧道作为动态隧道19(即,从网络装置4B到网络装置4A),以使得网络装置4之间、并且通过扩展后客户装置7之间能够进行VPN 17的双向通信。
在这种情况下,PCE 6没有在网络3(更具体地,在网络装置4A)中发起动态隧道19的配置,并因此,可能不知道存在用于在CE装置7A和CE装置7B之间传输流量的动态隧道19。此外,在某些情况下,动态隧道19与标签交换路径的不同之处可能在于:动态隧道19不使用MPLS传输标签或其他标签作为通过网络3交换标签的传输标签,来将数据包从网络装置4A传输到网络装置4B。换言之,网络3的中间路由器不必为动态隧道19传输的数据包交换MPLS标签栈的MPLS标签,而是使用非MPLS外部报头将隧道数据包路由到网络装置4B。即,穿过动态隧道19的数据包可以例如在隧道封装报头中具有一个或多个MPLS标签中的一MPLS标签栈作为服务标签,但是也可以包括非MPLS外部报头。对于动态隧道19是MPLSoUDP或MPLSoGRE隧道的情况,网络3使用IP路由来在到网络装置4B的最短路径上路由VPN 17的流量。在这种情况下,动态隧道19可以是传输具有外部IP报头的数据包的IP隧道,该外部IP报头包括网络装置4B的目的地网络地址,并且可能包括一个或多个VPN服务标签的内部MPLS栈。动态隧道19可以传输具有包括服务标签的隧道封装报头的数据包,并且动态隧道19可以包括例如GRE或UDP报头。如上所述,在数据中心架构中,从网络装置4A到网络装置4B通常存在多条等价路径,网络3的中间网络装置可以通过这些路径来对VPN 17的流量进行负载平衡。
通常,PCE 6使用从网络装置4学习的流量工程和LSP状态信息来应用约束,以响应来自任何网络装置4的请求并自主地计算MPLS流量工程LSP(TE LSP)的网络路径。在某些情况下,PCE 6是在例如网络节点上执行的应用程序或其他进程,网络节点例如是网络装置4、网络节点的组件、网络内或网络外服务器或软件定义网络(SDN)控制器中的一个。可替代地,PCE 6可以称为SDN控制器或负责管理软件定义网络的覆盖网络的控制器,其中,控制器包括PCE功能。为了获得用于存储在流量工程数据库(图1中未示出)中的流量工程信息,PCE6可以执行一个或多个网络路由协议,这些协议被扩展以承载流量工程信息,以监听承载这种流量工程信息的路由协议通告。PCE 6使用一种或多种路径计算算法,例如,Dijkstra、Bellman-Ford、Kruskal等,通过将带宽和其他约束应用于所学习的流量工程信息来计算TELSP的路径。产生的路径可能局限于单个域,也可能跨越几个域。在2013年9月10日提交的题为“Software-defined Network Controller”的第14/042,614号美国专利申请中,在2013年3月15日提交的题为“Physical Path Determination for Virtual Network PacketFlows”的第13/843,500号美国专利申请中,在2014年9月29日提交的第14/500,736号美国专利申请中,以及在2013年6月5日提交的PCT国际专利申请PCT/US13/44378中,找到了关于包括路径计算元件的SDN控制器的其他详细信息;这些申请中的每一个的全部内容都通过引用结合于此。
网络装置4A-4B包括相应的路径计算客户端8A-8B、8E(“PCC 8”),其使用扩展PCE通信协议(PCEP)会话12A-12B中的对应一个进行通信。本文对PCC的引用可以另外指路由器或包括PCC的其他网络装置。每个PCC 8是由建立PCEP会话12的网络装置执行的应用程序或其他进程。PCC 8可以使用PCEP会话12向PCE 6请求路径计算,或者以其他方式操作来实现本公开中描述的技术。PCEP会话12可以使用众所周知的端口在传输控制协议(TCP)上进行操作。
在某些情况下,网络装置4可以配置有TE LSP。网络装置4可以计算已配置的TELSP的路径,并使用资源预留协议(例如,具有流量工程扩展的资源预留协议(RSVP-TE))在网络系统中发信号通知TE LSP,以沿着计算的路径预留资源并且建立TE LSP以承载映射到LSP的流量。在一些情况下,配置有TE LSP的网络装置4的任何PCC 8可以经由PCEP会话12向PCE 6发出TE LSP的路径计算请求。对于每个被请求的TE LSP,路径计算请求可以包括所需带宽、建立/保持优先级、源和目的地网络地址、委托和管理标志、管理数据和度量数据。当PCE 6使用满足约束的所学习的流量信息来确定路径时,PCE 6可以用针对所请求的TE LSP的计算路径进行回复。
在接收到来自PCE 6的响应时,网络装置4使用资源预留协议沿着计算的路径发信号通知TE LSP。可以在“Path Computation Element(PCE)Communication Protocol(PCEP)”网络工作组,征求意见5440,2009年3月(以下简称“RFC 5440”);以及“PathComputation Element Communication Protocol(PCEP)Extensions for Stateful PCE”互联网工程任务组,征求意见8231,2017年9月(以下简称“RFC 8231”)中找到关于PCEP的其他详细信息;这些文件的全部内容通过引用结合于此。在“RSVP-TE:Extensions to RSVPfor LSP Tunnels”网络工作组,征求意见3209,2001年12月;“Resource ReSerVationProtocol(RSVP)”网络工作组,征求意见2205,1997年9月中找到关于RSVP-TE的其他详细信息;这些文件的全部内容通过引用结合于此。
例如,网络装置4A可以建立到网络装置4B的TE LSP(未示出)。在各种示例中,网络系统2可以包括连接网络3的不同对的网络装置的任意数量的TE LSP。在该示例中,为了建立TE LSP,作为TE LSP的入口LER的网络装置4A使用TE LSP信令协议,例如,RSVP-TE。网络装置4A发送LSP标签请求路径信令消息,该消息沿着所请求的路径转发,以请求网络装置4沿着所请求的路径绑定用于TE LSP的标签。作为响应,沿着所请求的路径的每个网络装置4绑定用于TE LSP的标签,并且向上游路由器发送LSP标签预留路径信令消息,该消息包括由用于TE LSP 14的路由器绑定的标签。每种类型的LSP信令消息包括至少一个路由对象,该路由对象指示被发消息通知的TE LSP所采用的路径。
RSVP-TE路径消息(以下称为“路径消息”)是用于RSVP-TE LSP信令协议的LSP标签请求路径信令消息。RSVP-TE Resv消息(以下称为“Resv消息”)是RSVP-TE的LSP标签预留路径信令消息。可以使用其他LSP信令协议。
如果网络装置4A发消息通知TE LSP,则PCC 8A可以经由PCEP会话12A在LSP路径报告消息中发送由TE LSP采取的到PCE 6的路径指示。LSP路径报告消息可以表示PCEP路径计算状态报告(PCRpt)消息,该消息包括TE LSP的实际路径的指示。实际路径的指示可以在RRO中编码。
与用于报告TE LSP或其他LSP的机制不同,PCEP不包括用于报告如本文所述建立并用于通过网络提供客户服务的动态隧道的机制,动态隧道至少在某些情况下代替LSP。
根据本文描述的技术,网络装置4A或网络装置4B可以使用本文描述的技术向PCE6报告动态隧道19的创建和/或删除。例如,响应于建立动态隧道19或响应于添加将由现有动态隧道19传输的新VPN服务,网络装置4A向PCE 6发送指示动态隧道19的一个或多个属性的动态隧道报告消息16。
动态隧道报告消息16可以符合PCE通信协议(PCEP),该协议如本文所述扩展以支持包括动态隧道19的隧道描述数据的动态隧道报告消息。动态隧道19的示例隧道描述数据可以包括唯一识别PCEP会话12的动态隧道19的隧道标识符(隧道ID)、源地址(网络装置4A的网络地址)、目的地地址(网络装置4A的网络地址)、操作状态、度量、隧道类型和服务标签。在某些情况下,PCEP路径计算状态报告(PCRpt)消息被扩展为包括动态隧道对象(“动态-隧道”),该动态隧道对象包括至少一些隧道描述数据。如上所述,PCC 8A可以生成并发送动态隧道报告消息16,以向PCE通告动态隧道19,从而影响路径计算,并因此将具有由PCE6计算的路径的LSP放置在网络3中。
这些技术可以提供一个或多个技术优势。例如,通过允许向PCE 6报告动态隧道19,这些技术可以提高PCE 6在网络3中的可见性。通过访问描述网络中配置的隧道(在这种情况下是动态隧道19)的额外数据,PCE 6可以更智能地配置标签交换路径,以提高网络3中覆盖的效率的方式传输流量。这种技术优势在数据中心环境中可能是特别有利的,在数据中心环境中成千上万条隧道被配置为在节点之间传输服务流量。以这种方式,这些技术可以促进PCE 6使用隧道描述数据来改进路径计算的优化。
图2是示出根据本公开中描述的技术的网络装置的示例操作模式的流程图。参考图1的网络系统2的网络装置4A和PCE 6描述了这些技术,但是在网络装置4A的情况下,这些技术可以由任何路由器/网络装置来执行,或者在PCE 6的情况下,这些技术可以由PCE/控制器来执行。
首先,网络装置4A和PCE 6通告其支持动态隧道报告能力(100)。即,网络装置4A经由PCEP会话12A向PCE 6发送网络装置4A能够报告动态隧道的指示,例如,通过生成和发送动态隧道报告消息,而PCE 6经由PCEP会话12A向网络装置4A发送PCE 6能够处理动态隧道报告消息的指示。
在一些示例中,PCE 6或网络装置4A的PCC 8A作为PCEP扬声器在PCEP会话12A初始化阶段通告支持动态隧道报告能力。PCEP扬声器在OPEN对象中包括在RFC 8231的第7.1.1节中描述的“STATEFUL-PCE-CAPABILITY TLV”,以通告其对PCEP有状态PCE扩展的支持。根据本公开中描述的技术,在一些示例中,STATEFUL-PCE-CAPABILITY TLV被扩展为在标志字段中包括动态隧道报告标志,在标志字段中,动态隧道报告标志指示PCEP扬声器是否支持动态隧道报告能力。
在一些示例中,动态隧道报告标志(“DYNAMIC-TUNNEL-REPORT”)是1位,如果被PCC设置为1,则指示不论动态隧道状态何时改变PCC都愿意发送动态隧道状态报告。如果被PCE设置为1,则动态隧道报告标志指示不论动态隧道状态何时改变PCE都有兴趣接收动态隧道状态报告。
在一些示例中,PCC 8A和PCE 6必须通告DYNAMIC-TUNNEL-REPORT标志,以便在PCEP会话12A上允许动态隧道报告消息。动态隧道报告功能也可以替代地称为带有DYNAMIC-TUNNEL-REPORT扩展的PCRpt消息。
网络装置4A从网络装置4B接收路由通告,该路由通告包括服务标签和下一跳,该下一跳指示网络装置4B是路由通告中包括的前缀的下一跳(102)。响应于接收到路由通告18,如果动态隧道19没有配置在网络装置4A内(104的否分支),则网络装置4A将动态隧道19配置到网络装置4B,并将服务添加到动态隧道(106)。然而,如果动态隧道19已经配置在网络装置4A内(104的是分支),则网络装置4A可以将对应于服务标签的服务添加到动态隧道19(108)。为了添加服务,网络装置4A可以添加新接口或者可以添加下一跳指令,而不创建逻辑隧道接口,这可以为可以在网络装置4A上创建的动态隧道的数量提供缩放优势。基于针对从客户边缘装置7A接收的流量的服务,网络装置4A可以在经由动态隧道19转发标记的流量之前将对应的服务标签应用于流量(108)。
响应于配置动态隧道19或将服务添加到动态隧道19,网络装置4A向PCE 6发送动态隧道报告消息16(110)。如下面参考图3进一步详细描述的,动态隧道报告消息16可以是从RFC 8231第6.1节扩展的PCRpt消息,以包括动态隧道描述数据。PCE 6接收动态隧道报告消息16,并基于其中的隧道描述数据执行至少一个操作。例如,PCE 6可以基于包括在报告动态隧道19的动态隧道报告消息16中的隧道描述数据来计算网络3中的用于一个或多个LSP的路径,其中,一个或多个LSP用于在网络3内传输没有经由动态隧道19传输的其他网络数据包(112)。例如,动态隧道19和具有由PCE 6使用动态隧道19的隧道描述数据计算的通过网络3的路径的一个或多个LSP可以共存于网络3中。以这种方式,知道动态隧道19的存在以及动态隧道19的带宽影响,可以有利地允许PCE 6改善网络3内的LSP的流量工程和路径计算,特别是在动态隧道19是PCE 6不知道的非MPLS隧道的情况下。
图3是示出根据本公开中描述的技术的便于动态隧道报告的路径计算状态报告(“PCRpt”)消息的示例格式的框图。在RFC 8231中,PCRpt消息被称为路径计算状态报告消息,但是本公开引用PCRpt消息来包含除LSP之外的动态隧道。例如,PCRpt消息200可以代表图1的动态隧道报告消息16的示例。PCRpt消息200可以代表根据本文描述的技术修改的PCEP PCRpt消息,以向PCE 6报告动态隧道19。
PCRpt消息200包括在RFC 5440中定义的PCEP公共报头。该公共报头指定PCEP版本号(“VER”)、当前定义的公共标志(“FLAGS”)、消息类型(“TYPE”)和消息长度(“LENGTH”),该消息长度以字节为单位指定包括公共报头的PCRpt消息200的总长度。PCRpt消息200的消息类型字段向接收者声明该消息的类型是“PCRpt”。在某些情况下,消息类型值可能为8,表示类型“PCRpt”。作为报告一个或多个LSP的状态的补充或替代,PCRpt被扩展以报告一个或多个动态隧道的状态,。
可以从RFC 8231的第6.1节如下修改PCRpt消息200的格式:
<PCRpt Message>:=<Common Header>
<state-report-list>
<dynamic-tunnel-list>
PCRpt消息200可以包括针对相应TE LSP的零个或多个状态报告(<state-report-list>),这将在下文中相对于状态报告202(示为“状态报告1”)进行描述。状态报告202包括LSP对象,并且指示由状态报告所报告的TE LSP采取的实际路径。状态报告202可以包括RRO对象,以指示所报告的TE LSP的实际路径,并且可选地包括LSPA、BANDWIDTH、METRIC,如在RFC 5440中定义的。LSP属性(LSPA)对象指定了各种TE LSP属性。BANDWIDTH对象为TE LSP指定带宽。METRIC对象可以指定已经针对TE LSP优化的度量(例如,IGP度量、TE度量、跳数)。
PCRpt消息200可以包括零个或多个动态隧道状态报告(<dynamic-tunnel-list>),在下文中相对于动态隧道状态报告204进行描述(示为“动态隧道状态报告1”)。动态隧道状态报告204包括动态隧道对象,其参照图4更为全面地描述。动态隧道状态报告204还可以包括度量对象,类似于RFC 5440中定义的METRIC对象。度量对象的度量类型可以设置为1,以表示IGP度量。
PCRpt消息200的实例可以是零个或多个状态报告实例以及零个或多个动态隧道报告实例。
图4是示出根据本公开的技术的由PCRpt消息承载(更具体地,在一些示例中,由包含在PCRpt消息中的动态隧道状态报告承载)的动态隧道对象的示例格式的框图。在报告动态隧道时,动态隧道对象可能出现在PCRpt消息中。动态隧道对象可以包含一组字段,该组字段用于指示目标动态隧道的隧道描述数据并且在某些情况下指示要对目标动态隧道执行的操作。动态隧道对象还可以包括向PCE指示动态隧道同步正在进行的标志。动态隧道可以包括那些在UDP或GRE上操作的隧道。动态隧道对象类和动态隧道对象类型将被确定,但是可以在RFC 5440的第7.2节中定义的公共对象报头中使用,以将动态隧道对象210识别为动态隧道对象(例如,与LSP对象或(有状态PCE请求参数)SRP对象相反)。
动态隧道对象210包括隧道ID字段212,该字段为包括动态隧道对象210的动态隧道报告(例如,动态隧道报告204)指定目标动态隧道的隧道标识符。隧道ID字段212是目标LSP的每PCEP会话标识符。即,对于其每个PCEP会话,PCC为每个动态隧道创建唯一的隧道标识符,该标识符在PCEP会话的生命周期内保持不变。PCC将在其在给定时间维护的所有PCEP会话上通告相同的隧道标识符。至少在某些情况下,没有与动态隧道相关联的名称,并因此没有维护隧道标识符和隧道名称之间的映射。如果需要,对于一个或多个动态隧道,PCE 6可以维护隧道标识符与动态隧道的源和目的地的映射。然后,随后的PCRpt消息可以通过其隧道标识符来寻址目标动态隧道,该隧道标识符由动态隧道对象210的隧道ID字段212指定。
动态隧道对象210还可以包括操作(“O”)标志216、移除(“R”)标志218和SYNC(“S”)标志220。在状态同步期间,从PCC发送的每个PCRpt消息上的SYNC标志可以设置为1。在从PCC发送的其他消息中,SYNC标志可以设置为0。移除标志218在被设置时指示由隧道ID字段212标识的动态隧道已经从发送PCRpt200的PCC中移除,并且接收的PCE6应该从其数据库中移除所有状态。一旦接收到具有针对动态隧道的R标志被设置为1的动态隧道对象210的动态隧道状态报告204,则PCE应当移除由IPV4-TUNNEL-IDENTIFIERS TLV描述的隧道的所有状态,这将在下面参考图5进行描述。操作标志216代表动态隧道的操作状态。定义了以下值:0-向下(非活动)、1-向上(信号)、2-活动(向上并承载流量)和3-7-保留(保留,以供将来使用)。动态隧道对象210的TLV字段213可以包括一个或多个类型长度值项,例如,IPV4-TUNNEL-IDENTIFIERSTLV。
图5是示出根据本公开的技术的由PCRpt消息承载(更具体地,在一些示例中,由PCRpt消息中包括的动态隧道状态报告中包括的动态隧道对象承载)的隧道标识符对象的示例格式的框图。隧道标识符对象可以包含一组字段,该组字段用于指示目标动态隧道的隧道描述数据以及在某些情况下要对目标动态隧道执行的操作。在该示例中,隧道标识符对象300是TLV,其具有指示隧道源地址(例如,IPv4地址)的隧道源地址字段302、指示隧道目的地地址(例如,IPv4地址)的隧道目的地地址字段304、以及指示隧道类型(例如,MPLSoGRE、MPLSoUDP或另一隧道类型)的隧道类型字段306。这些字段中的每一个都指示用PCRpt消息报告的动态隧道的对应属性。
图6是示出根据本公开中描述的技术的有状态路径计算元件的示例实例的框图,该有状态路径计算元件建立并使用PCEP会话来接收动态隧道报告消息,并基于动态隧道报告消息来计算网络内的一条或多条路径。在这个示例中,有状态PCE 6包括耦接到接口卡402(“IFC 402”)的控制单元400,以用于经由输入链路404(“输入链路44”)接收数据包并经由输出链路406(“输出链路406”)发送数据包。
控制单元400可以包括一个或多个处理器(图6中未示出),其执行软件指令,例如,用于定义软件或计算机程序的软件指令,这些指令被存储到计算机可读存储介质,例如,存储指令以使一个或多个处理器执行本文描述的技术的非暂时性计算机可读介质,包括存储装置(例如,磁盘驱动器或光驱)或存储器(例如,闪存、随机存取存储器或RAM)或任何其他类型的易失性或非易失性存储器。可替代地或另外,控制单元400可以包括专用硬件,例如,一个或多个集成电路、一个或多个专用集成电路(ASIC)、一个或多个专用处理器(ASSP)、一个或多个现场可编程门阵列(FPGA)或专用硬件的一个或多个前述示例的任意组合,用于执行本文描述的技术。
具有流量工程扩展监听器408(“RP-TE监听器408”)的路由协议是控制单元408的执行一个或多个路由协议的进程,该路由协议被扩展以通告和接收流量工程(TE)信息426。在某些情况下,RP-TE监听器408可以是被动监听器,并且避开路由协议通告。RP-TE 408可以例如执行具有TE扩展的中间系统到中间系统(IS-IS-TE)或者具有TE扩展的开放最短路径优先(OSPF-TE)。在一些情况下,RP-TE监听器408执行边界网关协议,以接收针对AS间和其他网络外链路的通告的TE信息。可以在上面引用的美国专利申请号14/042,614中找到关于示例PCE 6的其他详细信息。
由RP-TE监听器408接收的流量工程信息包括由PCE 6服务的路径计算域的拓扑信息。这种TE信息包括链路状态、管理属性和度量(例如,在连接域的路由器的链路的各种LSP优先级处可用的带宽)中的一项或多项。RP-TE监听器408将TE信息存储在流量工程数据库(TED)410中,该数据库由计算机可读存储介质存储,以用于路径计算。
控制单元400的客户端接口416实现PCE通信协议(PCEP)来接收和发送本公开中描述的PCEP消息。即,客户端接口416与网络中的一个或多个路径计算客户端(PCC)网络装置建立PCEP会话。经由PCEP会话,客户端接口416接收包括最新动态隧道状态的动态隧道状态报告428,该动态隧道状态包括动态隧道的动态隧道描述数据,客户端接口416将其存储到动态隧道数据库421。动态隧道状态报告428可以包括在PCRpt消息中,如以上参考图3至图5所述。这可以增加PCE 6已知的PCE 6路径计算域(例如,网络3)中的隧道数量,并改善PCE 6在其路径计算域中的路径优化。
客户端接口416还可以接收LSP状态报告,这些报告包括LSP的最新状态,客户端接口416将其存储到LSP状态数据库420。LSP的状态可以包括例如LSP状态(例如,上/下)、PCEP间会话持久性的符号名称、LSP属性(例如,建立优先级和保持优先级)、跳数、保留的带宽、已经为TE LSP优化的度量(例如,IGP度量、TE度量或跳数)以及TE LSP遵循的实际路径。
由客户端接口416接收的LSP状态报告在某些情况下可以包括向PCE6提供访问权限以修改目标TE LSP的参数的委托。在某些情况下,委托可以指定暴露出来进行修改的目标TE LSP的特定参数。客户端接口416将这样的委托信息存储到委托数据库418,委托数据库418可以将委托信息与LSP标识符相关联,LSP标识符也识别LSP状态数据库420中的TELSP。客户端接口416还可以实现PCEP操作的功能,以便于路径计算请求/回复消息。
控制单元400的资源请求接口422提供了一个接口,通过该接口,应用程序和/或运营商可以请求具有特定特征(例如,源/目的地和保证的带宽)的TE LSP。应用程序和运营商也可以使用资源请求接口422来检查LSP状态信息并修改可由其相应的符号名称识别的LSP的参数。例如,PCE6可以经由资源请求接口422从应用程序接收资源请求消息,该消息通过其符号名称来识别LSP。作为响应,资源请求接口422向应用程序返回所识别的LSP的LSP状态信息的指示,以供应用程序用来传输应用流量。资源请求接口422将对应于请求的资源需求存储在策略和资源数据库424中,策略和资源数据库424还可以存储在出现特定条件时确定PCE 6(特别是网络优化引擎414)的操作的策略。
在控制单元400上执行的网络优化引擎414使用存储到动态隧道数据库421的动态隧道状态,并且在某些情况下还可以使用TED 410的TE信息、存储到LSP状态数据库420的LSP状态信息、和/或存储到委托数据库418的委托信息中的一项或多项来计算一个或多个LSP的相应路径,这些路径进一步规范了网络运营商的目标,这些目标可以在策略和资源数据库424中表达。例如,这些目标可以包括最大化总吞吐量和/或促进所请求资源的带宽分配公平性。网络优化引擎414可以调用控制单元的路径计算模块412,使用提供的约束执行受约束的SPF(CSPF),以确定满足约束的一组路径。存储到LSP状态数据库420的LSP状态信息可以针对PCE 6的被动有状态和主动有状态实例向路径计算模块412提供约束和链接度量。
尽管被描述为数据库,但是数据库418、421、424、410和421可以表示其他数据结构,例如,文件、表、列表、树等。
图7是示出根据本公开中描述的技术向路径计算元件发送TE LSP的实际路径的指示的示例路由器的框图。出于说明的目的,路由器500可以在图1的示例性网络系统2的上下文中描述,并且可以表示网络装置4中的任一个。此外,尽管针对特定网络装置(例如,路由器)进行了描述,但是这些技术可以由建立动态隧道的任何网络装置来实现。
路由器500包括控制单元501和经由内部链路510耦接到控制单元501的接口卡(IFC)504。控制单元501可以包括执行软件指令的一个或多个处理器(图7中未示出),例如,用于定义软件或计算机程序的软件指令,这些指令存储到计算机可读存储介质(同样,图7中未示出),例如,存储指令以使一个或多个处理器执行本文描述的技术的非暂时性计算机可读介质,包括存储装置(例如,磁盘驱动器或光驱)或存储器(例如,闪存、随机存取存储器或RAM)或任何其他类型的易失性或非易失性存储器。可替代地或另外,控制单元400可以包括专用硬件,例如,一个或多个集成电路、一个或多个专用集成电路(ASIC)、一个或多个专用处理器(ASSP)、一个或多个现场可编程门阵列(FPGA)或专用硬件的一个或多个前述示例的任意组合,用于执行本文描述的技术。
在该示例中,控制单元501分为两个逻辑或物理“平面”,以包括第一控制或路由平面502A(“控制平面502A”)和第二数据或转发平面502B(“数据平面502B”)。即,控制单元501在逻辑上(例如,作为在同一组硬件组件上执行的独立软件实例)或者在物理上(例如,作为在硬件中静态实现该功能或者动态执行软件或计算机程序以实现该功能的独立物理专用硬件组件)实现两个独立的功能,例如,路由/控制和转发/数据功能。
控制单元501的控制平面502A执行路由器500的路由功能。在这方面,控制平面502A表示控制单元501的硬件或硬件和软件的组合,控制单元501在路由协议守护进程(RPD)522中实现协议518,通过协议518可以确定存储在路由信息库516(“RIB 516”)中的路由信息。RIB 516可以包括定义网络拓扑的信息,例如,图1的网络3。RPD 522表示路由协议进程或应用程序,并且可以解析由RIB 516中的路由信息定义的拓扑,以选择或确定通过网络的一个或多个路由。RPD 522然后可以用这些路线的表示来更新数据平面502B,其中,数据平面502B将这些表示维护为转发信息529。
在这个示例中,由RPD 522执行的协议518的路由协议包括具有流量工程扩展(BGP-TE)518A的边界网关协议和具有流量工程扩展(OSPF-TE)518C的开放最短路径优先。RPD 522执行这些协议,以通告和接收来自其他路由器(包括外部ASe的自治系统边界路由器和网络装置4A参与的路由域内的路由器)的路由和流量工程信息。各种其他示例可以实现其他链路状态或向量距离协议,以与其他路由器交换流量工程。RPD 522将接收到的流量工程信息存储在流量工程数据库514(示为“TED 514”)中,该数据库由计算机可读存储介质存储。在某些情况下,TED 514可以包含RIB 516,以将所有流量工程信息存储在单个数据结构中。TED 514可以存储例如链路状态、管理属性和度量(例如,在将网络装置4A连接到MPLS域的其他路由器的链路的各种LSP优先级处可用的带宽)中的一项或多项。
转发或数据平面502B表示控制单元501的硬件或硬件和软件的组合,控制单元501根据转发信息529转发网络流量,转发信息529包括输出链路508的网络目的地以及MPLS转发信息,例如,将出站标签和接口与在传入流量上接收的入站标签相关联的LSP标签映射(或“标签信息库”)。数据平面502B包括转发单元526,转发单元526提供由接口卡504经由入站链路506接收的网络流量到出站链路508的高速转发。转发单元526可以表示耦接到一个或多个IFC 504的数据包转发引擎(PFE)。路由器的一个示例性实施方式的进一步细节可以在2008年7月30日提交的题为“STREAMLINED PACKET FORWARDING USING DYNAMIC FILTERSFOR ROUTING AND SECURITY IN A SHARED FORWARDING PLANE”的美国专利申请12/182,619中找到,该申请通过引用结合于此。
控制平面502A还包括管理接口512,通过管理接口512,网络管理系统或在某些情况下使用命令行或图形用户界面的管理员配置在LSP数据库520(示为“LSP DB 520”)中描述的标签交换路径。LSP数据库520包括LSP配置数据,例如,LSP目的地、建立/保持优先级、路径(例如,RRO)、度量和其他LSP属性,例如,本文描述的那些属性。LSP数据库520还可以包括将每个配置的LSP的零个或多个属性指定为可委托参数的信息,当在网络中建立时,PCE可以使用PCEP来设置/修改该参数,以修改LSP的操作。LSP属性可分为三类:(1)RPD 522经由RSVP-TE 518B立即应用的、既不被PCE重新发信号也不被其覆盖的不可委托参数,(2)当由于例如LSP故障而重新发信号通知LSP时由RPD 522应用的可委托参数,以及(3)可被PCE覆盖并触发RPD 522重新发信号通知的可委托参数。所有可委托的LSP参数可以包括配置的默认值,例如,当PCEP会话终止、PCE以其他方式变得不可用或者PCE返回委托时,RPD 522应用该默认值。LSP数据库520还可以存储路由器500作为中转LSR或出口LER操作的TE LSP的路径状态。
RPD 522通过执行LSP信令协议来发信号通知LSP数据库520中描述的LSP,在这种情况下,该LSP信令协议是具有流量工程扩展(RSVP-TE)518B的资源预留协议,该协议向网络中的其他路由器发信号以预留资源并向RPD 522提供MPLS转发信息,以在转发MPLS数据包时使用。路由器500的各种实例也可以或者可替代地使用标准标签分发协议(LDP)来发信号通知LSP。此外,RPD 522执行协议518,以接收影响LSP状态的流量工程信息,例如,可能导致LSP的向下状态的故障链路和被抢占的资源。RPD 522可以将这样的LSP状态信息与LSP数据库520中的对应LSP相关联,并且可以进一步引导PCC 8A作为响应向PCE发送一个或多个LSP状态报告,如下面进一步详细描述的。
RPD 522执行BGP-TE 518A(或者在某些情况下简单地执行BGP),以接收标签路由通告。RPD 522可以响应于接收到标签路由通告,配置新的动态隧道或配置现有的动态隧道以添加服务,并将动态隧道的配置信息存储到动态隧道数据库521。RPD 522然后可以用动态隧道的表示来更新数据平面502B,其中,数据平面502B将这些表示维持为转发信息529的隧道信息531。尽管被描述为数据库,但是数据库520、521、514和516可以表示其他数据结构,例如,文件、表、列表、树等。
根据本公开的技术,控制平面502A的路径计算客户端(PCC)模块8A调解RPD 522和路径计算元件之间的通信。PCC 8A包括PCE接口524,其实现PCEP以接收和发送本公开中描述的PCEP消息。PCE接口524还实现PCEP操作的功能,以便于路径计算请求/回复消息。
PCE接口524与一个或多个PCE建立PCEP会话,并经由PCEP会话发送动态隧道报告消息528,以报告路由器500创建的动态隧道。PCE接口524可以获得存储到隧道数据库521的动态隧道的动态隧道描述数据,并生成动态隧道报告消息528。动态隧道报告消息528可以作为动态隧道状态报告204包括在PCRpt消息中,或者本身可以表示包括一个或多个动态隧道状态报告204的PCRpt消息。以这种方式,PCC 8A向PCE 6报告包括路由器500的网络中现存动态隧道的动态隧道描述数据。PCE 6可以使用动态隧道描述数据来优化网络中LSP的路径计算,并将计算出的路径发送到网络的网络装置,用于在网络内供应以传输网络流量。
PCE接口524还可以经由PCEP会话发送LSP状态报告,这些报告包括由LSP数据库520存储的LSP状态信息中描述的TE LSP的LSP状态。LSP状态报告可能包含在PCRpt消息中。以这种方式,PCC 8A同步路由器500和PCE之间的LSP状态,包括针对路由器500不是入口LER的TE LSP的LSP状态。LSP状态报告可以代表图3的LSP路径报告的示例实例。
本文描述的技术可以硬件、软件、固件或其任意组合来实现。被描述为模块、单元或组件的各种特征可以一起在集成逻辑装置中实现,或者单独实现为分立但可互操作的逻辑装置或其他硬件装置。在一些情况下,电子电路的各种特征可以实现为一个或多个集成电路装置,例如,集成电路芯片或芯片组。
如果以硬件实现,则本公开可以涉及诸如处理器或集成电路装置之类的装置,例如,集成电路芯片或芯片组。替代地或另外,如果以软件或固件实现,则这些技术可以至少部分地由包括指令的计算机可读数据存储介质实现,这些指令在被执行时促使处理器执行上述一种或多种方法。例如,计算机可读数据存储介质可以存储这样的指令,以供处理器执行。
计算机可读介质可以形成计算机程序产品的一部分,该计算机程序产品可以包括封装材料。计算机可读介质可以包括计算机数据存储介质,例如,随机存取存储器(RAM)、只读存储器(ROM)、非易失性随机存取存储器(NVRAM)、电可擦除可编程只读存储器(EEPROM)、闪存、磁或光数据存储介质等。在一些示例中,制品可以包括一个或多个计算机可读存储介质。
在一些示例中,计算机可读存储介质可以包括非暂时性介质。术语“非暂时性”可以表示存储介质不在载波或传播信号中体现。在某些示例中,非暂时性存储介质可以存储随时间变化的数据(例如,在RAM或高速缓存中)。
代码或指令可以是由处理电路执行的软件和/或固件,该处理电路包括一个或多个处理器,例如,一个或多个数字信号处理器(DSP)、通用微处理器、专用集成电路(ASIC)、现场可编程门阵列(FPGA)或其他等效集成或分立逻辑电路。因此,本文使用的术语“处理器”可以指任何前述结构或适合于实现本文描述的技术的任何其他结构。此外,在一些方面,可以在软件模块或硬件模块内提供本公开中描述的功能。
Claims (20)
1.一种通信系统,包括:
用于网络的软件定义网络控制器,所述软件定义网络控制器包括用于网络的路径计算域的路径计算元件;以及
网络装置,被配置为在网络内路由网络数据包,所述网络装置还被配置为生成动态隧道报告消息,所述动态隧道报告消息包括用于通过所述网络传输所述网络数据包的动态隧道的动态隧道描述数据,其中,由所述动态隧道传输的所述网络数据包各自包括不包含多协议标签交换传输标签的外部报头,并且其中,所述网络装置还被配置为向所述软件定义网络控制器发送所述动态隧道报告消息,以向所述软件定义网络控制器报告所述动态隧道,并且
其中,所述软件定义网络控制器被配置为至少基于所述动态隧道描述数据来计算用于在所述网络内传输其他网络数据包的一个或多个标签交换路径的相应路径,并将所计算的路径发送到所述网络以在所述网络内供应。
2.根据权利要求1所述的系统,
其中,所述网络装置被配置为响应于接收到包括用于网络前缀的路由和所述路由的服务标签的路由通告来配置所述动态隧道,
其中,所述网络装置被配置为经由所述动态隧道生成并输出所述网络数据包的数据包,所述数据包具有包括所述服务标签的隧道封装报头,并且具有包括所述动态隧道的目的地隧道端点的目的地地址的外部报头。
3.根据权利要求1所述的系统,
其中,所述动态隧道包括通用路由封装隧道上的多协议标签交换或用户数据报协议隧道上的多协议标签交换。
4.根据权利要求1所述的系统,
其中,所述动态隧道描述数据包括所述动态隧道的隧道源地址和所述动态隧道的隧道目的地地址。
5.根据权利要求1所述的系统,
其中,所述动态隧道描述数据包括所述动态隧道的隧道类型。
6.根据权利要求1-5中的任一项所述的系统,
其中,为了生成所述动态隧道报告消息,所述网络装置被配置为响应于所述动态隧道的配置或移除而生成所述动态隧道报告消息。
7.根据权利要求1-5中的任一项所述的系统,
其中,为了生成所述动态隧道报告消息,所述网络装置被配置为响应于添加服务的动态隧道的配置而生成所述动态隧道报告消息。
8.根据权利要求1-5中的任一项所述的系统,
其中,所述动态隧道报告消息包括路径计算元件协议路径计算状态报告消息,该消息包括所述动态隧道的动态隧道状态报告,并且
其中,发送所述动态隧道报告消息包括由所述网络装置经由与所述路径计算元件的路径计算元件协议会话来发送所述动态隧道报告消息。
9.根据权利要求8所述的系统,
其中,所述路径计算状态报告消息包括针对网络中配置的相应动态隧道的多个动态隧道状态报告,所述多个动态隧道状态报告包括所述动态隧道报告消息。
10.根据权利要求8所述的系统,
其中,所述路径计算状态报告消息包括在所述网络中配置的相应标签交换路径的一个或多个标签交换路径状态报告。
11.根据权利要求8所述的系统,
其中,所述路径计算状态报告消息包括动态隧道对象,所述动态隧道对象具有一组一个或多个字段和一个或多个类型长度值项,这些项组合起来包括动态隧道描述数据,
其中,所述一个或多个字段包括:
隧道ID字段,指示所述路径计算元件协议会话内的所述动态隧道的隧道标识符;
一组一个或多个标志,描述所述动态隧道的状态。
12.根据权利要求11所述的系统,其中,所述一个或多个类型长度值项包括IPV4-TUNNEL-IDENTIFIERS类型长度值项,该项指示所述动态隧道的隧道源地址、所述动态隧道的隧道目的地地址、以及所述动态隧道的隧道类型。
13.一种通信方法,包括:
由被配置为在网络内路由网络数据包的网络装置生成动态隧道报告消息,所述动态隧道报告消息包括用于通过所述网络传输所述网络数据包的动态隧道的动态隧道描述数据,其中,由所述动态隧道传输的所述网络数据包各自包括不包含多协议标签交换传输标签的外部报头;并且
由所述网络装置向路径计算域的路径计算元件发送所述动态隧道报告消息以向所述路径计算元件报告所述动态隧道,以用于包括在由所述路径计算元件针对所述网络的标签交换路径的路径计算中。
14.根据权利要求13所述的方法,
其中,配置所述动态隧道包括响应于接收到包括用于网络前缀的路由和所述路由的服务标签的路由通告而配置所述动态隧道,所述方法还包括:
经由所述动态隧道生成并输出所述网络数据包的数据包,所述数据包具有包括所述服务标签的隧道封装报头并且具有包括所述动态隧道的目的地隧道端点的目的地地址的外部报头。
15.根据权利要求13所述的方法,
其中,所述动态隧道包括通用路由封装隧道上的多协议标签交换或用户数据报协议隧道上的多协议标签交换。
16.根据权利要求13所述的方法,
其中,所述动态隧道描述数据包括所述动态隧道的隧道源地址和所述动态隧道的隧道目的地地址。
17.根据权利要求13所述的方法,
其中,所述动态隧道描述数据包括所述动态隧道的隧道类型。
18.根据权利要求13-17中的任一项所述的方法,
其中,生成所述动态隧道报告消息包括响应于所述动态隧道的配置或移除而生成所述动态隧道报告消息。
19.根据权利要求13-17中的任一项所述的方法,
其中,生成所述动态隧道报告消息包括响应于添加服务的所述动态隧道的配置而生成所述动态隧道报告消息。
20.一种网络装置,包括:
一个或多个处理器,耦接到存储器;
路由协议守护进程,被配置为由所述一个或多个处理器执行以接收路由通告,所述路由通告包括用于网络前缀的路由和所述路由的服务标签,
其中,所述路由协议守护进程还被配置为配置通过网络传输网络数据包的动态隧道,所述网络数据包包括所述路由的所述服务标签,所述服务标签用于识别由所述网络提供的服务;以及
路径计算客户端,被配置为由所述一个或多个处理器执行,以响应于所述动态隧道的配置而生成包括所述动态隧道的动态隧道描述数据的动态隧道报告消息,
其中,所述路径计算客户端还被配置为经由与所述网络的软件定义网络控制器的路径计算元件协议会话来发送所述动态隧道报告消息,以向所述软件定义网络控制器报告所述动态隧道。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US16/012,524 US10630581B2 (en) | 2018-06-19 | 2018-06-19 | Dynamic tunnel report for path computation and traffic engineering within a computer network |
US16/012,524 | 2018-06-19 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN110620726A true CN110620726A (zh) | 2019-12-27 |
CN110620726B CN110620726B (zh) | 2021-06-18 |
Family
ID=66867066
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910526611.2A Active CN110620726B (zh) | 2018-06-19 | 2019-06-18 | 通信系统、通信方法及网络装置 |
Country Status (3)
Country | Link |
---|---|
US (1) | US10630581B2 (zh) |
EP (1) | EP3585012B1 (zh) |
CN (1) | CN110620726B (zh) |
Families Citing this family (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US11206204B2 (en) * | 2018-06-29 | 2021-12-21 | Itron Global Sarl | Traceroute method to identify devices in tunneled segment of routing path |
US20200359380A1 (en) * | 2019-05-08 | 2020-11-12 | Nanning Fugui Precision Industrial Co., Ltd. | Ynamic bandwidth allocation method and sdn controller using the method |
US11297037B2 (en) * | 2019-07-22 | 2022-04-05 | Arista Networks, Inc. | Method and network device for overlay tunnel termination and mirroring spanning datacenters |
US11095545B2 (en) * | 2019-10-22 | 2021-08-17 | Vmware, Inc. | Control packet management |
US11863453B2 (en) * | 2021-06-01 | 2024-01-02 | Cisco Technology, Inc. | Dynamic load adjustment |
US11962506B2 (en) | 2021-06-01 | 2024-04-16 | Cisco Technology, Inc. | Dynamic traffic class upgrading |
US11575596B1 (en) * | 2022-03-07 | 2023-02-07 | Ciena Corporation | Identifying an ingress router of a flow in inter-AS VPN option-C networks with visibility in one AS |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20150103691A1 (en) * | 2013-10-11 | 2015-04-16 | Ciena Corporation | Method and apparatus for multi-instance control plane for dynamic mpls-tp tunnel management via in-band communication channel (g-ach) |
US9178796B2 (en) * | 2013-06-28 | 2015-11-03 | Cisco Technology, Inc. | Multi-layer stateful path computation element architecture |
US20170012895A1 (en) * | 2015-07-06 | 2017-01-12 | Futurewei Technologies, Inc. | Path Computation Element Central Controllers (PCECCs) for Network Services |
CN106533939A (zh) * | 2016-11-25 | 2017-03-22 | 北京邮电大学 | 一种软件定义光接入汇聚网带宽动态调整方法及装置 |
CN107276899A (zh) * | 2016-03-30 | 2017-10-20 | 丛林网络公司 | 标签交换路径报告 |
Family Cites Families (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8339959B1 (en) | 2008-05-20 | 2012-12-25 | Juniper Networks, Inc. | Streamlined packet forwarding using dynamic filters for routing and security in a shared forwarding plane |
US8750288B2 (en) | 2012-06-06 | 2014-06-10 | Juniper Networks, Inc. | Physical path determination for virtual network packet flows |
US9450817B1 (en) | 2013-03-15 | 2016-09-20 | Juniper Networks, Inc. | Software defined network controller |
US9794165B1 (en) | 2014-09-29 | 2017-10-17 | Juniper Networks, Inc. | Batched path computation in resource-constrained networks |
EP3300317B1 (en) * | 2015-06-10 | 2020-08-26 | Huawei Technologies Co., Ltd. | Method, device and system for realizing service link |
-
2018
- 2018-06-19 US US16/012,524 patent/US10630581B2/en active Active
-
2019
- 2019-06-14 EP EP19180342.8A patent/EP3585012B1/en active Active
- 2019-06-18 CN CN201910526611.2A patent/CN110620726B/zh active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9178796B2 (en) * | 2013-06-28 | 2015-11-03 | Cisco Technology, Inc. | Multi-layer stateful path computation element architecture |
US20150103691A1 (en) * | 2013-10-11 | 2015-04-16 | Ciena Corporation | Method and apparatus for multi-instance control plane for dynamic mpls-tp tunnel management via in-band communication channel (g-ach) |
US20170012895A1 (en) * | 2015-07-06 | 2017-01-12 | Futurewei Technologies, Inc. | Path Computation Element Central Controllers (PCECCs) for Network Services |
CN107276899A (zh) * | 2016-03-30 | 2017-10-20 | 丛林网络公司 | 标签交换路径报告 |
CN106533939A (zh) * | 2016-11-25 | 2017-03-22 | 北京邮电大学 | 一种软件定义光接入汇聚网带宽动态调整方法及装置 |
Non-Patent Citations (2)
Title |
---|
HUAWEI TECHNOLOGIES: "《IETF Internet-Draft PCE-initiated IP Tunnel》", 4 September 2015 * |
PANTHEON TECHNOLOGIES SRO: "《Internet Engineering Task Force (IETF) RFC8231》", 30 September 2017 * |
Also Published As
Publication number | Publication date |
---|---|
EP3585012A1 (en) | 2019-12-25 |
EP3585012B1 (en) | 2023-04-19 |
US20190386915A1 (en) | 2019-12-19 |
US10630581B2 (en) | 2020-04-21 |
CN110620726B (zh) | 2021-06-18 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109257278B (zh) | 用于非分段路由启用的路由器的分段路由标签交换路径方法 | |
CN110620726B (zh) | 通信系统、通信方法及网络装置 | |
CN111865796B (zh) | 用于网络业务的路径计算单元中央控制器(pcecc) | |
EP3226475B1 (en) | Label switched path reporting | |
US10193801B2 (en) | Automatic traffic mapping for multi-protocol label switching networks | |
EP2933958B1 (en) | Segment routing - egress peer engineering (SP-EPE) | |
US8467411B1 (en) | Service-specific forwarding in an LDP-RSVP hybrid network | |
US8885463B1 (en) | Path computation element communication protocol (PCEP) extensions for stateful label switched path management | |
US11743166B2 (en) | Provisioning non-colored segment routing label switched paths via segment routing policies in border gateway protocol | |
US9577925B1 (en) | Automated path re-optimization | |
EP3886378B1 (en) | Seamless end-to-end segment routing across metropolitan area networks | |
EP3754914B1 (en) | Class-based traffic engineering in an ip network | |
US20220103462A1 (en) | Computing segment identifier lists for multipaths in a segment routing-enabled network | |
EP3979598B1 (en) | Bandwidth constraint for multipath segment routing | |
US10554543B1 (en) | Migrating data traffic between label switched paths (LSPs) based on per-LSP protocol priority value | |
CN116530065A (zh) | 使用路径计算单元协议创建sr策略的方法、装置及系统 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
CB02 | Change of applicant information |
Address after: California, USA Applicant after: Juniper Networks, Inc. Address before: California, USA Applicant before: Jungle network |
|
CB02 | Change of applicant information | ||
GR01 | Patent grant | ||
GR01 | Patent grant |