CN101815035A - 使用rsvp-te在标签交换路径上负载均衡网络流量 - Google Patents
使用rsvp-te在标签交换路径上负载均衡网络流量 Download PDFInfo
- Publication number
- CN101815035A CN101815035A CN201010135195A CN201010135195A CN101815035A CN 101815035 A CN101815035 A CN 101815035A CN 201010135195 A CN201010135195 A CN 201010135195A CN 201010135195 A CN201010135195 A CN 201010135195A CN 101815035 A CN101815035 A CN 101815035A
- Authority
- CN
- China
- Prior art keywords
- lsp
- router
- load balancing
- subpath
- rsvp
- 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
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L47/00—Traffic control in data switching networks
- H04L47/70—Admission control; Resource allocation
- H04L47/72—Admission control; Resource allocation using reservation actions during connection setup
- H04L47/724—Admission control; Resource allocation using reservation actions during connection setup at intermediate nodes, e.g. resource reservation protocol [RSVP]
-
- 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/12—Shortest path evaluation
- H04L45/125—Shortest path evaluation based on throughput or bandwidth
-
- 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/74—Address processing for routing
- H04L45/745—Address table lookup; Address filtering
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L47/00—Traffic control in data switching networks
- H04L47/10—Flow control; Congestion control
- H04L47/12—Avoiding congestion; Recovering from congestion
- H04L47/125—Avoiding congestion; Recovering from congestion by balancing the load, e.g. traffic engineering
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L47/00—Traffic control in data switching networks
- H04L47/70—Admission control; Resource allocation
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L47/00—Traffic control in data switching networks
- H04L47/70—Admission control; Resource allocation
- H04L47/72—Admission control; Resource allocation using reservation actions during connection setup
- H04L47/726—Reserving resources in multiple paths to be used simultaneously
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本发明提供了使用RSVP-TE在标签交换路径上负载均衡网络流量的技术,其使用诸如基于流量工程的资源预留协议(RSVP-TE)的资源预留协议为负载均衡将在网络上发送的网络流量建立总体标签交换路径(LSP)。该技术包括使路由器能够发送路径消息的扩展的RSVP-TE协议以建立包含总体LSP的多个子路径的隧道。隧道可以包括配置成在网络上RSVP-TE LSP的不同子路径上负载均衡网络流量的单一RSVP-TE标签交换路径(LSP)。
Description
相关申请的交叉引用
本申请要求于2009年2月25日递交的美国临时申请第61/155,356号的权益,其全部内容通过引用结合于此。
技术领域
本发明涉及计算机网络,更具体地,涉及计算机网络内的流量管理。
背景技术
术语“链路”通常用于指计算机网络中两台设备之间的连接。链路可以是诸如铜线、同轴电缆、任何大量不同的光纤的物理介质或无线连接。此外,网络设备可以定义“虚拟”或“逻辑”链路,并将虚拟链路映射到物理链路。随着网络在规模和复杂性上的增长,在任何给定链路上的流量可接近链路的最大带宽容量,从而导致拥塞和损耗。
多协议标签交换(MPLS)是一种用于管理网际协议(IP)网络内流量模式的机制。通过利用MPLS,源设备可以请求通过网络的路径,即标签交换路径(LSP)。LSP定义了不同的通过网络的路径,以从源设备向目的设备传送MPLS包。与特定LSP相关联的短标签附加到经由LSP通过网络传送的包。沿路径的路由器共同完成MPLS操作,以沿建立的路径转发MPLS包。LSP可用于包括带宽管理和服务质量(QoS)的各种流量管理目的。
存在建立LSP的各种协议。例如,一个这样的协议是标签分发协议(LDP)。标签交换路由器(LSR)通过其分发标签以支持沿通常路由路径的MPLS转发的LDP的程序在互联网工程任务组(IETF)的RFC 3036的“LDP规范”中有描述,通过引用结合于此。另一种类型的协议是资源预留协议,诸如基于流量工程扩展的资源预留协议(RSVP-TE)。RSVP-TE使用诸如可用带宽的约束信息在网络内计算和建立多个LSP。RSVP-TE可以使用由诸如中间系统-中间系统(IS-IS)协议或开放最短路径优先协议的链路状态内部路由协议收集的可用带宽信息。RSVP-TE建立沿从入口设备到出口设备的单一路径的LSP,并且,在LSP上发送的所有网络流量必须完全沿此单一路径。使用RSVP(资源预留协议)(包括扩展)在MPLS中建立LSP,在2001年12月的IETF的RFC 3209里中有描述,通过引用结合于此。
发明内容
总的来说,本发明旨在提供使用允许建立具有预留带宽的标签交换路径(LSP)的资源预留协议(诸如基于流量工程的资源预留协议(RSVP-TE)),来负载均衡在网络上发送的网络流量的技术。该技术包括使路由器能够发送用于建立包括多个子路径的通道的RSVP路径消息的扩展的RSVP-TE协议。该通道可包括被配置为在网络的RSVP-TE LSP的不同子路径上负载均衡网络流量的单一RSVP-TE LSP。
该技术包括使路由器能够建立新型流量工程LSP(本文指负载均衡流量工程(TE)LSP)的扩展的RSVP-TE协议。本文描述的负载均衡TE LSP是形成以包含许多在其上负载均衡流量的子路径的单一的LSP。在沿LSP上每一跳,节点(即,LSR)可将路径或子路径分叉出多个子路径,每个遍历可选路径到达LSP的目的地。当在建立总体负载均衡TE LSP的同时选择子路径时,每个节点确保每个子路径满足流量工程LSP的流量工程约束,诸如带宽、链路色、共享风险链路组(SRLG)等。给定的节点通过子路径可划分一些约束(诸如带宽)以满足LSP的总约束。流量工程LSP的多个子路径的“结合点”的节点负责请求占用由在那个节点处结合的每条子路径需求的总带宽的下游路径(多条下游路径)。此外,在负载均衡TE LSP中的每个节点被配置为在从节点出现的负载均衡TE LSP的子路径上负载均衡流量。
在建立负载均衡TE LSP之后,沿TE LSP的接收去往TE LSP的出口的网络流量(例如,MPLS网络流量)的节点实现流级别(flow-level)负载均衡以在节点的下游子路径之中分配流量。例如,节点可使用基于流的哈希函数分离流量以给同一子路径分配同一包流的包,还在子路径上提供负载均衡度。如果一个包流开始使用多于它享用的带宽,节点可调整流的哈希表以在子路径上重新分配包流。以这种方式,在负载均衡TE LSP的子路径上负载均衡从入口到出口的网络流量使得大体平均地利用TE LSP的所有子路径。
携带单播流量的TE LSP通常在一个节点(入口)开始,并在另一各节点(出口)结束。负载均衡TE LSP可以有多个出口,如果对LSP携带的流量来说这些出口节点视为相当。即,可存在大量对单播LSP同等有效的出口。使用本文所述的技术配置的负载均衡LSP的网络设备可以计算到各种出口的多个路径,并在子路径和出口上均衡流量。应注意,在入口节点进入负载均衡TE LSP的给定的包遍历LSP确切的一条子路径,并因此且到达确切的一个出口节点。这将多播(点到多点)LSPs与负载均衡LSP区分开来。
在其他实施方式中,设备可被配置成形成负载均衡点到多点(P2MP)LSP。在这些实例中,可以在整个P2MP LSP上负载均衡流量。
该技术可提供一个或多个优点。例如,该技术可以允许网络中的设备更好地利用网络上不同路径上的可用带宽。例如,该技术不是在同一对端点之间创建多个独立的LSP并然后在这些独立的LSPs之间尽力固定地分配流量,而是在具有子路径的一对端点之间建立单一的RSVP-TE LSP,其中,LSP中的节点在该子路径上负载均衡流量。这种使用负载均衡的方法比需要将流量分成预定义的“存储桶”的方法更有效地利用可用带宽。此外,本文所述的技术可减少在网络中需要维护的状态的量,因为该技术将在一对端点之间建立单一的RSVP-TE LSP,而不是在同一对端点之间建立多个独立的LSP。此外,如果给定的节点有多个下游子路径,并且在一条子路径中发生故障或其他网络故障(如链路或节点故障),那么给定的节点可以简单地在剩余的子路径中重新均衡流量,从而快速且有效地处理故障。负载均衡LSP可以因此提供改进的网络恢复能力,不需要仅用于故障情况的专用链路。
在一个实施方式中,一种对跨越从入口设备到出口设备的网络的总体标签交换路径(LSP)进行流量管理的方法包括为LSP计算满足一组流量工程约束的到出口设备的的多个子路径,并沿总体LSP的多个子路径的两个或多个向标签交换路由器(LSR)发送资源预留请求,其中,资源预留请求包括将请求与同一总体LSP相关联的标识符,其中,每个资源预留请求均包括将所请求的总体LSP指定为负载均衡LSP的指示符。该方法还包括响应于资源预留请求来接收资源预留消息,资源预留消息指定预留资源和分配给总体LSP用于沿总体LSP的子路径向相应的下一跳转发网络流量的标签,其中,资源预留消息包括将消息与同一总体LSP相关联的标识符,以及,其中,每个资源预留消息均包括将总体LSP指定为负载均衡LSP的指示符,配置网络设备的转发平面以为总体LSP的子路径存储标签和相应的下一跳,以及使用指定如何在总体LSP的子路径上负载均衡网络流量的负载均衡需求配置转发平面。该方法还包括在总体LSP的入口设备接收网络流量,以及在入口设备的转发平面中,根据负载均衡需求通过从所存储的用于转发所述网络流量的相应下一跳和标签中进行选择来在子路径上负载均衡所述网络流量,此外,使用所选择的标签将网络流量转发到总体LSP的子路径上。
在另一个实施方式中,路由器包括:控制单元被配置为执行用于对从入口设备到出口设备的网络上的总体标签交换路径(LSP)进行流量管理的资源预留协议,其中,该资源预留协议被配置成为LSP计算满足一组流量工程约束的到出口设备的多个可选子路径,物理接口被配置为沿总体LSP的多个子路径的两个或多个向标签交换路由器(LSR)发送由资源预留协议产生的资源预留请求,其中,资源预留请求包括将请求与同一总体LSP相关联的标识符,其中,每个资源预留请求均包括将所请求的总体LSP指定为负载均衡LSP的指示符,以及响应于资源预留请求来接收资源预留消息,资源预留消息指定预留资源和分配给总体LSP用于沿总体LSP的子路径向相应的下一跳转发网络流量的标签,资源预留消息包括将信息与同一总体LSP相关联的标识符,其中,每个资源预留信消息均包括将总体LSP指定为负载均衡LSP的指示符。路由器还包括转发平面,配置成为总体LSP的子路径存储标签和相应下一跳,其中,资源预留协议使用指示指定如何在所述总体LSP的所述子路径上负载均衡网络流量的负载均衡需求配置所述转发平面,以及负载均衡模块,在转发平面上执行,其中,根据负载均衡需求,通过从存储的为转发网络流量的相应下一跳和标签中进行选择来在子路径上负载均衡网络流量,接口被配置成使用所选择的标签将网络流量转发到总体LSP的子路径上。
在另一个实施方式中,计算机可读存储介质包括指令,该指令使可编程处理器执行用于对从入口设备到出口设备的网络上的总体标签交换路径(LSP)进行流量管理的资源预留协议,为LSP计算满足一组流量工程约束的到出口设备的多个可选的子路径,沿所述总体LSP的多个子路径的两个或多个向标签交换路由器(LSR)发送资源预留请求,其中,资源预留请求包括将请求与同一总体LSP相关联的标识符,其中,每个资源预留请求均包括将所请求的总体LSP指定为负载均衡LSP的指示符;该指令还使可编程处理器响应资源预留请求来接收资源预留消息,该资源预留消息指定预留资源和分配给总体LSP用于沿总体LSP的子路径向相应的下一跳转发网络流量的标签,其中,资源预留消息包括将消息与同一总体LSP相关联的标识符,以及,其中,每个资源预留消息均包括将总体LSP指定为负载均衡LSP的指示符。该指令还使可编程处理器配置网络设备的转发平面以为总体LSP的子路径存储标签和相应下一跳,以及配置转发平面以将流级别负载均衡应用到接收的网络流量,以根据负载均衡需求,通过从所存储的用于转发网络流量的相应下一跳和标签中进行选择来在总体LSP的子路径上负载均衡网络流量。
将在附图和以下的描述中阐述本发明的一个或多个实施方式的细节。本发明的其他特点、目标、和优点将从描述、附图和权利要求中变得显而易见。
附图说明
图1是示出具有在入口路由器和出口路由器之间的网络上建立的负载均衡TE LSP的示例性计算机网络的框图;
图2是示出为建立负载均衡TE LSP在计算机网络内由路由器发送的示例性路径消息的框图;
图3是示出了为建立负载均衡TE LSP在计算机网络内由路由器发送的实例预留消息的框图;
图4是示出了根据本文所述的技术能够支持具有负载均衡扩展的RSVP-TE的示例性路由器的框图;
图5是更详细地示出了图4的负载均衡模块和链路监控模块的实例的框图;
图6是示出了由在总体RSVP-TE LSP的子路径上分配流量的路由器的负载均衡模块和链路监控模块维护的示例性数据结构的框图;
图7示出了在建立包括从入口路由器到出口路由器的多个路径的总体RSVP-TE LSP中路由器的示例性操作的流程图;
图8是示出了当根据发明的原理在单一的总体LSP的多个子路径上接收包和负载均衡包时路由器操作的示例性模式的流程图;
图9示出了用于指示路由器是否支持负载均衡RSVP-TE LSPs的示例性RSVP-TE功能对象;
图10示出了标识隧道标识符的RSVP-TE对象的示例性类型-长度-值(TLV)。
具体实施方式
图1是示出系统10的框图,系统10包括示例性计算机网络14,该计算机网络14具有在入口路由器12A和出口路由器12之间的网络14上建立的负载均衡流量工程隧道16。例如,隧道16可以包括基于流量工程扩展的资源预留协议(RSVP-TE)标签交换路径(LSP)。在图1的实例中,路由器12A-12F(“路由器12”)使用已被扩展的改进的RSVP-TE协议以建立从入口路由器12A延伸到出口路由器12B的负载均衡TE隧道16。当路由器12接收网络流量时,隧道16配置在路由器12上以允许路由器12在隧道16的子路径18A-18H(“子路径18”)上负载均衡流量。以这种方式,隧道16可看作是单一入口和单一出口之间的点到点隧道,其被构造为包含用于有效负载均衡与隧道16相关联的MPLS流量的多个中间子路径。在一些实施方式中,隧道16可形成为提供从单一入口到多个目的地的点到多点(P2MP)隧道的P2MP LSP,其中,中间(P2MP)子路径可用于有效负载均衡MPLS流量到任何目的地。在这样的负载均衡P2MP LSP中,在任何节点,为给定的包确切地选择多条子路径中的一条;然而,如果该子路径有多个下游近邻,则包被复制通过这些下游邻近。为在MPLS和通用多协议标签交换(GMPLS)网络中建立P2MP LSP的RSVP-TE的扩展在2005年5月IETF的“点到多点TE LSPs的RSVP-TE的扩展”中有描述,通过引用结合于此。在另一个实施方式(这里没有示出)中,隧道16可以是具有多个等效出口12B的单播隧道。经由一条子路径18将包从入口12A发送到这些出口12B中确切的一个出口;其和负载均衡P2MP隧道之间的区别是在具有多个出口的单播隧道情况下不存在流量复制。
网络14可包括比图1所示的更多的路由器。正在负载均衡的网络流量的最终的源可以包括一个或多个设备和/或任何公共的或私有的网络或在网络14中给入口路由器12A提供流量的因特网。正在负载均衡的网络流量的最终目的地可以包括一个或多个目标设备和/或可以包括包含多个设备的广域网(WAN)或LAN的网络。例如,目标设备可以包括个人电脑、膝上计算机、工作站、个人数字助理(PDA)、无线设备、网络就绪装置、文件服务器、打印服务器或经由网络14访问源的其他设备。
本文所述的RSVP-TE的扩展使入口路由器12A能够计算出以出口路由器12B为目的的多个子路径,并能够沿所选择的计算出的子路径向下游路由器发送同一隧道16的多个RSVP路径消息。因为这些子路径是同一总体LSP(即隧道16)的所有部分,可以要求路由器12存储网络14中比为在路由器12A和路由器12B之间的每个路径构造的单独的LSP少的状态。
响应于网络管理者发起建立从路由器12A到路由器12B的隧道16,入口路由器12A使用扩展的RSVP-TE协议计算满足由管理员强加给隧道的某些约束的一些或所有到出口路由器12B的可用路径。例如,强加的约束可包括带宽、链路色(link color)、共享风险链路组(SRLG)等。例如,网络管理员可以期望配置能处理100MB网络流量的总体LSP。RSVP-TE使用关于网络14中链路的约束信息(诸如可用带宽)计算路径。例如,RSVP-TE可使用由诸如中间系统-中间系统协议(ISIS)或开放式最短路径优先协议(OSPF)的链路状态内部路由协议收集的可用带宽信息。如本文中扩展的RSVP-TE计算适于包括带宽的某些约束的多条路径,以提供必需的可用带宽总量。在下面的实例中将更加详细地描述。在另一个实施方式中,诸如路径计算元素的外部实体可以计算负载均衡子路径,然后RSVP-TE能够使用该负载均衡子路径建立负载均衡LSP。
在计算多个路径之后,RSVP-TE可以选择所有所计算的路径或其子集,在其上发送用于建立总体隧道16的子路径的相应路径信息。与传统的为建立LSP选择到出口设备的单一路径的RSVP-TE相比,本文中所述的扩展的RSVP-TE被配置成计算和选择从入口到出口的多条路径。此外,如下面将进一步详细描述,多条路径本身可以被沿路径的连续的节点分成子路径。RSVP-TE可以使用能够计算和/或选择的路径数目的上限来配置。
在图1的实例中,路由器12A建立以路由器12B为目的地的子路径18A和18B。路由器12C通过建立子路径18D和18C来划分子路径18A。路由器12E通过建立子路径18E和18F来划分子路径18B。路由器12D是将子路径18D和18E合并为单一子路径18G的总体LSP的合并点;路由器12F将子路径18C和18F合并为单一子路径18H。子路径18G和18H延伸到出口路由器12B。路由器12可以配置成识别接收的路径信息作为基于在路径消息中设定的特定位(例如,或其他指示符)建立负载均衡TE LSP的消息。以下将进一步详细描述路由器12(也指“节点”或标签交换路由器(LSR))建立子路径18的方式。
图2是示出路由器12使用具有负载均衡扩展的RSVP-TE的示例性方式的框图。如图2所示,响应于建立从路由器12A到路由器12B的LSP的单一请求(例如,来自管理员或另一个网络设备的请求,诸如来自路由器12A上游的设备),当隧道16配置成负载均衡从入口路由器12A到出口路由器12B的多个中间子路径18上的网络流量时,路由器12协调发送多个路径消息以建立LSP。此外,路由器12A被配置为总体LSP隧道16的单一入口,总的来说,其支持在请求中指定的某些约束要求,包括每秒一百兆网络流量的总带宽约束。在路由器12A上执行的RSVP-TE被配置为使用关于网络14中链路的约束信息计算到出口12B的路径。约束信息可以通过路由器12A执行链路状态协议来收集。
在图2的实例中,响应于该请求,路由器12A计算通向请求目的地(例如,路由器12B)的沿通向路由器12C的链路22A的路径18A(图1)。路由器12A还标识也可用于到达LSP的请求目的地的沿通向路由器12E的链路22B的第二路径18B。同时,基于由RSVP协议维护的网络状态数据,路由器12A确定沿路径18A和18B的预留的可用带宽的量,并输出多个路径消息以建立共同满足总带宽需求的两条子路径。在这个实例中,路由器12A确定沿路径18A可以预留60MB带宽以及沿路径18B可以预留40MB带宽。同时,路径18A和路径18B能够共同为总体隧道16提供100MB的网络流量需求总量。路由器12A的扩展的RSVP-TE协议选择这两条路径并发送请求在链路22A上预留60MB带宽的隧道16的路径消息,同时发送请求在链路22B上预留40MB带宽的同一隧道16的第二路径消息。每一个路径消息均包括表示带宽预留是针对同一总体LSP的标识符,并在传统的RSVP-TE协议上修改使得接收路由器可容易地确定路径消息可以是由同一LSP的上游设备发送的多个路径消息中的一个。路由器12A可以计算到出口12B的其他路径,但是,仅选择能够提供所请求的总带宽的最佳路径。在一些实施方式中,路由器12A可以用能够计算和/或选择的路径数目的上限来配置。
一旦从路由器12A接收到修改路径信息,则在路由器12C上执行的扩展的RSVP-TE协议可以同样地计算共同满足在路径消息中指定的约束信息的到出口路由器12B的子路径。路由器12C从计算出的子路径中选择子路径18D和18C,并发送请求在链路22D上预留30MB带宽的第一修改路径消息,以及发送请求在链路22C上预留30MB带宽的第二修改路径消息。每个修改路径消息均表示带宽预留是针对相同的总体LSP的。
同样,一旦从路由器12A接收修改路径信息,则在路由器12E上执行的扩展的RSVP-TE协议可以同样地计算共同满足在修改的路径消息中指定的约束信息的通向出口12B的子路径。路由器12E从计算出的子路径中选择子路径18E和18F,并发送请求在链路22E上预留20MB带宽的第一修改路径消息,以及发送请求在链路22F上预留20MB带宽的第二修改路径消息。每个修改路径消息均表示带宽预留是针对相同的总体LSP的。
一旦从路由器12C和12E接收到修改路径信息,则在路由器12D上执行的扩展的RSVP-TE协议检查路径信息,并基于LSP标识符,确定多个路径消息对应的包括单一LSP的路径消息集,从而使路由器12D作为多个上游子路径的结合点。路由器12D可类似地计算满足在路径消息集(例如,从路由器12C和12E接收的路径消息)中指定的约束信息的聚集(aggregate)的到出口路由器12B的路径。在这个实例中,路由器12D选择路径18G并向路由器12B发出单一路径消息,请求在链路22G上预留50MB带宽,即,其为在路由器12D处结合的两条上游子路径接收的两条路径消息的请求带宽的总和。路由器12D发送的修改路径消息指示路径消息可以是隧道16的路径消息集中的一个。这允许路由器12B同样地确定它是隧道16的结合点,并且来自路由器12D、12F的路径消息可视为对总体LSP的子路径的请求,路由器12B为总体LSP提供出口的单一点作为隧道的出口。
在某些情况下,在从路由器12E接收路径消息之前,路由器12D可从路由器12C接收路径消息。在一些实施方式中,路由器12D可将初始路径消息发送至路由器12B以请求到链路22G上的30MB带宽。当路由器12D随后从路由器12E接收路径消息时,路由器12D可将更新的路径消息发送至路由器12B以请求在链路22G上附加的20MB带宽,总共预留50MB带宽。更新的路径消息可不被认为是新的路径消息,由于更新的路径消息没有将附加的状态引入网络14。相反,更新的路径消息更新路由器12B现有的存储状态。
在一些实施方式中,路由器12A可以计算和选择所有的在网络14内沿到路由器12B的路径的每个下游路由器12采用的子路径,而不是每个路由器12C-12F在单独基础上执行计算和选择。在这些实施方式中,路由器12A可以向网络14内的路由器12发送所有必要的路径消息以为总体LSP隧道16预备带宽。在其他实施方式中,网络管理员可以预先计算出由网络14中所有路由器12采用的所有的子路径,并可以用该信息配置路由器12A和/或路由器12中的每一个。可选地,路由器12A可以指示其他路由器12应发送那个路径消息以在隧道16的每条选择的子路径上预留特定量的带宽。在这方面,其他路由器12可自主选择子路径。
图3是示出为建立负载均衡TE LSP隧道16由计算机网络14内的路由器12分配的示例性标签的框图。路由器12可以执行下游标签分配,并通过向上游路由器发送RSVP预留(“Resv”)消息传送分配的标签。在图3的实例中,路由器12B为路由器12D和12F分配标签L5,用于沿在路由器12B结合的子路径转发与隧道16相关联的网络流量。路由器12B可以在指示已为隧道16在链路22G上预留了30Mb带宽的第一预留消息中将标签L5传送至路由器12D。路由器12B也为路由器12F分配标签L5用于转发与隧道16相关联的网络流量。路由器12B可以在指示已为隧道16在链路22H上预留了20Mb带宽的第二预留消息中将标签L5链路传送至路由器12F。路由器12B存储指示一旦接收到具有标签L5的MPLS包则弹出标签并将未封装包转发至未封装包的报头所指定的目的地的转发状态。虽然在图3中示为为隧道16的子路径18G和18H分配同一标签,路由器12B可以可选地为隧道16的子路径18G和18H中的每条子路径分配不同的标签。
一旦从路由器12B接收到为隧道16分配的标签,路由器12D从它的内部标签空间里分配标签用于为其提供合并点的所有子路径。例如,路由器12D为路由器12C和12E分配标签L1,用于在隧道16的子路径18D和18E上将网络流量转发至路由器12D。路由器12D可以在指示已为隧道16在链路22D上预留了30Mb带宽的预留消息中将标签L1传送至路由器12C。同样地,路由器12D可以在指示已为隧道16在链路22E上预留了20Mb带宽的预留消息中将标签L1(或,可选地,不同的标签)传送至路由器12E。路由器12D存储指示一旦接收到具有标签L1的包则与L5交换标签并通过与链路22G相关联的接口将包输出到路由器12B的转发状态。
在一些实施方式中,路由器可配置为为总体LSP的不同子路径分配不同的标签,而不是象路由器12D所执行的那样分配相同的标签。例如,路由器12F可以配置为分配不同的标签。在这种情况下,一旦从路由器12B接收到为隧道16分配的标签,则路由器12F为路由器12C分配标签L3并为路由器12E分配标签L6,用于转发隧道16的子路径18C和18F上的网络流量。路由器12F在指示已为隧道16在链路22C上预留了30Mb带宽的预留消息中将标签L3传送至路由器12C。同样地,路由器12D在指示已为隧道16在链路22F上预留了20Mb带宽的预留消息中标签L6传送至路由器12E。路由器12F存储指示一旦接收到具有标签L3或L6的包则与L5交换标签并通过与链路22H相关联的接口将包输出到路由器12B的转发状态。
一旦从路由器12D和路由器12F接收标签分配,则路由器12C为路由器12A分配标签L2用于在隧道16的子路径18A上转发网络流量。路由器12C可以在指示已为隧道16在链路22A预留了60Mb带宽的预留消息中将标签L2传送至路由器12A。路由器12C可以在不同时间从路由器12D和路由器12F接收标签分配,然后可以在不同时间为子路径18A分配标签和带宽。在这种情况下,路由器12C可从路由器12D接收第一预留消息,然后将分配标签L2并指示例如已为隧道16在链路22A上预留了30Mb带宽的第一预留消息发送到路由器12A。当路由器12C随后接收路由器12F的第二预留消息时,路由器12C将指示已为隧道16在链路22A上预留了30Mb附加带宽的更新预留消息发送到路由器12A,总共60Mb带宽。更新的预留消息可以不给网络14增加任何附加的状态,但可以非常简单的更新路由器12A的现有状态。
路由器12C存储指示一旦接收到具有标签L2的包则路由器12C应通过子路径18D和18C均匀地负载均衡包的转发状态。即,对于接收到的具有标签L2的百分之五十的包,将标签L2与标签L1交换,并通过与链路22D相关联的接口将包输出到路由器12D;对于接收到的具有标签L2的百分之五十的包,将标签L2与标签L3交换,并通过与链路22C相关联的接口将包输出到路由器12F。
路由器12E可以类似的方式运行,以给路由器12A分配标签L4用于在隧道16的子路径18B上转发网络流量,且为隧道16在链路22B上预留总计为40Mb的带宽。路由器12E存储指示一旦接收到具有标签L4包则路由器12E应该通过子路径18E和18F均匀地负载均衡包的转发状态。即,对于接收到的具有标签L4的百分之五十的包,将标签L4与标签L1交换,并通过与链路22E相关联的接口将包输出到路由器12D;对于接收到的具有标签L4的百分之五十的包,将标签L4与标签L6交换,并通过与链路22F相关联的接口将包输出到路由器12F。发送到路由器12D的流量的选择可随机作出,或通过计算标签栈上、或在标签栈之外的包报头或内容中的域(譬如IP或以太网报头)的函数(诸如哈希函数)。
路由器12A接收由路由器12C和12E分别分配的标签L2和L4。路由器12A被配置为存储指示一旦接收到去往路由器12B(或具有路由器12B已通告由路由器12B可到达的目的地址)的包则将包封装为携带标签L2或L4的MPLS包的转发状态,即,路由器12A应该在隧道16的子路径18A和18B上负载均衡包使得百分之六十的包接收标签L2并通过与链路22A相关的接口输出到路由器12C,百分之四十的包接收标签L4并通过与链路22B相关的接口输出到路由器12E。这样,对应于隧道16的总体LSP使用RSVP-TE从而包括多条子路径18,以允许路由器12自动地在隧道16的子路径18(即RSVP-TE LSP)上负载均衡网络流量的方式进行流量管理。此外,路由器12A可以在下游路由器12C和12E中随机或通过计算包报头中的字段的函数选择划分流量。
根据本公开中所述的技术,在建立从入口路由器12A延伸至出口路由器12B的隧道16之后,路由器12A在链路22A和22B(例如,通过隧道16的子路径18A和18B)上动态均衡网络流量。路由器12A首先从另一个网络设备(未示出)接收包,路由器12A确定其为去往路由器12B的包(例如,具有路由器12B已通告的由路由器12B可到达的目的地址)。例如,路由器12A可以接收允许进入LSP的IP包。路由器12A确定通过其发送该包的链路22A、22B中的一条。即,当封装IP包并允许IP包进入LSP时,路由器12A选择封装MPLS包的可用子路径集中的一条。
在一个实施方式中,这样做,路由器12A将一个或多个哈希函数应用到包。路由器12A可以将哈希函数应用到包的IP报头,例如,5元组{源IP地址,目的IP地址,源端口号,目的端口号,协议}。路由器12A可以维护哈希函数的二进制文件集并将每个二进制文件映射到链路22A和22B中的一条。即,当所有或部分IP报头被应用时,哈希函数将包流映射到链路22A、22B中的每一条。通过将哈希函数应用到包流的包的包报头(诸如5元组),路由器12A在子路径18A、18B上可以实现包流的负载均衡,使得同一包流的包通过同一子路径。以这种方式,路由器10可确保顺次传递包流的包。如果路由器12A确定哈希函数将不再与60/40带宽负载均衡需求一致的方式将包流映射到链路22A、22B,则路由器12A可以动态调节哈希函数的二进制文件映射到链路22A、22B的方式以为新的包流维护合适的负载均衡带宽。
在沿LSP的中间路由器(诸如路由器12C)的情况下,例如,路由器12C可以将哈希函数应用到与封装包的内部IP报头相结合的封装包的外部MPLS报头。即,路由器12C可以对在MPLS报头下面的包进行有限的检测以应用哈希函数。这允许同一包流的包沿同一子路径,甚至沿LSP的中间设备(例如,除入口或出口设备的设备)来映射。
图4是示出根据本文所述技术能够支持具有负载均衡扩展的RSVP-TE的示例性路由器40的框图。路由器40可以对应于图1-3中的任何路由器12。路由器40包括经由输入链路56A~56N(“输入链路56”)接收包并经由输出链路57A~57N(“输出链路57”)发送包的接口卡54A~54N(“IFC 54”)。IFC 54通过高速交换机(未示出)和链路56、57互连。在一个实例中,交换机40包括交换机光纤、交换机(switchgear)、可配置的网络交换机或集线器等。链路56、57包括任何形式的通信路径,诸如集成电路内的电路径、外部数据总线、光纤链路、网络连接、无线连接、或其他类型的通信路径。IFC 54经由多个接口端(未示出)连接至输入链路56和输出链路57。
当路由器40经由一条输入链路56接收包时,控制单元42确定经由哪一条输出链路57发送包。控制单元42包括路由引擎44和转发引擎46。路由引擎44确定通过网络的一条或多条路线(例如,通过诸如其他路由器的互联设备)。控制单元42为通常作为可执行软件指令执行的协议48提供运行环境。如图所示,协议48包括RSVP-TE 48A和中间系统-中间系统的(IS-IS)48B。路由器40使用RSVP-TE 48A以建立LSP。如本文所述,RSVP-TE 48A被可编程地扩展以允许LSP的建立,LSP包括在LSP的入口路由器和出口路由器之间负载均衡流量的多条子路径。协议48可以包括除RSVP-TE 48A和IS-IS 48B之外或代替RSVP-TE 48A和IS-IS 48B的其他路由协议,诸如多协议标签交换协议(MPLS);或路由协议,诸如开放最短路径优先协议(OSPF)、路由信息协议(RIP)、边界网关协议(BGP)、内部路由协议、或其他网络协议。
通过执行路由协议,路由引擎44识别通过网络的现有路径并确定通过网络的新路径。路由引擎44在包含例如通过网络的已知路径的路由信息库(RIB)50中存储路由信息。转发引擎46存储包含输出链路57的目的地的转发信息库(FIB)52。FIB 52可以根据RIB 50产生。
系统管理员(“ADMIN 66”)可以经由包含在控制单元42中的用户接口64向路由器40提供配置信息。例如,系统管理员可以配置路由器40或安装软件以如本文所述的扩展RSVP-TE 48A。作为另一个实例,系统管理员可以配置RSVP-TE 48A以对从入口路由器到出口路由器的总体LSP进行流量管理。作为另一个的实例,路径计算部件(PCE)67可以可选地或另外给路由器40提供配置信息,例如,可以计算出子路径并将它们提供给路由器40。
RSVP-TE 48A的扩展使路由器40能够计算通向总体的RSVP-TE LSP的出口路由器的多个子路径,并沿所选择的计算出的子路径向下游路由器发送总体的RSVP-TE LSP的多个RSVP路径消息。因为这些子路径是同一总体LSP的所有部分,所以当实现负载均衡时,路由器40可以被要求存储比维护单独LSP的网络少的维护状态。RSVP-TE 48A的扩展允许RSVP-TE 48A配置转发引擎46(例如,负载均衡模块62和链路监控模块68),以反映总体LSP的负载均衡需求。
响应于网络管理员发起建立总体RSVP-TE LS,路由器40使用扩展的RSVP-TE 48A计算满足网络管理员强加给隧道的某些约束的一些或所有到出口路由器的可用路径。例如,强加的约束可包括带宽、链路色、共享风险链路组(SRLG)等。例如,网络管理员可以期望配置能处理100MB网络流量的总体LSP。RSVP-TE 48A使用关于网络14中链路的约束信息(诸如可用带宽)计算路径。例如,RSVP-TE 48A可使用由诸如中间系统-中间系统(IS-IS)协议或开放最短路径优先协议(OSPF)的链路状态内部路由协议收集的可用带宽信息。RSVP-TE计算适于包括带宽在内的某些约束的多条路径,以提供必需的可用带宽总量。
如以上参照图2所述的,RSVP-TE 48A产生和发送建立负载均衡LSP(包括子路径)的路径信息。一旦路由器40从相邻路由器接收路径消息,则标签分配模块70分配用于建立LSP的MPLS标签。路由器40使用RSVP-TE 48A分发标签并预留链路上的带宽以产生如上所述的预留消息。路由引擎44维护指定标签分配模块70如何分配MPLS标签的标签分配60。例如,标签分配60可以指示标签绑定到网络14内与LSP相关联的特定的转发等价类。当在LSP上转发包时,然后标签分配模块70可以使用将要被应用的标签更新转发引擎46的FIB 52。
RSVP-TE 48A也可以被扩展以识别为建立负载均衡LSP发送的修改路径消息和修改预留消息。例如,RSVP-TE 48A可被扩展以将接收的路径消息或预留消息识别为共同用于网络中以基于在例如路径消息或预留消息中设定的指示符(例如,特殊字段或位)建立“负载均衡”TE LSP的一组消息中的一个。当建立必须满足全部约束的总体LSP的子路径时,该特殊字段或位向接收路由器指出标识同一LSP的接收到的其他信息没有错误而是彼此关联,从而允许接收路由器确定它是负载均衡LSP的中间子路径的结合点还是分支点。路由器40可以利用与建立P2MP RSVP LSPs相同的机制建立负载均衡LSP。例如,路由器40可以通过使用本文所述的RSVP-TE的扩展向其他路由器通告其能力,诸如通过使用RSVP-TE问候信息。这些机制的进一步细节在2006年8月22日递交的申请号为11/508,096(1014-196US01)的标题为“Resource reservationprotocol with traffic engineering point to multi-point label switchedpath hierarchy”中有描述,其全部内容通过引用结合于此。
当路由器40接收新的包流的包时,转发引擎46的负载均衡模块62标识通过其转发新的包流的包的一条输出链路57,并且还标识应用于包流的包的MPLS标签。在负载均衡模块62已经为包流选择了一条输出链路57和MPLS标签之后,转发引擎46用选择的MPLS标签沿选择的一条输出链路57转发包流的所有包。在向这一条输出链路57分配新的包流之前,负载均衡模块62可以参考链路监控模块68确定网络流量是否被合适地分配在输出链路57上。
在包流被指定转发到RSVP-TE LSP上的情况下,链路监控模块68确定输出链路57是否载有合适的带宽分配,例如,如在总体RSVP-TE LSP建立期间由RSVP-TE 48A配置的一样。在一个实例中,链路监控模块68确定每条输出链路57利用的带宽。在另一个实例中,链路监控模块68确定分配到特定的一条输出链路57的多个包流是否超出阈值。在另一个实例中,链路监控模块68确定通过每条输出链路57每秒正在发送的包的数量。在另一个实例中,链路监控模块68确定通过每条输出链路57每秒正在发送的兆字节数。在其他实例中,链路监控模块68可以利用上述技术的组合或其他技术以确定链路拥塞。总之,链路监控模块68确定输出链路57的使用是否与由RSVP-TE 48A指定的与输出链路57连续(runon)的LSP子路径的需求一致。
链路监控模块68还可以确定一条链路何时发生故障。链路监控模块68与负载均衡模块62通信以使负载均衡模块62更新哈希表,使得流量从故障链路转移到正在负载均衡总体RSVP-TE LSP的流量的其他剩余链路上。因此,负载均衡LSP可以提供改进的网络适应力,而不需要仅用于故障情况的专用链路。
如关于图5和图6中更详细地描述的,负载均衡模块62通过选择一条输出链路57将新的包流分配到该输出链路来在输出链路57上均衡包流。如果路由器40是到LSP的入口,一旦接收到新的包流,则负载均衡模块62通过将哈希函数应用到包报头的5元组来选择一条输出链路57。负载均衡模块62查询链路监控模块68以确定当前分配给输出链路57的包流的带宽利用是否与带宽负载均衡需求一致。如果一致,负载均衡模块62将新的包流分配到所选择的一条输出链路57。在一个实例中,当链路监控模块68确定与总体LSP相关的链路不适当地均衡时,负载均衡模块62可选择不同的链路分配新的包流,并且可以修正将哈希函数的二进制文件映射到输出链路57的哈希表以维护适当的带宽负载均衡。
如果路由器40是沿LSP的中间路由器,并且作为LSP的多个子路径的分支点运行,路由器40同样地在子路径上负载均衡MPLS包。在这种情况下,路由器40可以将哈希函数应用到紧随包的标签栈的定义的数据字集。例如,如果MPLS包封装IP流量,路由器40可以将哈希函数应用到与IP报头相应的数据字。在这种情况下,即使MPLS包的有效载荷不携带IP流量,但由于数据字可能不变化,同一包流的流量将可能被映射到同一子路径。在一些情况下,路由器40可应用签名(signature)和深度包检测以标识(identify)封装的流量并从流量(例如,ATM报头、以太网报头、IP报头)中为哈希函数选择合适的输入,以进一步确保同一包流的包被分配到负载均衡LSP的同一子路径。
在图4中示出的路由器40的结构仅为示例性的目的示出。本发明不限于此结构。在其他实施方式中,路由器40可以以各种方式配置。在一个实施方式中,例如,控制单元42的一些功能可分布在IFC 54中。在另一个实施方式中,控制单元42可以包括执行路由功能和维护路由信息库(RIB)50的路由引擎,和基于根据RIB50产生的转发信息库(FIB)52执行包转发的转发引擎。
控制单元42可单独在软件或硬件中实现,或作为软件、硬件或固件的结合来实现。例如,控制单元42可包括一个或多个以软件指令形式执行程序代码的处理器。在那种情况下,控制单元42的各种软件模块可包括存储在诸如计算机存储器或硬盘的计算机可读的存储介质上的可执行指令。
图5是更详细地示出图4的负载均衡模块62和链路监控模块68的实例的框图。负载均衡模块62根据为从路由器分出支路的任何子路径预留的带宽在输出链路57上均衡包流。为了执行负载均衡,负载均衡模块62通过将哈希函数79应用到新的包流的包来选择子路径的一条输出链路57。例如,负载均衡模块62将哈希函数79应用到包的包报头,诸如5元组{源IP地址,目的IP地址,源端口号,目的端口号,协议}。如果路由器是沿负载均衡LSP的中间路由器,负载均衡模块62可将哈希函数79应用到紧随包的MPLS标签栈的末端的某些数据字。
当为新的包流标识链路时,负载均衡模块62通过使用该链路标识查询链路监控模块68确定由哈希函数79标识的该链路是否合适。对于现有的包流,在一些情况下,负载均衡模块62可以将同一哈希函数79应用到所有包的包流。可选地或另外地,为确保按与接收的包对应的顺次传递包流的包,一旦接收到新的包流,负载均衡模块62可以存储为包流选择的链路的标识。例如,负载均衡模块62可以检查包报头以确定该包是否是SYN包。当包是SYN包时,负载均衡模块62确定该包对应于新的包流。当包不是SYN包时,负载均衡模块62根据存储的标识符将包转发到所选择的链路。
当负载均衡模块62将包与特定包流相关联时,负载均衡模块62可以维护将入站包的哈希值与下一跳和相应MPLS标签相关联的分布映射85。分布映射85可以包括将可能的哈希值与一组指针相关联的哈希表80和定义一组转发元素并经由该组指针可寻址的中继信息82。为了在子路径18上分发包,转发元素可以为沿子路径18的各个下一跳定义一组输出接口和相应的MPLS标签。以这种方式,分布映射85将哈希值映射到MPLS标签和下一跳,更具体地,映射到特定子路径18的输出端口。
链路监控模块68维护跟踪(track)与每个哈希值相关联的流量的流量统计86。链路监控模块68还基于网络管理员的配置和/或扩展的RSVP-TE 48A接收的(诸如路径和预留消息接收的)负载均衡信息来维护负载均衡需求87。流量统计86可以通过使用计数器为每个可能的哈希值跟踪流量。计数器可以跟踪为每个哈希值接收的包的数目、为每个哈希值接收的字节的数目等。流量统计86可以进一步跟踪与每个可能的下一跳相应的流量。以这种方式,流量统计86可以跟踪每个子路径18的流量。链路监控模块68将流量统计86与负载均衡需求87相比较,并可以根据负载均衡需求87更新分布映射85以在子路径18上重新分布流量。
负载均衡模块62可以进一步维护间隙统计84。间隙统计84可以使用指示接收具有特定哈希值的最后一个包的时间的时间戳、跟踪从接收具有特定哈希值的最后一个包以来所消耗的时间量的计数器等跟踪哈希值内的间隙。当保持包的顺次传递时,负载均衡模块62可以利用间隙统计84确定对并行数据路径上的流量分布进行更新的合适的时间。更特别地,负载均衡模块62利用间隙统计84确定合适的时间以更新哈希值到下一跳的映射。
负载均衡模块62和链路监控模块68可以以诸如多个表、链路列表、根树、数据库、平面文件或其他数据结构的各种数据结构的形式安排分布映射85、哈希表80、中继信息82、流量统计86和间隙统计84。此外,负载均衡模块62和链路监控模块68可在一个或多个诸如磁介质、光学介质、非易失随机存取存储器(NVRAM)、动态随机存取存储器(DRAM)、闪存等的计算机可读介质上存储数据结构。
图6示出由在总体RSVP-TE LSP的子路径上分配流量的路由器40的负载均衡模块62和链路监控模块68维护的示例性数据结构的框图。在实例中,哈希表80包括表,其中,每行代表哈希值与中继信息的关联。对于每个关联,对M个可能的哈希值中的每个,哈希表80包括指向中继信息82的指针。
为了示例性的目的示出的中继信息82包括表,其中,每行代表与数据路径相关联的下一跳。中继信息82包括每个可能数据路径的下一跳。中继信息82包括k组下一跳。理想地,哈希表80的大小(M)与中继信息82的大小(K)相比相对大些。例如,M可以等于128,k可以等于8。以这种方式,负载均衡模块62可将多于一个的哈希值映射到每个数据路径。
在图6实例中,存储在哈希表80的元素内的指针值映射到由虚线箭头指示的中继信息82内的索引。例如,与哈希值0相应的哈希表80元素存储索引2,其哈希值0映射到存储在中继信息82中MPLS标签L7和下一跳e2。
流量统计86作为表示出,其中,每行代表特定哈希值的流量信息。对每个哈希值,流量统计86包括哈希值的包数和哈希值的字节数。流量统计86可以为M个可能的哈希值中的每以个哈希值维护信息。链路监控模块68可以使用流量统计86维护通过可能的数据路径的每个哈希值的包流的需求分布。例如,收集的流量统计可以指示通过与下一跳e2对应的数据路径的流量大于在负载均衡需求87中指定的期望负载均衡需求的阈值量。
与哈希值0和2相应的包流被映射到MPLS标签L7和下一跳e2。如果十分需要,为了减少通过下一跳e2的流量的容量,链路监控模块68可更新到特定的下一跳和标签的哈希值(例如,哈希值0或2),到与沿总体RSVP-TE LSP不同子路径相关联的下一跳和标签(诸如下一跳e1和标签L4)的映射。
间隙统计84作为列表示出,其中,每行代表从最后一个接收具有特定哈希值的包以来所消耗的时间量。每行包括诸如时间戳或计数器的定时机制。间隙统计84可以跟踪从接收M个可能哈希值中的每个的特定哈希值的包以来所消耗的时间量,即间隙长度。当更新哈希值到数据路径的下一跳的映射时,负载均衡模块62可使用间隙统计84以维持顺次传递。例如,负载均衡模块62可将从接收具有特定哈希值的包以来所消耗的时间量(即哈希值的间隙长度)与已定义的阈值间隙相比较。在更新映射之前,负载均衡模块62可以等待直到间隙长度超过定义的阈值间隙。
图6的数据是为了示例性的目的示出,而且可容易地变化。例如,流量统计86可以仅包括包数或字节数,而不是都包括。此外,流量统计86可以包括每个数据路径的计数器数据。中继信息82可包括端口信息、输出接口信息等。
图7是示出在建立包括从入口路由器到出口路由器的多个子路径的总体RSVP-TE LSP中的路由器40的示例性操作的流程图。将参照图1中的路由器12和图4中的路由器40解释图7。路由器12A可以接收对满足某些约束的总体RSVP-TE LSP的流量工程的请求。例如,网络管理员可以按照请求配置路由器12A(90)。例如,强加的约束可以包括,例如,带宽、链路色、共享风险数据链路组(SRLG)等。例如,网络管理员可以希望配置能够处理100MB网络流量的总体的LSP。RSVP-TE 48A使用网络14内的链路的约束信息(诸如可用带宽)以计算满足约束的路径(92)。例如,RSVP-TE48A可使用由诸如中间系统-中间系统(IS-IS)48B或开放最短路径优先协议(OSPF)链路状态内部路由协议收集的可用带宽信息。RSVP-TE 48A计算适于包括带宽的某些约束的多条路径,以提供必需的可用带宽总量。RSVP-TE 48A可以用能够计算和/或选择多少路径的上限来配置。
对每个选择的子路径,RSVP-TE 48A产生并发送与同一总体RSVP-TE LSP相关联的路径消息(94)。然后路由器12A可以响应路径消息经由预留消息使用RSVP-TE 48A接收标签通告(96)。路由器12A可以更新中继信息82以反映接收到的标签如何映射到下一跳。在一些情况下,诸如在当路由器12A可能是沿总体LSP的中间路由器时,路由器12A也可以分配标签、存储标签分配、分发标签和使用RSVP-TE 48A链路上预留带宽以产生如上所述的预留消息。
一旦接收到路由器12A确定的去往出口路由器12B的网络流量(98),路由器12A的负载均衡模块62确定通过其将哈希函数79应用到包的报头(例如5元组{源IP地址,目的IP地址,源端口号,目的端口号,协议})发送包的链路22A、22B之一。哈希函数79输出值,负载均衡模块62基于哈希表80将其映射到中继信息82。中继信息82返回应用到网络流量的包流的包的MPLS标签和转发标签包的下一跳。
在这种方式中,路由器12A在子路径18A、18B上负载均衡包流(100)。例如,分布映射85可以根据负载均衡需求87将不同的包流映射到子路径18A或18B。当使用扩展的RSVP-TE LSP建立的总体RSVP-TE LSP时,如果流量统计86指示正在映射的实际的包流不满足负载均衡需求87时,链路监控模块68可以更新哈希表80。
图8是示出当根据本发明的原理在单一的总体LSP的多个子路径上接收包和负载均衡包时路由器40的操作的示例性模式的流程图。首先,路由器40经由网络链路从网络中接收入站包(106)。接下来,路由器40执行关于入站包的关键字的哈希,或者(如果路由器40是沿LSP的路由器)执行关于从MPLS包的有效载荷提取的报头的哈希(108)。关键字可包括诸如源IP地址、目的IP地址、协议类型、源和目的端口号、服务等级(CoS)、服务类型(ToS)和其他任何对从源到目的的任何数据流保持常量的包的路由信息中的字段。包括在关键字中的路由信息的量取决于哈希的期望粒度。例如,包括在哈希中的路由信息越多,哈希值有越多的可能,即哈希有越多的粒度。
路由器40可为每个哈希值进一步收集流量统计86(110)。路由器40可以用一组计数器收集流量统计86。路由器40将至少一个计数器与每个哈希值相关联。计数器可以计算与每个哈希值对应的包的数量,与每个哈希值对应的字节的数量等。此外,路由器40可将至少一个计数器与中继信息82的每组下一跳相关联。例如,路由器40可以用计数器计算出与每个哈希值对应的包的数目和字节的数目为每个哈希值收集流量统计。路由器40可同时为每组下一跳收集可对应多于一个哈希值的流量统计。路由器40可以用流量统计86更新哈希表80的映射以在与负载均衡需求87一致的单一的总体LSP的多个子路径上均衡负载流量。
路由器40可进一步为每个哈希值跟踪间隙统计(112)。当均衡流量时,路由器40可以使用间隙统计84防止不顺次传递包。路由器40可以通过将时间戳与每个哈希值相联跟踪间隙统计84。时间戳可以指示接收具有特定哈希值的最后一个包的时间。例如,一旦标识包的哈希值,路由器40可以设定与哈希值相联的时间戳。可选地,路由器40可以用一组计数器跟踪间隙统计84。路由器40可将至少一个计数器与每个哈希值联系。无论何时路由器40接收包,与包的哈希值相关联的计数器可以设定为固定值,并周期性地按指定增加值增加。例如,当路由器40接收包时,与包的哈希值相关联的计数器可以设为0,增加值可以设为1毫秒。以这种方式,计数器可以跟踪从接收到具有特定哈希值的包以来所消耗的时间量。
路由器40根据中继信息82在分布映射85中执行查找以将为包计算的哈希值映射到一组下一跳中的一个和MPLS标签(114)。路由器40应用MPLS标签并将包转发到相应的标识的下一跳的输出接口。
图9示出用于指示路由器是否支持负载均衡RSVP-TE LSP的示例性RSVP-TE LSP的功能对象150。在一些实施方式中,功能对象150可以在网络中从路由器向相邻路由器发送的RSVP-TE问候信息中可携带指示路由器支持的功能集。在其他实施方式中,功能对象150可以在RSVP-TE路径消息或RSVP-TE预留消息中携带指示路径消息或预留消息用于建立负载均衡RSVP-TE LSP。功能对象150包括长度字段、等级数字段、等级类型字段(设为等级类型1)、预留字段和指示支持恢复路径再生的R标志。根据本发明,在功能对象150中定义了新标志U标志152,以指示路由器支持负载均衡RSVP-TE LSP和/或包含功能对象150的消息将用于建立负载均衡RSVP-TE LSP。
交换负载均衡RSVP-TE LSP功能的RSVP-TE问候消息的使用暗示了路由器在与该相邻路由器发送和接收任何其他RSVP-TE消息之前可与相邻路由器交换RSVP-TE问候。在一些情况下,路由器可以不将建立总体RSVP-TE LSP的路径信息发送到沿该总体LSP的路由器,除非发送路由器知道至少一些其他路由器支持负载均衡RSVP-TE LSP。在功能对象150中U标志152为路由器提供一种向网络中的相邻路由器宣告负载均衡RSVP-TE LSP的能力的机制。
负载均衡RSVP-TE LSP能力U标志152包括1位。当U标志152被设置时(U=1),路由器即能够发送修改路径消息和修改预留消息,又能够接收修改路径消息或预留消息。当U标志没有被设置时(U=0),路由器不能分发或接收修改的路径或预留消息。预留位在传输中被设置为0,并且在接收中被忽略。
图10示出了标识隧道标识符的RSVP-TE对象的示例性类型-长度-值(TLV)。路由器可以通过在IP隧道或MPLS隧道中封装MPLS包沿整个负载均衡LSP向路由器传送MPLS包。在这种情况下,接收路由器可以基于路由器接收包的隧道确定MPLS包与负载均衡LSP相关联。图10示出的TLV提供一种发送路由器通知接收路由器发送路由器将使用特定隧道传送负载均衡的RSVP-TE LSP的MPLS包的机制。
当使用RSVP-TE建立负载均衡RSVP-TE LSP时,IF_IDRSVP_HOP对象可用于表示隧道标识符。如果发送路由器使用IP或MPLS隧道将负载均衡RSVP-TE LSP的MPLS包传输到接收路由器,则发送路由器将IF_ID RSVP_HOP对象包括在路径消息和预留消息中,可能除了图9中的RSVP-TE功能对象150。TLV值用作隧道标识符。
图10示出在IF_ID RSVP_HOP对象中的示例性负载均衡RSVP-TE LSP TLV 160。负载均衡RSVP-TE LSP TLV 160包括类型字段、长度字段、用作隧道标识符的值字段162。在这种情况下,值字段162包括负载均衡RSVP-TE会话对象和可选择地发送者模板对象。TLV值字段162标识负载均衡RSVP-TE LSP。
本文描述的技术(至少部分)可以在硬件、软件、固件或其任意组合中实现。例如,所述技术的各个方面可在包括一个或多个微处理器、数字信号处理器(DSP)、特定用途集成电路(ASIC)、现场可编程门阵列(FPGA)或其他任何等同的集成电路或分离逻辑电路和这些部件的任何集合的一个或多个处理器内实现。术语“处理器”或“处理电路”通常可指任何前述的逻辑电路,单独的或与其他相结合的逻辑电路,或任何其他等同电路。
这些硬件、软件和固件在相同设备或分离设备内实现以支持本公开所述的各种的操作和功能。另外,任何所述单元、模块或组件可共同实现或作为独立但能共同操作的逻辑设备单独地实现。作为模块或单元的不同特征的描述是为了强调不同用途方面,但并不一定意味着这样的模块或单元一定由独立的硬件或软件组件实现。相反,与一个或多个模块或单元相关的功能可由独立的硬件或软件组件,或在通用的或独立的软件或硬件组件内集成实现。
本发明所述的技术还可以在包含指令的计算机可读介质(诸如计算机可读存储介质)中实施和编码。例如,当执行指令时,在计算机可读介质中嵌入和编码的指令可使得可编程处理器或其他处理器执行方法。计算机可读存储介质可以包括随机存取存储器(RAM)、只读存储器(ROM)、可编程只读存储器(PROM)、可擦除可编程只读存储器(EPROM)、电可擦除可编程只读存储器(EEPROM)、闪存、硬盘、CD-ROM、软盘、磁带、磁性介质、光学介质、或其他计算机可读介质。
已经描述了本发明的各种实施方式。这些和其他实施方式在后面的权利要求书的范围内。
Claims (18)
1.一种对从入口设备到出口设备的网络上的总体标签交换路径(LSP)进行流量管理的方法,包括:
为所述LSP计算满足一组流量工程约束的到所述出口设备的多条子路径;
沿所述总体LSP的多个子路径中的两个或多个向标签交换路由器(LSR)发送资源预留请求,其中,所述资源预留请求包括将所述请求与同一总体LSP相关联的标识符,以及,每个所述资源预留请求均包括将所请求的总体LSP指定为负载均衡LSP的指示符;
响应于所述资源预留请求接收资源预留消息,所述资源预留消息指定预留资源和分配给所述总体LSP用于沿所述总体LSP的子路径向相应的下一跳转发网络流量的标签,其中,所述资源预留消息包括将所述消息与同一总体LSP相关联的标识符,以及,每个所述资源预留消息均包括将所述总体LSP指定为负载均衡LSP的指示符;
配置网络设备的转发平面以为所述总体LSP的子路径存储标签和相应的下一跳;
使用指定如何在所述总体LSP的所述子路径上负载均衡网络流量的负载均衡需求来配置所述转发平面;
在所述总体LSP的所述入口设备处接收网络流量;
在所述入口设备的转发平面中,根据负载均衡需求,通过从所存储的用于转发所述网络流量的标签和相应下一跳中进行选择来在子路径上负载均衡所述网络流量;以及
使用所选择的标签将所述网络流量转发到所述总体LSP的子路径上。
2.根据权利要求1所述的方法,其中,计算所述多个子路径包括在所述入口设备计算所述多个子路径。
3.根据权利要求1所述的方法,其中,计算所述多个子路径包括在所述总体LSP的每个所述LSR计算所述多个子路径。
4.根据权利要求1所述的方法,其中,所述网络流量包括与去往所述总体LSP的所述出口设备的多个包流相关联的包,其中,在所述子路径上负载均衡所述网络流量包括将流级别负载均衡应用到所接收的网络流量。
5.根据权利要求1所述的方法,其中,负载均衡所述网络流量包括将哈希函数应用到所述网络流量的包的一部分,并基于所述哈希函数访问哈希表,以确定应用于所述包的多协议标签交换(MPLS)标签和从其中输出所述包的输出接口。
6.根据权利要求1所述的方法,其中,所述流量工程约束包括带宽、链路色和共享风险链路组(SRLG)中的一个或多个。
7.根据权利要求1所述的方法,其中,所述资源预留请求包括扩展的RSVP-TE路径消息,其中,每个所述的扩展的RSVP-TE路径消息均包括所述总体LSP的标识符,以及,所述指示符是将所述总体LSP标识为负载均衡LSP的负载均衡位或字段。
8.根据权利要求1所述的方法,还包括:
评价流量统计,以确定子路径是否与所述总体LSP的配置的流量工程需求一致地被利用,以及
动态更新哈希表,以校正与所述配置的流量工程需求的不一致。
9.根据权利要求1所述的方法,
其中,所述总体LSP延伸通过从所述入口设备到多个出口设备的网络,以及
其中,为所述LSP计算满足一组流量工程约束的到出口设备的多个子路径包括为LSP计算到所述多个出口设备中的每一个的多个子路径。
10.一种路由器,包括:
控制单元,被配置为执行用于对从入口设备到出口设备的网络上的总体标签交换路径(LSP)进行流量管理的资源预留协议,其中,所述资源预留协议被配置成为所述总体LSP计算满足一组流量工程约束的到所述出口设备的多个可选子路径;
物理接口,被配置为沿所述总体LSP的所述多个子路径中的两个或多个向标签交换路由器(LSR)发送由所述资源预留协议产生的资源预留请求,其中,所述资源预留请求包括将所述请求与同一总体LSP相关联的标识符,并且,每个所述资源预留请求均包括将所请求的总体LSP指定为负载均衡LSP的指示符;以及,响应于所述资源预留请求来接收资源预留消息,所述资源预留消息指定预留资源和分配给所述总体LSP用于沿所述总体LSP的子路径向相应的下一跳转发网络流量的标签,其中,所述资源预留消息包括将所述信息与同一总体LSP相关联的标识符,并且,每个所述资源预留消息均包括将所述总体LSP指定为负载均衡LSP的指示符;
转发平面,被配置成为所述总体LSP的子路径存储所述标签和相应的下一跳,其中,所述资源预留协议使用指定如何在所述总体LSP的所述子路径上负载均衡网络流量的负载均衡需求来配置所述转发平面;以及
负载均衡模块,在转发平面上执行,其中,所述负载均衡模块被配置为根据所述负载均衡需求,通过从存储的用于转发所述网络流量的标签和相应下一跳中进行选择来在子路径上负载均衡所述网络流量,以及
其中,所述接口被配置成使用所选择的标签将所述网络流量转发到所述总体LSP的子路径上。
11.根据权利要求10所述的路由器,其中,所述负载均衡模块被配置为将哈希函数应用到所述网络流量的包的一部分,以及基于所述哈希函数访问哈希表,以确定应用于所述包的多协议标签交换(MPLS)标签和从其中输出所述包的输出接口。
12.根据权利要求10所述的路由器,其中,所述负载均衡模块被配置成将流级别负载均衡应用到与由所述接口接收的多个包流相关联的包,以在子路径上负载均衡所述包流。
13.根据权利要求10所述的路由器,其中,所述资源预留协议被配置成执行最大数目的为其发送资源预留请求的计算的子路径。
14.根据权利要求10所述的路由器,还包括链路监控模块,其评价与所述路由器的多个链路中的每一个相关联的流量统计,以确定与链路相关联的子路径是否与总体LSP的配置的流量工程需求一致地被利用,
其中,所述负载均衡模块基于所述链路监控模块的评价动态地更新哈希表,以校正与所述配置的流量工程需求的不一致。
15.根据权利要求10所述的路由器,其中,所述资源预留协议包括扩展的基于流量工程扩展的资源预留协议(RSVP-TE)。
16.根据权利要求10所述的路由器,其中,所述总体LSP包括单播LSP。
17.根据权利要求10所述的路由器,
其中,所述总体LSP延伸通过从所述入口设备到多个出口端设备的网络,以及
其中,所述资源预留协议被配置成为所述LSP计算到所述多个出口端设备中的每一个的多个子路径。
18.根据权利要求17所述的路由器,其中,所述总体LSP包括用于负载均衡多播流量的负载均衡点到多点LSP,其中,一个或多个所述多个子路径包括点到多点子路径。
Applications Claiming Priority (4)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US15535609P | 2009-02-25 | 2009-02-25 | |
US61/155,356 | 2009-02-25 | ||
US12/507,200 | 2009-07-22 | ||
US12/507,200 US8218553B2 (en) | 2009-02-25 | 2009-07-22 | Load balancing network traffic on a label switched path using resource reservation protocol with traffic engineering |
Publications (2)
Publication Number | Publication Date |
---|---|
CN101815035A true CN101815035A (zh) | 2010-08-25 |
CN101815035B CN101815035B (zh) | 2012-06-13 |
Family
ID=41820401
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN2010101351952A Active CN101815035B (zh) | 2009-02-25 | 2010-02-25 | 使用rsvp-te在标签交换路径上负载均衡网络流量 |
Country Status (3)
Country | Link |
---|---|
US (2) | US8218553B2 (zh) |
EP (1) | EP2224649B1 (zh) |
CN (1) | CN101815035B (zh) |
Cited By (17)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101938422A (zh) * | 2010-09-16 | 2011-01-05 | 中兴通讯股份有限公司 | 多协议标签交换流量工程中隧道抢占的方法及装置 |
CN102761480A (zh) * | 2012-06-28 | 2012-10-31 | 中兴通讯股份有限公司 | 一种资源分配方法及装置 |
CN103746931A (zh) * | 2012-09-28 | 2014-04-23 | 瞻博网络公司 | 在服务应用后用网络设备维持负载均衡 |
WO2014134814A1 (zh) * | 2013-03-07 | 2014-09-12 | 华为技术有限公司 | 一种基于服务等级流量信息的流量矩阵的计算方法及装置 |
CN104426766A (zh) * | 2013-08-30 | 2015-03-18 | 瞻博网络公司 | 跨多个网络层的动态端到端网络路径建立 |
CN104468391A (zh) * | 2014-12-16 | 2015-03-25 | 盛科网络(苏州)有限公司 | 根据隧道报文的用户信息实现负载均衡的方法及系统 |
CN104521194A (zh) * | 2012-05-30 | 2015-04-15 | 阿尔卡特朗讯公司 | 管理mpls-te过载的系统和方法 |
CN104604196A (zh) * | 2011-10-31 | 2015-05-06 | 惠普发展公司,有限责任合伙企业 | 从期望的网络标准实现能量均衡网络架构 |
WO2015192690A1 (zh) * | 2014-06-16 | 2015-12-23 | 华为技术有限公司 | 一种网络中建立硬管道方法、转发报文方法和装置 |
CN105282030A (zh) * | 2014-06-30 | 2016-01-27 | 瞻博网络公司 | 多协议标签切换环 |
CN106209906A (zh) * | 2016-08-24 | 2016-12-07 | 迈普通信技术股份有限公司 | 一种二层隧道协议l2tp报文传输方法及隧道端点设备 |
CN107231304A (zh) * | 2016-03-23 | 2017-10-03 | 瞻博网络公司 | 用于使用最小转发信息库来转发网络流量方法、系统和装置 |
CN108574633A (zh) * | 2017-03-08 | 2018-09-25 | 瞻博网络公司 | 用于跨网络内的标签交换路径来共享标签的装置、系统和方法 |
CN111988683A (zh) * | 2019-05-24 | 2020-11-24 | 华为技术有限公司 | 一种带宽分配方法以及相关设备 |
CN112019620A (zh) * | 2020-08-28 | 2020-12-01 | 中南大学 | 基于Nginx动态加权的Web集群负载均衡算法及系统 |
CN112118178A (zh) * | 2019-06-21 | 2020-12-22 | 瞻博网络公司 | Ip网络中基于类别的流量工程 |
US11233748B1 (en) | 2018-08-30 | 2022-01-25 | Juniper Networks, Inc. | Bandwidth management for resource reservation label switched path of a ring network |
Families Citing this family (105)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9032095B1 (en) | 2004-01-06 | 2015-05-12 | Juniper Networks, Inc. | Routing device having multiple logical routers |
US8929372B2 (en) * | 2007-10-30 | 2015-01-06 | Contextream Ltd. | Grid router |
US9237100B1 (en) | 2008-08-06 | 2016-01-12 | Marvell Israel (M.I.S.L.) Ltd. | Hash computation for network switches |
US8467295B2 (en) * | 2008-08-21 | 2013-06-18 | Contextream Ltd. | System and methods for distributed quality of service enforcement |
US8553527B2 (en) * | 2009-06-02 | 2013-10-08 | Cisco Technology, Inc. | System and method for dynamically assigning values in a network |
US8848538B2 (en) * | 2009-06-09 | 2014-09-30 | Telefonaktiebolaget Lm Ericsson (Publ) | Power-saving functions in communications networks |
WO2010144001A1 (en) * | 2009-06-09 | 2010-12-16 | Telefonaktiebolaget L M Ericsson (Publ) | A communications network and a method in a communications network |
US20110063986A1 (en) | 2009-09-14 | 2011-03-17 | International Business Machines Corporation | System and method for load balancing traffic in a mpls network |
US8369345B1 (en) | 2009-11-13 | 2013-02-05 | Juniper Networks, Inc. | Multi-router system having shared network interfaces |
US9264321B2 (en) * | 2009-12-23 | 2016-02-16 | Juniper Networks, Inc. | Methods and apparatus for tracking data flow based on flow state values |
US8379516B2 (en) * | 2009-12-24 | 2013-02-19 | Contextream Ltd. | Grid routing apparatus and method |
US20110161657A1 (en) * | 2009-12-31 | 2011-06-30 | Verizon Patent And Licensing Inc. | Method and system for providing traffic hashing and network level security |
US8705580B2 (en) * | 2010-01-22 | 2014-04-22 | Aruba Networks, Inc. | Aggregating multiple wireless channels |
US8259571B1 (en) * | 2010-03-26 | 2012-09-04 | Zscaler, Inc. | Handling overlapping IP addresses in multi-tenant architecture |
US8848728B1 (en) * | 2010-04-08 | 2014-09-30 | Marvell Israel (M.I.S.L) Ltd. | Dynamic load balancing switch architecture |
US9716672B2 (en) | 2010-05-28 | 2017-07-25 | Brocade Communications Systems, Inc. | Distributed configuration management for virtual cluster switching |
US9270486B2 (en) | 2010-06-07 | 2016-02-23 | Brocade Communications Systems, Inc. | Name services for virtual cluster switching |
US8867552B2 (en) | 2010-05-03 | 2014-10-21 | Brocade Communications Systems, Inc. | Virtual cluster switching |
US9769016B2 (en) | 2010-06-07 | 2017-09-19 | Brocade Communications Systems, Inc. | Advanced link tracking for virtual cluster switching |
US9807031B2 (en) | 2010-07-16 | 2017-10-31 | Brocade Communications Systems, Inc. | System and method for network configuration |
US8614950B2 (en) * | 2010-11-30 | 2013-12-24 | Marvell Israel (M.I.S.L) Ltd. | Load balancing hash computation for network switches |
US20120163164A1 (en) * | 2010-12-27 | 2012-06-28 | Brocade Communications Systems, Inc. | Method and system for remote load balancing in high-availability networks |
US8619568B2 (en) * | 2011-02-04 | 2013-12-31 | Cisco Technology, Inc. | Reassignment of distributed packet flows |
CN102638388B (zh) * | 2011-02-09 | 2014-03-12 | 华为技术有限公司 | 流标签的协商方法、相关装置以及系统 |
CN102143066B (zh) * | 2011-02-17 | 2014-12-24 | 华为技术有限公司 | 建立标签交换路径的方法、节点设备和系统 |
US8730811B2 (en) * | 2011-04-07 | 2014-05-20 | Hewlett-Packard Development Company, L.P. | Managing network traffic |
US9065860B2 (en) | 2011-08-02 | 2015-06-23 | Cavium, Inc. | Method and apparatus for multiple access of plural memory banks |
US9590820B1 (en) | 2011-09-02 | 2017-03-07 | Juniper Networks, Inc. | Methods and apparatus for improving load balancing in overlay networks |
CN102394768B (zh) * | 2011-10-11 | 2018-03-30 | 中兴通讯股份有限公司 | 一种隧道路径重优化方法及装置 |
US8937946B1 (en) * | 2011-10-24 | 2015-01-20 | Packet Design, Inc. | System and method for identifying tunnel information without frequently polling all routers for all tunnel information |
US9450870B2 (en) | 2011-11-10 | 2016-09-20 | Brocade Communications Systems, Inc. | System and method for flow management in software-defined networks |
US8948175B2 (en) * | 2011-11-18 | 2015-02-03 | Ciena Corporation | Selecting a link of a link group based on contents of a concealed header |
JP2013132021A (ja) * | 2011-12-22 | 2013-07-04 | Fujitsu Ltd | 負荷分散装置、負荷分散方法、プログラム、およびシステム |
US9071541B2 (en) * | 2012-04-25 | 2015-06-30 | Juniper Networks, Inc. | Path weighted equal-cost multipath |
US8787400B1 (en) | 2012-04-25 | 2014-07-22 | Juniper Networks, Inc. | Weighted equal-cost multipath |
US9374301B2 (en) | 2012-05-18 | 2016-06-21 | Brocade Communications Systems, Inc. | Network feedback in software-defined networks |
US8953450B2 (en) * | 2012-06-13 | 2015-02-10 | Alcatel Lucent | Method and system for ingress multicast load balancing |
US8891364B2 (en) | 2012-06-15 | 2014-11-18 | Citrix Systems, Inc. | Systems and methods for distributing traffic across cluster nodes |
US9300564B2 (en) * | 2012-06-15 | 2016-03-29 | Cisco Technology, Inc. | Ordered flooding requests for path computation elements |
US9923798B1 (en) | 2012-06-28 | 2018-03-20 | Juniper Networks, Inc. | Dynamic load balancing of network traffic on a multi-path label switched path using resource reservation protocol with traffic engineering |
US10129182B2 (en) * | 2012-06-29 | 2018-11-13 | Juniper Networks, Inc. | Methods and apparatus for providing services in distributed switch |
US9722857B2 (en) * | 2012-09-07 | 2017-08-01 | Verizon Patent And Licensing Inc. | Node marking for control plane operation |
US9401872B2 (en) | 2012-11-16 | 2016-07-26 | Brocade Communications Systems, Inc. | Virtual link aggregations across multiple fabric switches |
US9160671B2 (en) * | 2012-12-03 | 2015-10-13 | Hewlett-Packard Development Company, L.P. | Ingress traffic classification and prioritization with dynamic load balancing |
US9071514B1 (en) * | 2012-12-17 | 2015-06-30 | Juniper Networks, Inc. | Application-specific connectivity loss detection for multicast virtual private networks |
US10455301B2 (en) * | 2013-01-17 | 2019-10-22 | Infinera Corporation | Method to re-provision bandwidth in P-OTN network based on current traffic demand |
US9706522B2 (en) * | 2013-03-01 | 2017-07-11 | Intel IP Corporation | Wireless local area network (WLAN) traffic offloading |
US9565099B2 (en) | 2013-03-01 | 2017-02-07 | Brocade Communications Systems, Inc. | Spanning tree in fabric switches |
US8934377B2 (en) * | 2013-03-11 | 2015-01-13 | Netspeed Systems | Reconfigurable NoC for customizing traffic and optimizing performance after NoC synthesis |
US9276846B2 (en) * | 2013-03-15 | 2016-03-01 | Cavium, Inc. | Packet extraction optimization in a network processor |
US20160065427A1 (en) * | 2013-03-28 | 2016-03-03 | Nec Corporation | Communication system, control apparatus, information collection method, and program |
US10038626B2 (en) | 2013-04-16 | 2018-07-31 | Amazon Technologies, Inc. | Multipath routing in a distributed load balancer |
WO2014169435A1 (zh) * | 2013-04-16 | 2014-10-23 | 华为技术有限公司 | 一种保护倒换的方法、网络及系统 |
US10079766B2 (en) * | 2013-05-21 | 2018-09-18 | Telefonaktiebolaget Lm Ericsson (Publ) | Methods and packet network devices for forwarding packet data traffic |
US9967191B2 (en) * | 2013-07-25 | 2018-05-08 | Cisco Technology, Inc. | Receiver-signaled entropy labels for traffic forwarding in a computer network |
US9473573B2 (en) * | 2013-08-07 | 2016-10-18 | Nec Corporation | Network followed by compute load balancing procedure for embedding cloud services in software-defined flexible-grid optical transport networks |
US9912612B2 (en) | 2013-10-28 | 2018-03-06 | Brocade Communications Systems LLC | Extended ethernet fabric switches |
US10122609B2 (en) * | 2013-12-23 | 2018-11-06 | Bae Systems Plc | Data capture |
US9548873B2 (en) | 2014-02-10 | 2017-01-17 | Brocade Communications Systems, Inc. | Virtual extensible LAN tunnel keepalives |
US9906592B1 (en) | 2014-03-13 | 2018-02-27 | Marvell Israel (M.I.S.L.) Ltd. | Resilient hash computation for load balancing in network switches |
US10581758B2 (en) | 2014-03-19 | 2020-03-03 | Avago Technologies International Sales Pte. Limited | Distributed hot standby links for vLAG |
US10476698B2 (en) | 2014-03-20 | 2019-11-12 | Avago Technologies International Sales Pte. Limited | Redundent virtual link aggregation group |
JP6303750B2 (ja) * | 2014-04-15 | 2018-04-04 | 富士通株式会社 | 中継ノード,中継ノードの帯域予約支援方法,及びネットワークシステム |
US10063473B2 (en) | 2014-04-30 | 2018-08-28 | Brocade Communications Systems LLC | Method and system for facilitating switch virtualization in a network of interconnected switches |
US9740574B2 (en) * | 2014-05-09 | 2017-08-22 | Commvault Systems, Inc. | Load balancing across multiple data paths |
US9800471B2 (en) | 2014-05-13 | 2017-10-24 | Brocade Communications Systems, Inc. | Network extension groups of global VLANs in a fabric switch |
WO2015196382A1 (zh) * | 2014-06-25 | 2015-12-30 | 华为技术有限公司 | 一种资源预留方法、装置、接入点及网络服务器 |
US9692693B2 (en) * | 2014-06-30 | 2017-06-27 | Juniper Networks, Inc. | Bandwidth control for ring-based multi-protocol label switched paths |
US10218611B2 (en) | 2014-06-30 | 2019-02-26 | Juniper Networks, Inc. | Label distribution protocol (LDP) signaled multi-protocol label switching rings |
US10616108B2 (en) | 2014-07-29 | 2020-04-07 | Avago Technologies International Sales Pte. Limited | Scalable MAC address virtualization |
US9807007B2 (en) | 2014-08-11 | 2017-10-31 | Brocade Communications Systems, Inc. | Progressive MAC address learning |
US9942097B2 (en) | 2015-01-05 | 2018-04-10 | Brocade Communications Systems LLC | Power management in a network of interconnected switches |
US10003552B2 (en) | 2015-01-05 | 2018-06-19 | Brocade Communications Systems, Llc. | Distributed bidirectional forwarding detection protocol (D-BFD) for cluster of interconnected switches |
US9876719B2 (en) | 2015-03-06 | 2018-01-23 | Marvell World Trade Ltd. | Method and apparatus for load balancing in network switches |
US10038592B2 (en) | 2015-03-17 | 2018-07-31 | Brocade Communications Systems LLC | Identifier assignment to a new switch in a switch group |
US10579406B2 (en) | 2015-04-08 | 2020-03-03 | Avago Technologies International Sales Pte. Limited | Dynamic orchestration of overlay tunnels |
US10439929B2 (en) | 2015-07-31 | 2019-10-08 | Avago Technologies International Sales Pte. Limited | Graceful recovery of a multicast-enabled switch |
US10091056B1 (en) * | 2015-08-06 | 2018-10-02 | Amazon Technologies, Inc. | Distribution of modular router configuration |
US10171303B2 (en) | 2015-09-16 | 2019-01-01 | Avago Technologies International Sales Pte. Limited | IP-based interconnection of switches with a logical chassis |
US10419282B1 (en) | 2015-09-24 | 2019-09-17 | Amazon Technologies, Inc. | Self-configuring network devices |
US9912614B2 (en) | 2015-12-07 | 2018-03-06 | Brocade Communications Systems LLC | Interconnection of switches based on hierarchical overlay tunneling |
US20170171085A1 (en) * | 2015-12-15 | 2017-06-15 | Huawei Technologies Co., Ltd. | Traffic Engineering System and Method for a Communications Network |
US10904150B1 (en) | 2016-02-02 | 2021-01-26 | Marvell Israel (M.I.S.L) Ltd. | Distributed dynamic load balancing in network systems |
US10887234B1 (en) * | 2016-02-23 | 2021-01-05 | Amazon Technologies, Inc. | Programmatic selection of load balancing output amongst forwarding paths |
CN107295033B (zh) | 2016-03-31 | 2020-07-28 | 阿里巴巴集团控股有限公司 | 一种路由方法及装置 |
US10291531B2 (en) * | 2016-06-30 | 2019-05-14 | Juniper Networks, Inc. | Bandwidth management for resource reservation protocol LSPS and non-resource reservation protocol LSPS |
US10243857B1 (en) | 2016-09-09 | 2019-03-26 | Marvell Israel (M.I.S.L) Ltd. | Method and apparatus for multipath group updates |
CN106487676A (zh) * | 2016-10-27 | 2017-03-08 | 盛科网络(苏州)有限公司 | 一种基于大象流的动态ecmp芯片实现方法 |
US10237090B2 (en) | 2016-10-28 | 2019-03-19 | Avago Technologies International Sales Pte. Limited | Rule-based network identifier mapping |
US10230621B2 (en) * | 2017-05-09 | 2019-03-12 | Juniper Networks, Inc. | Varying a per-hop-bandwidth constraint in multi-path label switched paths |
US10212089B1 (en) * | 2017-09-21 | 2019-02-19 | Citrix Systems, Inc. | Encapsulating traffic entropy into virtual WAN overlay for better load balancing |
US11477100B2 (en) * | 2017-09-26 | 2022-10-18 | Zte Corporation | Residence time measurement for traffic engineered network |
CN107689916B (zh) * | 2017-10-09 | 2020-04-24 | 湖南大学 | 一种在软件定义网络中获取完全风险共享链路组分离路径对的方法及系统 |
US10826831B2 (en) * | 2018-05-30 | 2020-11-03 | Cisco Technology, Inc. | Dynamic protocol independent multicast load balancing |
US10771405B2 (en) * | 2018-10-26 | 2020-09-08 | Cisco Technology, Inc. | Switching and load balancing techniques in a communication network |
US12010014B2 (en) | 2019-03-11 | 2024-06-11 | Drivenets Ltd. | System and a method for routing traffic in an MPLS network |
US10965602B2 (en) * | 2019-03-14 | 2021-03-30 | Intel Corporation | Software assisted hashing to improve distribution of a load balancer |
US20200403922A1 (en) * | 2019-06-24 | 2020-12-24 | Vmware, Inc. | Load balancing of l2vpn traffic over multiple ipsec vpn tunnels |
US11573900B2 (en) * | 2019-09-11 | 2023-02-07 | Intel Corporation | Proactive data prefetch with applied quality of service |
CN112804159A (zh) * | 2019-11-14 | 2021-05-14 | 华为技术有限公司 | 流量分配方法及装置 |
CN113395735B (zh) * | 2020-03-11 | 2023-07-07 | 华为技术有限公司 | 一种报文传输方法、装置和网络设备 |
CN113965525A (zh) * | 2020-07-06 | 2022-01-21 | 华为技术有限公司 | 一种负载均衡方法、装置、网络设备及系统 |
CN118200771A (zh) * | 2020-09-27 | 2024-06-14 | 华为技术有限公司 | 一种数据帧的发送方法和网络设备 |
CN112491726B (zh) * | 2020-11-03 | 2022-09-16 | 晏平 | 路由查找分析方法、装置、计算机设备及存储介质 |
US11445012B2 (en) | 2020-11-25 | 2022-09-13 | Seagate Technology Llc | Proactive load balancer for data storage system |
Family Cites Families (31)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US4199663A (en) * | 1978-11-06 | 1980-04-22 | The Boeing Company | Autonomous terminal data communications system |
US6091725A (en) * | 1995-12-29 | 2000-07-18 | Cisco Systems, Inc. | Method for traffic management, traffic prioritization, access control, and packet forwarding in a datagram computer network |
US6243667B1 (en) * | 1996-05-28 | 2001-06-05 | Cisco Systems, Inc. | Network flow switching and flow data export |
US6118760A (en) * | 1997-06-30 | 2000-09-12 | Sun Microsystems, Inc. | Management of entries in a network element forwarding memory |
CN1293478C (zh) * | 1999-06-30 | 2007-01-03 | 倾向探测公司 | 用于监控网络流量的方法和设备 |
EP1133112B1 (de) * | 2000-03-10 | 2005-02-09 | Siemens Aktiengesellschaft | Verfahren zum Verteilen einer Datenverkehrslast eines Kommunikationsnetzes und Kommunikationsnetz zur Realisierung des Verfahrens |
US6553005B1 (en) * | 2000-07-26 | 2003-04-22 | Pluris, Inc. | Method and apparatus for load apportionment among physical interfaces in data routers |
US7319700B1 (en) * | 2000-12-29 | 2008-01-15 | Juniper Networks, Inc. | Communicating constraint information for determining a path subject to such constraints |
US6980550B1 (en) * | 2001-01-16 | 2005-12-27 | Extreme Networks, Inc | Method and apparatus for server load balancing |
US7149217B2 (en) * | 2001-08-14 | 2006-12-12 | Extreme Networks | Load-sharing technique for distributing multi-protocol label switching protocol encapsulated flows across multiple physical links |
US6909713B2 (en) * | 2001-09-05 | 2005-06-21 | Intel Corporation | Hash-based data frame distribution for web switches |
US20030137971A1 (en) * | 2002-01-22 | 2003-07-24 | Mark Gibson | Telecommunications system and method |
JP3957570B2 (ja) * | 2002-06-17 | 2007-08-15 | 日本電気株式会社 | ルータ装置 |
DE60303384T2 (de) * | 2002-06-24 | 2006-08-17 | International Business Machines Corp. | Lastausgleich in datennetzwerken |
US7039018B2 (en) * | 2002-07-17 | 2006-05-02 | Intel Corporation | Technique to improve network routing using best-match and exact-match techniques |
US7206861B1 (en) * | 2002-07-29 | 2007-04-17 | Juniper Networks, Inc. | Network traffic distribution across parallel paths |
US7277386B1 (en) * | 2002-11-12 | 2007-10-02 | Juniper Networks, Inc. | Distribution of label switched packets |
US6970464B2 (en) * | 2003-04-01 | 2005-11-29 | Cisco Technology, Inc. | Method for recursive BGP route updates in MPLS networks |
US8590032B2 (en) * | 2003-12-10 | 2013-11-19 | Aventail Llc | Rule-based routing to resources through a network |
US8312145B2 (en) * | 2003-12-22 | 2012-11-13 | Rockstar Consortium US L.P. | Traffic engineering and bandwidth management of bundled links |
US7477642B2 (en) * | 2004-02-03 | 2009-01-13 | Redback Networks, Inc. | MPLS traffic engineering for point-to-multipoint label switched paths |
US8107363B1 (en) * | 2004-05-21 | 2012-01-31 | Rockstar Bidco, LP | Method and apparatus for accelerating failover of VPN traffic in an MPLS provider network |
US7496105B2 (en) * | 2004-11-05 | 2009-02-24 | Cisco Technology, Inc. | System and method for retrieving computed paths from a path computation element using encrypted objects |
US9306831B2 (en) * | 2005-02-14 | 2016-04-05 | Cisco Technology, Inc. | Technique for efficient load balancing of TE-LSPs |
US20070109015A1 (en) * | 2005-11-15 | 2007-05-17 | Alcatel | Switched integrated circuit connection architectures and techniques |
US7733784B2 (en) * | 2005-12-07 | 2010-06-08 | Electronics And Telecommunications Research Institute | Apparatus and method of selecting label switched path in network management system |
US7710872B2 (en) * | 2005-12-14 | 2010-05-04 | Cisco Technology, Inc. | Technique for enabling traffic engineering on CE-CE paths across a provider network |
US7623466B2 (en) * | 2006-04-20 | 2009-11-24 | Alcatel Lucent | Symmetric connection detection |
JP4732972B2 (ja) * | 2006-06-30 | 2011-07-27 | 株式会社エヌ・ティ・ティ・ドコモ | アドホックネットワーク、ノード、経路制御方法、及び経路制御プログラム |
US7808898B2 (en) * | 2007-08-14 | 2010-10-05 | Hewlett-Packard Development Company, L.P. | Flow estimator |
JP5419974B2 (ja) * | 2009-02-19 | 2014-02-19 | 華為技術有限公司 | ポイントツーマルチポイントドメイン間マルチプロトコルラベルスイッチングトラフィックエンジニアリング経路計算のシステム、及び方法 |
-
2009
- 2009-07-22 US US12/507,200 patent/US8218553B2/en active Active
-
2010
- 2010-01-22 EP EP10151477A patent/EP2224649B1/en active Active
- 2010-02-25 CN CN2010101351952A patent/CN101815035B/zh active Active
-
2012
- 2012-04-25 US US13/456,046 patent/US20120207012A1/en not_active Abandoned
Cited By (28)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101938422A (zh) * | 2010-09-16 | 2011-01-05 | 中兴通讯股份有限公司 | 多协议标签交换流量工程中隧道抢占的方法及装置 |
CN104604196A (zh) * | 2011-10-31 | 2015-05-06 | 惠普发展公司,有限责任合伙企业 | 从期望的网络标准实现能量均衡网络架构 |
CN104521194A (zh) * | 2012-05-30 | 2015-04-15 | 阿尔卡特朗讯公司 | 管理mpls-te过载的系统和方法 |
CN104521194B (zh) * | 2012-05-30 | 2017-11-10 | 阿尔卡特朗讯公司 | 管理mpls‑te过载的系统和方法 |
CN102761480B (zh) * | 2012-06-28 | 2017-11-28 | 中兴通讯股份有限公司 | 一种资源分配方法及装置 |
CN102761480A (zh) * | 2012-06-28 | 2012-10-31 | 中兴通讯股份有限公司 | 一种资源分配方法及装置 |
CN103746931B (zh) * | 2012-09-28 | 2017-07-11 | 瞻博网络公司 | 一种用于计算机网络的方法、网络设备及服务卡 |
CN103746931A (zh) * | 2012-09-28 | 2014-04-23 | 瞻博网络公司 | 在服务应用后用网络设备维持负载均衡 |
WO2014134814A1 (zh) * | 2013-03-07 | 2014-09-12 | 华为技术有限公司 | 一种基于服务等级流量信息的流量矩阵的计算方法及装置 |
CN104426766A (zh) * | 2013-08-30 | 2015-03-18 | 瞻博网络公司 | 跨多个网络层的动态端到端网络路径建立 |
CN104426766B (zh) * | 2013-08-30 | 2019-03-15 | 瞻博网络公司 | 跨多个网络层的动态端到端网络路径建立 |
WO2015192690A1 (zh) * | 2014-06-16 | 2015-12-23 | 华为技术有限公司 | 一种网络中建立硬管道方法、转发报文方法和装置 |
US10237174B2 (en) | 2014-06-16 | 2019-03-19 | Huawei Technologies Co., Ltd. | Method for establishing hard pipe in network, and method and apparatus for forwarding packet in network |
CN105282030A (zh) * | 2014-06-30 | 2016-01-27 | 瞻博网络公司 | 多协议标签切换环 |
CN105282030B (zh) * | 2014-06-30 | 2019-12-17 | 瞻博网络公司 | 一种用于通信的方法、路由器和存储介质 |
CN104468391A (zh) * | 2014-12-16 | 2015-03-25 | 盛科网络(苏州)有限公司 | 根据隧道报文的用户信息实现负载均衡的方法及系统 |
CN107231304A (zh) * | 2016-03-23 | 2017-10-03 | 瞻博网络公司 | 用于使用最小转发信息库来转发网络流量方法、系统和装置 |
CN106209906A (zh) * | 2016-08-24 | 2016-12-07 | 迈普通信技术股份有限公司 | 一种二层隧道协议l2tp报文传输方法及隧道端点设备 |
CN108574633A (zh) * | 2017-03-08 | 2018-09-25 | 瞻博网络公司 | 用于跨网络内的标签交换路径来共享标签的装置、系统和方法 |
CN108574633B (zh) * | 2017-03-08 | 2021-08-17 | 瞻博网络公司 | 用于跨网络内的标签交换路径来共享标签的装置、系统和方法 |
US11233748B1 (en) | 2018-08-30 | 2022-01-25 | Juniper Networks, Inc. | Bandwidth management for resource reservation label switched path of a ring network |
CN111988683A (zh) * | 2019-05-24 | 2020-11-24 | 华为技术有限公司 | 一种带宽分配方法以及相关设备 |
CN111988683B (zh) * | 2019-05-24 | 2021-11-19 | 华为技术有限公司 | 一种带宽分配方法以及相关设备 |
US11800265B2 (en) | 2019-05-24 | 2023-10-24 | Huawei Technologies Co., Ltd. | Bandwidth allocation method and related device |
CN112118178A (zh) * | 2019-06-21 | 2020-12-22 | 瞻博网络公司 | Ip网络中基于类别的流量工程 |
CN112118178B (zh) * | 2019-06-21 | 2022-06-21 | 瞻博网络公司 | 网络装置和用于ip网络中基于类别的流量工程的方法 |
CN112019620A (zh) * | 2020-08-28 | 2020-12-01 | 中南大学 | 基于Nginx动态加权的Web集群负载均衡算法及系统 |
CN112019620B (zh) * | 2020-08-28 | 2021-12-28 | 中南大学 | 基于Nginx动态加权的Web集群负载均衡方法及系统 |
Also Published As
Publication number | Publication date |
---|---|
EP2224649B1 (en) | 2012-09-19 |
EP2224649A1 (en) | 2010-09-01 |
US20100214913A1 (en) | 2010-08-26 |
CN101815035B (zh) | 2012-06-13 |
US8218553B2 (en) | 2012-07-10 |
US20120207012A1 (en) | 2012-08-16 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN101815035B (zh) | 使用rsvp-te在标签交换路径上负载均衡网络流量 | |
CN103746931B (zh) | 一种用于计算机网络的方法、网络设备及服务卡 | |
CN111385206B (zh) | 报文转发的方法、网络系统、相关设备及计算机存储介质 | |
US9923798B1 (en) | Dynamic load balancing of network traffic on a multi-path label switched path using resource reservation protocol with traffic engineering | |
CN101741709B (zh) | 建立标签交换路径的方法、系统及网络节点 | |
CN101843045B (zh) | 链路聚合组上的固定和保护 | |
CN101861714B (zh) | 用于建立分级分段的标签交换路径的方法及其网络 | |
CN101133408B (zh) | 穿过一组自治系统的最短域间流量工程标签交换路径计算 | |
US7839767B2 (en) | Path reroute in a computer network | |
CN104429027B (zh) | 用于在电信网络中建立链路分集业务路径的方法和相关设备 | |
CN105323167B (zh) | 多协议标签切换环 | |
US20130336324A1 (en) | Tunnel provisioning with link aggregation | |
CN105323168B (zh) | 多协议标签切换环 | |
CN114553769B (zh) | 计算机网络中的端到端流监控 | |
CN101820395A (zh) | 基于mpls的路由信息配置和私网标签添加方法及装置 | |
Li et al. | BOND: Flexible failure recovery in software defined networks | |
US7826394B2 (en) | Method, system and device for implementing traffic engineering | |
CN108141410A (zh) | 针对标签交换路径的先通后断机制 | |
WO2003058868A2 (en) | Dynamic route selection for label switched paths in communication networks | |
CN107888497A (zh) | 通信方法、网络设备和计算机可读存储介质 | |
CN110519163A (zh) | 检测环网络中点对多点标签交换路径的出口 | |
US9049142B1 (en) | Method and apparatus to enable protection for selective traffic in an MPLS network | |
CN108881017A (zh) | 改变多路径标签交换路径中的每跳带宽约束 | |
CN102132524A (zh) | 用于建立业务连接及相关监控连接的方法 | |
CN104320336B (zh) | 一种mpls te链路带宽信息发布处理方法和装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant | ||
C56 | Change in the name or address of the patentee |
Owner name: JUNIPER NETWORKS INC. Free format text: FORMER NAME: NETSCREEN TECHNOLOGIES INC. |
|
CP01 | Change in the name or title of a patent holder |
Address after: California, USA Patentee after: Juniper Networks, Inc. Address before: California, USA Patentee before: Jungle network |