具有集中控制的聚合网络的制作方法

文档序号:7781121阅读:175来源:国知局
具有集中控制的聚合网络的制作方法
【专利摘要】本发明的各实施方式总体上涉及具有集中控制的聚合网络。具体地,描述了一种接入网络,其中集中控制器提供从服务提供商网络的核心面对边界通过聚合接入基础设施到位于订户设备附近的接入节点的无缝端到端服务。控制器操作用于提供中心配置点以配置服务提供商的网络的聚合节点(AG),以便提供用于在接入节点(AX)与网络相对边上的边界路由器之间传送流量的传送服务。
【专利说明】具有集中控制的聚合网络
[0001]本申请要求2012年12月18日提交的美国临时申请N0.61/738,955的权益,其全部内容通过引用并入于此。
【技术领域】
[0002]本发明涉及计算机网络。
【背景技术】
[0003]各种各样的设备连接至服务提供商网络,用于访问由基于分组的数据网络(诸如,因特网、企业内联网、内容提供商和虚拟专用网(VPN))提供的资源和服务。例如,许多固定计算机利用服务提供商网络的固定通信链路(诸如,光学数字订户线路或基于电缆的连接),用于访问基于分组的服务。另外,大量移动设备(诸如,蜂窝或移动智能电话和功能电话、平板计算机和膝上型计算机)利用服务提供商网络的移动连接(诸如,蜂窝无线电访问网络),用于访问基于分组的服务。
[0004]每个服务提供商网络通常提供广泛的接入网络基础设施,用于向推出的服务提供基于分组的数据服务。接入网络通常包括大量由通信链路互连的接入节点、聚合节点和高速边界路由器。这些接入设备通常执行各种协议并交换信令消息,用于锚定并管理与订户相关联的订户会话和通信流。例如,接入设备通常提供复杂多样的机制,用于验证订户、标识订户流量、应用订户策略以基于每个订户管理订户流量、向流量应用各种服务以及通常在服务提供商网络内转发流量。
[0005]由此,接入网络向服务提供商提出了根本性挑战,并且经常要求服务提供商在范围广泛的用户密度上进行困难的权衡。例如,在某些环境下,用户密度可以超过每平方公里数十万用户。在其他环境下,用户密度可以稀少至每平方公里I或2个用户。由于上述要求的差异性,接入网络通常利用许多通信设备和技术。

【发明内容】

[0006]通常,在描述的接入/聚合网络中,集中控制器提供从服务提供商网络的核心面对边界通过聚合接入基础设施到位于订户设备附近的接入节点的无缝端到端服务。控制器操作用于提供中心配置点以配置服务提供商的接入/聚合网络的接入节点(AX)和聚合节点(AG),以便提供传输服务用于在聚合网络相对边上的接入节点与边界路由器之间传输流量。为了简化起见,接入/聚合网络将在这里被称为“聚合网络”,用于指代提供接入和聚合两者的网络。
[0007]AG例如可以操作为由集中控制器配置的标签交换路由器(LSR),用于沿聚合网络中定义的传输标签交换路径(LSP)转发流量。位于聚合网络边上的接入节点和边界路由器操作为LSP的端点,用于将订户流量映射至LSP以及从LSP映射出订户流量。通过此方式,控制器提供用于配置AG以有效地操作为MPLS交换结构的集中、基于云的控制平面,从而向订户流量的传输提供边界路由器与接入节点之间的传输LSP。[0008]每个AX和AG可以提供最小控制平面功能,并且实质上操作为集中控制器的低成本、从设备。由此,AX和AG可以成本更低,并且具有与聚合网络中通常使用的常规高端路由器相比更低的管理复杂度,这是由于此类常规高端路由器设备经常提供复杂的控制平面功能。
[0009]此外,在描述的云控制协议(CCP)中,接入节点和聚合节点自动发现邻近聚合节点,并且自动连接至集中控制器。如文所述,CCP简化了聚合网络中的拓扑发现和路径配给过程,并且提供了用于在聚合网络中使用的简单、高度可用、可扩展的协议,即使AX和AG几乎没有提供控制平面功能。
[0010]在一个示例中,网络包括用于从多个订户设备接收网络分组的多个接入设备,将该网络耦合至核心网络的一个或多个路由器,用于接收网络分组并且向一个或多个路由器传输所述网络分组的多个聚合节点,以及与多个聚合节点、路由器和接入设备通信的集中控制器。每个聚合节点操作精简的控制平面,而不需要执行第三层(L3)路由协议来维持针对聚合网络的路由信息并且生成针对聚合节点的转发信息,并且集中控制器向聚合节点输出一个或多个消息用于在每个聚合节点中通信并安置针对一个或多个传输标签交换路径(LSP)的转发信息,从而经由聚合节点传输接入节点与路由器之间的网络分组。
[0011]在另一示例中,描述了一种用于配置具有多个聚合节点的网络的方法,用于传输多个接入设备与多个边界路由器之间的网络分组。该方法包括通过网络的集中控制器输出一个或多个消息,用于在每个聚合节点中通信并安置用于建立一个或多个传输LSP的转发信息,从而经由聚合节点传输接入节点与路由器之间的网络分组,其中每个聚合节点操作精简的控制平面,而不需要执行L3路由协议来维持针对聚合网络的路由信息并且生成针对聚合节点的转发信息。该方法还包括接收与多个订户设备相关联的网络分组,并且通过多个聚合节点沿接入节点与边界路由器之间的LSP转发网络分组。
[0012]在又一示例中,一种方法包括通过网络的多个聚合节点的一个聚会节点执行控制平面协议用于发现该网络的聚合节点的邻近聚合节点,并且通过该聚合节点向发现的本地邻近节点至集中控制器网络设备发送洪消息用于建立聚合节点与集中控制器网络设备之间的源路由隧道(SRT)控制信道。该方法还包括通过聚合节点经由建立的SRT控制信道从控制器接收消息,其中该消息指定由集中控制器网络设备预先计算的导引转发信息库(FIB)状态用于配置聚合节点的转发平面,并且响应于接收消息,通过聚合节点安置在消息中接收的导引FIB状态,其中导引FIB状态包括针对聚合节点的一个或多个多协议标签交换(MPLS)标签,用于在LSP上发送分组。
[0013]在另一示例中,一种计算机可读存储介质包括用于使得可编程处理器在网络设备的处理器上执行控制平面协议的指令,用于发现网络的多个节点的邻近节点,向发现的本地邻近节点至集中控制器网络设备发送洪消息用于建立网络设备与集中控制器网络设备之间的源路由隧道(SRT)控制信道,以及在网络设备处经由建立的SRT控制信道从控制器接收消息,其中该消息指定由集中控制器网络设备预先计算的导引转发信息库(FIB)状态用于配置聚合节点的转发平面。该指令进一步使得可编程处理器响应于接收消息,在网络设备的转发组件中安置在消息中接收的导引FIB状态,其中导引FIB状态包括针对网络设备的一个或多个MPLS标签,用于在LSP上发送分组。
[0014]在又一示例中,一种网络设备包括用于发送并接收网络分组的多个网络接口,提供数据平面用于对网络分组执行标签操作以通过网络转发标签交换路径上的网络分组的转发组件,以及执行控制协议的控制单元,用于发现网络的多个节点的邻近节点,向发现的邻近节点至集中控制器发送洪消息以建立网络设备与集中控制器之间的源路由隧道(SRT)控制信道,并且从集中控制器经由SRT控制信道接收用于沿网络中一个或多个传输交换路径(LSP)传输网络分组的转发信息。
[0015]本文所述的技术可以提供某些优势。例如,所述技术可以允许服务提供商通过使用集中控制以及使用易于管理并且不具有永久配置的节点实现在总操作成本方面的减少。如本文所述,所述技术可以在接入网络中用于将不同的边界网络统一成针对商业、住宅和移动应用的单个服务递送平台。此外,所述技术提供架构用于易于随订户设备的数目扩展的接入网络。例如,易于扩展可以通过限制接入节点和聚合节点上转发表的大小,以及限制每个节点对其他节点的意识只是其直接邻居来实现。
[0016]本发明的一个或多个实施方式的细节在下面的附图及说明中进行阐述。根据以下说明和附图以及权利要求书将容易理解本发明的其他特征、对象和优势。
【专利附图】

【附图说明】
[0017]图1是图示了根据本文所述技术的示例网络系统的框图。
[0018]图2是提供其中示出集中控制器的其他示例细节的服务提供商网络的第二图示的框图。
[0019]图3A是图示了根据本公开的技术包括待由控制器使用云控制协议发现的接入节点和聚合节点的集合的系统的框图。
[0020]图3B是图示了根据本公开的技术沿SRT路径从控制器交换示例FLOOD (洪)消息的示例网络设备的框图。
[0021]图4是图示了根据本公开的技术针对控制分组的示例基础分组结构的框图。
[0022]图5是根据一个示例实施方式进一步详细图示了示例CCP源路由列表字段的框图。
[0023]图6是根据一个示例实施方式进一步详细图示了示例路由条目列表字段的框图。
[0024]图7是根据一个示例实施方式进一步详细图示了示例CCP消息报头的框图。
[0025]图8是图示了根据本公开的技术的示例你好消息的框图。
[0026]图9是图示了根据本公开的技术的示例洪消息的框图。
[0027]图10是根据一个示例进一步详细图示了洪消息的示例邻居节点列表元素的框图。
[0028]图11是根据一个示例进一步详细图示了洪消息的示例中间节点列表元素的框图。
[0029]图12是图示了根据本公开的技术的示例洪回复消息的框图。
[0030]图13是图示了根据本公开的技术的示例SRT停机消息的框图。
[0031]图14是图示了根据本公开的技术的示例链路属性TLV格式的框图。
[0032]图15是根据本公开的技术的不例多协议标签交换(MPLS)转发信息库(FIB)配置消息。
[0033]图16是根据一个示例进一步详细图示了 MPLS FIB配置消息的示例MPLS FIB条目的框图。
[0034]图17是图示了根据本公开的技术的示例FIB配置回复消息的框图。
[0035]图18是根据一个示例进一步详细图示了 FIB配置回复消息的示例MPLS FIB解析状态条目的框图。
[0036]图19是图示了根据本公开的示例控制器的框图。
[0037]图20是详细图示了集中控制器的路径计算元件的示例实现的框图。
[0038]图21是图示了根据本公开的示例网络设备的框图。
【具体实施方式】
[0039]图1是图示了根据本文所述技术的示例网络系统10的框图。如图1的示例中所示,网络系统10包括耦合至公用网络22的服务提供商网络20。服务提供商网络20操作为向订户设备18A、18B (这里被称为“订户设备18”)提供基于分组的网络服务的专用网络。订户设备18A例如可以是个人计算机、膝上型计算机或与订户相关联的其他类型的计算设备。订户设备18例如可以包括移动电话、具有例如3G无线卡的膝上型计算机或台式计算机、无线能力上网本、视频游戏设备、寻呼机、智能电话、个人数据助理(PDA)等。每个订户设备18可以运行各种软件应用,诸如文字处理和其他办公支持软件、web浏览软件、用于支持语音呼叫、视频游戏、视频会议和电子邮件等的软件。
[0040]在图1的示例中,服务提供商网络20包括向聚合网络24提供完整控制平面功能的集中控制器35。如这里所述,控制器35提供从服务提供商网络的核心面对边界通过聚合接入基础设施到位于订户设备附近的接入节点的无缝端到端服务。
[0041]聚合网络24向与订户18相关联的网络流量提供传送服务。聚合网络24通常包括一个或多个聚合节点(“AG”)19,诸如在AX28、AX36与ER30之间提供传送服务的内部路由器和交换机。在通过接入网络27或无线电接入网络25验证并建立网络接入之后,任意一个订户设备18可以开始与公用网络22交换数据分组,其中此类分组穿过AX28、AX36和AGlQ0虽然没有示出,但是聚合网络可以包括其他设备用于提供安全服务、负载平衡、计费、深层分组检测(DPI)以及针对移动流量穿过聚合网络24的其他服务。
[0042]如本文所述,控制器25操作用于提供用于配置聚合网络24的AG19的集中配置点,提供用于在AX28、AX36与边界路由器30之间传输流量的传输服务。AG19例如可以操作为沿聚合网络24中定义的传输标签交换路径(LSP)转发流量的标签交换路由器(LSR)。接入节点28、接入节点36和边界路由器30可以操作为LSP的端点,用于将订户流量映射至LSP以及从LSP映射出订户流量。例如,边界路由器30可以将网络服务映射至聚合网络24中的单独LSP,而接入节点28、接入节点36将网络服务经由LSP映射至单独EP32和EP38。
[0043]通过此方式,控制器35配置AG19用于有效地操作为MPLS交换结构,以向订户流量的传输提供从边界路由器30到接入节点28、36的传输LSP。每个AX28、AX36和AG19可以提供响应于控制器35的最小控制平面功能。由此,AX28、AX36和AG19可以成本更低,并且具有与聚合网络中通常使用的常规高端路由器相比更低的管理复杂度,这是由于此类常规高端路由器设备经常提供复杂的控制平面功能。控制器35根据下文进一步描述的带宽、QoS以及网络服务应用的可用性需求。
[0044]如下文进一步描述,控制器35包括处理针对整个聚合网络24的拓扑计算和路径供应的路径计算模块(MCP)。即,控制器35的PCM处理针对聚合网络24的拓扑信息,基于各种因素(包括订户流量的当前负载情况)实时执行路径计算和选择,以及提供聚合网络中的 LSP。
[0045]如文所述,AX28、AX36、AG19、边界路由器30和控制器35中每一个执行这里被描述为云控制协议(CCP)的协议,用于简化聚合网络24中的拓扑发现和路径供应处理。如下文进一步所述,CCP提供聚合网络24中使用的简化、高度可用、可扩展的协议,即使AX28、AX36和AG19提供了有限的控制平面。在一个示例中,CCP通过快速保活支持邻近AX28、AX36和AG19的自动发现,并且提供一种机制,通过该机制任意AX28、AX36和AG19可以向控制器35描述其邻近节点。例如,CCP提供了一种用于建立控制信道的简洁机制,通过该控制信道控制器35配置并控制聚合网络24中的AX28、AX36和AG19。此外,CCP允许控制信道独立于聚合网络24的数据平面建立,该聚合网络24操作为还不要求并行控制网络。此外,CCP提供了用于将转发信息编程至AX28、AX36和AG19数据平面的机制,包括MPLS转发信息、迂回下一跳、每个CoS策略器和每个接口分组调度。
[0046]接入节点(AX) 28、接入节点(AX) 36和边界路由器(ER) 30操作在聚合网络24的边界,并且响应于控制器35向关联于和接入节点28、接入节点36的通信的订户18的网络流量应用网络服务,诸如授权、策略供应和网络连接。在图1的示例中,为了简化说明,服务提供商网络20被示为具有两个接入节点28和36,然而服务提供商网络通常可以服务成千上万个接入节点。
[0047]聚合节点19是聚合若干接入节点28、36的节点。AG19和AX28、AX36具有精简的控制平面,该精简的控制平面不执行针对LSP标签的分配和分发的多协议标签交换(MPLS)协议。作为一个示例,AX28、AX36和AG19每个执行控制平面协议(诸如,CCP),用于从控制器35直接接收MPLS转发信息,而不需要使用标签分发协议(诸如LDP或RSVP)的常规MPLS信令。
[0048]在此示例中,服务提供商网络包括具有接入节点(AX) 36和端点(EP) 38的接入网络27,其向订户设备18A提供对聚合网络24的接入。在某些示例中,AX36可以包括维持订户设备18A与聚合网络24之间路由信息的路由器。例如,AX36通常包括宽带远程接入服务器(BRAS)功能,用于将从一个或多个EP38至更高速上行链路的输出聚合到聚合网络24。边界路由器30提供针对订户设备18A的活动会话的锚点。从这层意义上,边界路由器30可以维持会话数据,并且操作为针对与订户设备18A建立的通信会话的端点,所述订户设备18A正在经由聚合网络24访问公用网络22的基于分组的服务。
[0049]EP38可以通过支持各种协议的物理接口与AX36通信。EP38可以包括交换机、路由器、网关、或者操作为客户端设备(诸如订户设备18B)与服务提供商设备之间分界点的另一终端。在一个示例中,EP38可以包括数字用户线接入复用器(DSLAM)或其他交换设备。每个订户设备18A可以利用点到点协议(PPP)(诸如通过ATM的PPP或者通过以太网的PPP(PPPoE))来与EP38通信。例如,使用PPP,订户设备18之一可以请求接入聚合网络24,并且提供登录信息(诸如用户名和密码)用于策略服务器(未示出)验证。其他实施方式可以使用除DSL线之外的其他线,诸如电缆、通过Tl、T3的以太网或者其他接入链路。
[0050]如图1中所示,服务提供商网络20可以包括具有接入节点(AX)28和EP32的无线电接入网络25,其经由无线电信号向订户设备18B提供对聚合网络24的接入。例如,EP32可以被连接至一个或多个无线无线电或基站(未示出)用于与订户设备18B无线交换分组化数据。EP32可以包括交换机、路由器、网关或将接收自无线无线电的分组化数据聚合至AX28的另一终端。该分组化数据继而可以通过AG19和边界路由器(ER) 30通信通过服务提供商的聚合网络24最后到达公用网络22。
[0051]聚合网络24提供会话管理、移动管理和传送服务用于支持订户设备18B对公用网络22的接入。边界路由器30提供针对订户设备18B的活动会话的锚点。边界路由器30可以维持会话数据,并且操作为针对与订户设备18B建立的通信会话的端点,所述订户设备18B正在经由聚合网络24访问公用网络22的基于分组的服务。管理移动设备的订户会话的高端移动网关设备的示例在标题为MOBILE GATEWAY HAVING REDUCED FORWARDING STATEFOR ANCHORING MOBILE SUBSCRIBERS的美国专利申请13/248,834中进行了描述,其全部内容通过引用并入于此。
[0052]在某些示例中,接入网络27和无线电接入网络25中的一个或多个可以包括光学接入网络。例如,AX36可以包括经由光纤电缆连接至一个或多个EP或光学网络单元(0NU)的光学线路终端(0LT)。在此情况下,AX36可以使用光学发射器(S卩,激光)和调制器将来自聚合网络24的电信号转换成光信号。AX36继而通过一个或多个光纤电缆向CPE发射经调制的光信号,该CPE作为光学接入网络的端点。作为一个示例,EP38将接收自AX36的经调制的光信号转换成电信号,用于通过铜电缆向订户设备18A传输。作为一个不例,EP38可以包括位于能够向多个订户设备18A提供接入的邻居或办公室或公寓大楼中的交换机。在其他示例中,诸如光纤到户(FTTH)、EP38可以包括直接位于单个家庭场所或者能够在其场所中向一个或多个订户设备18A提供接入的个体企业的网关。在无线电接入网络25的情况下,EP可以被连接至无线无线电或者基站,并且将经调制的光信号转换成电信号,用于经由无线信号向订户设备18B传输。
[0053]如本文所述,接入网络25、接入网络27可以向当前接入网络的限制提供全面解决方案。在一个示例中,AX28、AX36提供了光学接口,其中每个光学接口能够通过通用光学接口与多个不同端点光学通信。接入节点36例如可以通过使用波分复用的无源光学网络与EP38进行通信。此外,EP32、EP38可以是并入利用上行通信的反射光学的专用光学接口的低成本、光学自由发射EP。通过此方式,多个EP38能够实现通过介入路由器的单个光学接口与接入路由器36进行双向通信,即使EP是自由光学发射器(例如,激光)。在某些示例中,接入网络25、27可以进一步利用分光器(未示出)用于与接入节点28、接入节点36的光学接口提供的每个不同波长相关联的光学通信。
[0054]在某些示例中,接入节点28、接入节点36的光学接口提供针对多个调度器的执行环境,一个调度器用于耦合至光学接口的梳状滤波器的每个端口,即一个调度器用于每个波长。每个调度器动态服务针对以给定波长通信的EP32、EP38集合(S卩,由分光器耦合至梳状滤波器的通用端口的EP集合)的数据传输请求,由此允许接入网络动态调度数据传输以便利用其他未使用的通信带宽。使用波分复用和动态调度连同自由发射器EP的光学接入网络的其他示例细节可以在2012年12月16日递交的美国临时专利申请“OPTICALACCESS NETWORK HAVING EMITTER-FREE CUSTOMER PREMISE EQUIPMENT AND ADAPTIVECOMMUNICATION SCHEDULING”中找到,其全部内容通过引用并入于此。
[0055]本文所述技术可以提供某些优势。例如,所述技术可以允许服务提供商通过使用集中控制器35连同易于管理并且具有非永久配置的高速聚合节点19来实现总操作成本的减少。此外,所述技术可以用于聚合网络以将不同的边界网络统一成针对商业、住宅和移动应用的单个服务递送平台。此外,所述技术提供架构用于易于随订户设备18的数目扩展的接入网络。
[0056]图2是提供示出控制器35的其他示例细节的服务提供商网络20的第二图示的框图。在此示例中,控制器35提供了一种用于拓扑模块42、路径计算元件44、路径供应模块46、接入授权供应模块47、边界授权供应模块48和网络服务应用49的操作环境。
[0057]在某些实例中,拓扑模块42提供一种接口,通过该接口控制器35从聚合网络24接收拓扑信息。拓扑模块42例如可以利用软件定义联网(SDN)协议从一个或多个边界路由器30接收拓扑信息,其中边界路由器根据本文所述CCP自动发现聚合网络24的拓扑。SDN协议的一个主要示例是“OpenFlow”,其是向网络交换机或路由器的数据平面提供直接接入的通信协议。在某些实例中,可以根据SDN协议从边界路由器30接收消息,其中SDN消息的净荷封装CCP消息。在其他示例中,拓扑模块42可以直接从AX28、AX36和AG19和/或边界路由器30接收CCP消息。OpenFlow协议的其他示例细节在Open Networking Foundation,版本1.2,12月5日的“OpenFlow Switch Specif ication”中进行描述,通过引用并入于此。
[0058]除非另有说明,在其他示例中,拓扑模块42可以从网络的边界路由器接收拓扑信息,并且路径计算模块(PCM) 44根据该拓扑信息计算针对传送标签交换路径(LSP)的转发信息。在其他示例中,拓扑模块42可以从集中拓扑数据库接收拓扑信息。在其他示例中,拓扑模块42可以执行内置路由协议来从边界路由器30接收拓扑信息。
[0059]如下文进一步描述,在一个示例实现方式中,路径计算模块44处理针对整个聚合网络24的拓扑计算,并且通过路径供应模块46将转发信息编程至AG19、AX和ER。如拓扑模块42,路径供应模块46可以利用SDN协议或CCP将转发信息通信至AG19、AX和ER,用于配置AG、AX和ER的数据平面。
[0060]接入授权和供应模块47将授权、策略供应信息记录以及分组策略器编程至接入节点,诸如AX36。类似地,边界授权和供应模块48将授权、策略供应信息记录以及分组策略器编程至边界路由器30。网络服务应用包括用于支配并控制此类控制信息向接入节点和边界路由器的分发的应用。控制器35的其他示例性细节在下文进行描述。
[0061]如下文进一步所述,云控制协议(CCP)允许网络节点发现其邻居并将这些邻居报告给控制器。在控制器,可以计算网络的拓扑。鉴于此拓扑,控制器继而可以计算通过网络的路径,并且在网络节点中安装转发表以支持网络中任意两个节点之间的分组交换。此协议不依赖于在可以发现拓扑之前建立的数据平面。控制信道独立于数据信道建立。
[0062]在一个示例中,云控制协议可以使得控制器35能够提供某些优势。第一,作为一个示例,CCP可以使得控制器35能够简化网络节点(诸如本文所述聚合节点和接入节点)的实行。网络节点不需要每个都执行路由协议,该路由协议学习路由信息并且生成针对网络节点设备的转发信息。例如,聚合节点和接入节点的每个节点可以利用CCP协议来自动发现器邻居,并且将那些邻居报告给控制器。第二,云控制协议的使用可以使得控制器35能够集中化拓扑发现、路径选择和流量工程的复杂功能。集中化可以帮助实现维持每个单独聚合节点和接入节点简洁的目标,例如通过从聚合节点和接入节点的每个节点移除复杂控制平面软件。集中化还可以考虑到TE的确定性供应以及其通过网络的失败路径。在某些实例中,由控制器35集中化的路径计算可以比分发的计算更简化,并且可以更快地收敛。集中化还可以允许整个聚合网络从单个实体(例如,一个或多个控制器的集合)进行控制并管理,由此通过提供聚合网络的高层视图来简化并增强操作。第三,CCP的使用可以使得控制协议从数据平面使用的路径中分离,即便当存在失败时,控制协议也足够鲁棒以继续操作。另外,集中化的算法将不具有收敛问题并且是确定性的。
[0063]图A是图示了根据本公开的技术包括待由控制器54A或54B (以下称为“控制器54”)使用云控制协议(CCP)发现的接入节点62A-62C (以下称为接入节点62)和聚合节点“AG”52A-52E (以下称为“聚合节点52”)的集合的系统的基本架构的框图。CCP设计用于允许经由待被控制器发现的点到点链路连接的网络节点的集合的拓扑。
[0064]控制器54表示CCP控制器实体,并且例如可以表示图1和图2的控制器35。在此示例中,控制器的功能之一是从网络节点接收邻居报告,并且根据这些报告计算拓扑和路径信息。在一个示例中,控制器54可以是从边界节点56A-56B (以下称为“边界节点56”)IP可到达,并且由此可以经由UDP连接通信至边界节点56。在图3A的示例中,控制器54A和54B以具有主动/备份语义的冗余对进行部署。其他示例可以包括单个控制器54而不具有冗余对,或者可以包括操作用于提供集中化控制的三个或更多控制器54的集合。
[0065]图3A包括聚合节点52,其在本文中还可以被称为网络节点,并且可以表示图1聚合网络24的聚合节点19。如本文所述,聚合节点52和接入节点62发现邻近聚合节点52,并且使用洪机制将那些邻居报告给控制器54。聚合节点52经由点到点链路彼此连接。在某些示例中,假设聚合节点52具有至少一个被用作全球唯一标识符的以太网MAC地址。节点具有被本地索引的CCP链路。
[0066]边界节点56是聚合节点52的特殊情况。边界节点56具有到控制器54的连接(虚拟连接58A、58B),并且从控制器54到云中任意节点的所有分组可以利用此连接。在一个示例实例中,边界节点56终止洪传输,并且向CCP控制器54转发所有接收到的洪分组。边界节点56还被连接至现有网络60 (例如,核心网络),并且例如可以用于从现有网络60接收网络服务的连接。
[0067]聚合节点52可以提供边界节点56与接入节点62A-62C (以下称为接入节点62)之间的标签交换路径(LSP)传送。边界节点56将网络服务映射至LSP。接入节点62经由LSP将网络服务映射至端点(EP)64A-64C (以下称为“端点64”)。例如,端点64可以包括以下网络设备,诸如路由器、基站、802.11接入点、IP主机和其他网络设备。
[0068]CCP的一个实现方式的示例操作如下。聚合节点52和接入节点62通过在所有其CCP链路上发送你好消息来发现其邻居。以下总体上参考“节点”描述的示例可应用于聚合节点和接入节点两者。链接可以是任意类型的计算机网络传输介质。例如,链路可以是光纤电缆、以太网电缆、无线连接等。当接收到你好回复时,邻居被发现。一旦邻居在链路上被发现,则该链路被声明为活动的,并且其被添加至针对该节点的“邻居集”。邻居集在本文中被定义为指定每个活动接口以及该接口可到达的邻居的标识符的集合。邻居集继而经由洪分组跨所有活动链路进行洪传输。
[0069]在一个示例中,洪分组包含世代号、邻居列表和最初为空的中间节点列表。洪分组发送出所有活动链路。洪分组的接收器首先进行检验用于查看该接收器是否在该中间节点列表上。如果其在该列表上,则意味着该分组之前访问过该节点,并且该分组被丢弃。如果该洪分组的接收器没有在该列表上,则该节点将其自身添加至列表,继而将分组洪传输出所有活动链路而不是其入口链路。
[0070]在某些示例中,边界节点56不将洪分组洪传输出其活动链路。相反,边界节点56将洪分组直接发送至控制器54A。当控制器54A接收洪分组时,控制器54A将世代号与针对该节点的当前世代号进行比较。如果该世代号较新,则控制器54A更新邻居列表以及去往节点的路径。去往节点的路径通过反转被视为记录在中间节点列表中的洪分组来进行计算。该路径被称为源路由隧道(SRT),并且在此世代号期间用于所有与该节点的CCP通信。
[0071]控制器54A通过经由SRT向节点发出洪回复来响应给定世代号的第一洪分组。当节点接收承载源路由列表的洪回复时,其现在具有返回控制器54A的SRT。此时,控制器54A和节点针对该节点的邻居列表同步,并且SRT用于发送附加CCP控制消息。节点向控制器54A发送保活分组用于保证SRT的状态。控制器54A通过保活回复进行响应。如果没有出现保活回复,则节点生成具有新世代号的新洪分组用于强制在新SRT的控制器54A处验收。该SRT控制信道现在可以用于经由其他控制消息编程节点的转发平面。
[0072]在一个示例中,CCP可以包括以下特征,诸如简单、高度可用和可扩展。CCP可以通过快速保活支持邻居发现。CCP提供了一种机制,由此节点可以向其控制器描述其邻居。CCP允许独立于数据平面建立控制信道,该数据平面操作为还不要求并行控制网络。CCP向MPLS LER和LSF功能提供FIB编程基础设施,包括迂回下一跳、每个CoS策略器和每个接口分组调度。CCP在标准以太网MAC或其仿真上运行。
[0073]HELLO消息、HELL0_REPLY消息可以在因特网接口上交换以发现并维持邻居状态。消息包括节点指定接口索引,使得全局拓扑可以被理解。
[0074]FLOOD特征被用于发现从节点到控制器54的路径。由节点生成的FLOOD消息包括节点的邻居节点列表(NNL)。由于该FLOOD向边界节点56进行,因此每个节点MAC及其入口接口和出口接口在FLOOD消息中被记录为中间节点列表(INL )。当FLOOD到达控制器时,中间节点列表作为源路由列表(SRL)。源路由列表建立源路由隧道(SRT),该源路由隧道自此之后作为控制器与节点之间的控制信道。边界节点56不洪传输FLOOD消息,相反地将其直接发送至控制器54。当节点接收FLOOD消息时,该节点将其沿其SRT路径转发至控制器,否则将其丢弃。这是扩展优化。针对每次邻居列表状态改变生成新的FLOOD。每个新的FLOOD消息包括世代号。
[0075]图3B是图示了根据本公开的技术沿SRT路径从控制器交换示例FLOOD消息的示例网络设备的框图。图3B的网络设备可以与图3A的网络设备类似。例如,网络节点(“NN”)1-3可以是如图3A中的聚合节点或接入节点。图3B示出了根据一个示例操作的FLOOD消息的示例NNL和INL。
[0076]如下文进一步详细所述,在一个示例中,洪分组包含世代号、邻居列表和最初为空的中间节点列表(INL)ο每个列表包含记录集,每个记录指定节点标识符,用于到达标识节点的当前节点的输入接口,以及从中输出洪分组的标识节点的输出接口。值“-1”指示洪分组起源于该列表。该洪分组向所有活动链路发出。该洪的接收器首先进行检验用于查看该接收器是否在该中间节点列表上。如果其在该列表上,则意味着该分组之前访问过该节点,并且该分组被丢弃。如果该接收器没有在该列表上,则该节点将其自身添加至列表,继而将分组洪传输出所有活动链路而不是其入口链路。通过此方式,FLOOD消息允许控制器计算源路由列表,该源路由列表通过简单地反转去往被视为记录在中间节点列表中的洪分组的路径来定义去往源节点的路径。该路径这里被称为源路由列表(SRL)或源路由隧道(SRT)。
[0077]其他消息使用CCP进行交换。例如,FL00D_REPLY消息确认FLOOD,并且在边界节点56、接入节点62或聚合节点52与控制器54之间建立SRT。KEEP_ALIVE消息、KEEPALIVE_REPLY消息维持源路由隧道。
[0078]SRT_D0WN消息通知发送者SRT停机。控制器54被配置为在发送控制请求之前等待SRT重建。节点知道重新生成器FLOOD消息。SRT_D0WN可以在节点或链路失败之后改进收敛速率。
[0079]MPLS_FIB_CONFIG消息配置针对LSR和LER的转发条目,并且可选择地配置针对条目的迂回。MPLS_FIB_CONFIG消息由路径计算模块(PCM)在控制器54进行计算。PCM可以根据拓扑信息计算针对传送LSP的转发信息。
[0080]P0LICER_C0NFIG消息基于CoS特定带宽供应配置处于LER的策略器。C0S_SCHED_CONFIG消息基于从每个CCP接口分配的CoS特定带宽配置针对每个CCP接口的CoS调度器。
[0081]CCP对于其他协议的优势在于:独立于数据平面的自动控制信道建立。不需要提供并行控制网络。而OpenFlow没有处理这些问题。最小控制平面复杂度与IGP相比。仅维持本地邻居状态和指示的FIB状态。控制平面扩展比IGP更好。整个路由表不向所有节点洪传输。收敛问题经由控制器被减少。与RSVP相比没有软状态、回滚问题。最小转发平面功能与OpenFlow相比。MPLS具有迂回路径支持。更简单的交换娃。即插即用,不用事先配置。
[0082]现在将描述各种示例控制分组格式。参考图1和图21,例如,这些控制分组可以在控制器35与接入节点28、26之间,在控制器35与聚合节点19之间,以及在控制器35与网络设备300之间进行交换。
[0083]在一个示例实施方式中,控制分组具有图4所示结构。图4是图示了根据本公开的技术针对控制分组的示例基础分组结构70的框图。
[0084]以太网报头72是标准以太网II报头。使用以太网报头72,使得CCP控制平面可以通过标准以太网接口本机运行。如果使用了其他物理或逻辑接口,则只要求那些接口可以传送以太网帧。通常,源MAC地址是发送节点的地址,并且目的地地址是接收节点或在广播(洪)分组的情况下所有F的地址。以太类型是针对不具有源路由列表的分组的TBDl (当前使用OxAOOO),以及针对具有源路由列表的分组的TBD2 (OxAOOl)。
[0085]CCP源路由列表74是可选择字段。CCP源路由列表74取决于消息的类型。CCP源路由列表74被呈现在使用SRT发送的消息中。CCP源路由列表74是节点的排序列表,特定入口和出口链路索引由节点用于从一个节点向另一节点源路由分组。CCP消息报头76包括消息类型。CCP消息净荷:CCP消息净荷78是针对特定消息类型的净荷。
[0086]图5是根据一个示例实施方式进一步详细图示了示例CCP源路由列表字段的框图。源路由列表是包括从开始节点到结束节点的入口和出口链路索引的列表。由于没有入口接口作为开始节点,因此特定链路索引OxFF用于指示此是初始节点。由于没有出口链路位于结束节点,因此出口链路索引被设置为指示列表已经结束并且节点应当消耗分组的OxFF。[0087]大小字段80包括所有路由列表条目字节的总大小。偏移字段82包括路由列表条目列表中的字节偏移。偏移字段82从发送节点的控制平面被初始化为0,并且当分组被传输出出口链路时由包括发送节点的每个节点增加2。路由列表条目(RLE)字段84A-84N包括针对接收节点的入口和出口链路索引。当SRT分组被接收时,其入口链路索引必须匹配RLE中指定的入口链路索引。
[0088]图6是根据一个示例实施方式进一步详细图示了示例路由条目列表字段84的框图。路由列表条目的结构如下。入口链路字段指定分组应当从其进入的链路。出口链路字段指定分组应当向其外出的链路。
[0089]图7是根据一个示例实施方式进一步详细图示了示例CCP消息报头76的框图。CCP消息报头76用于标识CCP消息类型。CCP消息报头76具有图7中所示结构。版本字段(“Vers”)包括协议的版本号。本文档定义协议版本I。保留字段(“Rsrvd”)被保留并且必须被设置为O以及被接收器忽略。消息类型字段指定CCP消息类型。消息长度字段指定消息净荷的长度。
[0090]根据某些示例实施方式,定义了如下CCP消息类型:
[0091]1:你好
[0092]2:你好回复
[0093]3:洪
[0094]4:洪回复
[0095]5:保活
[0096]6:保活回复
[0097]7: SRT 停机
[0098]8:MPLS FIB 配置
[0099]9:MPLS FIB 配置回复
[0100]图8是图示了根据本公开的技术的示例你好消息86的框图。你好消息87是用于跨点到点链路发现邻居的链路本地广播消息。节点周期地在其链路上以发送节点选定的速率发送你好消息。你好消息用于发现并确定链路的活性。在一个示例方面,以太网报头的源地址必须是发送节点的MAC地址,并且目的地地址必须全是F。
[0101]在一个示例中,你好消息具有图8中所示结构。链路索引字段指定发送者链路索弓I。链路索引在发送者本地。链路从O到OxFE索引。OxFF的链路索引保留给节点的控制平面。因此,CCP节点被局限于255接口。保留字段被保留并且必须被设置为O以及被接收器忽略。
[0102]你好回复消息(未示出)是用于回复你好的单播消息,其被接收器设置为活动。你好回复消息的发送者将以太网报头的源地址设置成其MAC地址。该发送者将以太网报头的目的地地址设置成对应你好消息的源地址。该你好回复消息在从其接收你好消息的同一链路上发送。你好回复消息的结构与你好消息相同。链路索引被设置为其上接收对应你好消息的本地链路索引。
[0103]图9是图示了根据本公开的技术的示例洪消息88的框图。该洪消息88在其邻居列表改变或其当前活动SRT到期时由节点生成。在任何一种情况下,生成新的世代号。该洪消息88周期性发送直到接收到其对应的洪回复。[0104]在一个示例中,洪消息具有如图9所示的以下结构。
[0105]实例ID是针对节点实例的唯一编号。节点应当在其每次重启或复位其软件状态时生成新的实例ID。该实例ID用于消除在复位之间具有相同世代号的洪消息的歧义。实例ID可以是随机数或者针对具有某些能力用于在重启之间存储信息的节点单调增加的整数。
[0106]世代号是单调增加的编号。控制器忽略具有世代号小于最近接收的世代号的任意洪消息(除非R位被设置)。
[0107]中间节点列表(INL)起点是从CCP消息净荷的开始到中间节点列表的起点的偏移。此偏移被要求是因为邻居节点列表在长度上可用。INL终点是从CCP消息净荷的开始到中间节点列表的终点的偏移。邻居节点列表元素90是与此节点相关联的邻居列表。列表中的每个元素包括邻居MAC地址,其上接收你好回复消息的本地链路索引,以及如你好回复消息中指示的邻居的链路索引。中间节点列表元素92包括MAC地址及其对应的入口链路和出口链路,通过该入口链路和出口链路此分组穿过包括从源节点到终止边界节点(EN)的en路由。
[0108]图10是根据一个示例进一步详细图示了洪消息88 (图9)的示例邻居节点列表元素90的框图。在此示例中,邻居节点列表元素90具有以下结构:
[0109]邻居MAC地址指定你好回复消息的以太网源MAC中报告的邻居的MAC地址。本地链路字段指定其上接收你好回复的本地链路索引。远程链路:如你好回复分组的链路索引中报告的远程链路索引。
[0110]图11是根据一个示例进一步详细图示了洪消息88 (图9)的示例中间节点列表元素92的框图。在此示例中,中间节点列表元素92具有以下结构:
[0111]中间MAC地址字段指定接收了洪消息并且重新洪传输了该分组的节点的MAC地址。入口链路字段指定:其上接收分组的链路的索引。出口链路字段指定:其上发送分组的链路的索引。注意当分组被洪传输时,出口链路针对其上发送分组的每个链路进行修改。
[0112]图12是图示了根据本公开的技术的示例洪回复消息92的框图。该洪回复消息由控制器发送用于确认接收到洪分组。洪回复经由指示消息净荷之前存在SRL的SRT进行发送。参见图3B。
[0113]在一个示例中,洪回复消息结构如图12中所示。世代号用于将洪回复与源洪消息关联。在一个示例中,如果世代号不匹配当前世代号,则节点必须丢弃该消息。如果匹配,则节点必须在与此洪回复消息相关联的反转SRT上发起保活处理。
[0114]在某些方面,保活消息用于维持SRT的活性。在节点接收到针对当前世代号的洪回复之后,由其周期性地发送保活消息。该保活消息经由SRT从节点向控制器发送。否则,保活消息不具有附加内容。
[0115]在接收保活消息之后,由控制器发送保活回复消息。保活回复消息不具有内容。保活回复消息经由SRT向对应保活消息的发送者发送。
[0116]SRT停机消息(参见图13)可以用于向发送节点指示其上已经发送分组的SRT已经间断。此SRT停机消息可以向SRT停机的发送者提供即时反馈。通过该指示,发送者不需要在采取校正动作之前等待保活过期。当聚合节点52 (图3)或接入节点接收SRT停机消息时,在某些示例中,聚合节点52或接入节点将增加其世代号,并且生成新的洪消息以建立与控制器54A的新的SRT。
[0117]在某些示例中,当控制器54A接收SRT停机消息时,控制器54A可以针对受影响节点修改其状态,使得等于或大于世代号的节点的下一洪消息立即被接受。这避免了针对给定世代号的洪回复不能够遵循指定的SRT并且来自节点的所有洪由于其指定不同的INL而被忽略的情况。
[0118]在一个示例中,检测SRT停机的节点可以根据以下过程构建SRT停机消息:
[0119]a.构建以太网报头,其中源MAC被设置为发送SRT停机消息的节点的MAC。目的地MAC被设置为源分组的MAC地址。
[0120]b.构建新的源路由列表,其中大小等于源分组的偏移,该偏移被设置为0,并且RLE条目是源分组中RLE在分组偏移值上的反转。第一 RLE条目入口接口索引被设置为OxFF。
[0121]c.添加具有CCP消息类型SRT停机的新的消息报头
[0122]d.设置SRT停机理由码
[0123]e.附加源分组的第一 256字节,包括以太网报头、源路由列表、消息报头和消息净荷。
[0124]图13是图示了根据本公开的技术的示例SRT停机消息96的框图。在图13的示例中,SRT停机消息96具有以下结构。
[0125]SRT停机理由码指定SRT停机的理由。示例选择包括:
[0126]O 保留
[0127]I邻居在出口链路索引停机
[0128]2针对该节点的无效出口链路索引
[0129]3针对该节点的无效入口链路索引
[0130]链路属性消息由节点发送用于向控制器描述其链路属性。在某些示例中,链路属性仅描述本地可发现的链路特性,诸如最大带宽或链路类型。链路的逻辑特性(诸如链路着色、共享资源分组或度变量)不是节点描述的内容,而可以是经由诸如配置之类的机制在控制器与链路相关联的内容。通常,链路属性是影响流量工程计算的属性。
[0131]在某些示例中,链路属性被编码为TLV用于支持可扩展性。图14是图示了根据本公开的技术的示例链路属性TLV格式98的框图。在此示例中,链路属性字段使用类型/长度/值三元组进行描述。TLV没有被填补至四个八位字节对齐;忽略未识别类型。
[0132]图14示出了一个示例链路属性TLV结构。类型字段列出TLV类型。示例类型可以包括以下类型,诸如 H.Gredler 在“Advertising Link-State Information in BGP”,Inter-Domain Routing Internet Draft, draft-gredler-bgp-te-01, 2011 年 7 月 11 中描述的IS-1S类型,其全部内容通过引用并入于此。长度字段以八位字节定义值部分的长度(因此TLV不存在长度为O的值部分)。
[0133]值字段指定TLV的内容。需要更多信息,参见具体TLV描述。最大带宽链路属性可以是每秒字节的32位浮点BW。RF组链路属性可以是某种唯一 ID,其将此链路系至BW正被共享的某个其他链路。期望传输时间指定期望跨链路传输IK字节分组的时间。时间以微秒测量,并且被编码为32位无符号整数。
[0134]图15是根据本公开的技术的不例多协议标签交换(MPLS)转发信息库(FIB)配置消息100。MPLS FIB配置消息在控制器35的云计算协议模块(例如,图19的路径计算元件212)中生成,用于将预先计算的标签信息库下载至MPLS域中的单独网络节点(例如,图3A的聚合节点52或接入节点62之一)。在接收消息之后,网络节点上的控制平面软件解析标签配置信息,依次编写网络节点的MPLS转发表。
[0135]在此示例中,MPLS FIB配置消息具有图15中所示的结构。保留字段用于将来使用。总条目字段指示被下载至此消息的MPLS FIB条目元素的数目。MPLS FIB条目字段102是针对每个标签交换路径(LSP)的转发信息。
[0136]图16是根据一个示例进一步详细图示了 MPLS FIB配置消息100 (图15)的示例MPLS FIB条目102的框图。条目102具有图16中所示的以下结构。长度字段指定是此FIB条目元素的字节数目。OP字段指定以下操作之一被应用于FIB:
[0137]ADD-新的 FIB 元素
[0138]CHANGE-修改现有FIB元素
[0139]DELETE-移除现有FIB元素
[0140]M字段指示:针对迂回路径的服务等级(CoS)模式为以下之一:
[0141]O-将CoS位保存在源分组
[0142]1-使用“值”字段中指定的新的CoS值代替源CoS位
[0143]值字段指定:当M位是“I”时,使用新的CoS值。传入标签指定:针对传入分组的MPLS标签。值“-1”被认为仅在入口 LSR有效。PATH ID字段指定:针对此FIB元素的32位标识符。命名空间由控制器35管理。主端口字段指定:网络节点本地的主路径端口索引。
[0144]PA字段指定:当采用迂回路径时,对传入分组操作的MPLS动作。所述动作为:
[0145]PUSH-将主标签推送至传入分组
[0146]SWAP-将传入分组中的标签与主标签交换
[0147]POP-从传入分组弹出最顶层标签
[0148]主出口标签字段指定:MPLS标签被推送或交换至传出分组。值“-1”被认为仅在出口 LSR有效。
[0149]迂回端口字段指定:存在针对迂回路径的网络节点本地的端口索引。
[0150]DAl字段指定:当采用迂回路径时,对传入分组操作的第一动作。MPLS动作为:
[0151 ] PUSH-将迂回标签I推送至传入分组标签栈
[0152]SWAP-将传入分组中的最远标签与迂回标签I交换
[0153]POP-从传入分组弹出最顶层标签
[0154]迂回出口标签1:由DAl中指定的标签操作使用的MPLS标签值。DA2字段指定:当采用迂回路径时,对传入分组操作的第二动作。MPLS动作为:
[0155]PUSH-将迂回出口标签2推送至传入分组标签栈的顶部
[0156]SWAP-将传入分组中的最远标签与迂回出口标签2交换
[0157]POP-从传入分组弹出最顶层标签
[0158]迂回出口标签2字段指定:DA2中指定的标签操作使用的MPLS标签值。R字段:“R”字段是保留用于将来使用。
[0159]图17是图示了根据本公开的技术的示例FIB配置回复消息104的框图。MPLS FIB配置回复消息是网络节点用于向控制器35返回确认接收并解析了 MPLS FIB配置消息。同样报告针对每个传入标签的状态。
[0160]MPLS FIB配置回复消息结构如图17所示。总条目字段指示报告的MPLS FIB解析状态条目元素的数目。值“O”指示没有报告条目元素,其意味着MPLS FIB配置消息被成功解析。MPLS FIB解析状态条目字段106:每个条目报告用于解析MPLS FIB配置条目元素的状态。当“总条目”的值为“O”时,可以不呈现MPLS FIB解析状态条目字段106。
[0161]图18是根据一个示例进一步详细图示了 FIB配置回复消息104 (图17)的示例MPLS FIB解析状态条目106的框图。MPLS FIB解析状态条目元素具有图18中指定结构。保留字段当前没有使用。PATH ID字段指定针对MPLS FIB配置条目元素的标识符。状态字段指定针对此MPLS FIB条目解析的失败码。示例失败码包括:
[0162]O-成功
[0163]1-无效主出口端口
[0164]2-无效主标签值
[0165]3-无效主动作
[0166]4_无效迂回出口端口
[0167]5_无效迂回标签值
[0168]6-无效迂回动作
[0169]7_无效第二迂回出口端口
[0170]8-无效第二迂回标签值
[0171]9-无效第二迂回动作
[0172]10-无效传入标签值
[0173]云控制协议可以包括除这里所述那些消息之外的其他消息。例如,云控制协议可以包括针对节点的机制用于向控制器信号传输该节点正在检测链路上的多个邻居。由于假设P2P链路,因此不支持多个邻居。
[0174]图19是图示了根据本文所述技术接收路径请求,计算并调度满足路径请求的路径,以及在路径计算域中建立请求路径的示例控制器的框图。控制器200例如可以包括服务器或网络控制器,并且可以表示图2的控制器35的实例。
[0175]控制器200包括耦合至网络接口 220的控制单元202,用于通过入站链路222和出站链路224与其他网络设备交换分组。控制单元202可以包括执行存储至计算机可读存储介质(图19中未示出)的软件指令(诸如用于定义软件或计算机程序的指令)的一个或多个处理器(图19中也未示出),所述计算机可读存储介质为诸如包括存储设备(例如,硬盘或光盘)或存储器(诸如闪存或随机访问存储器(RAM)的非瞬态计算机可读介质,或者存储用于使得一个或多个处理器执行本文所述技术的指令的任意其他类型的易失性或非易失性存储器。备选地或附加地,控制单元202可以包括专用硬件,诸如一个或多个集成电路、一个或多个专用集成电路(ASIC)、一个或多个专用特定处理器(ASSP)、一个或多个现场可编程门阵列(FPGA)或用于执行本文所述技术的一个或多个以上专用硬件示例的任意组合。
[0176]控制单元202向网络服务应用204、接入授权供应模块208、路径计算元件212和边界授权供应模块210提供操作环境。在一个示例中,这些模块可以实现为一个或多个服务器的一个或多个虚拟机上执行的一个或多个处理过程。即,虽然总体上图示并描述为在单个控制器200上执行,但是这些模块的多个方面可以委托给其他计算设备。[0177]网络服务应用204表示向包括控制器200的服务提供商网络的客户端提供服务的一个或多个处理过程,用于根据本公开的技术管理聚合域(备选地称为“路径计算域”)中的连通性。网络服务应用204例如可以向服务提供商网络的客户端提供IP语音(VoIP)、视频点播(V0D)、批量传输、防火墙/开放防御地区、IP移动子系统(IMS)和其他移动服务、以及因特网服务。网络服务应用204要求有路径计算元件212提供的服务,诸如节点管理、会话管理和策略管理。每个网络服务应用204可以包括一个或多个客户端应用通过其请求服务的客户端接口 206。客户端接口 206例如可以表示命令行界面(CLI)或图形用户接口(GUI)。客户端206还可以或者备选地向客户端应用提供应用程序接口(API),诸如web服务。
[0178]网络服务应用204向路径计算元件212发出路径请求,用于请求由控制器200控制的路径计算域中的路径。通常,路径请求包括所需带宽或其他约束以及表示通过控制器200管理的路径计算域通信的接入节点与边界节点的两个端点。路径请求可以进一步指定期间路径必须是可操作的时间/日期以及CoS参数(例如,针对某些路径的每个等级所需的带宽)。
[0179]路径计算元件212从网络服务应用204接受路径请求,用于在路径计算域上的端点之间建立路径。路径可以针对不同时间和日期以及根据不同的带宽需求进行请求。路径计算元件212调解来自网络服务应用204的路径请求,用于基于请求的路径参数及期望的网络资源可用性将请求的路径多路复用至路径计算域。
[0180]为了通过路径计算域智能地计算并建立路径,路径计算元件212包括拓扑模块216接收描述路径计算域的可用资源的拓扑信息,包括接入、聚合、边界节点、其接口、以及相互连接的通信链路。
[0181]路径计算元件212的路径计算模块214通过路径计算域来计算请求的路径。通常,路径是单向的。在计算路径之后,路径计算模块214调度路径用于通过路径供应模块218进行供应。经计算的路径包括由路径供应模块218可用的路径信息,用于建立网络中的路径。供应路径可以要求在提交路径之前进行路径验证以提供分组传送。
[0182]图20是详细图示了图19的控制器200的路径计算元件212的示例实现的框图。在此示例中,路径计算元件212包括以北向应用程序接口(API) 230和南向API (232)的形式出现的北向接口和南向接口。北向API230包括方法和/或可访问数据结构,通过该结构网络服务应用204可以配置并且请求路径计算以及查询路径计算域中建立的路径。南向API232包括方法和/或可访问数据结构,通过该结构路径计算元件212接收针对路径计算域的拓扑信息,并且通过接入并编程路径计算域中聚合节点和/或接入节点的数据平面来建立路径。
[0183]路径计算模块214包括用于存储计算并建立请求路径的路径信息的数据结构。这些数据结构包括约束234、路径请求236、操作配置238和路径出口 240。网络服务应用204可以调用北向API230安置/查询来自这些数据结构的数据。约束234表示描述对路径计算的外部约束的数据结构。约束234允许网络服务应用204例如在路径计算模块214计算路径集之前修改链路属性。例如,射频(RF)模块(未示出)可以编辑链路以指示资源在组之间共享并且资源必须对应地分配。网络服务应用204可以修改链路的属性以根据CCP影响产生的流量工程计算。在此类实例中,链路属性可以覆盖从拓扑指示模块250接收的属性,并且针对拓扑中节点/伴随端口保持影响一段时间。对于约束234的链路编辑消息可以包括指定节点标识符和端口索引的链路描述符,以及例如指定带宽、期望传输时间、共享链路组和注定共享组的链路属性。链路编辑消息可以由PCE发送。
[0184]操作配置238表示向路径计算模块214提供配置信息用于针对例如服务等级(CoS)描述符和迂回行为配置路径计算算法的数据结构。操作配置238可以根据CCP接收操作配置信息。操作配置消息例如指定CoS值、队列深度、队列深度优先级、调度规则、过供应因子、迂回类型、路径识别模式和迂回路径失败模式。单个CoS配置文件可以用于整个路径计算域。这些CoS值描述如下:
[0185]队列深度:队列深度表示分组过时之前可以位于队列中的时间量。针对TCP流量,此时间通常是TCP会话的往返时间(150毫秒)。针对VoIP,此时间通常为10至50毫秒。不同节点可以具有不同的缓冲能力。可能无法保证每个队列的特定时间分配。因此,节点应当能够根据针对队列的可用缓冲空间和服务等级调整队列的大小。
[0186]队列深度优先级:当服务等级在某些接口上活动时,接口队列被调整大小以基于针对等级的带宽以指示的深度缓冲。如果缓冲空间不足,则队列大小根据队列深度优先级进行精简。较低优先级等级在较高优先级等级之间被精简。
[0187]调度规则:调度规则针对其他队列确定如何调度队列。可以使用赤字加权轮(DWRR)以及针对语音流量的严格调度。控制器200根据接口上活动每个CoS的带宽和调度等待来配置所有节点接口上的调度器。
[0188]过供应因子:当路径通过网络/路径计算域路由时,路径从其上路由的每个链路接收分配的带宽。针对某些服务等级,适于过供应网络。这允许位于边界和接入的策略器准许更多流量进入网络,而事实上网络能够处理。这例如适于流量尽全力的情况。通过过供应流量的某些等级,网络操作者可以意识到更好的网络利用,同时仍然向没有过供应的其他等待提供要求的QoS。
[0189]迂回类型:指定针对计算迂回的流量工程要求。由于资源限制,用户可以选择配置与主路径相比具有较少约束的迂回。例如,迂回路径可以采取以下各值之一:空、全力、仅CoS、严格-TE。空值指定不计算迂回。全力值指定计算迂回,但忽略TE带宽和CoS要求。CoS从分组报头丢弃,因此迂回流量获得全力CoS。仅CoS值指定保存CoS但不保存流量工程迂回。在这些条件下,针对可用资源流量与其他主路径流量平等竞争,因此,在迂回活动时,可能发生接口拥塞。严格TE值指定保存CoS以及针对迂回的流量工程。
[0190]路径失败模式:定义当主路径由于资源约束计算失败时采取的每CoS行为。成比例路径减少(PPR)、忽略和失败选项均可用。PPR选项指定穿过拥塞链路的所有路径成比例减少,直到所有路径可以适应拥塞点。忽略选项指定提出警告消息,但是允许网络以此过量预定方式进行操作。失败选项指定无法计算路径的剩余部分,并且不准许针对失败路径的流量进入网络。
[0191]迂回路径失败模式:定义当迂回路径由于资源约束不能计算时系统的行为。此属性仅可以在迂回类型是严格-TE时应用。
[0192]服务等级:为了使得CoS参数的配置更加简单,每个CoS可以与针对每个参数具有
默认值的特定服务等级相关联。示例服务等级定义如下表。
[0193]
【权利要求】
1.一种方法,包括: 通过网络的多个聚合节点的一个聚合节点,执行控制平面协议以用于发现所述网络的所述聚合节点的邻近节点; 响应于接收洪消息并且确定所述洪消息不包括所述聚合节点的第二层地址,通过更新每个所述洪消息的中间节点列表来修改所述洪消息以包括所述聚合节点的第二层地址,其中每个所述洪消息的所述中间节点列表指定相应洪消息在所述网络中穿过的所有节点的第二层地址和接口; 通过所述聚合节点,向去往集中控制器网络设备的发现的本地邻居节点发送所述修改的洪消息,用于在所述聚合节点与所述集中控制器网络设备之间建立源路由隧道(SRT)控制信道; 通过所述聚合节点经由所述建立的SRT控制信道从所述控制器接收消息,其中所述消息指定由所述集中控制器网络设备预先计算的导引转发信息库(FIB)状态,以用于配置所述聚合节点的转发平面;以及 响应于接收到所述消息,通过所述聚合节点安置在所述消息中接收的所述导引FIB状态,其中所述导引FIB状态包括针对所述聚合节点的一个或多个多协议标签交换(MPLS)标签,用于在标签交换路径(LSP)上发送分组。
2.根据权利要求1所述的方法,进一步包括: 通过所述集中控制器网络设备,基于从所述网络的所述多个聚合节点接收的洪分组中的信息构建所述网络的网络拓扑; 通过所述集中控制器网络设备,基于所述网络的所述网络拓扑预先计算针对所述聚合节点的所述导引FIB状态; 生成包括所述导引FIB状态的MPLS FIB配置消息;以及 在所述SRT控制信道上向所述聚合节点输出所述MPLS FIB配置消息。
3.根据权利要求1所述的方法,其中执行所述控制平面协议用于发现本地邻居节点包括:执行所述控制平面协议而不需要执行所述聚合节点的控制平面中的内部网关协议(IGP)0
4.根据权利要求1所述的方法,其中向发现的本地邻居节点发送消息包括: 通过所述多个聚合节点的一个聚合节点,在所有链路上发送云控制协议(CCP)问候消息用于发现邻近节点;以及 响应于在所述聚合节点的第一链路上从邻近聚合节点接收CCP问候回复消息,通过所述聚合节点,声明所述第一链路为活动链路并且将所述邻近节点添加至所述聚合节点的所述邻居节点列表。
5.根据权利要求4所述的方法,进一步包括: 通过所述聚合节点,向邻居集中邻近节点的所有活动链路洪传输所述洪消息,其中每个所述洪消息包括指定所述聚合节点的所述邻居集的邻居节点列表; 响应于在入口链路上接收到所述洪消息之一,由所述聚合节点通过向所述中间节点列表添加所述聚合节点来更新所述洪消息中的中间节点列表,并且向除所述入口链路外的所述聚合节点的所有活动链路洪传输所述修改的洪消息。
6.根据权利要求1所述的方法,其中当所述洪消息由聚合节点向边境节点转发时,每个所述转发聚合节点及其入口接口和出口接口的媒体访问控制(MAC)地址被记录在所述洪消息中作为所述中间节点列表。
7.根据权利要求6所述的方法,进一步包括建立: 通过所述控制器接收所述洪消息; 通过所述控制器至少部分基于每个所述洪消息中的所述邻居节点列表计算针对所述网络的拓扑信息;以及 通过所述控制器使用由所述聚合节点发起的所述洪消息的所述中间节点列表,建立去往所述聚合节点的所述SRT控制信道。
8.根据权利要求1所述的方法,其中处于所述网络的边界的接入节点和边界节点操作为所述LSP的端点,以用于将订户流量映射到所述LSP以及从所述LSP映射出所述订户流量,其中所述集中控制器网络设备提供集中的、基于云的控制平面,用于配置所述多个聚合节点以有效地操作为MPLS交换结构,以在所述边界节点与所述接入节点之间提供传送LSP以用于订户流量的传送。
9.根据权利要求1所述的方法,进一步包括: 通过所述集中控制器网络设备,接收描述所述网络的网络拓扑的拓扑信息; 通过所述集中控制器网络设备,基于所述网络的所述网络拓扑预先计算针对所述聚合节点的所述导引FIB状态,其中所述导引FIB状态指定针对穿过所述网络的多个已计算路径的分组转发操作; 生成包括所述导引FIB状态的MPLS FIB配置消息;以及` 在所述SRT控制信道上向所述聚合节点输出所述MPLS FIB配置消息。
10.根据权利要求9所述的方法,进一步包括: 通过所述集中控制器网络设备,接收针对连接所述网络的入口节点和出口节点的路径的请求; 通过所述集中控制器网络设备,基于所述网络拓扑计算所述多个已计算路径中的、针对连接所述入口节点和所述出口节点的路径的一个路径,其中所述LSP穿过所述多个已计算路径中的所述一个路径。
11.根据权利要求10所述的方法,进一步包括: 通过所述集中控制器网络设备,计算针对所述LSP的带宽, 其中所述聚合节点包括所述入口节点,以及 其中所述导引FIB状态包括根据所述计算出的带宽来监管针对所述LSP的入口流量的策略器。
12.—种方法,包括: 通过网络的多个聚合节点的一个聚合节点,执行控制平面协议以发现所述网络的所述聚合节点的邻近节点; 通过所述聚合节点,向去往集中控制器网络设备的发现的本地邻居节点发送洪消息,用于在所述聚合节点与所述集中控制器网络设备之间建立源路由隧道(SRT)控制信道;通过所述聚合节点,向所述集中控制器网络设备发送保活分组用于保证所述SRT控制信道的状态; 响应于确定在一个时间段内没有从所述集中控制器网络设备接收到保活回复,由所述聚合节点生成具有新世代号的新洪消息,以用于在新SRT控制信道的所述集中控制器网络设备处强制接受; 通过所述聚合节点,经由所述建立的SRT控制信道从所述集中控制器网络设备接收消息,其中所述消息指定由所述集中控制器网络设备预先计算的导引转发信息库(FIB)状态,用于配置所述聚合节点的转发平面;以及 响应于接收到所述消息,由所述聚合节点安置所述消息中接收的导引FIB状态,其中所述导引FIB状态包括针对所述聚合节点的一个或多个多协议标签交换(MPLS)标签,用于在标签交换路径(LSP)上发送分组。
13.一种网络设备,包括: 多个网络接口,用于发送和接收网络分组; 转发组件,提供数据平面以用于在所述网络分组上执行标签操作以通过网络在标签交换路径上转发所述网络分组;以及 控制单元,执行控制协议以用于: 发现所述网络的多个节点的邻近节点, 响应于接收洪消息并且确定所述洪消息不包括针对所述网络设备的第二层地址,通过更新每个所述洪消息的中间节点列表来修改所述洪消息以包括所述网络设备的第二层地址,其中每个所述洪消息的所述中间节点列表指定相应洪消息在所述网络中穿过的所有节点的第二层地址和接口, 向去往集中控制器的发现的本地邻居节点至发送所述修改的洪消息,以用于在所述网络设备与所述集中控制器之间建立源路由隧道(SRT)控制信道,以及 经由所述SRT控制信道从所述集中控制器接收转发信息,以用于沿所述网络中的一个或多个传送标签交换路径(LSP)传送所述网络分组。
14.根据权利要求13所述的网络设备,包括用于执行权利要求1-12中任一项所述的方法的装置。
【文档编号】H04L12/723GK103873366SQ201310701471
【公开日】2014年6月18日 申请日期:2013年12月18日 优先权日:2012年12月18日
【发明者】J·M·墨菲, A·K·丘德哈瑞, P·辛胡, I·米内, J·伯杜, D·M·卡茨, K·康佩拉 申请人:瞻博网络公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1