CN108881017B - 改变多路径标签交换路径中每跳带宽约束的方法及路由器 - Google Patents
改变多路径标签交换路径中每跳带宽约束的方法及路由器 Download PDFInfo
- Publication number
- CN108881017B CN108881017B CN201810288711.1A CN201810288711A CN108881017B CN 108881017 B CN108881017 B CN 108881017B CN 201810288711 A CN201810288711 A CN 201810288711A CN 108881017 B CN108881017 B CN 108881017B
- Authority
- CN
- China
- Prior art keywords
- router
- per
- hop
- resource reservation
- lsp
- 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.)
- Active
Links
- 238000000034 method Methods 0.000 title claims abstract description 78
- 235000008694 Humulus lupulus Nutrition 0.000 claims abstract description 20
- 230000004048 modification Effects 0.000 claims description 34
- 238000012986 modification Methods 0.000 claims description 34
- 230000004044 response Effects 0.000 claims description 29
- 230000000875 corresponding effect Effects 0.000 description 44
- 208000010718 Multiple Organ Failure Diseases 0.000 description 20
- 238000010586 diagram Methods 0.000 description 16
- 230000011664 signaling Effects 0.000 description 13
- 230000008859 change Effects 0.000 description 10
- 238000011144 upstream manufacturing Methods 0.000 description 10
- 230000008901 benefit Effects 0.000 description 3
- 238000004891 communication Methods 0.000 description 3
- 230000006870 function Effects 0.000 description 3
- 230000003287 optical effect Effects 0.000 description 3
- 238000003491 array Methods 0.000 description 2
- 230000005540 biological transmission Effects 0.000 description 2
- 239000000284 extract Substances 0.000 description 2
- 230000000977 initiatory effect Effects 0.000 description 2
- 230000007246 mechanism Effects 0.000 description 2
- 230000008569 process Effects 0.000 description 2
- 238000012545 processing Methods 0.000 description 2
- RYGMFSIKBFXOCR-UHFFFAOYSA-N Copper Chemical compound [Cu] RYGMFSIKBFXOCR-UHFFFAOYSA-N 0.000 description 1
- 238000013459 approach Methods 0.000 description 1
- 238000004590 computer program Methods 0.000 description 1
- 230000002596 correlated effect Effects 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 239000004744 fabric Substances 0.000 description 1
- 239000000835 fiber Substances 0.000 description 1
- 238000012544 monitoring process Methods 0.000 description 1
- 230000003449 preventive effect Effects 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
Images
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/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/24—Multipath
-
- 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/20—Hop count for routing purposes, e.g. TTL
-
- 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/02—Topology update or discovery
- H04L45/10—Routing in connection-oriented networks, e.g. X.25 or ATM
-
- 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/16—Multipoint 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/34—Source 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/58—Association of 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/66—Layer 2 routing, e.g. in Ethernet based MAN's
-
- 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/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
- 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
-
- 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/74—Admission control; Resource allocation measures in reaction to resource unavailability
- H04L47/748—Negotiation of resources, e.g. modification of a request
-
- 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/82—Miscellaneous aspects
- H04L47/825—Involving tunnels, e.g. MPLS
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本发明涉及一种改变多路径标签交换路径中每跳带宽约束的方法及路由器。描述了一种用于改变沿着多路径标签交换路径(MP‑LSP)的子标签交换路径(子LSP)的路径的一个或多个跳跃处的带宽约束的技术。该技术包括由入口路由器为MP‑LSP的多个子LSP计算多条路径并且由入口路由器针对多条路径中的每条路径输出相应的资源预留请求消息以建立多个子LSP的相应子LSP,每个相应资源预留请求消息包括显式路由的指示、指示MP‑LSP的隧道标识符、相应子LSP的标识符、与多个输入每跳带宽约束中的相应输入每跳带宽约束对应的每跳带宽约束的指示以及一个或多个修改每跳带宽约束的指示的指令。
Description
优先权要求
本申请要求于2017年5月9日提交的美国专利申请第15/590711号的权益,其全部内容通过引用并入本文。
技术领域
本公开涉及计算机网络,并且更具体地涉及在计算机网络内的工程流量流。
背景技术
术语“链路”通常用于指代计算机网络上的两个设备之间的连接。链路可以是物理介质,诸如铜线、同轴电缆、众多不同的光纤线路中的任何一个等,或无线连接。另外,网络设备可以定义“虚拟”或“逻辑”链路,并将虚拟链路映射到物理链路。随着网络规模和复杂性的增加,任何给定链路上的流量都可能接近该链路的最大带宽容量,从而导致拥塞和丢失。
多协议标签交换(MPLS)是用于设计互联网协议(IP)网络内的流量模式的机制。通过利用MPLS,源设备可以请求穿过一网络的路径,即标签交换路径(LSP)。LSP定义了不同的穿过网络的路径将来自源设备的MPLS分组携带到目的地设备。与特定LSP相关联的短标签被附加到经由LSP通过网络的分组上。沿着路径的路由器协作执行MPLS操作,以沿着建立的路径转发MPLS分组。LSP可用于各种流量工程目的,包括带宽管理和服务质量(QoS)。
存在用于建立LSP的各种协议。例如,一个这样的协议是标签分发协议(LDP)。标签交换路由器(LSR)分发标签以支持沿正常路由路径的MPLS转发的LDP过程,记载在RFC3036,“LDP规范”,互联网工程任务组(IETF)中,其通过引用结合于此。另一种类型的协议是资源预留协议,例如具有流量工程扩展的资源预留协议(RSVP-TE)。RSVP-TE使用约束信息(如带宽可用性)来计算和建立网络内的LSP。RSVP-TE可以使用由链路状态内部路由协议(例如中间系统-中间系统(ISIS)协议或开放最短路径优先(OSPF)协议)累积的带宽可用性信息。RSVP-TE建立从入口设备到出口设备的LSP。在RFC3209,“RSVP-TE:Extensions toRSVP for LSP Tunnels”(IETF,2001年12月)中描述了包括在MPLS中建立LSP的扩展的RSVP(资源预留协议)的使用,该文献通过引用结合于此,并且在本文中称为“RFC 3209”。在RFC2210“The Use of RSVP with IETF Integrated Services”(IETF,1997年9月)中描述了使用RSVP对象来定义LSP,通过引证将其并入本文,并且在本文中称为“RFC 2210”。
发明内容
总的来说,本公开内容针对一种对于允许MP-LSP的子标签交换路径(子-LSP)来定义带宽约束的多路径标签交换路径(称为“多路径LSP”,或简称为“MP-LSP”)进行建立的技术,该带宽约束(bandwidth constraint)可以在沿着MP-LSP的路径的任何跳跃(hop)中变化。例如,当一个子LSP处的带宽的减少被另一个子LSP处的带宽增加所达到时,入口路由器可以允许MP-LSP的两个或更多个子LSP在共同中转路由器处具有变化的输入和输出带宽。
在一个示例方面中,一种方法包括:由入口路由器计算用于MP-LSP的多个子LSP的多个路径。计算多个路径包括为共同中转路由器确定多个路径的多个输入每跳带宽约束(per-hop bandwidth constraint,逐跳带宽约束)和多个路径的多个输出每跳带宽约束。多个输入每跳带宽约束预留的带宽量的总和对应于多个输出每跳带宽约束预留的带宽量的总和。对于多个路径中的每个路径,多个输入每跳带宽约束中的相应输入每跳带宽约束与多个输出每跳带宽约束中的相应输出每跳带宽约束具有不同的值。该方法还包括由入口路由器为多个路径中的每个路径输出相应的资源预留请求消息以建立多个子LSP的相应子LSP。每个相应的资源预留请求消息包括显式路由的指示、指示MP-LSP的隧道标识符、用于相应子LSP的标识符、对应于多个输入每跳带宽约束的相应输入每跳带宽约束的每跳带宽约束的指示以及修改每跳带宽约束的指示的一个或多个指令。该一个或多个指令包括在共同中转路由器处修改每跳带宽约束的指示以对应于(to correspond to)多个输出每跳带宽约束中的相应输出每跳带宽约束的指令。
在另一个示例方面,一种路由器包括以电路实现的一个或多个处理器。该一个或多个处理器被配置为计算MP-LSP的多个子LSP的多个路径。计算多个路径包括为共同中转路由器确定多个路径的多个输入每跳带宽约束和多个路径的多个输出每跳带宽约束。由多个输入每跳带宽约束预留的带宽量的总和对应于由多个输出每跳带宽约束预留的带宽量的总和。对于多个路径中的每个路径,多个输入每跳带宽约束中的相应输入每跳带宽约束与多个输出每跳带宽约束的相应输出每跳带宽约束具有不同的值。一个或多个处理器还被配置为针对多个路径中的每个路径输出相应的资源预留请求消息,以建立所述多个子LSP的相应子LSP。每个相应的资源预留请求消息包括显式路由的指示、指示MP-LSP的隧道标识符、用于相应子LSP的标识符、对应于多个输入每跳带宽约束的相应输入每跳带宽约束的每跳带宽约束的指示以及修改每跳带宽约束的指示的一个或多个指令。该一个或多个指令包括在共同中转路由器修改每跳带宽约束的指示以对应于多个输出每跳带宽约束的相应输出每跳带宽约束的指令。
在另一示例方面中,一种计算机可读存储介质包括用于使可编程处理器配置为计算针对MP-LSP的多个子LSP的多个路径的指令。计算所述多个路径包括:为共同中转路由器确定多个路径的多个输入每跳带宽约束和多个路径的多个输出每跳带宽约束。多个输入每跳带宽约束所预留的带宽量的总和对应于多个输出每跳带宽约束所预留的带宽数量的总和。对于多个路径中的每个路径,多个输入每跳带宽约束中的相应输入每跳带宽约束与多个输出每跳带宽约束中的相应输出每跳带宽约束具有不同的值。该指令进一步使可编程处理器配置为对多个路径中的每个路径输出相应的资源预留请求消息以建立多个子LSP中的相应子LSP。每个相应的资源预留请求消息包括显式路由的指示、指示MP-LSP的隧道标识符、用于相应子LSP的标识符、对应于多个输入每跳带宽约束的相应输入每跳带宽约束的每跳带宽约束的指示以及修改所述每跳带宽约束的指示的一个或多个指令。该一个或多个指令包括在共同转接路由器处修改每跳带宽约束的指示以对应于多个输出每跳带宽约束中的相应输出每跳带宽约束的指令。
在另一个示例方面,一种方法包括:由中转路由器接收用于MP-LSP的子LSP的路径的资源预留请求消息,以建立子LSP。资源预留请求消息包括显式路由的指示、指示MP-LSP的隧道标识符、对应于第一每跳带宽约束的每跳带宽约束的指示以及一个或多个修改每跳带宽约束的指示的指令。所述一个或多个指令包括在所述中转路由器处修改所述每跳带宽约束的指示以对应于具有不同于所述第一每跳带宽约束的值的第二每跳带宽约束的指令。所述方法还包括:由中转路由器修改所述每跳带宽约束的指示以对应于所述第二每跳带宽约束;以及由所述中转路由器在修改所述每跳带宽约束的指示后输出所述资源预留请求消息。
在另一个示例方面,一种路由器包括以电路实现的一个或多个处理器。所述一个或多个处理器被配置为接收针对MP-LSP的子LSP的资源预留请求消息以建立所述子LSP。资源预留请求消息包括显式路由的指示、指示MP-LSP的隧道标识符、对应于第一每跳带宽约束的每跳带宽约束的指示、以及用于修改每跳带宽约束的指示的一个或多个指令。所述一个或多个指令包括:用于在所述中转路由器处修改所述每跳带宽约束的指示以对应于具有与所述第一每跳带宽约束不同的值的第二每跳带宽约束的指令。一个或多个处理器进一步被配置为修改所述每跳带宽约束的指示以对应于所述第二每跳带宽约束,和在修改所述每跳带宽约束的指示之后,输出所述资源预留请求消息。
在另一示例方面,一种计算机可读存储介质包括用于使可编程处理器配置为接收针对MP-LSP的子LSP的资源预留请求消息以建立子LSP的指令。资源预留请求消息包括显式路由的指示、指示MP-LSP的隧道标识符、对应于第一每跳带宽约束的每跳带宽约束的指示以及用于修改每跳带宽约束的指示的一个或多个指令。该指令进一步使得可编程处理器配置为在所述中转路由器处修改所述每跳带宽约束的指示以对应于具有与所述第一每跳带宽约束不同的值的第二每跳带宽约束的指令。一个或多个处理器进一步被配置为修改所述每跳带宽约束的指示以对应于所述第二每跳带宽约束,和在修改所述每跳带宽约束的指示之后,输出所述资源预留请求消息。
在附图和下面的描述中阐述了一个或多个示例的细节。其他特征、目的和优点将从说明书和附图以及权利要求中显而易见。
附图说明
图1是示出了具有在入口路由器和出口路由器之间的网络上建立的MP-LSP的示例性计算机网络的框图。
图2是示出了由计算机网络内的路由器发送用于建立具有变化的每跳带宽约束的MP-LSP的示例性资源预留请求消息的框图。
图3是示出了由计算机网络内的路由器发送用于建立具有变化的每跳带宽约束的MP-LSP的示例性资源预留回复消息的框图。
图4是示出了根据本文描述的技术的能够支持具有MP-LSP扩展的RSVP-TE的示例路由器的框图。
图5是示出了建立具有变化的每跳带宽约束的MP-LSP的入口路由器的示例性操作的流程图。
图6是示出了在建立具有变化的每跳带宽约束的MP-LSP时中转路由器的示例性操作的流程图。
图7是示出了用信号通知变化的每跳带宽约束的示例性资源预留请求消息的框图。
图8是示出了图7的用信号通知变化的每跳带宽约束的资源预留请求消息的示例性发送方描述符的框图。
图9是示出了图8的用信号通知变化的每跳带宽约束的发送方描述符的示例性发送方流量说明符(TSPEC)修改对象的框图。
具体实施方式
通常,设备(例如,路由器)可以被配置为使用各种协议来建立标签交换路径(LSP)。例如,设备可以使用具有流量工程扩展的资源预留协议(RSVP-TE)建立具有预留带宽的LSP。本文描述的技术包括对RSVP-TE协议的扩展,其使得路由器能够发送资源预留请求消息以用于建立指定可以沿着子LSP每跳改变的带宽约束的子LSP。
在一些系统中,入口路由器可以允许带宽约束在沿着子LSP的跳跃处变化。例如,入口路由器可以建立在入口路由器和出口路由器之间延伸的第一子LSP,以及在入口路由器和出口路由器之间延伸的第二子LSP。在这个示例中,第一和第二子LSP都包括在共同中转路由器处的跳跃。这样,本文描述的技术允许入口路由器在对应于共同中转路由器的跳跃处改变第一和第二子LSP的带宽约束。例如,入口路由器可以利用用于共同中转路由器的指令来建立指定单个每跳带宽约束的第一子LSP,以将第一子LSP的单个每跳带宽约束增加30兆字节/每秒,并且利用用于共同中转路由器的指令来建立指定单个每跳带宽约束的第二子LSP,以将第二子LSP的单个每跳带宽约束减少30兆字节/每秒。
本文描述的技术包括对RSVP-TE协议的扩展,其使得路由器能够建立允许在MP-LSP的子LSP处改变带宽的MP-LSP。例如,不要求路由器将在入口路由器和出口路由器之间延伸的单个子LSP分割成多个子LSP,该技术允许资源预留请求消息包括修改用于MP-LSP的入口路由器和出口路由器之间的跳跃处的子LSP的每跳带宽约束的指令。这可以减少对网络中额外的子LSP的需求,从而潜在地减少了用于发送信令消息以及存储额外的子LSP的状态的计算资源的量。
这些技术可以提供一个或多个优点。例如,这些技术可以允许网络内的设备更好地利用整个网络上各种路径上的可用带宽。换言之,能够在建立子LSP时改变每跳带宽约束,可以通过在中转路由器处分割用于MP-LSP的流量并且允许沿着MP-LSP的每跳预留不同带宽值。另外,本文描述的用于可变每跳带宽信令的技术可以减少需要在网络中保持的状态量,因为与不使用可变的每跳带宽信令的技术相比,本技术潜在地在一对端点之间建立更少的子LSP。
图1是示出包括具有在入口路由器12A和出口路由器12B之间的网络14的链路22A-22F(统称为链路22)上建立的MP-LSP 16的示例性计算机网络14的系统10的框图。例如,MP-LSP 16可以包括RSVP-TE LSP。如本文所述,在图1的示例中,路由器12A-12G(统称为路由器12)使用修改后的RSVP-TE协议,该协议已被扩展为支持MP-LSP的子LSP的变化的每跳带宽约束。入口路由器12A可以被配置为建立具有MP-LSP的子LSP 18A-18B(统称为子LSP 18)的MP-LSP 16。可以将MP-LSP 16视为单个入口和单个出口之间的点到点隧道,该隧道被构建为包含多个中间子LSP。分组经由子LSP18之一从路由器12A(也被称为“入口路由器12A”)发送到路由器12B(也被称为“出口路由器12B”)。
网络14可以包括比图1中所示的数量更多的路由器。网络流量的最终来源可以包括向网络14中的入口路由器12A提供流量的一个或多个设备和/或任何共同或专用网络或互联网(未示出)。网络流量的最终目的地可以包括一个或多个目的地设备和/或包含多个设备的网络(未示出),其可以包括LAN或广域网(WAN)。例如,目的地设备可以包括通过网络14访问来源的个人计算机、膝上型计算机、工作站、个人数字助理(PDA)、无线设备、网络就绪设备(network-ready appliances)、文件服务器、打印服务器或其他设备。
这里描述的对RSVP-TE的扩展可以使得入口路由器12A能够计算多个子LSP18到出口(多个)路由器12B的路径,并且将用于MP-LSP 16的多个资源预留请求消息沿着选定的一些子LSP18发送到下游路由器12。由于子LSP 18可以被允许在路由器12之间的不同跳跃中具有变化的带宽,因此可以要求路由器12比如果在出口路由器12A和入口路由器12B之间延伸的每个路径构造具有恒定带宽的不同的较少LSP(未示出)时存储网络14中的更少状态。
网络14可以被配置为建立LSP来连接不与MP-LSP 16相关联的路由器12。例如,如图1所示,其他LSP 17A-17D(“LSP17”)可以在网络14的路由器12之间具有预留带宽。具体而言,LSP 17A在路由器12A和12C之间延伸的链路22A上预留带宽(例如,每秒50兆字节),LSP17B在路由器12A和12G之间延伸的链路22E上预留带宽(例如,每秒50兆字节),LSP 17C在路由器12G和12D之间延伸的链路22C上预留带宽(例如,每秒70兆字节),并且LSP 17D在路由器12G和12B之间延伸的链路22F上预留带宽(例如,每秒30兆字节)。在此描述的对RSVP-TE的扩展可以使得入口路由器12A能够计算多个子LSP朝向一个或多个出口路由器12B的路径,该路径考虑LSP 17的先前预留的带宽,同时用信号通知具有变化的每跳带宽的新子LSP。
在一些示例中,响应于网络管理员或外部路径计算引擎(PCE)设备发起从路由器12A到路由器12B的MP-LSP 16的建立,入口路由器12A使用扩展的RSVP-TE协议来计算满足网络管理员施加的对隧道的某些约束的到出口路由器12B的一些或全部可用的子LSP。施加的约束可以包括例如带宽、链路颜色(link color)、共享风险链路组(SRLG)等。例如,网络管理员可能希望为每秒100兆字节的网络流量配置MP-LSP 16。RSVP-TE使用关于网络14内的链路的约束信息(例如带宽可用性)来计算子LSP。例如,RSVP-TE可以使用由链路状态内部路由协议(例如中间系统-中间系统(ISIS)协议或开放最短路径优先(OSPF)协议)收集的带宽可用性信息。执行如本文扩展的RSVP-TE的入口路由器12A计算多个子LSP,包括带宽的某些约束大体上针对多个子LSP提供必需的带宽可用性。这在下面的示例中进一步详细描述。尽管为了示例的目的而描述了入口路由器计算子LSP,但是在一些示例中,诸如PCE的外部实体可以计算入口路由器12A随后可以建立的子LSP以建立MP-LSP 16。
如进一步详细描述的,入口路由器12A可以向P2P子LSP(MP-LSP 16的关联组件)发信号,使得与其他跳约相比,子LSP的跳约可以具有请求的不同带宽。另外,入口路由器12A可以包括计费机制,使得当计算MP-LSP 16时,在沿着子LSP的每一跳跃处,由MP-LSP 16的输入每跳带宽约束要预留的带宽量的总和对应于(例如,等于)由输出每跳带宽约束要预留的带宽量的总和。
例如,入口路由器12A可以确定用于MP-LSP 16的总输入和输出每跳带宽约束。具体地,在该示例中,入口路由器12A可以将从路由器12C到路由器12G的每秒50兆字节的每跳带宽约束减小到从路由器12G到路由器12D的每秒30兆字节的每跳带宽约束。在该示例中,入口路由器12A可以确定用于MP-LSP16的总输入和总输出的每跳带宽约束,其包括子LSP18B上的预留带宽的增加。具体地,在该示例中,入口路由器12A可以将从路由器12A到路由器12G的每秒50兆字节的每跳带宽约束增加到从路由器12G到路由器12B的每秒70兆字节的每跳带宽约束。以这种方式,入口路由器12A将在路由器12G处的跳跃处的总输入每跳带宽约束(例如,100兆字节每秒)与在路由器12G处的跳跃处的总输出每跳带宽约束(例如,100兆字节每秒)相匹配,同时允许改变在MP-LSP 16的子LSP 18的带宽。
另外,当路由器12中的一些路由器没有专门配置用于RSVP-TE协议的扩展时,路由器12可以被配置为使用使路由器12能够建立MP-LSP 16的RSVP-TE协议的扩展。例如,如进一步详细描述的,路由器12可以通告本文档中描述的能力(例如,每个节点能力通告)。在一些示例中,入口路由器12A可以发起具有变化的每跳带宽约束的LSP信令,同时要求有能力的设备执行变化的每跳带宽约束的信令,而不必要求无能力的设备执行变化的每跳带宽约束的信令。例如,响应于接收到的指示路由器12G被配置用于允许路由器12G在路由器12G处改变带宽约束的RSVP-TE协议的扩展并且路由器12C未被配置用于该扩展的通告能力信息,入口路由器12A可以建立MP-LSP 16来指示路由器12G改变在对应于路由器12G的跳跃处的带宽约束。在该示例中,尽管路由器12C没有专门配置为支持在路由器12C处改变带宽约束,但路由器12可以建立MP-LSP 16,因为MP-LSP 16不改变与路由器12C对应的跳跃处的带宽约束。
更具体地,现有标准可以允许入口路由器12A在资源预留请求消息的发送方流量说明符(TSPEC)对象(也被称为“SENDER_TSPEC”)中指定不变的每跳带宽约束。TSPEC对象的示例在图8中示出。根据本文描述的一个或多个技术,入口路由器12A可以通过对发送方TSPEC修改对象(也被称为“SENDER_TSPEC_MODS对象”)中的一个或多个修改进行编码来生成对不变的每跳带宽约束的一个或多个修改的指令。TSPEC修改对象的示例在图8和图9中示出。通过这种方式,没有专门配置用于允许相应的路由器改变在跳跃处的带宽约束的RSVP-TE协议的扩展的路由器12可以用来使用发送方TSPEC对象来建立MP-LSP 16,同时忽略发送方TSPEC修改对象,从而允许路由器12在路由器12中的一些路由器没有专门配置用于RSVP-TE协议的扩展时建立MP-LSP 16。
路由器12A可以被配置为用于MP-LSP16的单个入口,其支持请求中指定的某些约束要求,包括例如每秒一百兆网络流量的总体带宽约束。在路由器12A上执行的RSVP-TE可以被配置为使用关于网络14内的链路的约束信息来计算到出口路由器12B的子LSP。约束信息可以由执行链路状态协议的路由器12A收集。
这种约束信息可以包括每节点能力通告(例如,通告的能力信息)。可以在生成资源预留请求消息以建立MP-LSP 16之前通告该通告能力。例如,路由器12A可以(发起并且)接收每节点能力通告,使得如果MP-LSP16的子LSP由路由器12建立,则在显式路由对象中列出的所有路由器12可遵守每跳带宽约束。另外,入口路由器12A可以配置MP-LSP 16的子LSP,入口路由器12A请求未配置为修改每跳带宽约束的路由器对子LSP修改某个每跳带宽约束。在一些示例中,路由器12可以使用IGP-TE扩展来通告每跳带宽约束能力。例如,入口路由器12A可以通过在由路由器12交换的IGP-TE消息中包括能力信息来通告每跳带宽约束能力。
以下讨论了入口路由器从有能力的节点(例如,路由器12)请求变化的每跳带宽约束。凭借每节点能力通告,入口设备(例如,入口路由器12A)可以确定指示哪些节点能够处理资源预留请求消息中的变化的每跳带宽约束的对象的兼容性信息。如此,入口设备(例如,入口路由器12A)可以使用兼容性信息来计算MP-LSP(例如,MP-LSP16)及其子LSP(例如,子LSP18)的约束最短路径优先(CSPF)。
在图1的示例中,路由器12A响应该请求,计算出子LSP 18A沿着链路22A-22D朝向出口路由器12B的路径。入口路由器12A还识别沿着链路22E-22F朝向出口路由器12B的子LSP 18B。此时,入口路由器12A可以基于由RSVP协议维护的网络状态数据,确定沿着两个子LSP 18A、18B的可用于预留的带宽量,并且可以输出多个资源预留请求消息以便建立一起满足整体带宽需求的两个子LSP。在该示例中,入口路由器12A可以确定每秒50兆字节的带宽是可用于预留给沿着入口路由器12A与中转路由器12G之间的子LSP 18A,并且可以预留每秒50兆字节的带宽。在该示例中,入口路由器12A可以确定每秒30兆字节的带宽是可用于预留给沿着入口路由器12G与中转路由器12B之间的子LSP 18A,并且可以沿着输路由器12G和出口路由器12B之间的子LSP18B预留每秒70兆字节的带宽。
子LSP 18A和18B可以一起容纳用于MP-LSP 16所需的总计100兆字节/秒的网络流量。也就是说,例如,由中转路由器12G的输入每跳带宽约束要预留的带宽量的总和可对应于(例如,等于)由中转路由器12G的输出每跳带宽约束要预留的带宽量的总和,而对于MP-LSP 16的每个路径,中转路由器12G的各个输入每跳带宽约束具有与中转路由器12G的各个输出每跳带宽约束不同的值。例如,用于子LSP 18A的路径可以包括中转路由器12G的每秒50兆字节的输入每跳带宽约束,其具有与中转路由器12G的每秒30兆字节的输出每跳带宽约束不同的值。类似地,用于子LSP 18B的路径可以包括用于中转路由器12G的每秒50兆字节的输入每跳带宽约束,其具有与中转路由器12G的每秒70兆字节的输出每跳带宽约束不同的值。在这种情况下,100兆字节每秒的由中转路由器12G的输入每跳带宽约束要预留的带宽量的总和对应于100兆字节每秒的将由中转路由器12G的输出每跳带宽约束要预留的带宽量的总和。
入口路由器12A可以计算到出口路由器12B的其他子LSP,但是仅可以选择能够适应所请求的总带宽的最佳子LSP。在一些实施方式中,入口路由器12A可以配置有对可以计算和/或选择的子LSP的数量的上限。
在操作中,入口路由器12A可以计算MP-LSP 16的子LSP 18的路径。为了计算路径,入口路由器12A为路由器12G确定各路径的输入每跳带宽约束和各路径的输出每跳带宽约束。由输入每跳带宽约束要预留的带宽量的总和可以对应于由输出每跳带宽约束要预留的带宽量的总和。如这里所使用的,当第一总和等于第二总和时,带宽量的第一总和可以对应于带宽量的第二总和。对于路径中的每个路径,输入每跳带宽约束中的相应输入每跳带宽约束具有与输出每跳带宽约束中的相应输出每跳带宽约束不同的值。
例如,入口路由器12A可以确定从路由器12C到路由器12G的一部分路径的输入每跳带宽约束为每秒50兆字节以及从路由器12G到路由器12D的一部分路径的输出每跳带宽约束为每秒30兆字节。在该示例中,入口路由器12A可以确定从路由器12A到路由器12G的一部分路径的输入每跳带宽约束为每秒50兆字节以及从路由器12G到路由器12B的一部分路径的输出每跳带宽约束为每秒70兆字节。
图2是示出了由计算机网络14内的路由器12发送用于建立具有变化的每跳带宽约束的MP-LSP的示例资源预留请求消息19A和19B(统称为资源预留请求消息19)的框图。如图2所示,响应于计算MP-LPS 16(图1)的子LSP18,入口路由器12A输出相应的资源预留请求消息19以建立子LSP18。如图所示,路由器12协调发送资源预留请求消息19以建立被配置为预留从入口路由器12A到出口路由器12B的带宽的子LSP 18。此外,入口路由器12A可以被配置为用于MP-LSP隧道的单个入口,其总体上支持请求中指定的某些约束要求,包括网络流量的总体带宽约束。入口路由器12A可以被配置成使用RSVP-TE,利用关于网络14内的链路22的约束信息计算到出口路由器12B的子LSP18。
响应于建立从路由器12A到路由器12B的MP-LSP的单个请求(例如,来自管理员或来自另一个网络设备,诸如来自路由器12A上游的设备)的请求),路由器12可以协调发送多个资源预留请求消息19以建立图1的从入口路由器12A到出口路由器12B的子LSP 18,其中每个子LSP是图1的MP-LSP 16的一部分。例如,路由器12A的扩展RSVP-TE协议输出用于建立子LSP 18A(图1)的资源预留请求消息19A。在该示例中,资源预留请求消息19A可以包括定义沿着子LSP18A的每个下游跳跃的EXPLICIT_ROUTE(显式路由)对象。例如,包括在资源预留请求消息19A中的EXPLICIT_ROUTE对象可以定义用于包括路由器12A、路由器12C、路由器12G、路由器12D和路由器12B的子LSP18A的下游跳约的序列。如此,路由器12C在接收到资源预留请求消息19A时,确定资源预留请求消息19A中包含的EXPLICIT_ROUTE对象所指示的下一个下游跳跃为路由器12G,并将资源预留请求消息19A转发给路由器12G。类似地,资源预留请求消息19B可以包括定义沿着子LSP18B的每个下游跳跃的EXPLICIT_ROUTE对象。例如,包括在资源预留请求消息19B中的EXPLICIT_ROUTE对象可以定义用于包括路由器12A、路由器12G和路由器12B的子LSP18B的下游跳跃的序列。这样,在接收到资源预留请求消息19B时,路由器12G可以确定由资源预留请求消息19B中包括的EXPLICIT_ROUTE对象所指示的下一个下游跳跃是路由器12B,并且可以将资源预留请求消息19B转发到路由器12B。
在接收到资源预留请求消息19时,路由器12中的每一个可以为资源预留请求消息19中的每一个分配满足指令的每跳带宽约束的中转路由器的一个或多个资源,以修改每跳带宽约束的指示。例如,路由器12G可以从资源预留请求消息19A的每跳带宽约束的指示中提取每跳带宽约束,并且可以预留满足(例如,等于)从每跳带宽约束的指示中提取的每跳带宽约束的带宽量。例如,当资源预留请求消息19A的SENDER_TSPEC对象包括表示每秒50兆字节的令牌桶“速率”字段和“突发”字段时,路由器12G可以为子LSP18A预留每秒50兆字节。类似地,路由器12G可以预留在接收到的资源预留请求消息19B中所请求的带宽量。例如,当资源预留请求消息19B的SENDER_TSPEC对象包括表示每秒50兆字节的令牌桶“速率”字段和“突发”字段时,路由器12G可以为子LSP18B预留每秒50兆字节。
在操作中,入口路由器12A根据图1的计算出的用于MP-LSP 16的路径(例如,子LSP18)将资源预留请求消息19A输出到路由器12C并将资源预留请求消息19B输出到路由器12G。在这个示例中,资源预留请求消息19分别包括对应于每秒50兆字节的每跳带宽约束的指示。例如,入口路由器12A为子LSP18生成和发送资源预留请求消息19A,该资源预留请求消息包括EXPLICIT_ROUTE对象、包括用于MP-LSP 16的扩展隧道ID的SESSION_ATTRIBUTE对象和包括指示每秒50兆字节的令牌桶“速率”字段和“突发”字段的SENDER-TSPEC对象。类似地,例如,入口路由器12A为子LSP 18B生成和发送资源预留请求消息19B,该资源预留请求消息19B包括EXPLICIT_ROUTE对象、包括用于MP-LSP 16的扩展隧道ID的SESSION_ATTRIBUTE对象以及包括指示每秒50兆的字节的令牌桶“速率”字段和“突发”字段的SENDER_TSPEC对象。
然而,根据本公开内容的技术,在该示例中,资源预留请求消息19A可以包括在路由器12G处将每跳带宽约束的指示从每秒50兆字节修改为每秒30兆字节的指令,并且资源预留请求消息19B包括在路由器12G处将每跳带宽约束的指示从每秒50兆字节修改为每秒70兆字节的指令。例如,入口路由器12A为子LSP18生成和发送资源预留请求消息19A,该资源预留请求消息19A进一步包括包含路由器12G的地址(例如,IPV4、IPV6等)和相应的带宽mod(修改)值的SENDER_TSPEC_MODS对象,相应的带宽mod值包括指示每秒30兆字节的令牌桶“速率”字段和“突发”字段。在这种情况下,入口路由器12A为子LSP 18B生成和发送资源预留请求消息19B,资源预留请求消息19B进一步包括SENDER_TSPEC_MODS对象,其包括路由器12G的地址(例如IPV4、IPV6等)和对应的带宽mod值,其包括指示每秒70兆字节的令牌桶“速率”字段和“突发”字段。
在接收到资源预留请求消息19A时,路由器12C可以预留在接收到的资源预留请求消息19A中所请求的带宽量。例如,当资源预留请求消息19A的SENDER_TSPEC对象包括表示每秒50兆字节的令牌桶“速率”字段和“突发”字段时,路由器12C可以为子LSP18A预留每秒50兆字节。
路由器12C可以确定是否修改资源预留请求消息19A的每跳带宽约束的指示。例如,当资源预留请求消息19A的SENDER_TSPEC_MODS对象不包括对应于路由器12C的地址时,路由器12C可以确定不修改资源预留请求消息19A的每跳带宽约束的指示。在路由器12C没有被配置用于扩展以修改每跳带宽约束的指示的情况下,路由器12C可以忽略带宽修改字段并且可以预留在接收到的资源预留请求消息19A中请求的带宽量。例如,路由器12C可以忽略资源预留请求消息19A中的SENDER_TSPEC_MODS对象。在任何情况下,路由器12C都可以将资源预留请求消息19A转发到路由器12G。例如,响应于确定包括在资源预留请求消息19A中的EXPLICIT_ROUTE对象指示了下一个下游跳跃是到路由器12G,路由器12C可以将资源预留请求消息19A转发到路由器12G。
在接收到资源预留请求消息19A时,路由器12G可以预留在接收到的资源预留请求消息19A中所请求的带宽量。例如,当资源预留请求消息19A的SENDER_TSPEC对象包括表示每秒50兆字节的令牌桶“速率”字段和“突发”字段时,路由器12G可以为子LSP18A预留每秒50兆字节。
路由器12G可以确定是否修改资源预留请求消息19A的每跳带宽约束的指示。例如,当资源预留请求消息19A的SENDER_TSPEC_MODS对象包括对应于路由器12G的地址时,路由器12G可以确定修改资源预留请求消息19A的每跳带宽约束的指示。响应于确定修改资源预留请求消息19A的每跳带宽约束的指示,路由器12G可以根据修改每跳带宽约束的指示的指令来修改资源预留请求消息19A。例如,当资源预留请求消息19A的SENDER_TSPEC_MODS对象指示了每秒30兆字节的令牌桶“速率”字段和“突发”字段时,路由器12G可以将资源预留请求消息19A的SENDER_TSPEC对象中的令牌桶“速率”字段和“突发”字段修改为指示每秒30兆字节。路由器12G可以将修改后的资源预留请求消息19A转发给路由器12D。例如,在响应于确定包括在资源预留请求消息19A中的EXPLICIT_ROUTE对象指示下一个下游跳跃是到路由器12D时,路由器12G可以将资源预留请求消息19A转发到路由器12D。
在接收到资源预留请求消息19A时,路由器12D可以预留在接收到的资源预留请求消息19A中所请求的带宽量。例如,当资源预留请求消息19A的SENDER_TSPEC对象包括指示每秒30兆字节的令牌桶“速率”字段和“突发”字段时,路由器12D可以为子LSP18A预留每秒30兆字节。路由器12D可以确定是否修改资源预留请求消息19A的每跳带宽约束的指示。例如,当资源预留请求消息19A的SENDER_TSPEC_MODS对象不包括对应于路由器12D的地址时,路由器12D可以确定不修改资源预留请求消息19A的每跳带宽约束的指示。在路由器12D没有被配置用于修改所请求的带宽量的扩展的情况下,路由器12D可以忽略带宽修改字段并且可以预留在所接收的资源预留请求消息19A中请求的带宽量。例如,路由器12D可以忽略资源预留请求消息19A的SENDER_TSPEC_MODS对象。在任何情况下,路由器12D都可以将资源预留请求消息19A转发到路由器12B。例如,响应于确定包括在资源预留请求消息19A中的EXPLICIT_ROUTE对象指示下一个下游跳跃是至路由器12B,路由器12D可以将资源预留请求消息19A转发到路由器12B。
类似地,在接收到资源预留请求消息19B时,路由器12G可以预留在接收到的资源预留请求消息19B中请求的带宽量。例如,当资源预留请求消息19B的SENDER_TSPEC对象包括表示每秒50兆字节的令牌桶“速率”字段和“突发”字段时,路由器12G可以为子LSP18B预留每秒50兆字节。
路由器12G可以确定是否修改资源预留请求消息19B的每跳带宽约束的指示。例如,当资源预留请求消息19B的SENDER_TSPEC_MODS对象包括对应于路由器12G的地址时,路由器12G可以确定修改资源预留请求消息19B的每跳带宽约束的指示。响应于确定修改资源预留请求消息19B的每跳带宽约束的指示,路由器12G可以根据修改每跳带宽约束的指示的指令来修改资源预留请求消息19B。例如,当资源预留请求消息19B的SENDER_TSPEC_MODS对象指示了每秒70兆字节的令牌桶“速率”字段和“突发”字段时,路由器12G可以修改资源预留请求消息19B的SENDER_TSPEC对象的令牌桶“速率”字段和“突发”字段指示每秒70兆字节。路由器12G可以将资源预留请求消息19B转发到路由器12B。例如,响应于确定包括在资源预留请求消息19B中的EXPLICIT_ROUTE对象指示下一个下游跳跃是转到路由器12B,路由器12G可以将资源预留请求消息19B转发到路由器12B。
在接收到资源预留请求消息19时,路由器12B可以预留在接收到的资源预留请求消息19中所请求的带宽量。例如,当资源预留请求消息19A的SENDER_TSPEC对象包括指示每秒30兆字节的令牌桶“速率”字段和“突发”字段时,路由器12B可以为子LSP18A预留每秒30兆字节。在该示例中,当资源预留请求消息19B的SENDER_TSPEC对象包括指示每秒70兆字节的的令牌桶“速率”字段和“突发”字段时,路由器12B可以为子LSP18B预留每秒70兆的字节。
路由器12B可以确定路由器12B对应于用于子LSP18A的最终下游跳跃。例如,路由器12B可以响应于确定包括在资源预留请求消息19A中的EXPLICIT_ROUTE对象指示最终下游跳跃是到路由器12B,而确定路由器12B对应于子LSP18A的最后下游跳跃。类似地,路由器12B可以确定路由器12B对应于子LSP18B的最后下游跳跃。例如,路由器12B可以响应于确定包括在资源预留请求消息19B中的EXPLICIT_ROUTE对象指示最后的下游跳跃是到路由器12B而确定路由器12B对应于子LSP18B的最终下游跳跃。
在确定路由器12B对应于用于子LSP18的最终下游跳跃时,路由器12B可以生成资源预留回复消息,如图3中所讨论的。另外,根据本公开内容的技术,对于子LSP18A和子LSP18B而言,路由器12G可以被配置为等待发送任何资源预留回复消息直到确认路由器12G从沿着子LSP的下游路由器首次接收了资源预留回复消息,而不是路由器12G立即向路由器12C和路由器12A发送指示路由器12G已经预留了所请求的带宽量的资源预留回复消息。也就是说,路由器12G可以等待发送资源预留回复消息,直到路由器12G接收到对发送到路由器12D的资源预留请求消息19A和发送到路由器12B的资源预留请求消息19B两者的回复为止。
尽管上述示例示出了单个共同中转路由器,但是其他示例可以包括沿着MP-LSP16的两个或更多个共同中转路由器。例如,为了计算路径,路由器12A可以针对第二共同中转路由器(未示出)确定各路径的输入每跳带宽约束以及个路径的输出每跳带宽约束。在这个示例中,第二共同中转路由器的输入每跳带宽约束要预留的带宽量的总和可以对应于第二共同中转路由器的输出每跳带宽约束预留的带宽量的总和。在该示例中,对于路径中的每个路径,第二共同中转路由器的输入每跳带宽约束的相应输入每跳带宽约束可以具有与第二共同中转路由器的输出每跳带宽约束的相应输出每跳带宽约束不同的值。在该示例中,入口路由器12A可以为路径的每个路径生成相应的资源预留请求消息,使得该一个或多个指令进一步包括用于在第二共同交通处修改每跳带宽约束的指示以对应于第二共同中转路由器的输出每跳带宽约束的相应输出每跳带宽约束的指令。
图3是示出了由计算机网络14内的路由器12发送的用于建立具有变化的每跳带宽约束的MP-LSP 16(图1)的示例资源预留回复消息的框图。在图3的示例中,响应于接收到资源预留请求消息19(图2),路由器12可以向上游路由器输出资源预留回复消息21A和21B(统称为资源预留回复消息21)。
中转路由器(例如,路由器12G)可以在每个子LSP的基础上执行接纳控制。但是,中转路由器需要采取预防措施来缓解以下问题。入口路由器12A可能错误地计算了每跳带宽约束,使得相关的子LSP 18(图1)违反每跳带宽约束。例如,当子LSP 18A将带宽约束减少每秒30兆字节,并且子LSP 18B将带宽约束仅增加每秒20兆字节时,入口路由器12A可能错误地计算了每跳带宽约束。
为了减少上述情况,在一些示例中,能够处理变化的每跳带宽约束的中转路由器(例如,路由器12G)可以避免发送针对给定子LSP的资源预留回复消息21,直到每个子LSP的带宽约束变化已经被MP-LSP16的另一个子LSP所达到(meet)。为了说明,假设入口路由器12A发起了子LSP18的信令(其中转路由器的计数将不被前面的中转路由器T所知),其中由下面的3元组t1:<100,175,B>,t2:<200,125,C>表示在T处的<输入带宽,输出带宽,下一跳>要求。
换言之,假设入口路由器12A输出的资源预留请求消息19A的SENDER_TSPEC对象包括指示每秒100兆字节的令牌桶“速率”字段和“突发”字段,并且输出的资源预留请求消息19A的SENDER_TSPEC_MODS对象指示在路由器12G处修改资源预留请求消息19A的SENDER_TSPEC对象为具有指示每秒175兆字节的令牌桶“速率”字段和“突发”字段的指令(例如,SENDER_TSPEC_MODS对象)。类似地,假设入口路由器12A输出的资源预留请求消息19B的SENDER_TSPEC对象包括表示每秒200兆字节的令牌桶“速率”字段和“突发”字段,并且输出的资源预留请求消息19B的SENDER_TSPEC_MODS对象指示在路由器12G处修改资源预留请求消息19B的SENDER_TSPEC对象为具有指示每秒125兆字节的令牌桶“速率”字段和“突发”字段的指令(例如,SENDER_TSPEC_MODS对象)。
因为子LSP 18是MP-LSP 16的分隔开的单独子LSP,所以用于子LSP18的资源预留请求消息19可以被单独发送。例如,用于子LSP18A的资源预留请求消息19A可以独立于用于子LSP18B的资源预留请求消息19B而发送。如此,路由器12G将分别接收上面列出的2个"3元组”。在接收到资源预留请求消息19(图2)中的这样的元组时,路由器12G可以基于针对相应子LSP的假定接纳控制能够被满足而转发资源预留请求消息19。当路由器12G从与元组“t1”相对应的路由器12D接收到资源预留回复消息21A时,路由器12G应当延迟发送给元组“t1”对应的上游资源预留回复消息21A,直到路由器12G还从对应于元组“t2”的路由器12B接收到资源预留回复消息21B。
在图3的示例中,响应于确定路由器12B对应于MP-LSP16(图1)的子LSP18A的显式路由的最后下游跳跃,路由器12B经由链路22D将资源预留回复消息21A输出到路由器12D以指示对资源预留请求消息19A(图2)的确认。例如,响应于确定包括在资源预留请求消息19A中的EXPLICIT_ROUTE对象指示下一个上游跳跃是至路由器12D,路由器12B可以将资源预留回复消息21A转发到路由器12D。路由器12D经由链路22C向路由器12G输出资源预留回复消息21A以指示资源预留请求消息19A(图2)的确认。例如,响应于确定包括在资源预留请求消息19A中的EXPLICIT_ROUTE对象指示下一个上游跳跃是至路由器12G,路由器12D可以将资源预留回复消息21A转发给路由器12G。
类似地,响应于确定路由器12B对应于MP-LSP 16(图1)的子LSP18B的显式路由的最后下游跳跃,路由器12B经由链路22F输出资源预留回复消息21B到路由器12G以指示资源预留请求消息19B(图2)的确认。例如,响应于确定包括在资源预留请求消息19B中的EXPLICIT_ROUTE对象指示下一个上游跳跃为至路由器12G,路由器12B可以将资源预留回复消息21B转发给路由器12G。
在仅接收到资源预留回复消息中的一个时,路由器12G可以确定尚未接收到针对MP-LSP16的所有预期资源预留回复消息。响应于确定对于MP-LSP 16没有接收到所有的预期资源预留回复消息,则路由器12G可以延迟向MP-LSP 16的上游发送资源预留回复消息21。例如,响应于确定已经接收到资源预留回复消息21A并且资源预留回复消息21B未被接收到,则路由器12G可以延迟向MP-LSP16的上游发送资源预留回复消息21A,直到路由器12G也从路由器12B接收到资源预留回复消息21B。类似地,响应于确定没有接收到资源预留回复消息21A并且已经接收到资源预留回复消息21B,路由器12G可以延迟向MP-LSP16的上游发送资源预留回复消息21B,直到路由器12G也从路由器12D接收到资源预留回复消息21A。
在从路由器12D接收到资源预留回复消息21A并从路由器12B接收到资源预留回复消息21B时,路由器12G确定针对MP-LSP16的所有预期资源预留回复消息已经被接收,并且经由链路22B,将资源预留回复消息21A输出到路由器12C以指示资源预留请求消息19A(图2)的确认。路由器12C经由链路22A向路由器12A输出资源预留回复消息21A以指示满足资源预留请求消息19A(图2)的所请求的带宽量已被预留。类似地,路由器12G在从路由器12D接收到资源预留回复消息21A和从路由器12B接收到资源预留回复消息21B时,确定已经接收到针对MP-LSP 16的所有预期资源预留回复消息,并经由链路22E将资源预留请求消息21B输出到路由器12A,用于指示已经预留满足资源预留回复消息19B(图2)的所请求的带宽量。在接收到用于MP-LSP 16的资源预留回复消息21时,入口路由器12A可以转发指示MP-LSP16的子LSP 18的网络流量。
图4是示出根据本文描述的技术的能够支持具有MP-LSP扩展的RSVP-TE的示例路由器40的框图。路由器40可以对应于图1至图3中的任何路由器12。路由器40包括用于经由输入链路56A-56N(统称为输入链路56)接收分组并且经由输出链路57A-57N(统称为输出链路57)发送分组的接口卡54A-54N(统称为IFC 54)。IFC 54通过高速交换机(未示出)和链路56、57进行互连。在一个示例中,路由器40包括交换结构、开关设备、可配置的网络交换机或集线器等。链路56、57包括任何形式的通信路径,诸如集成电路内的电路径、外部数据总线、光链路、网络连接、无线连接或其他类型的通信路径。IFC 54经由多个接口端口(未示出)连接到输入链路56和输出链路57。
当路由器40经由输入链路56中的一个而接收到分组时,控制单元42确定经由哪个输出链路57发送分组。控制单元42包括路由组件44和转发组件46。路由组件44确定通过网络,例如通过诸如其他路由器的互连设备的一个或多个路由。控制单元42为协议48提供操作环境,协议48通常被实现为可执行软件指令。如图所示,协议48包括RSVP-TE 48A和内部网关协议(IGP)48B。IGP 48B的示例可以包括但不限于中间系统-中间系统(ISIS)或开放最短路径优先(OSPF)协议。路由器40使用RSVP-TE 48A来建立LSP。如本文所述,RSVP-TE 48A以编程方式扩展以允许变化的每跳带宽约束。除了或者替换RSVP-TE 48A和LDP 46B之外,协议48还可以包括其他路由协议,例如其他多协议标签交换(MPLS)协议;或路由协议,例如OSPF、路由信息协议(RIP)、边界网关协议(BGP)、内部路由协议或其他互联网协议。
通过执行路由协议,路由组件44识别穿过网络的现有路由并确定穿过网络的新路由。路由组件44将路由信息存储在路由信息库(RIB)50中,该路由信息库包括例如穿过网络的已知路由。转发组件46存储包括输出链路57的目的地的转发信息。
在一些示例中,RSVP-TE 48A发送指示路由器40被程序地扩展为允许变化的每跳带宽约束的能力公告。在一些示例中,路由器40可以从其他路由器接收能力通告,并且存有储状态以指示哪些路由器12(图1)被程序地扩展为允许变化的每跳带宽约束。例如,路由器40可以在由具有流量工程扩展的OSPF或IS-IS发送或接收的链路状态通告的TLV中发送或接收关于这些能力的信息。
在一些示例中,系统管理员66(也称为“管理员66”)可以经由包括在控制单元42内的用户接口64向路由器40提供配置信息。例如,系统管理员可以配置路由器40或安装如本文所述的扩展RSVP-TE 48A的软件。作为另一个示例,系统管理员66可以配置RSVP-TE 48A来对从入口路由器到出口路由器的MP-LSP进行流量工程设计。作为进一步的示例,路径计算元件(PCE)67可以替代地或附加地向路由器40提供配置信息,例如可以计算子路径并将它们提供给路由器40。
这里描述的对RSVP-TE 48A的扩展使得路由器40能够计算总体RSVP-TE LSP的朝向出口路由器的多个子LSP的具有变化的每跳带宽约束的路径,并且将MP-LSP的多个资源预留请求消息沿着子LSP中的所选子LSP发送到下游路由器。因为子LSP全部是相同MP-LSP的一部分,由于使用变化的每跳带宽,子LSP的数量会更少,所以路由器40相对于保持具有恒定的每跳带宽约束的单独LSP的网络而言被要求存储较少的状态。在一些示例中,RSVP-TE 48A可以配置转发组件46反映MP-LSP的变化的每跳带宽约束。
响应于网络管理员发起MP-LSP的建立,路由器40使用扩展的RSVP-TE 48A来计算MP-LSP的子LSP到出口路由器的满足由网络管理员对隧道施加的某些约束的路径。施加的约束可以包括例如带宽、链路颜色、共享风险链路组(SRLG)等。例如,网络管理员可能希望配置一个能够处理每秒100兆字节的网络流量的MP-LSP。RSVP-TE 48A使用关于网络14内的链路的约束信息(例如带宽可用性)来计算子LSP。例如,RSVP-TE48A可以使用由具有流量工程扩展的链路状态内部路由协议(例如中间系统-中间系统(ISIS)协议或开放最短路径优先(OSPF)协议,例如ISIS或OSPF)所累积的带宽可用性信息。例如,RSVP-TE 48可以使用约束最短路径优先(CSPF)算法来基于链路带宽可用性来计算路径。在网络拓扑要求的情况下,RSVP-TE 48A计算多个子LSP,针对该多个子LSP,包括带宽在内的某些约束大体提供了必需的带宽可用性。在一些示例中,RSVP-TE 48A在计算路径时考虑网络中的其他路由器的能力,包括处理具有如本文所述的SENDER_TSPEC_MODS字段的资源预留请求的能力。
RSVP-TE 48A生成并发送用于建立如以上参照图1至图3所述的子LSP(包括MP-LSP)资源预留请求消息。路由组件44可以访问预留(“RESV”)跟踪状态62以发起对于相应MP-LSP的所有资源预留回复消息是否已经被路由器40接收到的跟踪。例如,路由组件44可以将条目添加到与针对指示MP-LSP的资源预留请求消息中所指示的每个子LSP的MP-LSP相关联的RESV跟踪状态62中。
在路由器40从相邻路由器接收到资源预留请求消息时,标签分配模块70分配用于建立LSP的MPLS标签。路由器40使用RSVP-TE 48A分配标签并预留链路上的带宽以生成如上所述的资源预留回复消息。路由组件44维护表明标签分配模块70如何分配MPLS标签的标签分配60。例如,标签分配60可以指示绑定到与网络14内的LSP相关联的特定转发等价类(FEC)的标签。然后标签分配模块70可以在LSP上转发分组时使用将要应用的标签来更新转发组件46的FIB 52。
RSVP-TE 48A也可以被扩展为识别所发送的包含变化的每跳带宽约束的资源预留请求消息和资源预留回复消息。例如,可以扩展RSVP-TE48A以将接收到的资源预留请求消息和资源预留回复消息识别为网络中共同用来基于设置在例如资源预留请求消息和资源预留回复消息中的说明符(特殊字段或位)来建立MP-LSP的一组消息中的一个消息。该特殊字段或位向接收路由器指示接收到的识别MP-LSP的其他消息没有错误,但是在建立必须满足总体约束的MP-LSP的各子LSP时相互关联,由此允许接收路由器确定该接收路由器是MP-LSP的中间子LSP的合并点还是分支点。在一些示例中,可以扩展RSVP-TE 48A以当所接收的资源预留请求消息的每个接收到的资源预留请求消息包括包含与特定MP-LSP对应的特定扩展隧道标识符的SESSION_OBJECT时,将接收到的资源预留请求消息和资源预留回复消息识别为网络中共同用来建立特定MP-LSP的一组消息之一。
在接收到资源预留回复消息时,路由组件44可以更新与资源预留回复消息相关联的RESV跟踪状态62中的条目,并且确定是否已经由路由器40接收到用于相应MP-LSP的全部资源预留回复消息。例如,路由组件44可针对指示MP-LSP的资源预留请求消息中所指示的每个子LSP来更新与MP-LSP相关联RESV跟踪状态62中的条目。在该示例中,当RESV跟踪状态62指示对于与MP-LSP相关联的RESV跟踪状态62中的每个条目已经接收到资源预留回复消息时,路由组件44可以确定路由器40已经接收到相应MP-LSP的全部资源预留回复消息。
在确定已经由路由器40(例如,其可以是入口路由器)接收到用于相应MP-LSP的全部资源预留回复消息时,路由器40可以在MP-LSP上发起新的数据流量分组流。例如,当路由器40接收到新分组流的分组时,转发组件46识别通过其转发新分组流的分组的输出链路57中的一个,并且还识别要应用于分组流的分组的MPLS标签。在转发组件46已经选择输出链路57中的一个和用于分组流的MPLS标签之后,转发组件46使用选择的MPLS标签沿着所选择的输出链路57中的一个转发分组流的所有分组。转发组件46可以查阅链路监视模块68以在将新的分组流分配给输出链路57中的一个之前确定网络流量是否被适当地分配在输出链路57上。
在一些实例中,在分配分组流在子LSP上转发的情况下,转发组件46确定输出链路57是否被加载有合适的带宽分配,例如,如在建立MP-LSP期间由RSVP-TE 48A配置的。在一个示例中,转发组件46确定每个输出链路57的带宽利用率。在另一个示例中,转发组件46确定分配给输出链路57中的特定一个的分组流的数量是否已经超过阈值。在另一示例中,转发组件46确定通过每个输出链路57发送的每秒分组的数量。在另一示例中,转发组件46确定每个输出链路57发送的每秒兆字节的数量。在其他示例中,转发组件46可以利用上述技术的组合或用于确定链路拥塞的其他技术。在任何情况下,转发组件46都可以确定输出链路57的使用是否与由RSVP-TE 48A对在输出链路57上运行的子LSP指定的要求一致。转发组件46还可以确定何时链路中的一个出现故障。转发组件46更新散列映射,使得流量从故障链路转移到其他剩余链路上。
RSVP-TE 48A针对变化的每跳带宽约束输出资源预留请求消息和资源预留回复消息。例如,RSVP-TE 48A输出资源预留请求消息,该消息包括用于相应子LSP的显式路由的指示、指示MP-LSP的隧道标识符、每跳带宽约束的指示以及一个或多个修改每跳带宽约束的指示的指令。在一些示例中,RSVP-TE 48A输出资源预留请求消息,其可以包括进一步的信息,诸如但不限于对象、描述符或其他信息。在一些示例中,RSVP-TE 48A输出可省略以下信息的资源预留请求消息,例如但不限于用于修改每跳带宽约束的指示的一个或多个指令。
图4中所示的路由器40的体系架构仅出于示例目的而示出。本公开内容的技术不限于这种体系架构。在其他示例中,路由器40可以被以不同方式进行配置。在一个示例中,例如,控制单元42的一些功能可以分布在IFC 54内。在一些示例中,控制单元42可以包括执行路由功能并维护路由信息库(RIB)50的路由引擎,以及根据RIB 50生成的转发引擎,转发引擎基于转发信息库(FIB)执行分组转发。
控制单元42可以包括一个或多个处理器(图4中未示出),该处理器执行软件指令,诸如那些存储在计算机可读存储介质上的用于定义软件或计算机程序的软件指令(同样未在图4中示出),计算机可读存储介质有:例如包括存储设备(例如,磁盘驱动器或光驱)的非暂时性计算机可读介质和/或诸如随机存取存储器(RAM)(包括各种形式的动态RAM(DRAM)的存储器,例如DDR2 SDRAM或静态RAM(SRAM))、闪速存储器,其他形式的可以用于携带或存储期望的程序代码或者指令或数据结构形式的程序数据的并且能够被处理器访问的固定或可移动存储介质、或任何其它类型的存储使一个或多个处理器执行本文所述的数据的指令的易失性或非易失性存储器。可选地或附加地,控制单元42可以包括专用硬件,诸如一个或多个集成电路、一个或多个专用集成电路(ASIC)、一个或多个专用特殊处理器(ASSP)、一个或多个现场可编程门阵列(FPGA),或用于执行本文描述的技术的前述专用硬件的示例中的一个或多个示例的任何组合。
图5是示出了建立具有变化的每跳带宽约束的MP-LSP的入口路由器的示例操作的流程图。为了举例的目的,将参考图1的路由器12和图4的路由器40来解释图5。路由器12A可以接收路由器12的能力的通告(90)。例如,入口路由器12A可以接收路由器12G配置有对RSVP-TE的扩展从而使其能够处理指定变化的每跳带宽约束的RSVP-TE路径消息的指示。虽然未示出,但路由器12可以存储接收到的能力信息以稍后用于计算路径。
路由器12A可以接收流量工程设计满足某些约束的总体RSVP-TE LSP(例如,图1的MP-LSP)的请求。例如,入口路由器12A可以接收建立从入口路由器12A延伸到出口路由器12B的MP-LSP的请求(92)。例如,施加的约束可以包括带宽、链路颜色、共享风险链路组(SRLG)等。例如,网络管理员可能希望配置能够处理每秒100兆字节网络流量的MP-LSP。RSVP-TE 48A使用关于网络14内的链路22的约束信息(例如,带宽可用性)来计算满足MP-LSP的总体约束的子LSP。例如,RSVP-TE48A可以使用由IGP 48B累积的带宽可用性信息。RSVP-TE 48A计算对于其中的某些约束(包括带宽)大体上提供必需的带宽可用性的子LSP18。RSVP-TE 48A可以配置有可以计算和/或选择多少个子LSP的上限。
RSVP-TE 48A可以计算MP-LSP的子LSP的路径(94)。例如,为了计算路径,RSVP-TE48A可以确定子LSP18A的在中转路由器12G处的每秒50兆字节的输入每跳带宽约束,以及在中转路由器12G处的每秒30兆的字节的输出每跳带宽约束。在该示例中,RSVP-TE 48A可以计算子LSP 18B的路径,使得在中转路由器12G处的输入每跳带宽约束是每秒50兆字节,并且在中转路由器12G处的输出每跳带宽约束为每秒70兆字节。
RSVP-TE 48A针对每一个子LSP 18,输出对应的多个资源预留请求消息以建立子LSP(96)。例如,RSVP-TE 48A为子LSP 18A产生并发送指示有子LSP 18A的显式路由、指示MP-LSP的隧道标识符以及每跳带宽约束的指示的资源预留请求消息19A。例如,对于子LSP18A,RSVP-TE48A产生并发送资源预留请求消息19A,其包括EXPLICIT_ROUTE对象、包括用于MP-LSP 16的扩展隧道ID的SESSION_ATTRIBUTE对象、以及包括指示每秒50兆字节的令牌桶“速率”字段和“突发”字段的SENDER_TSPEC对象。
在该示例中,RSVP-TE 48A针对子LSP 18B生成并发送指示有子LSP18B的显式路由、指示MP-LSP的隧道标识符以及每跳带宽约束的指示的资源预留请求消息19B。例如,RSVP-TE 48A针对子LSP 18B产生和发送资源预留请求消息19B,其包括EXPLICIT_ROUTE对象、包括用于MP-LSP 16的扩展隧道ID的SESSION_ATTRIBUTE对象以及包括指示每秒50兆字节的令牌桶“速率”字段和“突发”字段的SENDER_TSPEC对象。
此外,在该示例中,用于子LSP18A的资源预留请求消息19A进一步包括用于将路由器12G处的每跳带宽约束的指示从每秒50兆字节修改为每秒30兆字节的指令,并且用于子LSP 18B的资源预留请求消息19B进一步包括用于将路由器12G处的每跳带宽约束的指示从每秒50兆字节修改为每秒70兆字节的指令。例如,对于子LSP 18A,RSVP-TE 48A生成并且发送资源预留请求消息19A,其还包括SENDER_TSPEC_MODS对象,该对象包括路由器12G的地址(例如,IPV4、IPV6等)和对应的带宽mod值(其包括指示每秒30兆字节的令牌桶“速率”字段和“突发”字段)。在这种情况下,RSVP-TE 48A为子LSP 18B产生和发送资源预留请求消息19B,其还包括SENDER_TSPEC_MODS对象,该对象包括路由器12G的地址(例如,IPV4、IPV6等)和对应的带宽mod值(其包括指示每秒70兆字节的令牌桶“速率”字段和“突发”字段)。
当接收到用于子LSP18A的资源预留请求消息19A时,路由器12B将资源预留回复消息21A转发到路由器12D,路由器12D将资源预留回复消息21A转发到路由器12G。类似地,在接收到用于子LSP18B的资源预留请求消息19B时,路由器12B将资源预留回复消息21B转发到路由器12G。在接收到资源预留回复消息21后,路由器12G将资源预留回复消息21A转发给路由器12C,路由器12C将资源预留回复消息21A转发给路由器12A,并将资源预留回复消息21B转发给路由器12A。
响应于接收到指示确认的资源预留回复消息,RSVP-TE 48A配置入口路由器12A的转发组件46以指示分配给MP-LSP的标签(98)。例如,响应于接收到指示确认的资源预留回复消息21(图3),RSVP-TE48A配置入口路由器12A的转发组件46以指示分配给MP-LSP16的用于将网络流量沿着MP-LSP 16的子LSP 18转发到相应的下一跳跃的标签。一旦被配置,入口路由器12A可以使用MP-LSP转发网络流量(100)。例如,RSVP-TE48A转发指示有分配给MP-LSP的标签的网络流量。
图6是示出用于建立具有变化的每跳带宽约束的MP-LSP的中转路由器12G的示例操作的流程图。为了示例的目的,将参考图1的路由器12和图4的路由器40来说明图6。中转路由器12G可以可选地输出通告的能力信息(110),该信息指示路由器12G是否被配置为修改资源预留请求消息的每跳带宽约束。例如,中转路由器12G可以向路由器12A输出指示中转路由器12G被配置为修改每跳带宽约束的指示的通告的能力信息。在这样的示例中,入口路由器12A可以生成资源预留请求消息,所述资源预留请求消息考虑通告的中转路由器12G的能力。例如,响应于中转路由器12G通告的可变带宽的能力,入口路由器12A可以生成资源预留请求消息,该资源预留请求消息如下所述在中转路由器12G处修改子LSP的带宽。
中转路由器12G接收用于MP-LSP 16的子LSP 18的资源预留请求消息19(112)。例如,中转路由器12G接收资源预留请求消息19,每个资源预留请求消息指示预留每秒50兆字节的带宽。例如,中转路由器12G针对子LSP18A接收包括EXPLICIT_ROUTE对象、SESSION_ATTRIBUTE对象(包括用于MP-LSP16的扩展隧道ID)以及SENDER_TSPEC对象(包括指示每秒50兆字节的令牌桶“速率”字段和“突发”字段)的资源预留请求消息19A。在这种情况下,例如,中转路由器12G针对子LSP 18B接收包括EXPLICIT_ROUTE对象、SESSION_ATTRIBUTE对象(包括用于MP-LSP16的扩展隧道ID)以及SENDER_TSPEC对象(包括指示每秒50兆字节的令牌桶“速率”字段和“突发”字段)的资源预留请求消息19B。
然而,资源预留请求消息19A可以进一步包括用于在中转路由器12G处将每跳带宽约束的指示从每秒50兆字节修改为每秒30兆字节的指令,并且资源预留请求消息19B进一步包括用于在中转路由器12G处将每跳带宽约束的指示从每秒50兆字节修改为每秒70兆字节的指令。例如,中转路由器12G针对子LSP 18A接收资源预留请求消息19A,该资源预留请求消息进一步包括包含中转路由器12G的地址(例如,IPV4、IPV6等)和相应的带宽mod值(其包括指示每秒30兆字节的令牌桶“速率”字段和“突发”字段)的SENDER_TSPEC_MODS对象。在这种情况下,中转路由器12G针对子标签18B接收资源预留请求消息19B,该资源预留请求消息进一步包括包含路由器12G的地址(例如,IPV4、IPV6等)和相应的带宽mod值(其包括指示每秒70兆字节的令牌桶“速率”字段和“突发”字段)的SENDER_TSPEC_MODS对象。
虽然未示出,但是在接收到资源预留请求消息19时,中转路由器12G可以预留在资源预留请求消息19中请求的带宽量。例如,当资源预留请求消息19A的SENDER_TSPEC对象包括指示每秒50兆字节的令牌桶“速率”字段和“突发”字段时,中转路由器12G可以针对子LSP18A预留每秒50兆字节,并且当资源预留请求消息19B的SENDER_TSPEC对象包括指示每秒50兆字节的令牌桶“速率”字段和“突发”字段时,中转路由器12G可以针对子LSP 18B预留每秒50兆字节。
对于资源预留请求消息19中的每一个,中转路由器12G修改相应资源预留请求消息(114)中的每一个的每跳带宽约束的指示。例如,在接收到资源预留请求消息19A时,中转路由器12G根据在中转路由器12G处将每跳带宽约束的指示从每秒50兆的字节修改为每秒30兆的字节的指令来修改资源预留请求消息19A的每跳带宽约束的指示为指示每秒30兆字节的带宽。例如,中转路由器12G针对子LSP18A修改资源预留请求消息19A的SENDER_TSPEC对象为包括指示每秒30兆字节的令牌桶“速率”字段和“突发”字段。
类似地,在该示例中,在接收到资源预留请求消息19B时,中转路由器12G根据在路由器12G处将每跳带宽约束的指示从每秒50兆的字节修改为每秒70兆的字节的指令来修改资源预留请求消息19B的每跳带宽约束的指示为指示每秒70兆字节的带宽。例如,中转路由器12G针对子LSP18B修改资源预留请求消息19B的SENDER_TSPEC对象以包括指示每秒70兆字节的令牌桶“速率”字段和“突发”字段。
在修改资源预留请求消息19的每跳带宽约束的指示时,中转路由器12G输出资源预留请求消息(116)。例如,中转路由器12G将资源预留请求消息19A转发到路由器12D,并且将资源预留请求消息19B转发到路由器12B。例如,中转路由器12G向路由器12D发送用于子LSP18A的资源预留请求消息19A,该消息包括EXPLICIT_ROUTE对象、SESSION_ATTRIBUTE对象(包括用于MP-LSP16的扩展隧道ID)以及SENDER_TSPEC对象(包括指示每秒30兆字节的令牌桶“速率”字段和“突发”字段)。在这种情况下,中转路由器12G向路由器12B发送用于子LSP18B的资源预留请求消息19B,该消息包括EXPLICIT_ROUTE对象、SESSION_ATTRIBUTE对象(其包括用于MP-LSP16的扩展隧道ID)以及SENDER_TSPEC对象(其包括指示每秒70兆字节的令牌桶“速率”字段和“突发”字段)。
中转路由器12G仅在中转路由器已经接收到所有相应的资源预留回复消息19时才输出由中转路由器12G接收的针对每个资源预留请求消息19的资源预留回复消息21(118)。例如,当中转路由器12G从路由器12D接收到资源预留回复消息21A时,中转路由器12G可延迟向上游发送资源预留回复消息21A,直到中转路由器12G还从路由器12B接收到资源预留回复消息21B。一经配置,中转路由器12G就可以转发指示有分配给MP-LSP16的标签的网络流量(120)。
图7是示出用信号通知变化的每跳带宽约束的示例资源预留请求消息150的框图。例如,入口路由器12A(图1)可以生成资源预留请求消息150。例如,资源预留请求消息150可以是资源预留请求消息19中的每一个的示例。在一些示例中,RSVP-TE 48A(图4)可以生成资源预留请求消息150。
如在图7中所示,资源预留请求消息150可根据RFC 3209“RSVP-TE:Extensions toRSVP for LSP Tunnels”(IETF,2001年12月,其在此通过引用并入,并且在本文中被称为“RFC3209”)格式化。例如,资源预留请求消息150可以是由RFC 3209定义的RSVP-TE路径消息。例如,资源预留请求消息150可以包括在RFC 3209中定义的信息,例如但不限于通用报头、完整性对象、会话对象151、RSVP跳跃对象、时间值、显式路由对象152、标签请求对象、会话属性对象154、策略数据对象和发送方描述符160。
会话对象151可以包括用于资源预留请求消息150的指示MP-LSP的隧道标识符。例如,入口路由器12A(图1)可以生成会话对象151以包括分配给MP-LSP 16(图1)的隧道标识符。在一些示例中,入口路由器12A(图1)可以生成会话对象151以包括扩展隧道标识符,该扩展隧道标识符包括分配给入口路由器12A的互联网协议地址。路由器12可以被配置为从资源预留请求消息150中提取指示MP-LSP的隧道标识符。
会话对象151可以包括资源预留请求消息150的针对相应子LSP的标识符。例如,入口路由器12A(图1)可以生成会话对象151以包括隧道标识符,该隧道标识符包括用于各子LSP的标识符。在一些示例中,入口路由器12A(图1)可以生成会话对象151以包括扩展隧道标识符,该扩展隧道标识符包括用于各子LSP的标识符。路由器12可以被配置为从资源预留请求消息150提取各子LSP的标识符。
显式路由对象152可以指示用于相应子LSP的显式路由。例如,入口路由器12A(图1)可以生成显式路由对象152以针对相应的子LSP指示沿着显式路由的每一跳跃的互联网协议地址。在一些示例中,路由器12可以被配置为从资源预留请求消息150提取显式路由对象152。
图8是示出了图7的用信号发送变化的每跳带宽约束的资源预留请求消息150的示例性发送方描述符160的框图。例如,入口路由器12A(图1)可以生成资源预留请求消息150以包括发送方描述符160。在一些示例中,RSVP-TE 48A(图4)可以生成资源预留请求消息150以包括发送方描述符160。
如图8所示,发送方描述符160在某些方面可以根据RFC 3209进行格式化。例如,资源预留请求消息150可以包括在RFC 3209中定义的信息,例如但不限于发送方模板、发送方TSPEC对象162、通告规范(ADSPEC)对象和记录路由对象。根据本公开的技术,发送方描述符160包括发送方TSPEC修改对象170。
发送方TSPEC对象162可以包括每跳带宽约束的指示。例如,入口路由器12A(图1)可以生成资源预留请求消息150的发送方描述符160以包括发送方TSPEC对象162。在一些示例中,路由器12可以被配置为从资源预留请求消息150的发送方描述符160提取发送方TSPEC对象162。发送方TSPEC对象162可根据RFC 2210“The Use of RSVP with IETFIntegrated Services”(IETF,1997年9月)进行格式化。例如,入口路由器12A(图1)可生成发送方TSPEC对象162以包括表示每跳带宽约束的预留协议(RSVP)TSPEC对象。例如,入口路由器12A(图1)可以生成发送方TSPEC对象162以包括令牌桶“速率”字段和“突发”字段。在一些情况下,路由器12可以被配置为从发送方TSPEC对象162提取令牌桶“速率”字段和“突发”字段。
图9是示出图8的发送方描述符160的用信号发送变化的每跳带宽约束的示例发送方TSPEC修改对象170的框图。发送方TSPEC修改对象170可以包括修改每跳带宽约束的指示的一个或多个指令。例如,发送方TSPEC修改对象170可以包括修改发送方TSPEC对象162的令牌桶“速率”字段和/或“突发”字段的一个或多个指令。如图所示,发送方TSPEC修改对象170可以包括带宽修改的数量的指示172、带宽修改的跳跃的一个或多个指示174A-174N(统称为跳跃指示174)以及带宽修改的一个或多个指示176A-176N(统称为带宽指示176)。
带宽修改的数量172可以指示在资源预留请求消息150(图7)从入口路由器向出口路由器发送时发送方TSPEC对象162(图8)待修改的次数。次数(N)通常可以小于显式路由对象152(图7)中指示的跳跃数。例如,入口路由器12A(图1)可以生成带宽修改的数量172以仅指示出现带宽变化的一个或多个跳跃,而不是生成发送方TSPEC修改对象170来指示每跳中的带宽。例如,入口路由器12A(图1)可以生成发送方TSPEC修改对象170以包括带宽修改的数量172。在一些情况下,路由器12可以被配置为从发送方TSPEC修改对象170提取带宽修改的数量172。
跳跃指示174可以定义沿相应子LSP的显式路由的跳跃,以修改每跳带宽约束的指示。例如,跳跃指示174可以指定分配给中转路由器的互联网协议地址。例如,为了生成在中转路由器12G(图1)修改跳跃处的每跳带宽约束的指示的指令,入口路由器12A(图1)可以生成跳跃指示174A以包括分配给中转路由器12G的互联网协议地址。如本文所使用的,互联网协议地址可以指IPv4地址、IPv6地址或其他互联网协议地址。在一些情况下,路由器12可以被配置为从发送方TSPEC修改对象170提取跳跃指示174的互联网协议地址。
带宽指示176可以定义沿着相应子LSP的显式路由的跳跃处的修改带宽,以修改每跳带宽约束的指示。例如,带宽指示176可以指定发送方TSPEC对象162(图8)的令牌桶“速率”字段和“突发”字段。例如,为了生成在中转路由器12G(图1)处修改跳跃处的每跳带宽约束的指示的指令,入口路由器12A(图1)可以生成带宽指示176A以包括令牌桶“费率”字段和“突发”字段。在一些情况下,路由器12可以被配置为从发送方TSPEC修改对象170提取带宽指示176的令牌桶“速率”字段和“突发”字段。
如所示出的,发送方TSPEC修改对象170可以指示沿着相应子LSP的显式路由的各跳跃处的两个或更多个带宽修改。例如,跳跃指示174A-174N可以定义沿着相应子LSP的显式路由的两个或更多个跳跃来修改每跳带宽约束的指示,而带宽指示176A-176N可以定义对带宽的相应修改。以这种方式,跳跃指示174和带宽指示176可以形成沿着相应子LSP的显式路由在两个或更多个跳跃处修改发送方TSPEC对象162(图8)的指令。
在一些示例中,只有在资源预留请求消息150(图7)包括显式路由对象152(图7)并且如果150显式路由对象152中的所有跳跃都被指定为严格跳跃(strict hops)时,发送方TSPEC修改对象170才会出现在资源预留请求消息150(图7)中。发送方TSPEC修改对象170是入口路由器仅在为变化的每跳带宽约束配置网络14(图1)时可以包括的可选对象。发送方TSPEC修改对象170的类别号可以是“11bbbbbb”的形式,以指示不能够处理发送方TSPEC修改对象170的节点应该未修改地转发发送方TSPEC修改对象170。
本公开内容中描述的技术可以至少部分地以硬件、软件、固件或其任何组合来实现。例如,所描述的技术的各个方面可以在一个或多个处理器内实现,所述一个或多个处理器包括一个或多个微处理器、数字信号处理器(DSP)、专用集成电路(ASIC)、现场可编程门阵列(FPGA)或任何其他等效的集成或离散逻辑电路,以及这些组件的任何组合。术语“处理器”或“处理电路”通常可以指单独或与其他逻辑电路组合的任何上述逻辑电路,或任何其他等效电路。包括硬件的控制单元还可以执行本公开的技术中的一个或多个技术。
这样的硬件、软件和固件可以在相同的设备内或在分离的设备内实现,以支持本公开中描述的各种操作和功能。另外,所描述的单元、模块或组件中的任何一个可以一起或作为分立但能共同操作的逻辑设备单独实现。将不同的功能描述为模块或单元旨在强调不同的功能方面,并不一定意味着这些模块或单元必须由单独的硬件或软件组件来实现。相反,与一个或多个模块或单元相关联的功能可以由单独的硬件或软件组件执行,或者集成在共同的或单独的硬件或软件组件中。
本公开内容中描述的技术还可以在包含指令的计算机可读介质(诸如计算机可读存储介质)中实现或编码。嵌入或编码在计算机可读介质中的指令可以使可编程处理器或其他处理器执行该方法,例如,当指令被执行时。计算机可读介质可以包括非暂时性计算机可读存储介质和瞬时通信介质。计算机可读存储介质是有形且非瞬时的,可以包括随机存取存储器(RAM)、只读存储器(ROM)、可编程只读存储器(PROM)、可擦除可编程只读存储器(EPROM)、电子可擦除可编程读取(EEPROM)、闪存、硬盘、CD-ROM、软盘、盒式磁带、磁介质、光学介质或其他计算机可读存储介质。术语“计算机可读存储介质”是指物理存储介质,而不是信号,载波或其他瞬态介质。
除了上述之外或作为上述的替代,描述了以下实施方式。任何以下实施方式中描述的特征可以与本文描述的任何实施方式一起使用。
实例1.一种方法,包括:由入口路由器计算用于多路径标签交换路径(MP-LSP)的多个子标签交换路径(子LSP)的多个路径,其中,计算所述多个路径包括:为通用中转路由器,确定用于所述多个路径的多个输入每跳带宽约束以及用于所述多个路径的多个输出每跳带宽约束,其中,由所述多个输入每跳带宽约束预留的带宽量的总和对应于由所述多个输出每跳带宽约束预留的带宽量的总和,并且其中,对于所述多个路径中的每个路径,所述多个输入每跳带宽约束中的相应输入每跳带宽约束具有与所述多个输出每跳带宽约束的相应输出每跳带宽约束不同的值;以及由所述入口路由器为所述多个路径中的每个路径输出相应的资源预留请求消息以建立所述多个子LSP中的相应子LSP,每个相应资源预留请求消息包括显式路由的指示、指示所述MP-LSP的隧道标识符、用于相应子LSP的标识符、与所述多个输入每跳带宽约束中的相应输入每跳带宽约束相对应的每跳带宽约束的指示以及修改所述每跳带宽约束的指示的一个或多个指令,所述一个或多个指令包括在所述共同中转路由器处修改每跳带宽约束的指示以对应于所述多个输出每跳带宽约束的相应输出每跳带宽约束的指令。
示例2.根据示例1所述的方法,还包括:响应于针对MP-LSP的每个子LSP,由入口路由器接收到被布置在MP-LSP的相应子LSP处的多个中转路由器和出口路由器的指示确认的资源预留回复消息,由入口路由器转发指示MP-LSP的网络流量。
示例3.根据示例1-2的任一组合的方法,还包括:由所述入口路由器接收用于所述共同中转路由器的所通告的能力信息,所通告的能力信息指示所述共同中转路由器被配置为针对所述多个路径中的每个路径修改所述每跳带宽约束的指示,其中,基于所述所通告的能力信息计算所述多个路径。
实例4.根据实例1-3的任一组合的方法,其中,所述一个或多个指令是多个指令,所述多个指令中的每个指令指示由多个共同中转路由器的相应共同中转路由器修改所述每跳带宽约束的指示,该方法进一步包括:由所述入口路由器为所述多个路径中的每个路径生成所述相应资源预留请求消息,使得所述一个或多个指令包括由所述多个指令修改所述每跳带宽约束的指示的次数的指示。
实例5.根据实例1-4的任一组合的方法,进一步包括:由所述入口路由器为所述多个路径中的每个路径生成所述相应的资源预留请求消息,使得所述一个或多个指令使用分配给所述共同中转路由器的互联网协议地址来指示对应于所述共同中转路由器的跳跃(hop)。
示例6.根据示例1-5的任一组合的方法,还包括:由所述入口路由器为所述多个路径中的每个路径生成所述相应资源预留请求消息以包括资源预留协议流量工程(RSVP-TE)路径消息。
示例7.根据示例1-6的任一组合的方法,还包括由所述入口路由器为所述多个路径中的每个路径生成相应的资源预留请求消息以包括包含所述每跳带宽约束的指示的预留协议(RSVP)发送方流量说明符(TSPEC)对象。
示例8.根据示例1-7的任一组合的方法,还包括:由所述入口路由器为所述多个路径中的每个路径生成所述相应的资源预留请求消息,使得所述每跳带宽约束的指示表明了用于相应子LSP的单个令牌桶速率以及用于相应子LSP的单个峰值数据速率。
示例9.根据示例1-8的任一组合的方法,其中:共同中转路由器是第一共同中转路由器;以及计算所述多个路径进一步包括对第二共同中转路由器确定所述多个路径的多个输入每跳带宽约束以及所述多个路径的多个输出每跳带宽约束,其中,针对所述第二共同传送路由器的所述多个输入每跳带宽约束预留的带宽量的总和对应于针对所述第二共同中转路由器的所述多个输出每跳带宽约束预留的带宽量的总和,并且其中,对于所述多个路径中的每个路径,针对所述第二共同中转路由器的所述多个输入每跳带宽约束的相应输入每跳转带宽约束与针对所述第二共同中转路由器的所述多个输出每跳带宽约束的相应输出每跳转带宽约束具有不同的值,所述方法进一步包括:由所述入口路由器为所述多个路径中的每个路径生成所述相应的资源预留请求消息,使得所述一个或多个指令进一步包括在所述第二共同中转路由器处修改所述每跳带宽约束的指示以对应于所述第二共同中转路由器的所述多个输出每跳带宽约束的相应的输出每跳带宽约束的指令。
示例10.一种包括在电路中实现的一个或多个处理器的路由器,所述一个或多个处理器被配置为:计算用于多路径标签交换路径(MP-LSP)的多个子标签交换路径(子LSP)的多个路径,其中,计算所述多个路径包括以下步骤:对共同中转路由器确定所述多个路径的多个输入每跳带宽约束和所述多个路径的多个输出每跳带宽约束,其中,所述多个输入每跳带宽约束预留的带宽量的总和对应于所述多个输出每跳带宽约束预留的带宽量的总和,并且其中,针对所述多个路径中的每个路径,所述多个输入每跳带宽约束中的相应输入每调带宽约束与所述多个输出每跳带宽约束中的相应输出每跳带宽约束具有不同的值;和针对所述多个路径中的每个路径输出相应的资源预留请求消息以建立所述多个子LSP中的相应子LSP,每个所述相应的资源预留请求消息包括显式路由的指示、指示MP-LSP的隧道标识符、相应子LSP的标识符、与所述多个输入每跳带宽约束中的相应输入每跳带宽约束相对应的每跳带宽约束的指示以及修改所述每跳带宽约束的所述指示的一个或多个指令,所述一个或多个指令包括在所述共同交通路由器处修改所述每跳带宽约束以对应于所述多个输出每跳带宽约束的相应输出每跳带宽约束的指示的指令。
示例11.根据示例10所述的路由器,其中,所述一个或多个处理器进一步被配置为:响应于针对MP-LSP的每个子LSP,由入口路由器接收到布置在所述MP-LSP的相应子LSP处的多个中转路由器和出口路由器的指示确认的接收资源预留回复消息,转发指示所述MP-LSP的网络流量。
示例12.根据示例10-11的任一组合的路由器,其中,所述一个或多个处理器进一步被配置为:接收所通告的所述共同中转路由器的能力信息,所述能力信息指示所述共同中转路由器被配置为针对所述多个路径中的每个路径修改所述每跳带宽约束的指示,其中,为了计算所述多个路径,所述一个或多个处理器被配置为基于所通告的所述能力信息来计算所述多个路径。
示例13.根据示例10-12的任一组合的路由器,其中,所述一个或多个指令是多条指令,所述多条指令中的每条指令指示由所述多个共同中转路由器中的相应共同中转路由器修改所述每跳带宽约束的指示,并且其中所述一个或多个处理器被进一步配置为:针对所述多个路径中的每个路径产生相应的资源预留请求消息,使得一个或多个所述指令包括由多个所述指令修改每跳带宽约束的指示的次数的指示。
示例14.根据示例10-13的任一组合的路由器,其中,所述一个或多个处理器进一步被配置为:针对所述多个路径中的每个路径产生相应的资源预留请求消息,使得一个或多个所述指令使用分配给所述共同中转路由器的互联网协议地址来指示对应于所述共同中转路由器的跳跃。
示例15.根据示例10-14的任何组一的路由器,其中,所述一个或多个处理器进一步被配置为:为所述多个路径中的每个路径生成相应的资源预留请求消息以包括资源预留协议流量工程(RSVP-TE)路径消息;和针对所述多个路径中的每个路径生成相应的资源预留请求消息以包括包含所述每跳带宽约束的指示的预留协议(RSVP)发送方流量说明符(TSPEC)对象。
示例16.一种方法,包括:由中转路由器接收多路径标签交换路径(MP-LSP)的子标签交换路径(子-LSP)的资源预留请求消息以建立子LSP,所述消息包括显式路由的指示、指示所述MP-LSP的隧道标识符、与第一每跳带宽约束相对应的每跳带宽约束的指示以及修改所述每跳带宽约束的指示的一个或多个指令,所述一个或多个指令包括在所述中转路由器处修改所述每跳带宽约束的指示以对应于具有不同于所述第一每跳带宽约束的值的第二每跳带宽约束的指令;由所述中转路由器修改所述每跳带宽约束的指示以对应于所述第二每跳带宽约束;以及由所述中转路由器在修改所述每跳带宽约束的指示后输出所述资源预留请求消息。
示例17.根据示例16所述的方法,其中,接收所述资源预留请求消息包括接收所述MP-LSP的多个子LSP的多个资源预留请求消息,所述方法进一步包括:仅在所述中转路由器已经接收到确认了由所述中转路由器输出的所有所述多个资源预留请求消息的对应多个资源预留回复消息时才由所述中转路由器输出由所述输出路由器接收的针对所述多个资源预留请求消息中的每一个的资源预留回复消息。
示例18.根据示例16-17的任一组合的方法,还包括:由所述中转路由器从所述每跳带宽约束的指示提取所述第一每跳带宽约束;和由所述中转路由器为所述子LSP分配所述中转路由器的满足从所述每跳带宽约束的指示提取的所述第一每跳带宽约束的一个或多个资源。
示例19.根据示例16-18的任一组合的方法,还包括:由所述中转路由器在接收到所述资源预留请求消息之前向所述MP-LSP的入口路由器输出通告的所述中转路由器的能力信息。
示例20.根据示例16-19的任一组合的方法,还包括:由所述中转路由器从所述一个或多个指令提取由所述一个或多个指令修改所述每跳带宽约束的指示的次数的指示。
示例21.根据示例16-20的任一组合的方法,还包括:所述中转路由器从所述指令提取分配给所述中转路由器的互联网协议地址,以在所述中转路由器处修改所述每跳带宽约束的指示。
示例22.根据示例16-21的任一组合的方法,其中,所述资源预留请求消息包括资源预留协议流量工程(RSVP-TE)路径消息。
示例23.根据示例16-22的任一组合的方法,其中,所述资源预留请求消息包括包含所述每跳带宽约束的指示的预留协议(RSVP)发送方流量说明符(TSPEC)对象。
示例24.根据示例16-23的任一组合的方法,其中,所述每跳带宽约束的指示表明了所述子LSP的单个令牌桶速率和所述子LSP的单个峰值数据速率。
示例25.一种包括在电路中实现的一个或多个处理器的路由器,所述一个或多个处理器被配置为:接收多路径标签交换路径(MP-LSP)的子标签交换路径(子-LSP)的资源预留请求消息以建立所述子LSP,所述资源预留请求消息包括显式路由的指示、指示MP-LSP的隧道标识符、与第一每跳带宽约束相对应的每跳带宽约束的指示以及用于修改每跳带宽约束的指示的一个或多个指令,所述一个或多个指令包括用于在所述中转路由器处修改所述每跳带宽约束的指示以对应于具有与所述第一每跳带宽约束不同的值的第二每跳带宽约束的指令;修改所述每跳带宽约束的指示以对应于所述第二每跳带宽约束;和在修改所述每跳带宽约束的指示之后,输出所述资源预留请求消息。
示例26.根据示例25所述的路由器,其中,为了接收所述资源预留请求消息,所述一个或多个处理器进一步被配置为接收所述MP-LSP的多个子LSP的多个资源预留请求消息,所述一个或多个处理器被进一步配置为:仅当所述中转路由器已经接收到确认了用于由所述中转路由器输出的所有所述多个资源预留请求消息的资源预留时,才输出由中转路由器接收的针对多个资源预留请求消息中的每一个的资源预留回复消息。
示例27.根据示例25-26的任一组合的路由器,其中所述一个或多个处理器被进一步配置为:从所述每跳带宽约束的所述指示中提取所述第一每跳带宽约束;并为所述子LSP分配所述中转路由器的满足从所述每跳带宽约束的指示中提取的第一每跳带宽约束的一个或多个资源。
示例28.根据示例25-27的任一组合的路由器,其中,所述一个或多个处理器进一步被配置为:在接收所述资源预留请求消息之前向所述MP-LSP的入口路由器输出所述中转路由器的通告的能力信息。
示例29.根据示例25-28的任一组合的路由器,其中,所述一个或多个所述处理器进一步被配置为:从所述一个或多个指令提取指示由一个或多个所述指令修改所述每跳带宽约束的次数的指示。
示例30.根据示例25-29的任一组合的路由器,其中,所述一个或多个处理器进一步被配置为:从所述指令提取分配给所述中转路由器的互联网协议地址,以在所述中转路由器处修改所述每跳带宽约束的指示。
此外,上述任何实施方式中阐述的任何特定特征可以组合成所述技术的有益实施方式。也就是说,任何具体特征通常适用于本发明的所有实施方式。已经描述了各种示例。这些和其他示例在以下权利要求的范围内。
Claims (30)
1.一种改变多路径标签交换路径中的每跳带宽约束的方法,包括:
由入口路由器计算针对多路径标签交换路径(MP-LSP)的从入口路由器到出口路由器之间的多个子标签交换路径(子LSP)的多个路径,其中,计算所述多个路径包括:为在多个子LSP的每一个中包括作为跳的共同中转路由器确定针对所述多个路径的多个输入每跳带宽约束以及针对所述多个路径的多个输出每跳带宽约束,其中,由所述多个输入每跳带宽约束预留的带宽量的总和对应于由所述多个输出每跳带宽约束预留的带宽量的总和,并且其中,对于所述多个路径中的每个路径,所述多个输入每跳带宽约束中的相应输入每跳带宽约束与所述多个输出每跳带宽约束中的相应输出每跳带宽约束具有不同的值;以及
由所述入口路由器对所述多个路径中的每个路径输出相应资源预留请求消息以建立从入口路由器到出口路由器之间的所述多个子LSP中的相应子LSP,每个相应资源预留请求消息包括:显式路由的指示、指示所述MP-LSP的隧道标识符、用于所述相应子LSP的标识符、与所述多个输入每跳带宽约束中的相应输入每跳带宽约束对应的每跳带宽约束的指示以及修改所述每跳带宽约束的指示的一个或多个指令,所述一个或多个指令包括在所述共同中转路由器将所述每跳带宽约束的指示修改为与所述多个输出每跳带宽约束中的相应输出每跳带宽约束对应的指令。
2.如权利要求1所述的方法,进一步包括:
响应于对于所述MP-LSP的每个子LSP,所述入口路由器接收到被布置在所述MP-LSP的相应子LSP的多个中转路由器和出口路由器的表明确认的资源预留回复消息,由所述入口路由器将指示所述MP-LSP的网络流量进行转发。
3.如权利要求1所述的方法,进一步包括:
由所述入口路由器接收针对所述共同中转路由器的表明所述共同中转路由器被配置为对所述多个路径中的每个路径修改所述每跳带宽约束的指示的通告的能力信息,
其中,基于所述通告的能力信息计算所述多个路径。
4.如权利要求1所述的方法,其中,所述一个或多个指令是多个指令,所述多个指令中的每个指令指示由多个共同中转路由器中的相应共同中转路由器对所述每跳带宽约束的指示进行修改,所述方法进一步包括:
由所述入口路由器对所述多个路径中的每个路径生成所述相应资源预留请求消息,使得所述一个或多个指令包括所述每跳带宽约束的指示将被所述多个指令修改的次数的指示。
5.如权利要求1所述的方法,进一步包括:
由所述入口路由器对所述多个路径中的每个路径生成所述相应资源预留请求消息,使得所述一个或多个指令使用被分配给所述共同中转路由器的互联网协议地址来指示与所述共同中转路由器对应的跳跃。
6.如权利要求1所述的方法,进一步包括:
由所述入口路由器对所述多个路径中的每个路径生成包括资源预留协议流量工程(RSVP-TE)路径消息的所述相应资源预留请求消息。
7.如权利要求1所述的方法,进一步包括:
由所述入口路由器对所述多个路径中的每个路径生成包括预留协议(RSVP)发送方流量说明符(TSPEC)对象的所述相应资源预留请求消息,所述预留协议发送方流量说明符对象包括所述每跳带宽约束的指示。
8.如权利要求1所述的方法,进一步包括:
由所述入口路由器对所述多个路径中的每个路径生成所述相应资源预留请求消息,使得所述每跳带宽约束的指示表明针对所述相应子LSP的单个令牌桶速率以及针对所述相应子LSP的单个峰值数据速率。
9.如权利要求1所述的方法,其中:
所述共同中转路由器是第一共同中转路由器;以及
计算所述多个路径进一步包括:为第二共同中转路由器确定针对所述多个路径的多个输入每跳带宽约束以及针对所述多个路径的多个输出每跳带宽约束,其中,由针对所述第二共同中转路由器的多个输入每跳带宽约束预留的带宽量的总和对应于由针对所述第二共同中转路由器的多个输出每跳带宽约束预留的带宽量的总和,并且其中,对于所述多个路径中的每个路径,针对所述第二共同中转路由器的多个输入每跳带宽约束中的相应输入每跳转带宽约束与针对所述第二共同中转路由器的多个输出每跳带宽约束中的相应输出每跳转带宽约束具有不同的值,所述方法进一步包括:
由所述入口路由器对所述多个路径中的每个路径生成所述相应资源预留请求消息,使得所述一个或多个指令进一步包括在所述第二共同中转路由器将所述每跳带宽约束的指示修改为与针对所述第二共同中转路由器的多个输出每跳带宽约束中的相应输出每跳带宽约束对应的指令。
10.一种包括在电路实现的一个或多个处理器的路由器,所述一个或多个处理器被配置为:
计算针对多路径标签交换路径(MP-LSP)的从入口路由器到出口路由器之间的多个子标签交换路径(子LSP)的多个路径,其中,计算所述多个路径包括:为在多个子LSP的每一个中包括作为跳的共同中转路由器确定针对所述多个路径的多个输入每跳带宽约束以及针对所述多个路径的多个输出每跳带宽约束,其中,由所述多个输入每跳带宽约束预留的带宽量的总和对应于由所述多个输出每跳带宽约束预留的带宽量的总和,并且其中,对于所述多个路径中的每个路径,所述多个输入每跳带宽约束中的相应输入每跳带宽约束与所述多个输出每跳带宽约束中的相应输出每跳带宽约束具有不同的值;以及
对所述多个路径中的每个路径输出相应资源预留请求消息以建立从入口路由器到出口路由器之间的所述多个子LSP中的相应子LSP,每个相应资源预留请求消息包括:显式路由的指示、指示所述MP-LSP的隧道标识符、用于所述相应子LSP的标识符、与所述多个输入每跳带宽约束中的相应输入每跳带宽约束对应的每跳带宽约束的指示以及修改所述每跳带宽约束的指示的一个或多个指令,所述一个或多个指令包括在所述共同中转路由器将所述每跳带宽约束的指示修改为与所述多个输出每跳带宽约束中的相应输出每跳带宽约束对应的指令。
11.如权利要求10所述的路由器,其中,所述一个或多个处理器进一步被配置为:
响应于对于所述MP-LSP的每个子LSP,入口路由器接收到被布置在所述MP-LSP的相应子LSP的多个中转路由器和出口路由器的表明确认的资源预留回复消息,将指示所述MP-LSP的网络流量进行转发。
12.如权利要求10所述的路由器,其中,所述一个或多个处理器进一步被配置为:
接收针对所述共同中转路由器的表明所述共同中转路由器被配置为对所述多个路径中的每个路径修改所述每跳带宽约束的指示的通告的能力信息,
其中,为了计算所述多个路径,所述一个或多个处理器被配置为基于所述通告的能力信息来计算所述多个路径。
13.如权利要求10所述的路由器,其中,所述一个或多个指令是多个指令,所述多个指令中的每个指令指示由多个共同中转路由器中的相应共同中转路由器对所述每跳带宽约束的指示进行修改,并且其中,所述一个或多个处理器进一步被配置为:
对所述多个路径中的每个路径生成所述相应资源预留请求消息,使得所述一个或多个指令包括所述每跳带宽约束的指示将被所述多个指令修改的次数的指示。
14.如权利要求10所述的路由器,其中,所述一个或多个处理器进一步被配置为:
对所述多个路径中的每个路径生成所述相应资源预留请求消息,使得所述一个或多个指令使用被分配给所述共同中转路由器的互联网协议地址来指示与所述共同中转路由器对应的跳跃。
15.如权利要求10所述的路由器,其中,所述一个或多个处理器进一步被配置为:
对所述多个路径中的每个路径生成包括资源预留协议流量工程(RSVP-TE)路径消息的所述相应资源预留请求消息;以及
对所述多个路径中的每个路径生成包括预留协议(RSVP)发送方流量说明符(TSPEC)对象的所述相应资源预留请求消息,所述预留协议发送方流量说明符对象包括所述每跳带宽约束的指示。
16.一种改变多路径标签交换路径中的每跳带宽约束的方法,包括:
由中转路由器接收针对多路径标签交换路径(MP-LSP)的从入口路由器到出口路由器之间的子标签交换路径(子LSP)的资源预留请求消息以建立所述子LSP,所述资源预留请求消息包括:显式路由的指示、指示所述MP-LSP的隧道标识符、与第一每跳带宽约束对应的每跳带宽约束的指示以及修改所述每跳带宽约束的指示的一个或多个指令,所述一个或多个指令包括在所述中转路由器将所述每跳带宽约束的指示修改为与和所述第一每跳带宽约束具有不同值的第二每跳带宽约束对应的指令;
由所述中转路由器将所述每跳带宽约束的指示修改为与所述第二每跳带宽约束对应;以及
由所述中转路由器在修改所述每跳带宽约束的指示后输出所述资源预留请求消息。
17.如权利要求16所述的方法,其中,接收所述资源预留请求消息包括:接收针对所述MP-LSP的多个子LSP的多个资源预留请求消息,所述方法进一步包括:
仅当所述中转路由器接收到对由所述中转路由器输出的全部所述多个资源预留请求消息的资源预留作出确认的对应多个资源预留回复消息时,所述中转路由器才输出由所述中转路由器接收的针对所述多个资源预留请求消息中的每一个的资源预留回复消息。
18.如权利要求16所述的方法,进一步包括:
由所述中转路由器从所述每跳带宽约束的指示中提取所述第一每跳带宽约束;以及
由所述中转路由器为所述子LSP分配所述中转路由器的满足从所述每跳带宽约束的指示中提取的所述第一每跳带宽约束的一个或多个资源。
19.如权利要求16所述的方法,进一步包括:
由所述中转路由器在接收到所述资源预留请求消息之前向所述MP-LSP的入口路由器输出针对所述中转路由器的通告的能力信息。
20.如权利要求16所述的方法,进一步包括:
由所述中转路由器从所述一个或多个指令中提取所述每跳带宽约束的指示将被所述一个或多个指令修改的次数的指示。
21.如权利要求16所述的方法,进一步包括:
由所述中转路由器从所述指令提取被分配给所述中转路由器的互联网协议地址,以在所述中转路由器修改所述每跳带宽约束的指示。
22.如权利要求16所述的方法,其中,所述资源预留请求消息包括资源预留协议流量工程(RSVP-TE)路径消息。
23.如权利要求16所述的方法,其中,所述资源预留请求消息包括:包含所述每跳带宽约束的指示的预留协议(RSVP)发送方流量说明符(TSPEC)对象。
24.如权利要求16所述的方法,其中,所述每跳带宽约束的指示表明针对所述子LSP的单个令牌桶速率和针对所述子LSP的单个峰值数据速率。
25.一种包括在电路中实现的一个或多个处理器的路由器,所述一个或多个处理器被配置为:
接收针对多路径标签交换路径(MP-LSP)的从入口路由器到出口路由器之间的子标签交换路径(子LSP)的资源预留请求消息以建立所述子LSP,所述资源预留请求消息包括:显式路由的指示、指示所述MP-LSP的隧道标识符、与第一每跳带宽约束对应的每跳带宽约束的指示以及修改所述每跳带宽约束的指示的一个或多个指令,所述一个或多个指令包括在中转路由器将所述每跳带宽约束的指示修改为与和所述第一每跳带宽约束具有不同值的第二每跳带宽约束对应的指令;
将所述每跳带宽约束的指示修改为与所述第二每跳带宽约束对应;以及
在修改所述每跳带宽约束的指示后输出所述资源预留请求消息。
26.如权利要求25所述的路由器,其中,为了接收所述资源预留请求消息,所述一个或多个处理器进一步被配置为接收针对所述MP-LSP的多个子LSP的多个资源预留请求消息,所述一个或多个处理器进一步被配置为:
仅当所述中转路由器接收到对由所述中转路由器输出的全部所述多个资源预留请求消息的资源预留作出确认的对应多个资源预留回复消息时,才输出由所述中转路由器接收的针对所述多个资源预留请求消息中的每一个的资源预留回复消息。
27.如权利要求25所述的路由器,其中,所述一个或多个处理器进一步被配置为:
从所述每跳带宽约束的指示中提取所述第一每跳带宽约束;和
为所述子LSP分配所述中转路由器的满足从所述每跳带宽约束的指示中提取的所述第一每跳带宽约束的一个或多个资源。
28.如权利要求25所述的路由器,其中,所述一个或多个处理器进一步被配置为:
在接收到所述资源预留请求消息之前向所述MP-LSP的入口路由器输出针对所述中转路由器的通告的能力信息。
29.如权利要求25所述的路由器,其中,所述一个或多个所述处理器进一步被配置为:
从所述一个或多个指令中提取所述每跳带宽约束的指示将被所述一个或多个指令修改的次数的指示。
30.如权利要求25所述的路由器,其中,所述一个或多个处理器进一步被配置为:
从所述指令提取被分配给所述中转路由器的互联网协议地址,以在所述中转路由器修改所述每跳带宽约束的指示。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US15/590,711 | 2017-05-09 | ||
US15/590,711 US10230621B2 (en) | 2017-05-09 | 2017-05-09 | Varying a per-hop-bandwidth constraint in multi-path label switched paths |
Publications (2)
Publication Number | Publication Date |
---|---|
CN108881017A CN108881017A (zh) | 2018-11-23 |
CN108881017B true CN108881017B (zh) | 2020-12-18 |
Family
ID=61868327
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201810288711.1A Active CN108881017B (zh) | 2017-05-09 | 2018-03-30 | 改变多路径标签交换路径中每跳带宽约束的方法及路由器 |
Country Status (3)
Country | Link |
---|---|
US (1) | US10230621B2 (zh) |
EP (1) | EP3402140B1 (zh) |
CN (1) | CN108881017B (zh) |
Families Citing this family (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP6926734B2 (ja) * | 2017-07-03 | 2021-08-25 | 富士通株式会社 | 経路制御装置および経路制御方法 |
US11070463B2 (en) * | 2019-07-24 | 2021-07-20 | Juniper Networks, Inc. | Guaranteed bandwidth for segment routed (SR) paths |
US11411869B1 (en) * | 2020-05-11 | 2022-08-09 | Cisco Technology, Inc. | Designated forwarder selection for multihomed hosts in an ethernet virtual private network |
CN113225255A (zh) * | 2021-03-31 | 2021-08-06 | 福建奇点时空数字科技有限公司 | 一种基于触发生成机制的sdn随机路由跳变方法 |
WO2022220854A1 (en) * | 2021-06-28 | 2022-10-20 | Futurewei Technologies, Inc. | Granularity aware end-to-end bandwidth reservation and routing path selection |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP2224649A1 (en) * | 2009-02-25 | 2010-09-01 | Juniper Networks, Inc. | Load balancing network traffic on a label switched path using resource reservation protocol with traffic engineering |
CN103155499A (zh) * | 2010-10-15 | 2013-06-12 | 华为技术有限公司 | 用于计算点到多点标签交换路径的备份出口的系统和方法 |
Family Cites Families (36)
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 |
CN1293502C (zh) | 1999-06-30 | 2007-01-03 | 倾向探测公司 | 用于监控网络流量的方法和设备 |
DE50105272D1 (de) | 2000-03-10 | 2005-03-17 | Siemens Ag | Verfahren zum Verteilen einer Datenverkehrslast eines Kommunikationsnetzes und Kommunikationsnetz zur Realisierung des Verfahrens |
US6653005B1 (en) | 2000-05-10 | 2003-11-25 | University Of Central Florida | Portable hydrogen generator-fuel cell apparatus |
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 |
US7212526B2 (en) | 2002-01-18 | 2007-05-01 | Hitachi, Ltd. | Method and apparatus for composing virtual links in a label switched network |
US20030137971A1 (en) | 2002-01-22 | 2003-07-24 | Mark Gibson | Telecommunications system and method |
JP3957570B2 (ja) | 2002-06-17 | 2007-08-15 | 日本電気株式会社 | ルータ装置 |
EP1516475B1 (en) | 2002-06-24 | 2006-01-25 | International Business Machines Corporation | Load balancing in data networks |
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 |
KR100693052B1 (ko) * | 2005-01-14 | 2007-03-12 | 삼성전자주식회사 | Mpls 멀티캐스트의 고속 재경로 설정 장치 및 방법 |
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 |
US20070174483A1 (en) * | 2006-01-20 | 2007-07-26 | Raj Alex E | Methods and apparatus for implementing protection for multicast services |
US7623466B2 (en) | 2006-04-20 | 2009-11-24 | Alcatel Lucent | Symmetric connection detection |
JP4732972B2 (ja) | 2006-06-30 | 2011-07-27 | 株式会社エヌ・ティ・ティ・ドコモ | アドホックネットワーク、ノード、経路制御方法、及び経路制御プログラム |
CN101155124B (zh) * | 2006-09-27 | 2011-09-14 | 华为技术有限公司 | 一种实现组播快速重路由的方法 |
US7808898B2 (en) | 2007-08-14 | 2010-10-05 | Hewlett-Packard Development Company, L.P. | Flow estimator |
EP3544231A1 (en) | 2009-02-19 | 2019-09-25 | Huawei Technologies Co., Ltd. | System and method for point to multipoint inter-domain multiprotocol label switching traffic engineering path calculation |
US8259585B1 (en) | 2009-04-17 | 2012-09-04 | Juniper Networks, Inc. | Dynamic link load balancing |
-
2017
- 2017-05-09 US US15/590,711 patent/US10230621B2/en active Active
-
2018
- 2018-03-29 EP EP18165174.6A patent/EP3402140B1/en active Active
- 2018-03-30 CN CN201810288711.1A patent/CN108881017B/zh active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP2224649A1 (en) * | 2009-02-25 | 2010-09-01 | Juniper Networks, Inc. | Load balancing network traffic on a label switched path using resource reservation protocol with traffic engineering |
CN101815035B (zh) * | 2009-02-25 | 2012-06-13 | 丛林网络公司 | 使用rsvp-te在标签交换路径上负载均衡网络流量 |
CN103155499A (zh) * | 2010-10-15 | 2013-06-12 | 华为技术有限公司 | 用于计算点到多点标签交换路径的备份出口的系统和方法 |
Non-Patent Citations (2)
Title |
---|
《Maximize bandwidth Utilization with Juniper Network TE+》;Juniper;《https://www.juniper.net/assets/us/en/local/pdf/whitepapers/2000587-en.pdf》;20151031;全文 * |
《Multi-path Label Switched Paths Signaled Using RSVP-TE rev.06》;K Komeplla ET AL;《https://tools.ietf.org/html/draft-kompella-mpls-rsvp-ecmp-06#section-2.1》;20150309;全文 * |
Also Published As
Publication number | Publication date |
---|---|
CN108881017A (zh) | 2018-11-23 |
US10230621B2 (en) | 2019-03-12 |
EP3402140A1 (en) | 2018-11-14 |
US20180331941A1 (en) | 2018-11-15 |
EP3402140B1 (en) | 2020-11-04 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US9001672B2 (en) | System, method and apparatus conforming path cost criteria across multiple ABRs | |
US8817591B2 (en) | Inter-domain signaling to update remote path computation elements after a call set-up failure | |
CN108881017B (zh) | 改变多路径标签交换路径中每跳带宽约束的方法及路由器 | |
CN102771096B (zh) | 用于计算点到多点标签交换路径的备份入节点的系统和方法 | |
EP2224649B1 (en) | Load balancing network traffic on a label switched path using resource reservation protocol with traffic engineering | |
US7787380B1 (en) | Resource reservation protocol with traffic engineering point to multi-point label switched path hierarchy | |
US7602702B1 (en) | Fast reroute of traffic associated with a point to multi-point network tunnel | |
EP2978176B1 (en) | Packet processing method and router | |
US10659290B1 (en) | RSVP local protection signaling reduction | |
US9571381B2 (en) | System and method for inter-domain RSVP-TE LSP load balancing | |
US9300564B2 (en) | Ordered flooding requests for path computation elements | |
CN110650090B (zh) | 路由方法和路由器 | |
CN102119517A (zh) | 用于多拓扑支持的系统和方法 | |
CN103416029A (zh) | 复合链路上标签交换路径的信令扩展 | |
CN113395735A (zh) | 一种报文传输方法、装置和网络设备 | |
JP2009519666A (ja) | ネットワーク・トンネル間の資源共有 | |
EP3493492B1 (en) | Rsvp make-before-break label reuse | |
EP2023549A1 (en) | Method and device for bandwidth sharing and communication system comprising such device | |
US20140269737A1 (en) | System, method and apparatus for lsp setup using inter-domain abr indication | |
Le Faucheur | IETF Internet Draft Expires: April, 2003 Document: draft-ietf-tewg-diff-te-proto-02. txt October, 2002 | |
Le Faucheur et al. | IETF Internet Draft Expires: August, 2002 Document: draft-ietf-tewg-diff-te-proto-00. txt February, 2002 | |
Le Faucheur | IETF Internet Draft Expires: March, 2004 Document: draft-ietf-tewg-diff-te-proto-05. txt September, 2003 |
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 | ||
CB02 | Change of applicant information |
Address after: California, USA Applicant after: Juniper Networks, Inc. Address before: California, USA Applicant before: Jungle network |
|
GR01 | Patent grant | ||
GR01 | Patent grant |