CN103081416B - Automated Traffic Engineering of Multiprotocol Label Switching (MPLS) with Link Utilization as Feedback into Tie-Breaking Mechanisms - Google Patents
Automated Traffic Engineering of Multiprotocol Label Switching (MPLS) with Link Utilization as Feedback into Tie-Breaking Mechanisms Download PDFInfo
- Publication number
- CN103081416B CN103081416B CN201180043490.8A CN201180043490A CN103081416B CN 103081416 B CN103081416 B CN 103081416B CN 201180043490 A CN201180043490 A CN 201180043490A CN 103081416 B CN103081416 B CN 103081416B
- Authority
- CN
- China
- Prior art keywords
- path
- shortest path
- link
- mpls
- network
- 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.)
- Expired - Fee Related
Links
Abstract
Description
相关申请交叉引用Related Application Cross Reference
本申请交叉引用由David Ian Allen和Scott Andrew Mansfield在与本申请相同的日期提出且共同拥有的共同未决专利申请“802.1AQ基于使用链路利用作为到平局打破机制中的反馈的自动化业务工程”(AUTOMATED TRAFFIC ENGINEERING FOR 802.1AQ BASED UPON THE USE OF LINK UTILIZATION AS FEEDBACK INTO THE TIE BREAKING MECHANISM)。交叉引用的申请通过引用结合于本文中。 This application is cross-referenced to co-pending patent application "802.1AQ Based Automated Traffic Engineering Using Link Utilization as Feedback into a Tie Breaking Mechanism" by David Ian Allen and Scott Andrew Mansfield filed on the same date as this application and jointly owned (AUTOMATED TRAFFIC ENGINEERING FOR 802.1AQ BASED UPON THE USE OF LINK UTILIZATION AS FEEDBACK INTO THE TIE BREAKING MECHANISM). The cross-referenced applications are hereby incorporated by reference.
技术领域 technical field
本发明的实施例涉及用于改进网络中负载分发的方法和设备。具体地说,本发明的实施例涉及用于在多协议标签交换(MPLS)网络中的节点之间带有多个相等成本路径的网络中负载分布的方法。 Embodiments of the invention relate to methods and devices for improving load distribution in a network. In particular, embodiments of the invention relate to methods for load distribution in a network with multiple equal cost paths between nodes in a Multiprotocol Label Switching (MPLS) network.
背景技术 Background technique
负载分发或负载分布是在网络中更有效地利用带宽和改进总体性能的方法。今天部署的大多数自动化负载分发和负载分布技术仅以非常局部视野来操作,这些负载分发和负载分布技术只考虑到给定目的地的路径或随后跳的数量,并且未考虑网络中业务的总体分发。 Load distribution or load distribution is a method of using bandwidth more efficiently and improving overall performance in a network. Most of the automated load distribution and load distribution techniques deployed today operate only with a very local view, taking into account only the path or number of subsequent hops to a given destination, and do not take into account the overall volume of traffic in the network distribution.
相等成本多路径(ECMP)是用于路由的网络中单播业务的负载分布的常见策略,在有关如何将分组转发到给定目的地的判定能够解析到多个“相等成本”路径的任何路径(其在运行数据库计算时在最短路径上陷于平局)的情况下利用。ECMP由于依赖对单个路由器而言是本地的每跳判定,并且假设在每个中间节点存在混杂接收和完全转发表,因此,它能够结合大多数单播路由选择协议和配有要求的支持数据平面硬件的节点来使用。通过在网络中的任何给定节点使用ECMP,跨相等成本随后跳的集合伪平均地划分负载。在存在到给定目的地的多于一个路径的网络的每一跳,此过程被独立实现。 Equal-cost multipath (ECMP) is a common strategy for load distribution of unicast traffic in a routed network, where a decision about how to forward a packet to a given destination can resolve to multiple "equal-cost" paths (which is exploited in the case of a tie on the shortest path when running a database calculation). ECMP is capable of combining most unicast routing protocols with supporting data plane hardware nodes to use. By using ECMP at any given node in the network, the load is pseudo-equally divided across a set of equal-cost subsequent hops. This process is accomplished independently at each hop of the network where there is more than one path to a given destination.
在许多实现中,在遇到存在多个相等成本随后跳时,针对诸如因特网协议(IP)报头等熵源而检查每个分组,并且以路径数量为模的报头信息的散列用于为特定分组选择下一跳。对于高度聚合的业务,此方法将平均地在规则拓扑(即,对称拓扑)中均匀分发负载,并且在不那么规则的拓扑中确实提供了一些改进。 In many implementations, each packet is checked against an entropy source such as an Internet Protocol (IP) header when there are multiple equal-cost subsequent hops, and a hash of the header information modulo the number of paths is used for a specific The group selects the next hop. For highly aggregated businesses, this approach will evenly distribute the load evenly in regular topologies (i.e., symmetric topologies), and does provide some improvement in less regular topologies.
多协议标签交换(MPLS)是用于通过网络转发业务的数据平面和控制平面技术的组合。MPLS使用指派到业务流的每跳标签,以使用标准查找和转换(称为“交换”)跨网络转发业务。借助于考察通过网络收到的进入业务和基于其标签转发该业务,网络的每个节点支持MPLS,标签一般在每跳转换或“交换”。 Multiprotocol Label Switching (MPLS) is a combination of data plane and control plane technologies used to forward traffic over a network. MPLS uses per-hop labels assigned to traffic flows to forward traffic across the network using standard lookups and translations (called "switches"). Each node of the network supports MPLS by examining incoming traffic received through the network and forwarding that traffic based on its label, which is typically switched or "switched" at each hop.
MPLS网络能够使用每跳ECMP在网络中改进路由的业务的分发,以跨相等成本路径分发或分布负载。在MPLS网络中,由网络中的每个节点为每个相等成本路径设置到每个下一跳的标签交换路径(LSP)。在网络中的每个节点使用最短路径优先(SPF)算法计算用于网络中给定目的地的转发路径,将其映射到节点中的本地标签绑定,并且结果连通性显示为多点到多点网格。在被呈现目的地为多个相等成本路径的业务时,各个节点利用有效负载信息作为路径选择机制的一部分以便最大化跨路径的集合的流分发的均匀性。多点到多点LSP的建立自动进行。 MPLS networks can improve the distribution of routed traffic in the network using per-hop ECMP to distribute or distribute load across equal cost paths. In an MPLS network, a Label Switched Path (LSP) to each next hop is set up by each node in the network for each equal cost path. Each node in the network computes the forwarding path for a given destination in the network using the Shortest Path First (SPF) algorithm, maps it to local label bindings in the node, and the resulting connectivity is shown as multipoint-to-many point grid. When presented with traffic destined for multiple equal cost paths, each node utilizes the payload information as part of the path selection mechanism in order to maximize the uniformity of flow distribution across the set of paths. The establishment of a multipoint-to-multipoint LSP is automatic.
标签分发协议(LDP)或类似协议用于为网络中的所有可能转发等价类过量提供标签绑定的完全集合,并且随后每个标签交换路由器(LSR)独立为每个转发等价类计算下一跳的集合并选择它将在任何给定时刻实际使用的标签绑定。 The Label Distribution Protocol (LDP) or similar protocol is used to provide a complete set of label bindings for all possible forwarding equivalence class excesses in the network, and then each Label Switching Router (LSR) independently computes the following for each forwarding equivalence class A collection of hops and selects which label binding it will actually use at any given moment.
发明内容 Contents of the invention
一种在多协议标签交换(MPLS)网络的节点中为了改进的负载分发而实现的方法,其中,所述节点是MPLS网络中的多个节点之一,每个节点实现共同算法平局打破过程以产生最低成本最短路径树,节点包括拓扑数据库以存储MPLS网络的拓扑,其中MPLS网络的拓扑包括多个节点和所述节点之间的链路,方法包括以下步骤:通过对拓扑数据库中存储的MPLS网络的拓扑执行最短路径搜索算法,确定在MPLS网络中每个MPLS节点对之间一个或多个最短路径的第一集合;通过应用共同算法平局打破过程,从最短路径的所述第一集合中选择用于每个MPLS节点对的至少第一最短路径;基于经过每个链路的选择的最短路径的计数,为MPLS网络的每个链路计算链路利用值;通过对拓扑数据库中存储的MPLS网络的拓扑执行最短路径搜索算法,确定在MPLS网络中每个MPLS节点对之间一个或多个最短路径的第二集合;基于对应于每个最短路径的链路利用值,为一个或多个最短路径的第二集合中的每个最短路径生成路径利用值;在路径利用值的基础上从一个或多个最短路径的第二集合来选择第二最短路径,其中,在一个或多个最短路径的该集合中存在具有相等路径利用值的多个最短路径时,选择利用共同算法平局打破过程;以及在标签信息数据库中存储用于每个MPLS节点对的至少第一最短路径和第二最短路径,其中标签信息数据库指示将进入MPLS节点的业务转发到何处,由此鉴于路径利用的第二子集的选择最小化跨整个MPLS网络的负载分发的标准偏差。 A method for improved load distribution implemented in a node of a Multiprotocol Label Switching (MPLS) network, wherein said node is one of a plurality of nodes in the MPLS network, each node implementing a common algorithmic tie-breaking process to Generate the lowest cost shortest path tree, the node includes a topology database to store the topology of the MPLS network, wherein the topology of the MPLS network includes a plurality of nodes and links between the nodes, the method comprises the following steps: by analyzing the MPLS stored in the topology database The topology of the network executes a shortest path search algorithm to determine a first set of one or more shortest paths between each pair of MPLS nodes in the MPLS network; by applying a common algorithm tie-breaking process, from said first set of shortest paths selecting at least a first shortest path for each MPLS node pair; calculating a link utilization value for each link of the MPLS network based on a count of the selected shortest paths through each link; The topology of the MPLS network executes a shortest path search algorithm to determine a second set of one or more shortest paths between each pair of MPLS nodes in the MPLS network; based on the link utilization value corresponding to each shortest path, one or more Each shortest path in the second set of shortest paths generates a path utilization value; the second shortest path is selected from a second set of one or more shortest paths on the basis of the path utilization value, wherein, among one or more When there are multiple shortest paths with equal path utilization values in the set of shortest paths, selecting a tie-breaking process using a common algorithm; and storing at least the first shortest path and the second shortest path for each MPLS node pair in the label information database. The shortest path, wherein the label information database indicates where to forward traffic entering the MPLS node, whereby selection of the second subset in view of path utilization minimizes a standard deviation of load distribution across the entire MPLS network.
一种用于在多协议标签交换(MPLS)网络中改进负载分发的网络单元,MPLS网络包括网络单元,其中,网络单元是MPLS网络中的多个节点之一,其中,MPLS网络的拓扑包括多个节点和所述节点之间的链路,网络单元包括:拓扑数据库,为MPLS网络中的每个链路存储链路信息;标签信息数据库,为网络单元的每个端口存储标签信息,其中,标签信息数据库指示将进入网络单元的每个转发等价类(FEC)转发到何处;控制处理器,耦合到拓扑数据库和标签信息数据库,网络处理器配置成处理数据业务,其中,网络处理器包括:MPLS管理模块,配置成通过标签交换路径(LSP)转发数据业务;标签分发协议(LDP)模块,配置成在MPLS网络中建立LSP;最短路径搜索模块,配置成通过对拓扑数据库执行最短路径搜索算法而确定在MPLS网络中每个MPLS节点对之间的至少一个最短路径,其中,最短路径搜索模块配置成,为带有多个相等成本最短路径的每个MPLS节点对将相等成本最短路径发送到负载分发模块;排序模块,配置成基于从与多个相等成本最短路径中的每个路径相关联的链路利用值所推导的路径利用值来排列多个相等成本最短路径的每个路径;以及负载分发模块,配置成从多个收到的相等成本最短路径选择用于该MPLS节点对的多个相等成本最短路径的第一子集,第一子集要用于在MPLS节点对之间分担数据业务负载,以及基于路径利用值,从用于该MPLS节点对的多个相等成本最短路径选择要用于与该以太网桥对的第一子集分担数据业务负载的第二子集,由此鉴于路径利用值的第二子集的选择最小化跨整个MPLS网络的负载分发的标准偏差。 A network element for improving load distribution in a multiprotocol label switching (MPLS) network, the MPLS network comprising a network element, wherein the network element is one of a plurality of nodes in the MPLS network, wherein the topology of the MPLS network includes multiple A node and the link between the nodes, the network unit includes: a topology database, storing link information for each link in the MPLS network; a label information database, storing label information for each port of the network unit, wherein, The label information database indicates where each forwarding equivalence class (FEC) entering the network element is forwarded; the control processor is coupled to the topology database and the label information database, and the network processor is configured to process data traffic, wherein the network processor Including: MPLS management module, configured to forward data services through label switching path (LSP); label distribution protocol (LDP) module, configured to establish LSP in MPLS network; shortest path search module, configured to perform shortest path through topology database A search algorithm to determine at least one shortest path between each pair of MPLS nodes in the MPLS network, wherein the shortest path search module is configured to assign equal-cost shortest paths to each pair of MPLS nodes with a plurality of equal-cost shortest paths sent to the load distribution module; a ranking module configured to rank each of the plurality of equal-cost shortest paths based on path utilization values derived from link utilization values associated with each of the plurality of equal-cost shortest paths and a load distribution module configured to select a first subset of a plurality of equal-cost shortest paths for the MPLS node pair from a plurality of received equal-cost shortest paths, the first subset to be used between the MPLS node pair sharing the data traffic load between the nodes, and based on the path utilization value, selecting from a plurality of equal-cost shortest paths for the MPLS node pair a second subset to be used for sharing the data traffic load with the first subset of the Ethernet bridge pair , whereby the selection of the second subset of values given the path utilization minimizes the standard deviation of the load distribution across the entire MPLS network.
附图说明 Description of drawings
本发明通过示例方式而不是限制的方式在附图的图形中被示出,附图中,相似的标号表示类似的单元。应注意,在此公开中对“一”或“一个”实施例的不同引用不一定是指相同的实施例,并且此类引用意味着至少一个。此外,在结合一实施例描述某个特定特征、结构或特性时,认为结合无论是否明确描述的其它实施例来实现此类特征、结构或特性是在本领域技术人员的认知之内。 The present invention is shown by way of example and not limitation in the figures of the drawings, in which like reference numerals indicate like elements. It should be noted that different references to "an" or "an" embodiment in this disclosure are not necessarily to the same embodiment, and such references mean at least one. Furthermore, when a particular feature, structure or characteristic is described in conjunction with one embodiment, it is considered within the knowledge of those skilled in the art to implement such feature, structure or characteristic in combination with other embodiments whether explicitly described or not.
图 1是网络拓扑的示例的图。 FIG. 1 is a diagram of an example of a network topology.
图 2是为多协议标签交换网络(MPLS)实现自动业务工程的网络单元的一个实施例的图。 Figure 2 is a diagram of one embodiment of a network element implementing automatic traffic engineering for a multiprotocol label switching network (MPLS).
图 3是包括自动化业务工程的负载分发过程的一个实施例的流程图,自动化业务工程包含使用链路利用作为到平局打破机制中的反馈。 Figure 3 is a flow diagram of one embodiment of a load distribution process including automated traffic engineering involving the use of link utilization as feedback into a tie-breaking mechanism.
图 4是用于生成作为标签分发协议的一部分的标签映射消息的过程的一个实施例的流程图。 Figure 4 is a flowchart of one embodiment of a process for generating a label mapping message as part of a label distribution protocol.
图 5是多点到多点网络拓扑的示例的图。 5 is a diagram of an example of a multipoint-to-multipoint network topology.
图 6是多点到多点网络拓扑的另一示例的图。 6 is a diagram of another example of a multipoint-to-multipoint network topology.
图 7是伪线的集合到基础分组交换网络的映射以支持MPLS网络中的操作、监管和维护(OAM)的一个实施例的图。 Figure 7 is a diagram of one embodiment of the mapping of a set of pseudowires to an underlying packet-switched network to support Operations, Administration and Maintenance (OAM) in an MPLS network.
具体实施方式 detailed description
在下面的描述中,陈述了许多特定细节。然而,要理解的是,实践本发明的实施例可无需这些特定细节。在其它情况下,众所周知的电路、结构和技术未详细示出以免影响对此描述的理解。然而,本领域的技术人员将领会到,可无需此类特定细节而实践本发明。通过包括的描述,本领域普通技术人员将能够在不进行不当实验的情况下实现适当的功能性。 In the following description, numerous specific details are set forth. It is understood, however, that these specific details may not be needed to practice the embodiments of the invention. In other instances, well-known circuits, structures and techniques have not been shown in detail in order not to obscure the understanding of this description. However, it will be appreciated by those skilled in the art that the present invention may be practiced without such specific details. With the included description, one of ordinary skill in the art will be able to implement appropriate functionality without undue experimentation.
实施例包括基本平局打破过程,该过程带有特定属性,所述属性包括以下属性:该过程将始终解析到单个路径,独立于计算的顺序或方向,并且具有局部性属性,使得对于考虑的路径的任何部分的平局能够得以解析而不必考虑整个路径。 Embodiments include a basic tie-breaking procedure with specific properties including the following properties: the procedure will always resolve to a single path, is independent of the order or direction of computation, and has locality properties such that for the paths considered Any part of the draw can be resolved without having to consider the entire path.
将参照图 2的示范实施例,描述流程图的操作。然而,应理解的是,流程图的操作能够通过与参照图 2所述的那些实施例不同的本发明的实施例执行,并且参照图 2所述的实施例能够执行与参照图 3和4的流程图所述的那些操作不同的操作。图 1和5-7提供示出图 2、3和4的原理和结构的实现的示例拓扑和情形。 The operation of the flowchart will be described with reference to the exemplary embodiment of FIG. 2 . It should be understood, however, that the operations of the flowcharts can be performed by embodiments of the invention different from those described with reference to FIG. 2 and that the embodiments described with reference to FIG . Operations differ from those described in the flowchart. Figures 1 and 5-7 provide example topologies and scenarios illustrating the implementation of the principles and structures of Figures 2 , 3 and 4 .
图中所示技术能够使用在一个或多个电子装置(例如,终端站、网络单元等)上存储和执行的代码和数据来实现。此类电子装置使用如下非暂时性机器可读或计算机可读媒体存储和传递(在内部和/或通过网络与其它电子装置)代码和数据:非暂时性机器可读或计算机可读存储媒体(例如,磁盘、光盘、随机存取存储器、只读存储器、闪存装置及相变存储器)。另外,此类电子装置一般情况下包括耦合到诸如一个或多个存储装置、用户输入/输出装置(例如,键盘、触摸屏和/或显示器)和网络连接等一个或多个其它组件的一个或多个处理器的集合。处理器的集合与其它组件的耦合一般情况下是通过一个或多个总线和桥(也称为总线控制器)。存储装置表示一个或多个非暂时性机器可读或计算机可读存储媒体和非暂时性机器可读或计算机可读通信媒体。因此,给定电子装置的存储装置一般情况下存储代码和/或数据以便在该电子装置的一个或多个处理器的集合上执行。当然,本发明的一实施例的一个或多个部分可使用软件、固件和/或硬件的不同组合来实现。 The techniques shown in the figures can be implemented using code and data stored and executed on one or more electronic devices (eg, end stations, network elements, etc.). Such electronic devices store and transfer (internal and/or over a network with other electronic devices) code and data using non-transitory machine-readable or computer-readable media: non-transitory machine-readable or computer-readable storage media ( For example, magnetic disks, optical disks, random access memory, read only memory, flash memory devices, and phase change memory). Additionally, such electronic devices typically include one or more electronic devices coupled to one or more other components, such as one or more storage devices, user input/output devices (eg, keyboards, touch screens, and/or displays), and network connections. A collection of processors. The coupling of a collection of processors to other components is typically through one or more buses and bridges (also known as bus controllers). The storage device represents one or more non-transitory machine-readable or computer-readable storage media and non-transitory machine-readable or computer-readable communication media. Thus, the storage device of a given electronic device typically stores code and/or data for execution on the set of one or more processors of that electronic device. Of course, one or more portions of an embodiment of the invention may be implemented using different combinations of software, firmware, and/or hardware.
在本文中使用时,网络单元(例如,路由器、交换器、桥等)是一件连网设备,包括硬件和软件,其在通信上与网络上的其它设备(例如,其它网络单元、终端站等)互连。一些网络单元是“多服务网络单元”,其为多个连网功能(例如,路由选择、桥接、交换、第2层聚合、会话边界控制、多播和/或订户管理)提供支持和/或为多个应用服务(例如,数据、话音和视频)提供支持。订户终端站(例如,服务器、工作站、膝上型计算机、掌上型计算机、移动电话、智能电话、多媒体电话、基于因特网协议的话音(VOIP)电话、便携式媒体播放器、GPS单元、游戏系统、机顶盒(STB)等)访问通过因特网提供的内容/服务和/或在因特网上重叠的虚拟专用网(VPN)上提供的内容/服务。所述内容和/或服务一般由属于服务或内容提供商的一个或多个终端站(例如,服务器终端站)或参与对等服务的终端站来提供,并且可包括公共网页(免费内容、店面、搜索服务等)、私有网页(例如,提供电子邮件服务的用户名/密码访问的网页等)、基于VPN的企业网络、IPTV等。一般情况下,订户终端站耦合(例如,通过耦合到接入网络(以有线或无线方式)的客户驻地设备)到边缘网络单元,所述边缘网络单元耦合(例如通过到其它边缘网络单元的一个或多个核心网络单元)到其它终端站(例如,服务器终端站)。 As used herein, a network element (e.g., router, switch, bridge, etc.) is a piece of networking equipment, including hardware and software, that communicates with other devices on the network (e.g., other network elements, end-stations, etc.) interconnection. Some network elements are "multi-service network elements" that provide support and/or Provides support for multiple application services such as data, voice, and video. Subscriber end stations (e.g., servers, workstations, laptops, palmtops, mobile phones, smart phones, multimedia phones, Voice over Internet Protocol (VOIP) phones, portable media players, GPS units, gaming systems, set-top boxes (STB, etc.) to access content/services offered over the Internet and/or over a Virtual Private Network (VPN) overlaid on the Internet. The content and/or services are typically provided by one or more end stations belonging to the service or content provider (e.g. server end stations) or participating in peer-to-peer services and may include public web pages (free content, storefront , search services, etc.), private webpages (for example, webpages that provide username/password access to email services, etc.), VPN-based corporate networks, IPTV, etc. Typically, a subscriber end station is coupled (e.g., via customer premises equipment coupled to the access network (either wired or wirelessly)) to an edge network element that is coupled (e.g., via a or multiple core network elements) to other end stations (for example, server end stations).
本发明的实施例提供用于避免现有技术的缺点的系统、网络和方法,所述缺点包括:在非对称拓扑中的性能差,缺乏对操作、监管和管理(OAM)协议的支持,进行每分组检查的高资源要求,高度的稀释以实现合理的网络利用,多个度量集生成和维护,以及进行状态的小更改要求相当大的资源。 Embodiments of the present invention provide systems, networks and methods for avoiding the disadvantages of the prior art, including: poor performance in asymmetric topologies, lack of support for Operations, Administration and Management (OAM) protocols, High resource requirements per packet inspection, high degree of dilution to achieve reasonable network utilization, multiple metric sets to generate and maintain, and making small changes to state require considerable resources.
本发明的实施例通过在最小化用于网络的拓扑数据库的遍历次数的同时允许动态业务工程而克服了这些缺点。负载分发方法包含动态业务工程和利用在转发平面中相等成本路径的多个集合的例示,其能够聚合成相等成本树的集合,由此通过由路径生成过程的所有以前迭代产生经过路径中每个链路的最短路径的累加数量将在用于生成路径的下一集合的平局打破中被考虑。一旦节点使用平局打破过程执行了初始路径选择,并且已处理拓扑数据库中的所有节点对,经过每个链路的最短路径的数量便被确定并被称为链路利用值。对于数据库的每次后续经历以生成另外的路径集合,通过排列用于在考虑的每个路径中每个链路的链路利用值的词典式排序的列表,删截在任何两个节点对之间最短路径的集合。如果排列的列表具有独特的最低利用的路径,则选择该路径。如果排列的列表没有独特的最低利用的路径,则应用基本平局打破过程到同样具有最低链路利用的最短路径的子集。 Embodiments of the present invention overcome these disadvantages by allowing dynamic traffic engineering while minimizing the number of traversals of the topology database for the network. The load distribution method involves dynamic traffic engineering and instantiation using multiple sets of equal-cost paths in the forwarding plane, which can be aggregated into a set of equal-cost trees, whereby each The cumulative number of shortest paths for links will be considered in the tie-breaking for generating the next set of paths. Once a node has performed initial path selection using the tie-breaking process, and all node pairs in the topology database have been processed, the number of shortest paths through each link is determined and referred to as the link utilization value. For each subsequent pass through the database to generate an additional set of paths, truncation between any two nodes by arranging a lexicographically ordered list of link utilization values for each link in each path considered A collection of shortest paths between . If the permuted list has a unique lowest utilized path, that path is selected. If the permuted list has no unique lowest-utilized paths, the basic tie-breaking process is applied to the subset of shortest paths that also have the lowest link utilization.
在负载分发方法和系统中,在路径生成的每次迭代中计算网络负载的模型,将以前迭代的平局打破考虑在内以便均衡网络中链路的负载。改进的算法固有地有利于在第一迭代后每次迭代中选择更少负载的链路。 In the load distribution method and system, a model of network load is computed at each iteration of path generation, taking tie breaking from previous iterations into account in order to balance the load of links in the network. The improved algorithm inherently favors the selection of less loaded links in each iteration after the first iteration.
负载分发过程利用带有不同属性的平局打破过程,使得对于任何两点之间的路径,它将解析到单个对称路径,而不管路径的任何子集的计算的方向、计算或检查的顺序,描述为“最短路径的任何部分也是最短路径”的属性。或换而言之,在沿最短路径的任何部分发生平局之处,那些节点将为带有相同选择的路径子集解析平局,结果是最低成本最短路径树。这在本文中称为“共同算法平局打破(common algorithm tie-breaking)”过程。 The load distribution process utilizes a tie-breaking process with different properties such that for any path between two points, it resolves to a single symmetric path, regardless of the direction of computation, the order of computation or checking, for any subset of paths, described is the property that "any part of the shortest path is also the shortest path". Or in other words, where a tie occurs along any part of the shortest path, those nodes will resolve the tie for a subset of paths with the same choice, and the result is a tree of lowest-cost shortest paths. This is referred to in this paper as "common algorithm tie-breaking (common algorithm tie-breaking)” process.
在负载分发过程中,利用共同算法平局打破过程的拓扑数据库的初始经历导致树的第一集合的生成。这是因为任何链路上的负载尚未被记录,因此,所有相等成本路径将陷于利用的平局,其中,相等成本的定义是最低度量和跳的最低数量。初始步骤要求确定在网络中每个MPLS节点对之间的最短路径,以及在发现在任何两个MPLS节点之间多于一个最短路径的情况下,利用共同算法平局打破过程以进行平局打破,以便生成网络中每个MPLS节点对之间的独特路径选择,以及生成称为“ECT集合”的相等成本转发树的一个或多个集合。 During load distribution, initial experience of the topology database with a common algorithm tie-breaking process results in the generation of a first set of trees. This is because the load on any link has not been recorded, so all equal cost paths will be in an exploited tie, where equal cost is defined by the lowest metric and the lowest number of hops. An initial step requires determining the shortest path between each pair of MPLS nodes in the network, and in case more than one shortest path is found between any two MPLS nodes, utilizing a common algorithmic tie-breaking procedure for tie-breaking, so that A unique path selection between each pair of MPLS nodes in the network is generated, as well as one or more sets of equal cost forwarding trees called "ECT sets".
负载分发过程能够排列相等成本路径,并且确定低和高排列的路径或者“书端(bookend)”路径,其中,两个路径展示前提条件属性的集合。此负载分发过程由此能够从数据库的单个“所有对”经历选择多于一个路径。负载分发过程也在以前平局打破过程实际选择的路径的基础上计算遍历每个链路的最短路径的数量。此值称为“链路利用”值,其能够在后续的计算中被使用。链路利用值能够是其最短路径经过链路的MPLS节点对的计数。在其它实施例中,存在可使用的更复杂的可能性以替代考虑拓扑数据库中另外信息的链路利用。 The load distribution process can rank equal cost paths and determine low and high ranked paths or "bookend" paths, where both paths exhibit sets of precondition attributes. This load distribution process is thus capable of selecting more than one path from a single "all pair" of databases. The load distribution process also calculates the number of shortest paths to traverse each link based on the paths actually selected by the previous tie-breaking process. This value is called the "link utilization" value, which can be used in subsequent calculations. The link utilization value can be a count of pairs of MPLS nodes whose shortest paths traverse the link. In other embodiments, there are more sophisticated possibilities that can be used instead of link utilization considering additional information in the topology database.
在经数据库的后续经历以生成路径或树的其它集合中,通过生成能够包括用于每个路径的词典式排序链路利用值或简单地包括路径中每个链路的利用之和的路径利用值,并然后基于路径利用值来排列结果路径,来先排列任何两个MPLS节点之间的最短路径的集合。也能够利用两个或更多个排列方案,这是因为在生成相等成本路径或树的集合时选择多于一个路径时,最小化选择相同路径的次数是有利的。使用展示多样性的多个链路排列能够最小化选择多个路径需要的迭代的次数。在排列过程生成单个最低利用路径时,能够选择该路径而无需进一步处理。在考虑多于一个排列(例如,最低排列和最高排列)时,选择最低利用路径作为最低和最高排列路径。存在多于一个相等的最低利用路径时,应用共同算法平局打破过程到最低利用路径的集合以做出选择。在一个实施例中,从此步骤可选择多于一个排列。在利用多于一个负载排列机制(例如,负载之和及词典式排序作为排列)时,还可能在平局发生时从每个机制提取多个排列。 In other collections that are subsequently traversed through the database to generate paths or trees, by generating a path utilization that can include a lexicographically ordered link utilization value for each path or simply the sum of the utilizations of each link in the path value, and then rank the resulting paths based on the path utilization value to first rank the set of shortest paths between any two MPLS nodes. It is also possible to utilize two or more permutations since it is advantageous to minimize the number of times the same path is chosen when more than one path is chosen in generating a set of equal cost paths or trees. Using multiple link permutations exhibiting diversity can minimize the number of iterations required to select multiple paths. When the ranking process generates a single least utilized path, that path can be selected without further processing. When more than one ranking is considered (eg, lowest ranking and highest ranking), the lowest utilization path is selected as the lowest and highest ranking path. When more than one equal least exploited path exists, a common algorithm tie-breaking process is applied to the set of least exploited paths to make a choice. In one embodiment, more than one permutation may be selected from this step. When utilizing more than one load permutation mechanism (eg sum of loads and lexicographic sort as permutations), it is also possible to extract multiple permutations from each mechanism when a tie occurs.
能够执行经拓扑数据库的另外经历或迭代,并且在每次迭代中,指派到路径中每个链路的链路利用值是经过在经拓扑数据库的所有以前经历期间选择的链路的最短路径的累加量度或指示。 Additional runs or iterations of the topology database can be performed, and in each iteration the link utilization value assigned to each link in the path is the shortest path through the links selected during all previous runs of the topology database Cumulative measure or indication.
图 1是示例网络拓扑的一个实施例的图。示例网络拓扑包括带有对应标识符1-6的6个节点。未为网络拓扑确定路径对。利用了使用节点标识符来词典式排列路径的示范共同算法平局打破过程。检查节点1与节点4之间相等成本的路径集合将生成路径标识符的以下排列的集合(注意,路径标识符已被词典式排序,使得节点标识符不显示为经过列表): Figure 1 is a diagram of one embodiment of an example network topology. The example network topology includes 6 nodes with corresponding identifiers 1-6. Path pair not determined for network topology. An exemplary common algorithm tie-breaking process that uses node identifiers to lexicographically rank paths is utilized. Examining the set of equal-cost paths between node 1 and node 4 produces the following permuted set of path identifiers (note that the path identifiers have been sorted lexicographically so that the node identifiers are not shown as passing lists):
1-2-3-4 1-2-3-4
1-2-4-6 1-2-4-6
1-3-4-5 1-3-4-5
1-4-5-6 1-4-5-6
平局打破过程的此初始应用将选择1-2-3-4和1-4-5-6作为在这些节点之间的低和高排列的路径。为简明起见,在此示例中,只考虑节点对1和4以确定用于网络的路径计数,而不是来自所有6个节点的最短路径树。在此示例中,在选择的链路路径中的链路因而各指派有1的路径对计数。对于经拓扑数据库的下一次经历,负载分发过程将产生与每个路径ID相关联的链路负载的以下词典式排序。 This initial application of the tie-breaking process would select 1-2-3-4 and 1-4-5-6 as the low and high ranked paths between these nodes. For brevity, in this example, only node pairs 1 and 4 are considered to determine the path count for the network, rather than the shortest path tree from all 6 nodes. In this example, the links in the selected link path are thus each assigned a path pair count of 1. For the next pass through the topology database, the load distribution process will produce the following lexicographic ordering of link loads associated with each path ID.
路径1-2-4-6的负载0,1,1 Load 0, 1, 1 for path 1-2-4-6
路径1-3-4-5的负载0,1,1 Load 0, 1, 1 for path 1-3-4-5
路径1-2-3-4的负载1,1,1 Load 1, 1, 1 for path 1-2-3-4
路径1-4-5-6的负载1,1,1 Load 1, 1, 1 for path 1-4-5-6
链路负载的词典式排序将对路径1-2-4-6和1-3-4-5产生平局,这是因为每个的负载均为0-1-1。类似地,链路负载之和将产生: A lexicographical ordering of link loads would yield a tie for paths 1-2-4-6 and 1-3-4-5, since each has a load of 0-1-1. Similarly, the sum of link loads will yield:
路径1-2-4-6的负载2 Load 2 for path 1-2-4-6
路径1-3-4-5的负载2 Load 2 for path 1-3-4-5
路径1-2-3-4的负载3 Load 3 for path 1-2-3-4
路径1-4-5-6的负载3 Load 3 for path 1-4-5-6
作为用于两种排列样式的结果,采用了词典式的排序路径ID的辅助平局打破器(tiebreaker)。在两种情况中,由此辅助平局打破器而选择了低路径(1-2-4-6)。类似地,能够选择1-3-4-5作为最低负载路径的集合的高排列路径ID。在一个实施例中,在利用低-高选择时,选择了两个路径。这些路径能够相同或具有相当大的重叠。例如,如果路径1-3-4-5在上面的排列的列表中不存在,则路径1-2-4-6将适合作为最低成本的低和高排列的路径。在其它实施例中,到低路径选择的初始输入能够出自基于负载的词典式排序的排列,并且到高路径选择的主要输入能够出自基于负载之和的排列。 As a result for both permutation styles, a secondary tiebreaker of lexicographic sort path IDs is employed. In both cases, the low path (1-2-4-6) was chosen thus aiding the tie breaker. Similarly, 1-3-4-5 can be selected as the highest ranked path ID for the set of lowest loaded paths. In one embodiment, when utilizing low-high selection, two paths are selected. These paths can be identical or have substantial overlap. For example, if path 1-3-4-5 does not exist in the permuted list above, then path 1-2-4-6 would qualify as the lowest cost low and high permuted path. In other embodiments, the initial input to low routing can be from a load-based lexicographically ordered permutation, and the primary input to high routing can be from a load-sum based permutation.
虽然该示例仅从检查一个路径而考虑了链路利用,但本领域普通技术人员将理解,在数据库的单次经历后存在可能业务分发的全面视图,并且后续经历的平局打破将固有地避免最大量,并且因此负载跨网络更平均地被分发。负载分发的修改程度随着考虑的路径的每个新集合而呈比例减小,因为效应是累加的。 While this example only considers link utilization from examining one path, one of ordinary skill in the art will appreciate that there is a comprehensive view of possible traffic distribution after a single pass through the database, and that tie-breaking of subsequent passes will inherently avoid the most A large number, and thus the load is distributed more evenly across the network. The degree of modification of load distribution decreases proportionally with each new set of paths considered, since the effects are additive.
过程的每迭代选择的路径的数量和网络配置成利用的路径的累加数量能够随先验转发状态对要求的计算能力分析而变化。选择最低成本的最低和最高排列的路径将最小化在链路利用的标准偏差中给定改进所要求的计算能力量,但由于每迭代生成相等成本树的两个集合而将因此要求更多转发状态。从每次迭代选择单个路径置换将要求更多计算能力,但由于最小化了必须从单个最低利用候选选择两个路径的次数,因此将减少在利用的标准偏差中给定减少所要求的转发数据库状态量。生成的路径的总体数量基于网络单元状态和针对网络效率平衡的计算能力考虑的组合来确定。利用多个方案排列路径负载准许从数据库的给定经历选择更多路径,这是因为它减少了对于给定数量的路径选择将相同路径选择多于一次的概率。在上述示例中,描述了排列路径负载的两种技术,这两种技术将产生跨网络应用的一致结果。在其它实施例中,能够利用排列的另外或替代方法。例如,能够利用也具有局部性属性(在与共同算法平局打破过程组合时,最低负载路径的任何部分也是最低负载)的排列负载的其它机制和此类排列的组合。 The number of paths selected per iteration of the process and the cumulative number of paths the network is configured to utilize can vary as a priori the forwarding state vs. required computational power analysis. Choosing the lowest and highest ranked paths with the lowest cost will minimize the amount of computing power required for a given improvement in the standard deviation of link utilization, but will therefore require more forwarding since two sets of equal cost trees are generated per iteration state. Selecting a single path permutation from each iteration will require more computational power, but will reduce the forwarding database required for a given reduction in the standard deviation exploited since minimizing the number of times two paths must be selected from the single lowest exploited candidate state quantity. The overall number of paths generated is determined based on a combination of network element states and computing power considerations for network efficiency balance. Permuting path loads with multiple schemes allows more paths to be selected from a given experience of the database because it reduces the probability of selecting the same path more than once for a given number of path selections. In the examples above, two techniques for permuting path loads are described that will produce consistent results across network applications. In other embodiments, additional or alternative methods of alignment can be utilized. For example, other mechanisms and combinations of such permutations can utilize permutation loads that also have the property of locality (when combined with a common algorithmic tie-breaking process, any part of the lowest load path is also the lowest load).
此外,在上述示例中,链路利用由经过了链路的最短路径的计数来表示。可能利用许多变化来表示带有更多细节和增加准确度的链路利用。在标签信息和拓扑数据库内,有足够的信息,使得网络中的每个节点能够确定使用特定最短路径的服务实例的数量。链路利用值能够基于此利用而被确定以将对应链路适当加权。通过增加标签信息或拓扑数据库所存储的数据,每服务的另外带宽概况(profiling)信息可供在负载分发计算中使用。在另一实施例中,只利用路径中链路集合的最小链路度量作为该对节点之间能够提供的最大负载的代表。在其它实施例中,能够利用类似的度量或更详细的度量。 Also, in the above example, the link is represented by the count of the shortest path that has passed through the link. Many variations are possible to represent link utilization with more detail and increased accuracy. Within the label information and topology database, there is enough information to enable each node in the network to determine the number of service instances using a particular shortest path. A link utilization value can be determined based on this utilization to appropriately weight the corresponding link. Additional bandwidth profiling information per service is available for use in load distribution calculations by augmenting the tag information or data stored by the topology database. In another embodiment, only the minimum link metric of the link set in the path is used as a representative of the maximum load that can be provided between the pair of nodes. In other embodiments, similar metrics or more detailed metrics can be utilized.
在一个实施例中,拓扑数据库的除最后一次经历外的所有经历涉及网络中所有节点对之间最短路径的“所有对”计算。这能够由于复杂度而在计算上是昂贵的。然而,负载分发过程不要求经拓扑数据库的显著数量的经历以便产生可测量的益处,并且作为结果,负载分发过程在网络资源分配中提供宝贵的总体改进,这证明这些“所有对”计算是合理的。 In one embodiment, all but the last experience of the topology database involves an "all pairs" computation of the shortest paths between all pairs of nodes in the network. This can be computationally expensive due to complexity. However, the load distribution process does not require a significant amount of experience via the topology database in order to yield measurable benefits, and as a result, the load distribution process provides valuable overall improvements in network resource allocation, which justify these "all pairs" calculations of.
在利用随机图表生成的实验示例中,在建立初始ECT集合后经数据库的单次经历产生了作为经过网络中每个链路的最短路径的计数测量的链路负载中变异系数45%的大约平均减少。经拓扑数据库的另外三次经历继续将变异系数减少到平均有75%减少的点,但大部分益处来自在建立基线后的第一经历。因此,负载分发中的大部分益处在数据库的前两次经历中获得。在第二集合被明确放置以避免第一集合的负载时,通过网络的路径数量翻倍。然而,变异性系数的改进的速率逐经历下降,远远快于累加路径计数将表面建议的1/2、1/3、1/4速率。因此,在保持负载分发过程在计算和转发状态两方面均可跟踪的同时,能够实现显著的结果。 In the experimental example using random graph generation, a single pass through the database after building the initial ECT set yielded approximately an average of 45% coefficient of variation in link load measured as the count of the shortest paths through each link in the network reduce. Three additional experiences across the topological database continued to reduce the coefficient of variation to the point of an average 75% reduction, but most of the benefit came from the first experience after the baseline was established. Therefore, most of the benefits in load distribution are gained in the first two passes of the database. When the second set is explicitly placed to avoid the load of the first set, the number of paths through the network doubles. However, the rate of improvement in the coefficient of variability decreases experience-by-experience much faster than the 1/2, 1/3, 1/4 rate that the cumulative path counts would suggest. Thus, remarkable results can be achieved while keeping the load distribution process traceable in terms of both computation and forwarding state.
由于方法实际上是面向连接,并且寻求最小负载链路,因此,故障造成的业务矩阵的任何扰动倾向于被隔离并且在性质上是局部的。一旦网络中的约束已被避开,负载分发过程便将倾向于将数据业务引导回原始分发中。该方法也适用于新兴MPLS-TP技术基础,如操作、监管和管理(OAM)协议能够被无修改利用,并且保留MPLS网络的体系结构和服务保证。 Since the method is connection-oriented in nature and seeks the least loaded link, any perturbation of the traffic matrix by a fault tends to be isolated and local in nature. Once constraints in the network have been circumvented, the load distribution process will tend to direct data traffic back into the original distribution. This approach is also applicable to emerging MPLS-TP technology bases such as Operations, Administration and Management (OAM) protocols that can be utilized without modification and preserve the architecture and service guarantees of MPLS networks.
负载平衡过程和系统也使得管理员能够通过负载因子而“预偏置”链路,这将具有使某一负载偏移离开特定链路的效应。这准许实现与简单的度量修改相比,用于操控路由选择行为的更细微渐变,比多拓扑路由选择更简单得多的管理,并且消除了对以前负载平衡系统中进行的链路虚拟化(如根据RFC 4206的MPLS“转发邻近”(forwarding adjacencies)以人为促使网格密度上升的需要。对于两阶段排序,何时应用链路偏置的定时有影响。它一般只被考虑用于第二及后续的迭代。在第一次迭代中所有相等成本路径陷于利用的平局(零)的实现中,立即应用偏置因子将往往使所有负载移离该链路,由第一次迭代引起偏置朝向其它路径。 The load balancing process and system also enables an administrator to "pre-bias" links by a load factor, which will have the effect of shifting a certain load away from a particular link. This allows for more subtle gradations for manipulating routing behavior than simple metric modification, much simpler administration than multi-topology routing, and eliminates the need for link virtualization ( as per RFC 4206 MPLS "forwarding proximity" (forwarding adjacencies) to artificially promote the need to increase the grid density. For two-phase sequencing, the timing of when to apply the link bias has an impact. It is generally only considered for the second and subsequent iterations. In an implementation where all equal cost paths are tied to a tie (zero) of utilization in the first iteration, immediately applying the bias factor will tend to move all loads away from the link, biased towards other paths by the first iteration.
图 2是实现包含链路利用作为到平局打破机制中的反馈的负载分发方法的网络单元的一个实施例的图。网络单元200能够包括标签信息数据库215、拓扑数据库217、入口模块203、出口模块205及控制处理器207。入口模块203能够处理由网络单元200在物理链路和数据链路层收到的数据分组的处理。出口模块205处理由网络单元200在物理链路和数据链路层传送的数据分组的处理。控制处理器207处理数据业务的路由选择、转发和更高级处理。控制处理器207能够执行或者包括最短路径搜索模块209、负载分发模块215、标签分发协议(LDP)模块213、MPLS管理模块217及排序模块211。 Figure 2 is a diagram of one embodiment of a network element implementing a load distribution method involving link utilization as feedback into a tie-breaking mechanism. The network unit 200 can include a label information database 215 , a topology database 217 , an ingress module 203 , an egress module 205 and a control processor 207 . The ingress module 203 is capable of handling the processing of data packets received by the network element 200 at the physical link and data link layers. Egress module 205 handles the processing of data packets transmitted by network element 200 at the physical link and data link layers. Control processor 207 handles routing, forwarding and higher level processing of data traffic. The control processor 207 can execute or include a shortest path search module 209 , a load distribution module 215 , a label distribution protocol (LDP) module 213 , an MPLS management module 217 and a sorting module 211 .
标签信息数据库215包括带有定义要转发数据分组的方式的标签转发条目的表。标签转发条目将标签和基础FEC及虚拟拓扑与网络单元200的网络接口联系起来。此信息能够由控制处理器207用于确定要如何处理数据分组,即,数据分组应转发到到哪个网络接口。如本文中下面所述,负载分发方法和系统创建实现负载分发的通过标签分发协议(LDP)的标签转发条目。 The label information database 215 includes tables with label forwarding entries defining the manner in which data packets are to be forwarded. Label forwarding entries associate labels with the underlying FEC and virtual topology with the network interface of the network element 200 . This information can be used by the control processor 207 to determine what to do with the data packet, ie to which network interface the data packet should be forwarded. As described herein below, load distribution methods and systems create label forwarding entries via Label Distribution Protocol (LDP) that enable load distribution.
拓扑数据库217存储网络单元200连接到的网络的拓扑的网络模型或类似表示。在一个实施例中,网络中的节点是每个标签交换路由器(LSR),并且LSR之间的链接能够利用多个基础协议和技术。节点能够通过诸如节点环回地址等独特节点标识符识别以及链路通过节点标识符对来识别。本领域技术人员将理解,此网络模型表示作为示例被提供,并且网络拓扑的其它表示能够通过负载分发方法和系统而得以利用。 The topology database 217 stores a network model or similar representation of the topology of the network to which the network element 200 is connected. In one embodiment, the nodes in the network are each Label Switching Router (LSR), and the links between LSRs can utilize a number of underlying protocols and technologies. Nodes can be identified by unique node identifiers such as node loopback addresses and links by pairs of node identifiers. Those skilled in the art will understand that this network model representation is provided as an example and that other representations of network topologies can be utilized by the load distribution method and system.
最短路径搜索模块209是控制处理器207的组件或控制处理器207执行的模块。最短路径搜索模块209遍历拓扑数据库以确定网络拓扑中任何两个节点之间的最短路径。如果在网络中两个节点之间存在具有相等距离或成本的多个路径,并且这些多个路径全部是最短路径,则这些多个相等成本路径能够被提供到排序模块211和负载分发模块215以确定要利用哪个路径。最短路径搜索模块209能够确定在网络拓扑中所有节点之间的最短路径,这在本文中称为“所有对”计算。 The shortest path search module 209 is a component of the control processor 207 or a module executed by the control processor 207 . The shortest path search module 209 traverses the topology database to determine the shortest path between any two nodes in the network topology. If there are multiple paths with equal distance or cost between two nodes in the network, and these multiple paths are all shortest paths, then these multiple equal cost paths can be provided to the ordering module 211 and the load distribution module 215 to Determine which path to utilize. The shortest path search module 209 is capable of determining the shortest paths between all nodes in the network topology, which is referred to herein as an "all pairs" computation.
最短路径搜索模块209提供用于每个节点对的最短路径的集合,并且负载分发模块215选择最短路径的子集,并且更新标签信息数据库以包括实现遍历网络单元200的每个最短路径的子集的条目。 The shortest path search module 209 provides a set of shortest paths for each node pair, and the load distribution module 215 selects a subset of the shortest paths and updates the tag information database to include the subset of each shortest path that enables traversal of the network element 200 entry.
在第一经历后,最短路径搜索模块209计算由经拓扑数据库的第一经历所导致的对于网络拓扑中每个链路的链路利用值。链路利用值是遍历给定链路的选择的最短路径的数量的计数。为每个链路计算并记录了单独的链路利用值。这些链路利用值用于生成路径利用值,路径利用值又用于为经拓扑数据库的后续经历而偏置路径的排列,其中,初始平局打破器是词典式排序链路利用值的排列列表或者是链路利用值之和(即,以路径利用值的形式),以及在这导致平局的情况下,共同算法平局打破过程用作后续的平局打破器。 After the first experience, the shortest path search module 209 calculates the link utilization value for each link in the network topology resulting from the first experience via the topology database. A link utilization value is a count of the number of selected shortest paths that traverse a given link. Separate link utilization values are calculated and recorded for each link. These link utilization values are used to generate path utilization values which in turn are used to bias the permutation of paths for subsequent experience via the topology database, where the initial tie breaker is a permuted list of lexicographically ordered link utilization values or is the sum of link utilization values (ie, in the form of path utilization values), and where this results in a tie, the common algorithm tie-breaking process is used as a subsequent tie-breaker.
排序模块211是控制处理器207的组件或由控制处理器207执行的模块。排序模块211通过基于在第二次经历中和在后续经历中的路径利用值,执行相等成本树的负载集的初始排列来帮助负载分发模块215。 The ranking module 211 is a component of the control processor 207 or a module executed by the control processor 207 . Ranking module 211 assists load distribution module 215 by performing an initial ranking of load sets of equal cost trees based on path utilization values in the second pass and in subsequent passes.
对于带有多个相等成本路径的每个节点对,排序模块211基于路径利用值来生成这些相等成本路径的每个路径的排列,并且负载分发模块215从此排列来选择至少一个路径。在其它实施例中,能够选择最高排列的和最低排列的路径以在对应节点对之间划分负载。负载分配模块215是控制处理器207的组件或由控制处理器207执行的模块。 For each node pair with multiple equal cost paths, ranking module 211 generates a permutation of each of these equal cost paths based on the path utilization values, and load distribution module 215 selects at least one path from this permutation. In other embodiments, the highest ranked and lowest ranked paths can be selected to divide the load between corresponding pairs of nodes. The load distribution module 215 is a component of the control processor 207 or a module executed by the control processor 207 .
此过程能够通过任何数量的经历或迭代来重复,其中,链路利用值被更新为经过其的最短路径的集合的累加指示。路径利用值也按照对链路利用值的更改进行更新。路径中变化中的标准偏差一般随着每次迭代而减小,但是随着路径集合的数量的上升,每个另外集合的总体影响成比例减小,从而指示使用多于两次或三次经历或迭代对于产生的计算工作量或例示的转发状态是不值得的。经历或迭代的数量由管理员来指定并且在网络范围内被配置。 This process can be repeated through any number of iterations or iterations, in which the link utilization value is updated as a cumulative indication of the set of shortest paths traversed. Path utilization values are also updated with changes to link utilization values. The standard deviation in variation among paths generally decreases with each iteration, but as the number of path sets rises, the overall impact of each additional set decreases proportionally, indicating that using more than two or three passes or Iterating is not worth the computational effort or instantiated forwarding state. The number of passes or iterations is specified by the administrator and configured network-wide.
MPLS管理模块217是控制处理器207的组件或由控制处理器207执行的模块。MPLS管理模块217检查进入分组,并且确定相关联标签,以及在标签信息数据库219中执行分组的查找以确定转发分组通过的网络接口。MPLS管理模块217也执行任何必需的标签交换、标签添加或标签删除以影响用于每个数据分组的LSP的适当遍历。 The MPLS management module 217 is a component of the control processor 207 or a module executed by the control processor 207 . MPLS management module 217 examines incoming packets and determines associated labels, and performs a lookup of the packets in label information database 219 to determine the network interface through which to forward the packets. MPLS management module 217 also performs any necessary label switching, label addition, or label removal to effect proper traversal of the LSP for each data packet.
LDP模块213是控制处理器207的组件或由控制处理器207执行的模块。LDP模块213生成在网络中建立转发等价类(FEC)和虚拟拓扑到标签绑定需要的消息,绑定用于创建那些LSP,而LSP用于分发网络的负载。LDP模块213生成包括FEC类型长度值(TLV)字段、标签TLV字段及虚拟拓扑TLV字段的标签映射消息。拓扑TLV字段包括指示标签和FEC与负载分发过程的哪个迭代相关联的拓扑索引。LDP模块213也执行其它传统功能以实现标签分发。 The LDP module 213 is a component of the control processor 207 or a module executed by the control processor 207 . The LDP module 213 generates the messages needed to establish forwarding equivalence class (FEC) and virtual topology-to-label bindings in the network, bindings are used to create those LSPs, and LSPs are used to distribute the load of the network. The LDP module 213 generates a label mapping message including an FEC type length value (TLV) field, a label TLV field and a virtual topology TLV field. The Topology TLV field includes a topology index indicating which iteration of the load distribution process the label and FEC are associated with. The LDP module 213 also performs other conventional functions to enable label distribution.
图 3是用于负载分发的过程的一个实施例的流程图,该过程支持为多协议标签交换基于使用链路利用作为到用于相等成本路径的平局打破机制的反馈而实现自动化业务工程。在一个实施例中,该过程能够在诸如链路交换路由器等网络单元的启动时、在向连接到该路由器的网络通知拓扑更改时、在定义的间隔或在类似的事件或时间被运行。拓扑数据库作为不同于负载分发过程的单独过程被保持在网络中的每个网络单元,并且被假设为网络的真实拓扑的当前表示。 3 is a flowchart of one embodiment of a process for load distribution that supports automated traffic engineering for multiprotocol label switching based on using link utilization as feedback to a tie-breaking mechanism for equal cost paths. In one embodiment, the process can be run at startup of a network element such as a link switch router, when a network connected to the router is notified of a topology change, at defined intervals, or at similar events or times. The topology database is maintained at each network element in the network as a separate process from the load distribution process and is assumed to be a current representation of the true topology of the network.
在一个实施例中,负载分发过程通过确定在网络中网络单元或MPLS节点(例如,LSR)与网络中另一网络单元或MPLS节点之间最短路径的集合来开始(方框301)。最短路径的集合能够视为单独路径或以每个网络单元作为其相应树的根的树的集合。进行检查以确定是否有多个最短路径,即,是否存在MPLS节点之间最短路径的平局(方框303)。如果MPLS节点对在它们之间具有单个最短路径,则更新标签信息数据库以反映该最短路径(方框306)。在一个实施例中,更新标签信息数据库以反映遍历维护它的网络单元的每个路径。网络中的每个网络单元执行此相同计算。负载分发方法是确定性的,并且因此每个网络单元将产生相同结果。除非存在拓扑中的更改,否则,不必进行带有单个最短路径的那些MPLS节点对的进一步处理。 In one embodiment, the load distribution process begins by determining a set of shortest paths between a network element or MPLS node (eg, LSR) in the network and another network element or MPLS node in the network (block 301 ). The set of shortest paths can be viewed as a set of individual paths or a tree with each network element as the root of its corresponding tree. A check is made to determine if there are multiple shortest paths, ie if there is a tie of shortest paths between MPLS nodes (block 303). If the MPLS node pair has a single shortest path between them, then the label information database is updated to reflect that shortest path (block 306). In one embodiment, the label information database is updated to reflect each path that traverses the network element that maintains it. Every network element in the network performs this same calculation. The load distribution method is deterministic, and thus each network element will produce the same result. Unless there is a change in topology, no further processing of those MPLS node pairs with a single shortest path is necessary.
如果MPLS节点对没有一般被测量为跳的最低数量和最低成本的独特最短路径,则共同算法平局打破方法用于准许选择独特的最短路径或最短路径的集合(方框305)。在一个实施例中,可能选择第一和最后排列的路径。在路径被选择后,它们存储在标签信息数据库中或者用于更新标签信息数据库,使得所有MPLS节点对具有在它们之间选择的至少一个路径。 If the MPLS node pair does not have a unique shortest path, typically measured as the lowest number of hops and lowest cost, a common algorithm tie-breaking approach is used to permit selection of a unique shortest path or set of shortest paths (block 305). In one embodiment, the first and last ranked paths may be selected. After paths are selected, they are stored in the label information database or used to update the label information database so that all pairs of MPLS nodes have at least one path selected between them.
在选择最短路径后,进行检查以确定是否所有MPLS节点对已具有选择的路径(方框307)。如果另外的MPLS节点对尚未具有选择的路径或路径的集合,则该过程通过选择要处理的下一MPLS节点对而继续(方框309)。如果所有MPLS节点对已具有选择的最短路径,则该过程继续到第二经历或迭代。 After the shortest path is selected, a check is made to determine if all MPLS node pairs already have the path selected (block 307). If additional MPLS node pairs do not already have the path or set of paths selected, the process continues by selecting the next MPLS node pair to process (block 309). If all MPLS node pairs already have shortest paths selected, the process continues to a second pass or iteration.
对于每个链路的链路利用值由于已完成用于所有MPLS节点对的转发数据库的更新或在此之后而被计算(方框310)。链路利用值是遍历网络的拓扑中每个对应链路的路径数量的计数。为网络中的每个链路计算链路利用值。链路利用值提供使用的级别的指示和要形成另外的路径时在网络中应避免的潜在瓶颈。 A link utilization value for each link is calculated due to or after the update of the forwarding database for all MPLS node pairs has been completed (block 310). A link utilization value is a count of the number of paths that traverse each corresponding link in the network's topology. Calculate link utilization values for each link in the network. Link utilization values provide an indication of the level of use and potential bottlenecks in the network that should be avoided when additional paths are to be formed.
对于最短路径的后续生成,最初通过将路径利用值生成为其中路径利用值包括链路利用值的词典式排序的列表或链路利用值之和来执行平局打破。通过选择MPLS节点对,并且确定MPLS节点对之间的最短路径的集合,所有节点过程再次开始(方框311)。此过程包括基于对应于每个路径的链路利用值的路径利用值(方框313)。路径利用值能够表示每个路径的总体负载,如链路利用值之和,或者能够是链路利用值的词典式排序的布置,突出每个路径中最大或最小负载链路,或者是类似的布置和表示。将最短路径按其路径利用值来排列(方框315)。进行检查以确定对于具有相等路径利用值的给定MPLS节点对是否有多于一个最短路径。 For subsequent generation of shortest paths, tie breaking is initially performed by generating path utilization values as a lexicographically ordered list or sum of link utilization values where the path utilization values include link utilization values. The all node process begins again by selecting pairs of MPLS nodes and determining the set of shortest paths between the pairs of MPLS nodes (block 311 ). This process includes path utilization values based on the link utilization values corresponding to each path (block 313). Path utilization values can represent the overall load for each path, as a sum of link utilization values, or can be a lexicographically ordered arrangement of link utilization values, highlighting the most or least loaded link in each path, or similar arrangement and presentation. The shortest paths are ranked by their path utilization values (block 315). A check is made to determine if there is more than one shortest path for a given pair of MPLS nodes with equal path utilization values.
存在独特最低负载路径的情况下,能够选择该路径而无对所有路径排列的进一步处理(例如,最低和最高)。有相同负载(即,相同路径利用值)的多于一个最短路径时,共同算法平局打破过程然后用于在最短路径的最低负载集合的此子集中执行路径选择(方框321)。排列将链路利用值考虑在内,使得带有最低或最少使用链路的路径最可能被选择,这将网络的总体负载考虑在内而不只是网络中的下一跳,结果,贯穿网络的路由选择更平衡。标签信息数据库然后被更新以反映选择的路径(方框318)。 Where there is a unique lowest loaded path, that path can be selected without further processing of all path permutations (eg lowest and highest). When there is more than one shortest path with the same load (ie, same path utilization value), the common algorithm tie-breaking process is then used to perform path selection in this subset of the lowest loaded set of shortest paths (block 321 ). Ranking takes into account link utilization values such that the path with the lowest or least used link is most likely to be chosen, which takes into account the overall load of the network and not just the next hop in the network, and consequently, the Routing is more balanced. The tag information database is then updated to reflect the selected path (block 318).
然后,进行检查以确定是否所有MPLS节点对具有选择的最短路径或最短路径的集合(方框319)。如果没有,则该过程通过选择要处理的下一MPLS节点对而继续(方框323)。如果所有MPLS节点对已被计算,则进行检查以确定是否需要另外的树(方框325)。如果无需另外的树(这可能是网络管理员设置的参数或类似地被确定的参数),则负载分发过程结束。如果需要另外的路径,则该过程通过类似于第二经历或迭代但在以前迭代中确定的链路利用上构造的第三经历或迭代来继续。此过程能够具有任何数量的迭代。 Then, a check is made to determine if all pairs of MPLS nodes have the selected shortest path or set of shortest paths (block 319). If not, the process continues by selecting the next MPLS node pair to process (block 323). If all MPLS node pairs have been calculated, then a check is made to determine if additional trees are required (block 325). If no further trees are required (this may be a parameter set by the network administrator or similarly determined), the load distribution process ends. If additional paths are required, the process continues through a third experience or iteration similar to the second experience or iteration but constructed on the use of links determined in previous iterations. This process can have any number of iterations.
图 4是用于生成作为标签分发协议的一部分的标签映射消息的过程的一个实施例的流程图。在一个实施例中,响应拓扑的更改或用于网络的标签信息数据库的更改而启动该过程。在另一实施例中,定期启动该过程以维护MPLS网络的状态。该过程由生成要发送到其对等体之一的标签映射消息的每个节点启动(方框401)。 Figure 4 is a flowchart of one embodiment of a process for generating a label mapping message as part of a label distribution protocol. In one embodiment, the process is initiated in response to a change in topology or a change in the label information database for the network. In another embodiment, the process is initiated periodically to maintain the state of the MPLS network. The process is initiated by each node generating a label mapping message to be sent to one of its peers (block 401).
标签映射消息包括多个类型长度值(TLV)字段。为如主机节点的标签信息库中表示的网络的拓扑中每个转发等价类(FEC)和每个拓扑路径或树生成单独的标签映射消息。对于每个标签映射消息,在标签映射消息的FEC TLV字段中定义对应的字段等价类(方框403)。 The Tag Mapping message includes a number of Type Length Value (TLV) fields. A separate label mapping message is generated for each forwarding equivalence class (FEC) and each topological path or tree in the network's topology as represented in the host node's label information base. For each label mapping message, a corresponding field equivalence class is defined in the FEC TLV field of the label mapping message (block 403).
每个标签映射消息的标签TLV字段也根据指派到用于路径中每个接口的LSP的标签来定义(方框405)。拓扑索引也在标签映射消息中定义(方框407)。拓扑索引指示由标签映射消息定义的LSP的选择过程的迭代。例如,如果标签映射消息对应于第一选择的树或路径,则0或1的拓扑索引可被选择和插入标签映射消息中。类似地,如果第二路径或树对应于消息,则1或2可被指定为该值。一旦定义了每个标签映射消息并指定了其值中的每个值,则能够将标签映射消息发送到每个标签分发协议对等体(方框409)。在一个实施例中,拓扑索引包括在标签映射消息的现有TLV中。在另一实施例中,为标签映射消息定义拓扑TLV。 The label TLV field of each label mapping message is also defined according to the label assigned to the LSP for each interface in the path (block 405). The topology index is also defined in the label map message (block 407). The topology index indicates the iteration of the selection process for the LSP defined by the Label Mapping message. For example, if the label mapping message corresponds to a first selected tree or path, a topological index of 0 or 1 may be selected and inserted into the label mapping message. Similarly, if the second path or tree corresponds to a message, 1 or 2 may be assigned as the value. Once each label mapping message has been defined and specified each of its values, the label mapping message can be sent to each label distribution protocol peer (block 409). In one embodiment, the topology index is included in the existing TLV of the label mapping message. In another embodiment, a topology TLV is defined for label mapping messages.
图 5是包括标签交换路由器(LSR) 1-18的集合的多点到多点网络的一个实施例的图。该图示出对于给定示例由上面定义的过程的第一迭代定义的路径或树的集合。该图假设到此网络的入口能够分发在节点1-4内和类似地在13-18内,换而言之,这些LSR在网络的边缘,但具有相同外部接口。在此示例中,在第一经历中,过程将为从1-13到4-18的所有节点对(例如,1-5、5-9、9-13和4-8、8-12、12-18)生成词典式排序的独特路径的集合,从独特路径的此集合中,示例假设从这些独特路径标识符的排列选择对应于树501和503的低和高路径。 Figure 5 is a diagram of one embodiment of a multipoint-to-multipoint network including a collection of label switched routers (LSRs) 1-18. The graph shows, for a given example, the set of paths or trees defined by the first iteration of the procedure defined above. The diagram assumes that the ingress to this network can be distributed within nodes 1-4 and similarly within 13-18, in other words these LSRs are at the edge of the network but have the same external interface. In this example, in the first run, the process would be all node pairs from 1-13 to 4-18 (e.g., 1-5, 5-9, 9-13 and 4-8, 8-12, 12 -18) Generating a lexicographically ordered set of unique paths, from this set of unique paths the example assumes that low and high paths corresponding to trees 501 and 503 are selected from permutations of these unique path identifiers.
图 6示出在上面陈述的负载分发方法的第二迭代中选择的路径或树。在此示例中,负载分发方法发现两个路径,其中,与每个路径相关联的链路负载的词典式排序在两个路径之间产生平局,并且作为路径标识符的节点ID的示范词典式排序被调用以权威性地解析平局。出自第二迭代的最低排列的树605和最高排列607还在节点1-4和节点13-18之间分发业务,并且补充出自图 5所示第一迭代的最低排列的树601和最高排列的树603。通过在词典式排序中包含链路使用值,第二迭代选择具有最少利用的链路的相等成本路径,由此增大带宽的利用和选择的“所有对”路径的拓扑的多样性。 Figure 6 shows the paths or trees selected in the second iteration of the load distribution method set out above. In this example, the load distribution method finds two paths where a lexicographical ordering of the link loads associated with each path produces a tie between the two paths, and an exemplary lexicographical ordering of node IDs as path identifiers sort is called to authoritatively resolve the tie. The lowest ranked tree 605 and highest ranked tree 607 from the second iteration also distribute traffic between nodes 1-4 and nodes 13-18 and complement the lowest ranked tree 601 and highest ranked tree 601 from the first iteration shown in FIG . tree 603. By including link usage values in the lexicographic ordering, the second iteration selects the equal cost path with the least utilized link, thereby increasing bandwidth utilization and topology diversity of the "all pairs" paths selected.
图 7是伪线的集合到基础分组交换网络的映射以支持MPLS网络中的操作、监管和维护(OAM)的一个实施例的图。借助于在与伪线的集合等价的端点之间覆盖对等LSP的完全网格,通过业务工程系统能够维护性能监视和维护兼容性。分组交换网络换算阶(N),并且故障管理能够相应地进行换算,但覆盖层具有性能监视所要求的对等属性。伪线的FEC被修改以将伪线FEC绑定到PSN虚拟拓扑索引。由于PSN拓扑在逻辑上在伪端点之间是对等的,因此,伪线标签提供了用于OAM计数器的来源消歧的部件。 Figure 7 is a diagram of one embodiment of the mapping of a set of pseudowires to an underlying packet-switched network to support Operations, Administration and Maintenance (OAM) in an MPLS network. By virtue of covering a full mesh of peer-to-peer LSPs between endpoints equivalent to a set of pseudowires, performance monitoring and compatibility can be maintained by the traffic engineering system. Packet-switched networks scale order (N), and fault management can scale accordingly, but the overlay layer has the required peer properties for performance monitoring. The FEC of the pseudowire is modified to bind the pseudowire FEC to the PSN virtual topology index. Since the PSN topology is logically peered between the pseudo-endpoints, the pseudowire label provides means for source disambiguation of the OAM counters.
因此,已描述用于在MPLS网络中负载分发的方法、系统和设备,其将链路使用考虑在内。要理解,上述描述旨在是说明性而不是限制性的。在阅读和理解上述描述后,本领域的技术人员将明白许多其它实施例。因此,本发明的范围应参照所附权利要求以及此类权利要求被授权的等同的完全范围来确定。 Thus, methods, systems and apparatus have been described for load distribution in MPLS networks that take link usage into account. It is to be understood that the above description is intended to be illustrative rather than restrictive. Many other embodiments will be apparent to those of skill in the art upon reading and understanding the above description. The scope of the invention should, therefore, be determined with reference to the appended claims, along with the full scope of equivalents to which such claims are entitled.
Claims (18)
Applications Claiming Priority (4)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| US12/877830 | 2010-09-08 | ||
| US12/877,830 | 2010-09-08 | ||
| US12/877,830 US8553562B2 (en) | 2010-09-08 | 2010-09-08 | Automated traffic engineering for multi-protocol label switching (MPLS) with link utilization as feedback into the tie-breaking mechanism |
| PCT/IB2011/053493 WO2012032426A1 (en) | 2010-09-08 | 2011-08-04 | Automated traffic engineering for multi-protocol label switching (mpls) with link utilization as feedback into the tie-breaking mechanism |
Publications (2)
| Publication Number | Publication Date |
|---|---|
| CN103081416A CN103081416A (en) | 2013-05-01 |
| CN103081416B true CN103081416B (en) | 2016-11-30 |
Family
ID=
Citations (2)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| CN1454442A (en) * | 2000-06-29 | 2003-11-05 | Eci电信公司 | rerouting in MPLS domain |
| EP1434394A1 (en) * | 2002-12-26 | 2004-06-30 | Alcatel | Multiprotocol label switching label distribution method |
Patent Citations (2)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| CN1454442A (en) * | 2000-06-29 | 2003-11-05 | Eci电信公司 | rerouting in MPLS domain |
| EP1434394A1 (en) * | 2002-12-26 | 2004-06-30 | Alcatel | Multiprotocol label switching label distribution method |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| AU2011300438B2 (en) | Automated traffic engineering for multi-protocol label switching (MPLS) with link utilization as feedback into the tie-breaking mechanism | |
| CN103098420B (en) | Automated traffic engineering based on 802.1AQ using link utilization as feedback into tie-breaking mechanisms | |
| CN103026668B (en) | Automation for fat tree network is traffic engineered | |
| US9160651B2 (en) | Metric biasing for bandwidth aware tie breaking | |
| EP3164970B1 (en) | A method and system for compressing forward state of a data network | |
| US20150032871A1 (en) | Automated traffic engineering based upon the use of bandwidth and unequal cost path utilization | |
| CN106170952A (en) | Method and system for deploying a maximally redundant tree in a data network | |
| CN103081416B (en) | Automated Traffic Engineering of Multiprotocol Label Switching (MPLS) with Link Utilization as Feedback into Tie-Breaking Mechanisms | |
| WO2015011648A1 (en) | Automated traffic engineering based upon the use of bandwidth and unequal cost path utilization | |
| HK1184927A (en) | Automated traffic engineering for multi-protocol label switching (mpls) with link utilization as feedback into the tie-breaking mechanism | |
| Amaral et al. | An L2 policy based multipath fabric | |
| Raman et al. | Reducing power consumption using the Border Gateway Protocol | |
| HK1185195B (en) | Automated traffic engineering for 802.1aq based upon the use of link utilization as feedback into the tie-breaking mechanism |
Legal Events
| Date | Code | Title | Description |
|---|---|---|---|
| PB01 | Publication | ||
| SE01 | Entry into force of request for substantive examination | ||
| GR01 | Patent grant | ||
| CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20161130 Termination date: 20210804 |