summaryrefslogtreecommitdiff
path: root/doc/rfc/rfc9522.txt
diff options
context:
space:
mode:
Diffstat (limited to 'doc/rfc/rfc9522.txt')
-rw-r--r--doc/rfc/rfc9522.txt4430
1 files changed, 4430 insertions, 0 deletions
diff --git a/doc/rfc/rfc9522.txt b/doc/rfc/rfc9522.txt
new file mode 100644
index 0000000..a441e16
--- /dev/null
+++ b/doc/rfc/rfc9522.txt
@@ -0,0 +1,4430 @@
+
+
+
+
+Internet Engineering Task Force (IETF) A. Farrel, Ed.
+Request for Comments: 9522 Old Dog Consulting
+Obsoletes: 3272 January 2024
+Category: Informational
+ISSN: 2070-1721
+
+
+ Overview and Principles of Internet Traffic Engineering
+
+Abstract
+
+ This document describes the principles of traffic engineering (TE) in
+ the Internet. The document is intended to promote better
+ understanding of the issues surrounding traffic engineering in IP
+ networks and the networks that support IP networking and to provide a
+ common basis for the development of traffic-engineering capabilities
+ for the Internet. The principles, architectures, and methodologies
+ for performance evaluation and performance optimization of
+ operational networks are also discussed.
+
+ This work was first published as RFC 3272 in May 2002. This document
+ obsoletes RFC 3272 by making a complete update to bring the text in
+ line with best current practices for Internet traffic engineering and
+ to include references to the latest relevant work in the IETF.
+
+Status of This Memo
+
+ This document is not an Internet Standards Track specification; it is
+ published for informational purposes.
+
+ This document is a product of the Internet Engineering Task Force
+ (IETF). It represents the consensus of the IETF community. It has
+ received public review and has been approved for publication by the
+ Internet Engineering Steering Group (IESG). Not all documents
+ approved by the IESG are candidates for any level of Internet
+ Standard; see Section 2 of RFC 7841.
+
+ Information about the current status of this document, any errata,
+ and how to provide feedback on it may be obtained at
+ https://www.rfc-editor.org/info/rfc9522.
+
+Copyright Notice
+
+ Copyright (c) 2024 IETF Trust and the persons identified as the
+ document authors. All rights reserved.
+
+ This document is subject to BCP 78 and the IETF Trust's Legal
+ Provisions Relating to IETF Documents
+ (https://trustee.ietf.org/license-info) in effect on the date of
+ publication of this document. Please review these documents
+ carefully, as they describe your rights and restrictions with respect
+ to this document. Code Components extracted from this document must
+ include Revised BSD License text as described in Section 4.e of the
+ Trust Legal Provisions and are provided without warranty as described
+ in the Revised BSD License.
+
+Table of Contents
+
+ 1. Introduction
+ 1.1. What is Internet Traffic Engineering?
+ 1.2. Components of Traffic Engineering
+ 1.3. Scope
+ 1.4. Terminology
+ 2. Background
+ 2.1. Context of Internet Traffic Engineering
+ 2.2. Network Domain Context
+ 2.3. Problem Context
+ 2.3.1. Congestion and Its Ramifications
+ 2.4. Solution Context
+ 2.4.1. Combating the Congestion Problem
+ 2.5. Implementation and Operational Context
+ 3. Traffic-Engineering Process Models
+ 3.1. Components of the Traffic-Engineering Process Model
+ 4. Taxonomy of Traffic-Engineering Systems
+ 4.1. Time-Dependent versus State-Dependent versus
+ Event-Dependent
+ 4.2. Offline versus Online
+ 4.3. Centralized versus Distributed
+ 4.3.1. Hybrid Systems
+ 4.3.2. Considerations for Software-Defined Networking
+ 4.4. Local versus Global
+ 4.5. Prescriptive versus Descriptive
+ 4.5.1. Intent-Based Networking
+ 4.6. Open-Loop versus Closed-Loop
+ 4.7. Tactical versus Strategic
+ 5. Review of TE Techniques
+ 5.1. Overview of IETF Projects Related to Traffic Engineering
+ 5.1.1. IETF TE Mechanisms
+ 5.1.2. IETF Approaches Relying on TE Mechanisms
+ 5.1.3. IETF Techniques Used by TE Mechanisms
+ 5.2. Content Distribution
+ 6. Recommendations for Internet Traffic Engineering
+ 6.1. Generic Non-functional Recommendations
+ 6.2. Routing Recommendations
+ 6.3. Traffic Mapping Recommendations
+ 6.4. Measurement Recommendations
+ 6.5. Policing, Planning, and Access Control
+ 6.6. Network Survivability
+ 6.6.1. Survivability in MPLS-Based Networks
+ 6.6.2. Protection Options
+ 6.7. Multi-Layer Traffic Engineering
+ 6.8. Traffic Engineering in Diffserv Environments
+ 6.9. Network Controllability
+ 7. Inter-Domain Considerations
+ 8. Overview of Contemporary TE Practices in Operational IP
+ Networks
+ 9. Security Considerations
+ 10. IANA Considerations
+ 11. Informative References
+ Appendix A. Summary of Changes since RFC 3272
+ A.1. RFC 3272
+ A.2. This Document
+ Acknowledgments
+ Contributors
+ Author's Address
+
+1. Introduction
+
+ This document describes the principles of Internet traffic
+ engineering (TE). The objective of the document is to articulate the
+ general issues and principles for Internet TE and, where appropriate,
+ to provide recommendations, guidelines, and options for the
+ development of preplanned (offline) and dynamic (online) Internet TE
+ capabilities and support systems.
+
+ Even though Internet TE is most effective when applied end-to-end,
+ the focus of this document is TE within a given domain (such as an
+ Autonomous System (AS)). However, because a preponderance of
+ Internet traffic tends to originate in one AS and terminate in
+ another, this document also provides an overview of aspects
+ pertaining to inter-domain TE.
+
+ This document provides terminology and a taxonomy for describing and
+ understanding common Internet TE concepts.
+
+ This work was first published as [RFC3272] in May 2002. This
+ document obsoletes [RFC3272] by making a complete update to bring the
+ text in line with best current practices for Internet TE and to
+ include references to the latest relevant work in the IETF. It is
+ worth noting around three-fifths of the RFCs referenced in this
+ document postdate the publication of [RFC3272]. Appendix A provides
+ a summary of changes between [RFC3272] and this document.
+
+1.1. What is Internet Traffic Engineering?
+
+ One of the most significant functions performed in the Internet is
+ the routing and forwarding of traffic from ingress nodes to egress
+ nodes. Therefore, one of the most distinctive functions performed by
+ Internet traffic engineering is the control and optimization of these
+ routing and forwarding functions, to steer traffic through the
+ network.
+
+ Internet traffic engineering is defined as that aspect of Internet
+ network engineering dealing with the issues of performance evaluation
+ and performance optimization of operational IP networks. Traffic
+ engineering encompasses the application of technology and scientific
+ principles to the measurement, characterization, modeling, and
+ control of Internet traffic [RFC2702] [AWD2].
+
+ It is the performance of the network as seen by end users of network
+ services that is paramount. The characteristics visible to end users
+ are the emergent properties of the network, which are the
+ characteristics of the network when viewed as a whole. A central
+ goal of the service provider, therefore, is to enhance the emergent
+ properties of the network while taking economic considerations into
+ account. This is accomplished by addressing traffic-oriented
+ performance requirements while utilizing network resources without
+ excessive waste and in a reliable way. Traffic-oriented performance
+ measures include delay, delay variation, packet loss, and throughput.
+
+ Internet TE responds to network events (such as link or node
+ failures, reported or predicted network congestion, planned
+ maintenance, service degradation, planned changes in the traffic
+ matrix, etc.). Aspects of capacity management respond at intervals
+ ranging from days to years. Routing control functions operate at
+ intervals ranging from milliseconds to days. Packet-level processing
+ functions operate at very fine levels of temporal resolution (up to
+ milliseconds) while reacting to statistical measures of the real-time
+ behavior of traffic.
+
+ Thus, the optimization aspects of TE can be viewed from a control
+ perspective and can be both proactive and reactive. In the proactive
+ case, the TE control system takes preventive action to protect
+ against predicted unfavorable future network states, for example, by
+ engineering backup paths. It may also take action that will lead to
+ a more desirable future network state. In the reactive case, the
+ control system responds to correct issues and adapt to network
+ events, such as routing after failure.
+
+ Another important objective of Internet TE is to facilitate reliable
+ network operations [RFC2702]. Reliable network operations can be
+ facilitated by providing mechanisms that enhance network integrity
+ and by embracing policies emphasizing network survivability. This
+ reduces the vulnerability of services to outages arising from errors,
+ faults, and failures occurring within the network infrastructure.
+
+ The optimization aspects of TE can be achieved through capacity
+ management and traffic management. In this document, capacity
+ management includes capacity planning, routing control, and resource
+ management. Network resources of particular interest include link
+ bandwidth, buffer space, and computational resources. In this
+ document, traffic management includes:
+
+ 1. Nodal traffic control functions, such as traffic conditioning,
+ queue management, and scheduling.
+
+ 2. Other functions that regulate the flow of traffic through the
+ network or that arbitrate access to network resources between
+ different packets or between different traffic flows.
+
+ One major challenge of Internet TE is the realization of automated
+ control capabilities that adapt quickly and cost-effectively to
+ significant changes in network state, while still maintaining
+ stability of the network. Performance evaluation can assess the
+ effectiveness of TE methods, and the results of this evaluation can
+ be used to identify existing problems, guide network reoptimization,
+ and aid in the prediction of potential future problems. However,
+ this process can also be time-consuming and may not be suitable to
+ act on short-lived changes in the network.
+
+ Performance evaluation can be achieved in many different ways. The
+ most notable techniques include analytic methods, simulation, and
+ empirical methods based on measurements.
+
+ Traffic engineering comes in two flavors:
+
+ * A background process that constantly monitors traffic and network
+ conditions and optimizes the use of resources to improve
+ performance.
+
+ * A form of a pre-planned traffic distribution that is considered
+ optimal.
+
+ In the latter case, any deviation from the optimum distribution
+ (e.g., caused by a fiber cut) is reverted upon repair without further
+ optimization. However, this form of TE relies upon the notion that
+ the planned state of the network is optimal. Hence, there are two
+ levels of TE in such a mode:
+
+ * The TE-planning task to enable optimum traffic distribution.
+
+ * The routing and forwarding tasks that keep traffic flows attached
+ to the pre-planned distribution.
+
+ As a general rule, TE concepts and mechanisms must be sufficiently
+ specific and well-defined to address known requirements but
+ simultaneously flexible and extensible to accommodate unforeseen
+ future demands (see Section 6.1).
+
+1.2. Components of Traffic Engineering
+
+ As mentioned in Section 1.1, Internet traffic engineering provides
+ performance optimization of IP networks while utilizing network
+ resources economically and reliably. Such optimization is supported
+ at the control/controller level and within the data/forwarding plane.
+
+ The key elements required in any TE solution are as follows:
+
+ 1. Policy
+
+ 2. Path steering
+
+ 3. Resource management
+
+ Some TE solutions rely on these elements to a lesser or greater
+ extent. Debate remains about whether a solution can truly be called
+ "TE" if it does not include all of these elements. For the sake of
+ this document, we assert that all TE solutions must include some
+ aspects of all of these elements. Other solutions can be classed as
+ "partial TE" and also fall in scope of this document.
+
+ Policy allows for the selection of paths (including next hops) based
+ on information beyond basic reachability. Early definitions of
+ routing policy, e.g., [RFC1102] and [RFC1104], discuss routing policy
+ being applied to restrict access to network resources at an aggregate
+ level. BGP is an example of a commonly used mechanism for applying
+ such policies; see [RFC4271] and [RFC8955]. In the TE context,
+ policy decisions are made within the control plane or by controllers
+ in the management plane and govern the selection of paths. Examples
+ can be found in [RFC4655] and [RFC5394]. TE solutions may cover the
+ mechanisms to distribute and/or enforce policies, but definition of
+ specific policies is left to the network operator.
+
+ Path steering is the ability to forward packets using more
+ information than just knowledge of the next hop. Examples of path
+ steering include IPv4 source routes [RFC0791], RSVP-TE explicit
+ routes [RFC3209], Segment Routing (SR) [RFC8402], and Service
+ Function Chaining [RFC7665]. Path steering for TE can be supported
+ via control plane protocols, by encoding in the data plane headers,
+ or by a combination of the two. This includes when control is
+ provided by a controller using a network-facing control protocol.
+
+ Resource management provides resource-aware control and forwarding.
+ Examples of resources are bandwidth, buffers, and queues, all of
+ which can be managed to control loss and latency.
+
+ Resource reservation is the control aspect of resource management.
+ It provides for domain-wide consensus about which network resources
+ are used by a particular flow. This determination may be made at a
+ very coarse or very fine level. Note that this consensus exists at
+ the network control or controller level but not within the data
+ plane. It may be composed purely of accounting/bookkeeping, but it
+ typically includes an ability to admit, reject, or reclassify a flow
+ based on policy. Such accounting can be done based on any
+ combination of a static understanding of resource requirements and
+ the use of dynamic mechanisms to collect requirements (e.g., via
+ RSVP-TE [RFC3209]) and resource availability (e.g., via OSPF
+ extensions for GMPLS [RFC4203]).
+
+ Resource allocation is the data plane aspect of resource management.
+ It provides for the allocation of specific node and link resources to
+ specific flows. Example resources include buffers, policing, and
+ rate-shaping mechanisms that are typically supported via queuing.
+ Resource allocation also includes the matching of a flow (i.e., flow
+ classification) to a particular set of allocated resources. The
+ method of flow classification and granularity of resource management
+ is technology-specific. Examples include Diffserv with dropping and
+ remarking [RFC4594], MPLS-TE [RFC3209], GMPLS-based Label Switched
+ Paths (LSPs) [RFC3945], as well as controller-based solutions
+ [RFC8453]. This level of resource control, while optional, is
+ important in networks that wish to support network congestion
+ management policies to control or regulate the offered traffic to
+ deliver different levels of service and alleviate network congestion
+ problems. It is also important in networks that wish to control the
+ latency experienced by specific traffic flows.
+
+1.3. Scope
+
+ The scope of this document is intra-domain TE because this is the
+ practical level of TE technology that exists in the Internet at the
+ time of writing. That is, this document describes TE within a given
+ AS in the Internet. This document discusses concepts pertaining to
+ intra-domain traffic control, including such issues as routing
+ control, micro and macro resource allocation, and control
+ coordination problems that arise consequently.
+
+ This document describes and characterizes techniques already in use
+ or in advanced development for Internet TE. The way these techniques
+ fit together is discussed and scenarios in which they are useful are
+ identified.
+
+ Although the emphasis in this document is on intra-domain traffic
+ engineering, an overview of the high-level considerations pertaining
+ to inter-domain TE is provided in Section 7. Inter-domain Internet
+ TE is crucial to the performance enhancement of the world-wide
+ Internet infrastructure.
+
+ Whenever possible, relevant requirements from existing IETF documents
+ and other sources are incorporated by reference.
+
+1.4. Terminology
+
+ This section provides terminology that is useful for Internet TE.
+ The definitions presented apply to this document. These terms may
+ have other meanings elsewhere.
+
+ Busy hour: A one-hour period within a specified interval of time
+ (typically 24 hours) in which the traffic load in a network or
+ sub-network is greatest.
+
+ Congestion: A state of a network resource in which the traffic
+ incident on the resource exceeds its output capacity over an
+ interval of time. A small amount of congestion may be beneficial
+ to ensure that network resources are run at full capacity, and
+ this may be particularly true at the network edge where it is
+ desirable to ensure that user traffic is served as much as
+ possible. Within the network, if congestion is allowed to build
+ (such as when input traffic exceeds output traffic in a sustained
+ way), it will have a negative effect on user traffic.
+
+ Congestion avoidance: An approach to congestion management that
+ attempts to obviate the occurrence of congestion. It is chiefly
+ relevant to network congestion, although it may form a part of
+ demand-side congestion management.
+
+ Congestion response: An approach to congestion management that
+ attempts to remedy congestion problems that have already occurred.
+
+ Constraint-based routing: A class of routing protocols that takes
+ specified traffic attributes, network constraints, and policy
+ constraints into account when making routing decisions.
+ Constraint-based routing is applicable to traffic aggregates as
+ well as flows. It is a generalization of QoS-based routing.
+
+ Demand-side congestion management: A congestion management scheme
+ that addresses congestion problems by regulating or conditioning
+ the offered load.
+
+ Effective bandwidth: The minimum amount of bandwidth that can be
+ assigned to a flow or traffic aggregate in order to deliver
+ "acceptable service quality" to the flow or traffic aggregate.
+ See [KELLY] for a more mathematical definition.
+
+ Egress node: The device (router) at which traffic leaves a network
+ toward a destination (host, server, etc.) or to another network.
+
+ End-to-end: This term is context-dependent and often applies to the
+ life of a traffic flow from original source to final destination.
+ In contrast, edge-to-edge is often used to describe the traffic
+ flow from the entry of a domain or network to the exit of that
+ domain or network. However, in some contexts (for example, where
+ there is a service interface between a network and the client of
+ that network or where a path traverses multiple domains under the
+ control of a single process), end-to-end is used to refer to the
+ full operation of the service that may be composed of concatenated
+ edge-to-edge operations. Thus, in the context of TE, the term
+ "end-to-end" may refer to the full TE path but not to the complete
+ path of the traffic from source application to ultimate
+ destination.
+
+ Hotspot: A network element or subsystem that is in a considerably
+ higher state of congestion than others.
+
+ Ingress node: The device (router) at which traffic enters a network
+ from a source (host) or from another network.
+
+ Metric: A parameter defined in terms of standard units of
+ measurement.
+
+ Measurement methodology: A repeatable measurement technique used to
+ derive one or more metrics of interest.
+
+ Network congestion: Congestion within the network at a specific node
+ or a specific link that is sufficiently extreme that it results in
+ unacceptable queuing delay or packet loss. Network congestion can
+ negatively impact end-to-end or edge-to-edge traffic flows, so TE
+ schemes may be deployed to balance traffic in the network and
+ deliver congestion avoidance.
+
+ Network survivability: The capability to provide a prescribed level
+ of QoS for existing services after a given number of failures
+ occur within the network.
+
+ Offered load: Offered load is also sometimes called "offered traffic
+ load". It is a measure of the amount of traffic being presented
+ to be carried across a network compared to the capacity of the
+ network to carry it. This term derives from queuing theory, and
+ an offered load of 1 indicates that the network can carry, but
+ only just manage to carry, all of the traffic presented to it.
+
+ Offline traffic engineering: A traffic engineering system that
+ exists outside of the network.
+
+ Online traffic engineering: A traffic-engineering system that exists
+ within the network, typically implemented on or as adjuncts to
+ operational network elements.
+
+ Performance measures: Metrics that provide quantitative or
+ qualitative measures of the performance of systems or subsystems
+ of interest.
+
+ Performance metric: A performance parameter defined in terms of
+ standard units of measurement.
+
+ Provisioning: The process of assigning or configuring network
+ resources to meet certain requests.
+
+ Quality of Service (QoS): QoS [RFC3198] refers to the mechanisms
+ used within a network to achieve specific goals for the delivery
+ of traffic for a particular service according to the parameters
+ specified in a Service Level Agreement. "Quality" is
+ characterized by service availability, delay, jitter, throughput,
+ and packet loss ratio. At a network resource level, "Quality of
+ Service" refers to a set of capabilities that allow a service
+ provider to prioritize traffic, control bandwidth, and network
+ latency.
+
+ QoS routing: Class of routing systems that selects paths to be used
+ by a flow based on the QoS requirements of the flow.
+
+ Service Level Agreement (SLA): A contract between a provider and a
+ customer that guarantees specific levels of performance and
+ reliability at a certain cost.
+
+ Service Level Objective (SLO): A key element of an SLA between a
+ provider and a customer. SLOs are agreed upon as a means of
+ measuring the performance of the service provider and are outlined
+ as a way of avoiding disputes between the two parties based on
+ misunderstanding.
+
+ Stability: An operational state in which a network does not
+ oscillate in a disruptive manner from one mode to another mode.
+
+ Supply-side congestion management: A congestion management scheme
+ that provisions additional network resources to address existing
+ and/or anticipated congestion problems.
+
+ Traffic characteristic: A description of the temporal behavior or a
+ description of the attributes of a given traffic flow or traffic
+ aggregate.
+
+ Traffic-engineering system: A collection of objects, mechanisms, and
+ protocols that are used together to accomplish traffic-engineering
+ objectives.
+
+ Traffic flow: A stream of packets between two endpoints that can be
+ characterized in a certain way. A common classification for a
+ traffic flow selects packets with the five-tuple of source and
+ destination addresses, source and destination ports, and protocol
+ ID. Flows may be very small and transient, ranging to very large.
+ The TE techniques described in this document are likely to be more
+ effective when applied to large flows. Traffic flows may be
+ aggregated and treated as a single unit in some forms of TE,
+ making it possible to apply TE to the smaller flows that comprise
+ the aggregate.
+
+ Traffic mapping: Traffic mapping is the assignment of traffic
+ workload onto (pre-established) paths to meet certain
+ requirements.
+
+ Traffic matrix: A representation of the traffic demand between a set
+ of origin and destination abstract nodes. An abstract node can
+ consist of one or more network elements.
+
+ Traffic monitoring: The process of observing traffic characteristics
+ at a given point in a network and collecting the traffic
+ information for analysis and further action.
+
+ Traffic trunk: An aggregation of traffic flows belonging to the same
+ class that are forwarded through a common path. A traffic trunk
+ may be characterized by an ingress and egress node and a set of
+ attributes that determine its behavioral characteristics and
+ requirements from the network.
+
+ Workload: Workload is also sometimes called "traffic workload". It
+ is an evaluation of the amount of work that must be done in a
+ network in order to facilitate the traffic demand. Colloquially,
+ it is the answer to, "How busy is the network?"
+
+2. Background
+
+ The Internet aims to convey IP packets from ingress nodes to egress
+ nodes efficiently, expeditiously, and economically. Furthermore, in
+ a multi-class service environment (e.g., Diffserv capable networks;
+ see Section 5.1.1.2), the resource-sharing parameters of the network
+ must be appropriately determined and configured according to
+ prevailing policies and service models to resolve resource contention
+ issues arising from mutual interference between packets traversing
+ the network. Thus, consideration must be given to resolving
+ competition for network resources between traffic flows belonging to
+ the same service class (intra-class contention resolution) and
+ traffic flows belonging to different classes (inter-class contention
+ resolution).
+
+2.1. Context of Internet Traffic Engineering
+
+ The context of Internet traffic engineering includes the following
+ sub-contexts:
+
+ 1. A network domain context that defines the scope under
+ consideration and, in particular, the situations in which the TE
+ problems occur. The network domain context includes network
+ structure, policies, characteristics, constraints, quality
+ attributes, and optimization criteria.
+
+ 2. A problem context defining the general and concrete issues that
+ TE addresses. The problem context includes identification,
+ abstraction of relevant features, representation, formulation,
+ specification of the requirements on the solution space, and
+ specification of the desirable features of acceptable solutions.
+
+ 3. A solution context suggesting how to address the issues
+ identified by the problem context. The solution context includes
+ analysis, evaluation of alternatives, prescription, and
+ resolution.
+
+ 4. An implementation and operational context in which the solutions
+ are instantiated. The implementation and operational context
+ includes planning, organization, and execution.
+
+ The context of Internet TE and the different problem scenarios are
+ discussed in the following subsections.
+
+2.2. Network Domain Context
+
+ IP networks range in size from small clusters of routers situated
+ within a given location to thousands of interconnected routers,
+ switches, and other components distributed all over the world.
+
+ At the most basic level of abstraction, an IP network can be
+ represented as a distributed dynamic system consisting of:
+
+ * a set of interconnected resources that provide transport services
+ for IP traffic subject to certain constraints
+
+ * a demand system representing the offered load to be transported
+ through the network
+
+ * a response system consisting of network processes, protocols, and
+ related mechanisms that facilitate the movement of traffic through
+ the network (see also [AWD2])
+
+ The network elements and resources may have specific characteristics
+ restricting the manner in which the traffic demand is handled.
+ Additionally, network resources may be equipped with traffic control
+ mechanisms managing the way in which the demand is serviced. Traffic
+ control mechanisms may be used to:
+
+ * control packet processing activities within a given resource
+
+ * arbitrate contention for access to the resource by different
+ packets
+
+ * regulate traffic behavior through the resource
+
+ A configuration management and provisioning system may allow the
+ settings of the traffic control mechanisms to be manipulated by
+ external or internal entities in order to exercise control over the
+ way in which the network elements respond to internal and external
+ stimuli.
+
+ The details of how the network carries packets are specified in the
+ policies of the network administrators and are installed through
+ network configuration management and policy-based provisioning
+ systems. Generally, the types of service provided by the network
+ also depend upon the technology and characteristics of the network
+ elements and protocols, the prevailing service and utility models,
+ and the ability of the network administrators to translate policies
+ into network configurations.
+
+ Internet networks have two significant characteristics:
+
+ * They provide real-time services.
+
+ * Their operating environments are very dynamic.
+
+ The dynamic characteristics of IP and IP/MPLS networks can be
+ attributed in part to fluctuations in demand, the interaction between
+ various network protocols and processes, the rapid evolution of the
+ infrastructure that demands the constant inclusion of new
+ technologies and new network elements, and the transient and
+ persistent faults that occur within the system.
+
+ Packets contend for the use of network resources as they are conveyed
+ through the network. A network resource is considered to be
+ congested if, for an interval of time, the arrival rate of packets
+ exceeds the output capacity of the resource. Network congestion may
+ result in some of the arriving packets being delayed or even dropped.
+
+ Network congestion increases transit delay and delay variation, may
+ lead to packet loss, and reduces the predictability of network
+ services. Clearly, while congestion may be a useful tool at ingress
+ edge nodes, network congestion is highly undesirable. Combating
+ network congestion at a reasonable cost is a major objective of
+ Internet TE, although it may need to be traded with other objectives
+ to keep the costs reasonable.
+
+ Efficient sharing of network resources by multiple traffic flows is a
+ basic operational premise for the Internet. A fundamental challenge
+ in network operation is to increase resource utilization while
+ minimizing the possibility of congestion.
+
+ The Internet has to function in the presence of different classes of
+ traffic with different service requirements. This requirement is
+ clarified in the architecture for Differentiated Services (Diffserv)
+ [RFC2475]. That document describes how packets can be grouped into
+ behavior aggregates such that each aggregate has a common set of
+ behavioral characteristics or a common set of delivery requirements.
+ Delivery requirements of a specific set of packets may be specified
+ explicitly or implicitly. Two of the most important traffic delivery
+ requirements are:
+
+ * Capacity constraints can be expressed statistically as peak rates,
+ mean rates, burst sizes, or as some deterministic notion of
+ effective bandwidth.
+
+ * QoS requirements can be expressed in terms of:
+
+ - integrity constraints, such as packet loss
+
+ - temporal constraints, such as timing restrictions for the
+ delivery of each packet (delay) and timing restrictions for the
+ delivery of consecutive packets belonging to the same traffic
+ stream (delay variation)
+
+2.3. Problem Context
+
+ There are several problems associated with operating a network like
+ those described in the previous section. This section analyzes the
+ problem context in relation to TE. The identification, abstraction,
+ representation, and measurement of network features relevant to TE
+ are significant issues.
+
+ A particular challenge is to formulate the problems that traffic
+ engineering attempts to solve. For example:
+
+ * How to identify the requirements on the solution space
+
+ * How to specify the desirable features of solutions
+
+ * How to actually solve the problems
+
+ * How to measure and characterize the effectiveness of solutions
+
+ Another class of problems is how to measure and estimate relevant
+ network state parameters. Effective TE relies on a good estimate of
+ the offered traffic load as well as a view of the underlying topology
+ and associated resource constraints. Offline planning requires a
+ full view of the topology of the network or partial network that is
+ being planned.
+
+ Still another class of problem is how to characterize the state of
+ the network and how to evaluate its performance. The performance
+ evaluation problem is two-fold: one aspect relates to the evaluation
+ of the system-level performance of the network, and the other aspect
+ relates to the evaluation of resource-level performance, which
+ restricts attention to the performance analysis of individual network
+ resources.
+
+ In this document, we refer to the system-level characteristics of the
+ network as the "macro-states" and the resource-level characteristics
+ as the "micro-states." The system-level characteristics are also
+ known as the emergent properties of the network. Correspondingly, we
+ refer to the TE schemes dealing with network performance optimization
+ at the systems level as "macro-TE" and the schemes that optimize at
+ the individual resource level as "micro-TE." Under certain
+ circumstances, the system-level performance can be derived from the
+ resource-level performance using appropriate rules of composition,
+ depending upon the particular performance measures of interest.
+
+ Another fundamental class of problem concerns how to effectively
+ optimize network performance. Performance optimization may entail
+ translating solutions for specific TE problems into network
+ configurations. Optimization may also entail some degree of resource
+ management control, routing control, and capacity augmentation.
+
+2.3.1. Congestion and Its Ramifications
+
+ Network congestion is one of the most significant problems in an
+ operational IP context. A network element is said to be congested if
+ it experiences sustained overload over an interval of time. Although
+ congestion at the edge of the network may be beneficial in ensuring
+ that the network delivers as much traffic as possible, network
+ congestion almost always results in degradation of service quality to
+ end users. Congestion avoidance and response schemes can include
+ demand-side policies and supply-side policies. Demand-side policies
+ may restrict access to congested resources or dynamically regulate
+ the demand to alleviate the overload situation. Supply-side policies
+ may expand or augment network capacity to better accommodate offered
+ traffic. Supply-side policies may also reallocate network resources
+ by redistributing traffic over the infrastructure. Traffic
+ redistribution and resource reallocation serve to increase the
+ effective capacity of the network.
+
+ The emphasis of this document is primarily on congestion management
+ schemes falling within the scope of the network, rather than on
+ congestion management systems dependent upon sensitivity and
+ adaptivity from end systems. That is, the aspects that are
+ considered in this document with respect to congestion management are
+ those solutions that can be provided by control entities operating on
+ the network and by the actions of network administrators and network
+ operations systems.
+
+2.4. Solution Context
+
+ The solution context for Internet TE involves analysis, evaluation of
+ alternatives, and choice between alternative courses of action.
+ Generally, the solution context is based on making inferences about
+ the current or future state of the network and making decisions that
+ may involve a preference between alternative sets of action. More
+ specifically, the solution context demands reasonable estimates of
+ traffic workload, characterization of network state, derivation of
+ solutions that may be implicitly or explicitly formulated, and
+ possibly instantiation of a set of control actions. Control actions
+ may involve the manipulation of parameters associated with routing,
+ control over tactical capacity acquisition, and control over the
+ traffic management functions.
+
+ The following list of instruments may be applicable to the solution
+ context of Internet TE:
+
+ * A set of policies, objectives, and requirements (which may be
+ context dependent) for network performance evaluation and
+ performance optimization.
+
+ * A collection of online and, in some cases, possibly offline tools
+ and mechanisms for measurement, characterization, modeling,
+ control of traffic, control over the placement and allocation of
+ network resources, as well as control over the mapping or
+ distribution of traffic onto the infrastructure.
+
+ * A set of constraints on the operating environment, the network
+ protocols, and the TE system itself.
+
+ * A set of quantitative and qualitative techniques and methodologies
+ for abstracting, formulating, and solving TE problems.
+
+ * A set of administrative control parameters that may be manipulated
+ through a configuration management system. Such a system may
+ itself include a configuration control subsystem, a configuration
+ repository, a configuration accounting subsystem, and a
+ configuration auditing subsystem.
+
+ * A set of guidelines for network performance evaluation,
+ performance optimization, and performance improvement.
+
+ Determining traffic characteristics through measurement or estimation
+ is very useful within the realm of the TE solution space. Traffic
+ estimates can be derived from customer subscription information,
+ traffic projections, traffic models, and actual measurements. The
+ measurements may be performed at different levels, e.g., at the
+ traffic-aggregate level or at the flow level. Measurements at the
+ flow level or on small traffic aggregates may be performed at edge
+ nodes, when traffic enters and leaves the network. Measurements for
+ large traffic aggregates may be performed within the core of the
+ network.
+
+ To conduct performance studies and to support planning of existing
+ and future networks, a routing analysis may be performed to determine
+ the paths the routing protocols will choose for various traffic
+ demands and to ascertain the utilization of network resources as
+ traffic is routed through the network. Routing analysis captures the
+ selection of paths through the network, the assignment of traffic
+ across multiple feasible routes, and the multiplexing of IP traffic
+ over traffic trunks (if such constructs exist) and over the
+ underlying network infrastructure. A model of network topology is
+ necessary to perform routing analysis. A network topology model may
+ be extracted from:
+
+ * network architecture documents
+
+ * network designs
+
+ * information contained in router configuration files
+
+ * routing databases such as the link-state database of an Interior
+ Gateway Protocol (IGP)
+
+ * routing tables
+
+ * automated tools that discover and collate network topology
+ information
+
+ Topology information may also be derived from servers that monitor
+ network state and from servers that perform provisioning functions.
+
+ Routing in operational IP networks can be administratively controlled
+ at various levels of abstraction, including the manipulation of BGP
+ attributes and IGP metrics. For path-oriented technologies such as
+ MPLS, routing can be further controlled by the manipulation of
+ relevant TE parameters, resource parameters, and administrative
+ policy constraints. Within the context of MPLS, the path of an
+ explicitly routed LSP can be computed and established in various
+ ways, including:
+
+ * manually
+
+ * automatically and online using constraint-based routing processes
+ implemented on Label Switching Routers (LSRs)
+
+ * automatically and offline using constraint-based routing entities
+ implemented on external TE support systems
+
+2.4.1. Combating the Congestion Problem
+
+ Minimizing congestion is a significant aspect of Internet traffic
+ engineering. This subsection gives an overview of the general
+ approaches that have been used or proposed to combat congestion.
+
+ Congestion management policies can be categorized based upon the
+ following criteria (see [YARE95] for a more detailed taxonomy of
+ congestion control schemes):
+
+ 1. Congestion Management Based on Response Timescales
+
+ * Long (weeks to months): Expanding network capacity by adding
+ new equipment, routers, and links takes time and is
+ comparatively costly. Capacity planning needs to take this
+ into consideration. Network capacity is expanded based on
+ estimates or forecasts of future traffic development and
+ traffic distribution. These upgrades are typically carried
+ out over weeks, months, or maybe even years.
+
+ * Medium (minutes to days): Several control policies fall within
+ the medium timescale category. Examples include:
+
+ a. Adjusting routing protocol parameters to route traffic
+ away from or towards certain segments of the network.
+
+ b. Setting up or adjusting explicitly routed LSPs in MPLS
+ networks to route traffic trunks away from possibly
+ congested resources or toward possibly more favorable
+ routes.
+
+ c. Reconfiguring the logical topology of the network to make
+ it correlate more closely with the spatial traffic
+ distribution using, for example, an underlying path-
+ oriented technology such as MPLS LSPs or optical channel
+ trails.
+
+ When these schemes are adaptive, they rely on measurement
+ systems. A measurement system monitors changes in traffic
+ distribution, traffic loads, and network resource utilization
+ and then provides feedback to the online or offline TE
+ mechanisms and tools so that they can trigger control actions
+ within the network. The TE mechanisms and tools can be
+ implemented in a distributed or centralized fashion. A
+ centralized scheme may have full visibility into the network
+ state and may produce more optimal solutions. However,
+ centralized schemes are prone to single points of failure and
+ may not scale as well as distributed schemes. Moreover, the
+ information utilized by a centralized scheme may be stale and
+ might not reflect the actual state of the network. It is not
+ an objective of this document to make a recommendation between
+ distributed and centralized schemes; that is a choice that
+ network administrators must make based on their specific
+ needs.
+
+ * Short (minutes or less): This category includes packet-level
+ processing functions and events that are recorded on the order
+ of several round-trip times. It also includes router
+ mechanisms such as passive and active buffer management. All
+ of these mechanisms are used to control congestion or signal
+ congestion to end systems so that they can adaptively regulate
+ the rate at which traffic is injected into the network. A
+ well-known active queue management scheme, especially for
+ responsive traffic such as TCP, is Random Early Detection
+ (RED) [FLJA93]. During congestion (but before the queue is
+ filled), the RED scheme chooses arriving packets to "mark"
+ according to a probabilistic algorithm that takes into account
+ the average queue size. A router that does not utilize
+ Explicit Congestion Notification (ECN) [RFC3168] can simply
+ drop marked packets to alleviate congestion and implicitly
+ notify the receiver about the congestion. On the other hand,
+ if the router and the end hosts support ECN, they can set the
+ ECN field in the packet header, and the end host can act on
+ this information. Several variations of RED have been
+ proposed to support different drop precedence levels in multi-
+ class environments [RFC2597]. RED provides congestion
+ avoidance that is better than or equivalent to Tail-Drop (TD)
+ queue management (drop arriving packets only when the queue is
+ full). Importantly, RED reduces the possibility of
+ retransmission bursts becoming synchronized within the network
+ and improves fairness among different responsive traffic
+ sessions. However, RED by itself cannot prevent congestion
+ and unfairness caused by sources unresponsive to RED, e.g.,
+ some misbehaved greedy connections. Other schemes have been
+ proposed to improve performance and fairness in the presence
+ of unresponsive traffic. Some of those schemes (such as
+ Longest Queue Drop (LQD) and Dynamic Soft Partitioning with
+ Random Drop (RND) [SLDC98]) were proposed as theoretical
+ frameworks and are typically not available in existing
+ commercial products, while others (such as Approximate Fair
+ Dropping (AFD) [AFD03]) have seen some implementation. Advice
+ on the use of Active Queue Management (AQM) schemes is
+ provided in [RFC7567]. [RFC7567] recommends self-tuning AQM
+ algorithms like those that the IETF has published in
+ [RFC8290], [RFC8033], [RFC8034], and [RFC9332], but RED is
+ still appropriate for links with stable bandwidth, if
+ configured carefully.
+
+ 2. Reactive versus Preventive Congestion Management Schemes
+
+ * Reactive (recovery) congestion management policies react to
+ existing congestion problems. All the policies described
+ above for the short and medium timescales can be categorized
+ as being reactive. They are based on monitoring and
+ identifying congestion problems that exist in the network and
+ on the initiation of relevant actions to ease a situation.
+ Reactive congestion management schemes may also be preventive.
+
+ * Preventive (predictive/avoidance) policies take proactive
+ action to prevent congestion based on estimates and
+ predictions of future congestion problems (e.g., traffic
+ matrix forecasts). Some of the policies described for the
+ long and medium timescales fall into this category.
+ Preventive policies do not necessarily respond immediately to
+ existing congestion problems. Instead, forecasts of traffic
+ demand and workload distribution are considered, and action
+ may be taken to prevent potential future congestion problems.
+ The schemes described for the short timescale can also be used
+ for congestion avoidance because dropping or marking packets
+ before queues actually overflow would trigger corresponding
+ responsive traffic sources to slow down. Preventive
+ congestion management schemes may also be reactive.
+
+ 3. Supply-Side versus Demand-Side Congestion Management Schemes
+
+ * Supply-side congestion management policies increase the
+ effective capacity available to traffic in order to control or
+ reduce congestion. This can be accomplished by increasing
+ capacity or by balancing distribution of traffic over the
+ network. Capacity planning aims to provide a physical
+ topology and associated link bandwidths that match or exceed
+ estimated traffic workload and traffic distribution, subject
+ to traffic forecasts and budgetary (or other) constraints. If
+ the actual traffic distribution does not fit the topology
+ derived from capacity planning, then the traffic can be mapped
+ onto the topology by using routing control mechanisms, by
+ applying path-oriented technologies (e.g., MPLS LSPs and
+ optical channel trails) to modify the logical topology or by
+ employing some other load redistribution mechanisms.
+
+ * Demand-side congestion management policies control or regulate
+ the offered traffic to alleviate congestion problems. For
+ example, some of the short timescale mechanisms described
+ earlier as well as policing and rate-shaping mechanisms
+ attempt to regulate the offered load in various ways.
+
+2.5. Implementation and Operational Context
+
+ The operational context of Internet TE is characterized by constant
+ changes that occur at multiple levels of abstraction. The
+ implementation context demands effective planning, organization, and
+ execution. The planning aspects may involve determining prior sets
+ of actions to achieve desired objectives. Organizing involves
+ arranging and assigning responsibility to the various components of
+ the TE system and coordinating the activities to accomplish the
+ desired TE objectives. Execution involves measuring and applying
+ corrective or perfective actions to attain and maintain desired TE
+ goals.
+
+3. Traffic-Engineering Process Models
+
+ This section describes a generic process model that captures the
+ high-level practical aspects of Internet traffic engineering in an
+ operational context. The process model is described as a sequence of
+ actions that must be carried out to optimize the performance of an
+ operational network (see also [RFC2702] and [AWD2]). This process
+ model may be enacted explicitly or implicitly, by a software process
+ or by a human.
+
+ The TE process model is iterative [AWD2]. The four phases of the
+ process model described below are repeated as a continual sequence:
+
+ 1. Define the relevant control policies that govern the operation of
+ the network.
+
+ 2. Acquire measurement data from the operational network.
+
+ 3. Analyze the network state and characterize the traffic workload.
+ Proactive analysis identifies potential problems that could
+ manifest in the future. Reactive analysis identifies existing
+ problems and determines their causes.
+
+ 4. Optimize the performance of the network. This involves a
+ decision process that selects and implements a set of actions
+ from a set of alternatives given the results of the three
+ previous steps. Optimization actions may include the use of
+ techniques to control the offered traffic and to control the
+ distribution of traffic across the network.
+
+3.1. Components of the Traffic-Engineering Process Model
+
+ The key components of the traffic-engineering process model are as
+ follows:
+
+ 1. Measurement is crucial to the TE function. The operational state
+ of a network can only be conclusively determined through
+ measurement. Measurement is also critical to the optimization
+ function because it provides feedback data that is used by TE
+ control subsystems. This data is used to adaptively optimize
+ network performance in response to events and stimuli originating
+ within and outside the network. Measurement in support of the TE
+ function can occur at different levels of abstraction. For
+ example, measurement can be used to derive packet-level
+ characteristics, flow-level characteristics, user- or customer-
+ level characteristics, traffic-aggregate characteristics,
+ component-level characteristics, and network-wide
+ characteristics.
+
+ 2. Modeling, analysis, and simulation are important aspects of
+ Internet TE. Modeling involves constructing an abstract or
+ physical representation that depicts relevant traffic
+ characteristics and network attributes. A network model is an
+ abstract representation of the network that captures relevant
+ network features, attributes, and characteristics. Network
+ simulation tools are extremely useful for TE. Because of the
+ complexity of realistic quantitative analysis of network
+ behavior, certain aspects of network performance studies can only
+ be conducted effectively using simulation.
+
+ 3. Network performance optimization involves resolving network
+ issues by transforming such issues into concepts that enable a
+ solution, identification of a solution, and implementation of the
+ solution. Network performance optimization can be corrective or
+ perfective. In corrective optimization, the goal is to remedy a
+ problem that has occurred or that is incipient. In perfective
+ optimization, the goal is to improve network performance even
+ when explicit problems do not exist and are not anticipated.
+
+4. Taxonomy of Traffic-Engineering Systems
+
+ This section presents a short taxonomy of traffic-engineering systems
+ constructed based on TE styles and views as listed below and
+ described in greater detail in the following subsections of this
+ document:
+
+ * Time-Dependent versus State-Dependent versus Event-Dependent
+
+ * Offline versus Online
+
+ * Centralized versus Distributed
+
+ * Local versus Global Information
+
+ * Prescriptive versus Descriptive
+
+ * Open-Loop versus Closed-Loop
+
+ * Tactical versus Strategic
+
+4.1. Time-Dependent versus State-Dependent versus Event-Dependent
+
+ Traffic-engineering methodologies can be classified as time-
+ dependent, state-dependent, or event-dependent. All TE schemes are
+ considered to be dynamic in this document. Static TE implies that no
+ TE methodology or algorithm is being applied -- it is a feature of
+ network planning but lacks the reactive and flexible nature of TE.
+
+ In time-dependent TE, historical information based on periodic
+ variations in traffic (such as time of day) is used to pre-program
+ routing and other TE control mechanisms. Additionally, customer
+ subscription or traffic projection may be used. Pre-programmed
+ routing plans typically change on a relatively long timescale (e.g.,
+ daily). Time-dependent algorithms do not attempt to adapt to short-
+ term variations in traffic or changing network conditions. An
+ example of a time-dependent algorithm is a centralized optimizer
+ where the input to the system is a traffic matrix and multi-class QoS
+ requirements as described in [MR99]. Another example of such a
+ methodology is the application of data mining to Internet traffic
+ [AJ19], which enables the use of various machine learning algorithms
+ to identify patterns within historically collected datasets about
+ Internet traffic and to extract information in order to guide
+ decision-making and improve efficiency and productivity of
+ operational processes.
+
+ State-dependent TE adapts the routing plans based on the current
+ state of the network, which provides additional information on
+ variations in actual traffic (i.e., perturbations from regular
+ variations) that could not be predicted using historical information.
+ Constraint-based routing is an example of state-dependent TE
+ operating in a relatively long timescale. An example of operating in
+ a relatively short timescale is a load-balancing algorithm described
+ in [MATE]. The state of the network can be based on parameters
+ flooded by the routers. Another approach is for a particular router
+ performing adaptive TE to send probe packets along a path to gather
+ the state of that path. [RFC6374] defines protocol extensions to
+ collect performance measurements from MPLS networks. Another
+ approach is for a management system to gather the relevant
+ information directly from network elements using telemetry data
+ collection publication/subscription techniques [RFC7923]. Timely
+ gathering and distribution of state information is critical for
+ adaptive TE. While time-dependent algorithms are suitable for
+ predictable traffic variations, state-dependent algorithms may be
+ needed to increase network efficiency and to provide resilience to
+ adapt to changes in network state.
+
+ Event-dependent TE methods can also be used for TE path selection.
+ Event-dependent TE methods are distinct from time-dependent and
+ state-dependent TE methods in the manner in which paths are selected.
+ These algorithms are adaptive and distributed in nature, and they
+ typically use learning models to find good paths for TE in a network.
+ While state-dependent TE models typically use available-link-
+ bandwidth (ALB) flooding [E.360.1] for TE path selection, event-
+ dependent TE methods do not require ALB flooding. Rather, event-
+ dependent TE methods typically search out capacity by learning
+ models, as in the success-to-the-top (STT) method [RFC6601]. ALB
+ flooding can be resource intensive, since it requires link bandwidth
+ to carry routing protocol link-state advertisements and processor
+ capacity to process those advertisements; in addition, the overhead
+ of the ALB advertisements and their processing can limit the size of
+ the area and AS. Modeling results suggest that event-dependent TE
+ methods could lead to a reduction in ALB flooding overhead without
+ loss of network throughput performance [TE-QoS-ROUTING].
+
+ A fully functional TE system is likely to use all aspects of time-
+ dependent, state-dependent, and event-dependent methodologies as
+ described in Section 4.3.1.
+
+4.2. Offline versus Online
+
+ Traffic engineering requires the computation of routing plans. The
+ computation may be performed offline or online. The computation can
+ be done offline for scenarios where routing plans need not be
+ executed in real time. For example, routing plans computed from
+ forecast information may be computed offline. Typically, offline
+ computation is also used to perform extensive searches on multi-
+ dimensional solution spaces.
+
+ Online computation is required when the routing plans must adapt to
+ changing network conditions as in state-dependent algorithms. Unlike
+ offline computation (which can be computationally demanding), online
+ computation is geared toward relatively simple and fast calculations
+ to select routes, fine-tune the allocations of resources, and perform
+ load balancing.
+
+4.3. Centralized versus Distributed
+
+ Under centralized control, there is a central authority that
+ determines routing plans and perhaps other TE control parameters on
+ behalf of each router. The central authority periodically collects
+ network-state information from all routers and sends routing
+ information to the routers. The update cycle for information
+ exchange in both directions is a critical parameter directly
+ impacting the performance of the network being controlled.
+ Centralized control may need high processing power and high bandwidth
+ control channels.
+
+ Distributed control determines route selection by each router
+ autonomously based on the router's view of the state of the network.
+ The network state information may be obtained by the router using a
+ probing method or distributed by other routers on a periodic basis
+ using link-state advertisements. Network state information may also
+ be disseminated under exception conditions. Examples of protocol
+ extensions used to advertise network link-state information are
+ defined in [RFC5305], [RFC6119], [RFC7471], [RFC8570], and [RFC8571].
+ See also Section 5.1.3.9.
+
+4.3.1. Hybrid Systems
+
+ In practice, most TE systems will be a hybrid of central and
+ distributed control. For example, a popular MPLS approach to TE is
+ to use a central controller based on an active, stateful Path
+ Computation Element (PCE) but to use routing and signaling protocols
+ to make local decisions at routers within the network. Local
+ decisions may be able to respond more quickly to network events but
+ may result in conflicts with decisions made by other routers.
+
+ Network operations for TE systems may also use a hybrid of offline
+ and online computation. TE paths may be precomputed based on stable-
+ state network information and planned traffic demands but may then be
+ modified in the active network depending on variations in network
+ state and traffic load. Furthermore, responses to network events may
+ be precomputed offline to allow rapid reactions without further
+ computation or may be derived online depending on the nature of the
+ events.
+
+4.3.2. Considerations for Software-Defined Networking
+
+ As discussed in Section 5.1.2.2, one of the main drivers for
+ Software-Defined Networking (SDN) is a decoupling of the network
+ control plane from the data plane [RFC7149]. However, SDN may also
+ combine centralized control of resources and facilitate application-
+ to-network interaction via an Application Programming Interface
+ (API), such as the one described in [RFC8040]. Combining these
+ features provides a flexible network architecture that can adapt to
+ the network requirements of a variety of higher-layer applications, a
+ concept often referred to as the "programmable network" [RFC7426].
+
+ The centralized control aspect of SDN helps improve network resource
+ utilization compared with distributed network control, where local
+ policy may often override network-wide optimization goals. In an SDN
+ environment, the data plane forwards traffic to its desired
+ destination. However, before traffic reaches the data plane, the
+ logically centralized SDN control plane often determines the path the
+ application traffic will take in the network. Therefore, the SDN
+ control plane needs to be aware of the underlying network topology,
+ capabilities, and current node and link resource state.
+
+ Using a PCE-based SDN control framework [RFC7491], the available
+ network topology may be discovered by running a passive instance of
+ OSPF or IS-IS, or via BGP Link State (BGP-LS) [RFC9552]), to generate
+ a Traffic Engineering Database (TED) (see Section 5.1.3.14). The PCE
+ is used to compute a path (see Section 5.1.3.11) based on the TED and
+ available bandwidth, and further path optimization may be based on
+ requested objective functions [RFC5541]. When a suitable path has
+ been computed, the programming of the explicit network path may be
+ either performed using a signaling protocol that traverses the length
+ of the path [RFC3209] or performed per-hop with each node being
+ directly programmed [RFC8283] by the SDN controller.
+
+ By utilizing a centralized approach to network control, additional
+ network benefits are also available, including Global Concurrent
+ Optimization (GCO) [RFC5557]. A GCO path computation request will
+ simultaneously use the network topology and a set of new path
+ signaling requests, along with their respective constraints, for
+ optimal placement in the network. Correspondingly, a GCO-based
+ computation may be applied to recompute existing network paths to
+ groom traffic and to mitigate congestion.
+
+4.4. Local versus Global
+
+ Traffic-engineering algorithms may require local and global network-
+ state information.
+
+ Local information is the state of a portion of the domain. Examples
+ include the bandwidth and packet loss rate of a particular path or
+ the state and capabilities of a network link. Local state
+ information may be sufficient for certain instances of distributed
+ control TE.
+
+ Global information is the state of the entire TE domain. Examples
+ include a global traffic matrix and loading information on each link
+ throughout the domain of interest. Global state information is
+ typically required with centralized control. Distributed TE systems
+ may also need global information in some cases.
+
+4.5. Prescriptive versus Descriptive
+
+ TE systems may also be classified as prescriptive or descriptive.
+
+ Prescriptive traffic engineering evaluates alternatives and
+ recommends a course of action. Prescriptive TE can be further
+ categorized as either corrective or perfective. Corrective TE
+ prescribes a course of action to address an existing or predicted
+ anomaly. Perfective TE prescribes a course of action to evolve and
+ improve network performance even when no anomalies are evident.
+
+ Descriptive traffic engineering, on the other hand, characterizes the
+ state of the network and assesses the impact of various policies
+ without recommending any particular course of action.
+
+4.5.1. Intent-Based Networking
+
+ One way to express a service request is through "intent". Intent-
+ Based Networking aims to produce networks that are simpler to manage
+ and operate, requiring only minimal intervention. Intent is defined
+ in [RFC9315] as follows:
+
+ | A set of operational goals (that a network should meet) and
+ | outcomes (that a network is supposed to deliver) defined in a
+ | declarative manner without specifying how to achieve or implement
+ | them.
+
+ Intent provides data and functional abstraction so that users and
+ operators do not need to be concerned with low-level device
+ configuration or the mechanisms used to achieve a given intent. This
+ approach can be conceptually easier for a user but may be less
+ expressive in terms of constraints and guidelines.
+
+ Intent-Based Networking is applicable to TE because many of the high-
+ level objectives may be expressed as intent (for example, load
+ balancing, delivery of services, and robustness against failures).
+ The intent is converted by the management system into TE actions
+ within the network.
+
+4.6. Open-Loop versus Closed-Loop
+
+ Open-loop traffic-engineering control is where control action does
+ not use feedback information from the current network state.
+ However, the control action may use its own local information for
+ accounting purposes.
+
+ Closed-loop traffic-engineering control is where control action
+ utilizes feedback information from the network state. The feedback
+ information may be in the form of current measurement or recent
+ historical records.
+
+4.7. Tactical versus Strategic
+
+ Tactical traffic engineering aims to address specific performance
+ problems (such as hotspots) that occur in the network from a tactical
+ perspective, without consideration of overall strategic imperatives.
+ Without proper planning and insights, tactical TE tends to be ad hoc
+ in nature.
+
+ Strategic traffic-engineering approaches the TE problem from a more
+ organized and systematic perspective, taking into consideration the
+ immediate and longer-term consequences of specific policies and
+ actions.
+
+5. Review of TE Techniques
+
+ This section briefly reviews different TE-related approaches proposed
+ and implemented in telecommunications and computer networks using
+ IETF protocols and architectures. These approaches are organized
+ into three categories:
+
+ * TE mechanisms that adhere to the definition provided in
+ Section 1.2
+
+ * Approaches that rely upon those TE mechanisms
+
+ * Techniques that are used by those TE mechanisms and approaches
+
+ The discussion is not intended to be comprehensive. It is primarily
+ intended to illuminate existing approaches to TE in the Internet. A
+ historic overview of TE in telecommunications networks was provided
+ in Section 4 of [RFC3272], and Section 4.6 of that document presented
+ an outline of some early approaches to TE conducted in other
+ standards bodies. It is out of the scope of this document to provide
+ an analysis of the history of TE or an inventory of TE-related
+ efforts conducted by other Standards Development Organizations
+ (SDOs).
+
+5.1. Overview of IETF Projects Related to Traffic Engineering
+
+ This subsection reviews a number of IETF activities pertinent to
+ Internet traffic engineering. Some of these technologies are widely
+ deployed, others are mature but have seen less deployment, and some
+ are unproven or are still under development.
+
+5.1.1. IETF TE Mechanisms
+
+5.1.1.1. Integrated Services
+
+ The IETF developed the Integrated Services (Intserv) model that
+ requires resources, such as bandwidth and buffers, to be reserved a
+ priori for a given traffic flow to ensure that the QoS requested by
+ the traffic flow is satisfied. The Intserv model includes additional
+ components beyond those used in the best-effort model such as packet
+ classifiers, packet schedulers, and admission control. A packet
+ classifier is used to identify flows that are to receive a certain
+ level of service. A packet scheduler handles the scheduling of
+ service to different packet flows to ensure that QoS commitments are
+ met. Admission control is used to determine whether a router has the
+ necessary resources to accept a new flow.
+
+ The main issue with the Intserv model has been scalability [RFC2998],
+ especially in large public IP networks that may potentially have
+ millions of active traffic flows in transit concurrently. Pre-
+ Congestion Notification (PCN) [RFC5559] solves the scaling problems
+ of Intserv by using measurement-based admission control (and flow
+ termination to handle failures) between edge nodes. Nodes between
+ the edges of the internetwork have no per-flow operations, and the
+ edge nodes can use the Resource Reservation Protocol (RSVP) per-flow
+ or per-aggregate.
+
+ A notable feature of the Intserv model is that it requires explicit
+ signaling of QoS requirements from end systems to routers [RFC2753].
+ RSVP performs this signaling function and is a critical component of
+ the Intserv model. RSVP is described in Section 5.1.3.2.
+
+5.1.1.2. Differentiated Services
+
+ The goal of Differentiated Services (Diffserv) within the IETF was to
+ devise scalable mechanisms for categorization of traffic into
+ behavior aggregates, which ultimately allows each behavior aggregate
+ to be treated differently, especially when there is a shortage of
+ resources, such as link bandwidth and buffer space [RFC2475]. One of
+ the primary motivations for Diffserv was to devise alternative
+ mechanisms for service differentiation in the Internet that mitigate
+ the scalability issues encountered with the Intserv model.
+
+ Diffserv uses the Differentiated Services field in the IP header (the
+ DS field) consisting of six bits in what was formerly known as the
+ Type of Service (TOS) octet. The DS field is used to indicate the
+ forwarding treatment that a packet should receive at a transit node
+ [RFC2474]. Diffserv includes the concept of Per-Hop Behavior (PHB)
+ groups. Using the PHBs, several classes of services can be defined
+ using different classification, policing, shaping, and scheduling
+ rules.
+
+ For an end user of network services to utilize Diffserv provided by
+ its Internet Service Provider (ISP), it may be necessary for the user
+ to have an SLA with the ISP. An SLA may explicitly or implicitly
+ specify a Traffic Conditioning Agreement (TCA) that defines
+ classifier rules as well as metering, marking, discarding, and
+ shaping rules.
+
+ Packets are classified and possibly policed and shaped at the ingress
+ to a Diffserv network. When a packet traverses the boundary between
+ different Diffserv domains, the DS field of the packet may be re-
+ marked according to existing agreements between the domains.
+
+ Diffserv allows only a finite number of service classes to be
+ specified by the DS field. The main advantage of the Diffserv
+ approach relative to the Intserv model is scalability. Resources are
+ allocated on a per-class basis, and the amount of state information
+ is proportional to the number of classes rather than to the number of
+ application flows.
+
+ Once the network has been planned and the packets have been marked at
+ the network edge, the Diffserv model deals with traffic management
+ issues on a per-hop basis. The Diffserv control model consists of a
+ collection of micro-TE control mechanisms. Other TE capabilities,
+ such as capacity management (including routing control), are also
+ required in order to deliver acceptable service quality in Diffserv
+ networks. The concept of "Per-Domain Behaviors" has been introduced
+ to better capture the notion of Diffserv across a complete domain
+ [RFC3086].
+
+ Diffserv procedures can also be applied in an MPLS context. See
+ Section 6.8 for more information.
+
+5.1.1.3. SR Policy
+
+ SR Policy [RFC9256] is an evolution of SR (see Section 5.1.3.12) to
+ enhance the TE capabilities of SR. It is a framework that enables
+ instantiation of an ordered list of segments on a node for
+ implementing a source routing policy with a specific intent for
+ traffic steering from that node.
+
+ An SR Policy is identified through the tuple <headend, color,
+ endpoint>. The headend is the IP address of the node where the
+ policy is instantiated. The endpoint is the IP address of the
+ destination of the policy. The color is an index that associates the
+ SR Policy with an intent (e.g., low latency).
+
+ The headend node is notified of SR Policies and associated SR paths
+ via configuration or by extensions to protocols such as the Path
+ Computation Element Communication Protocol (PCEP) [RFC8664] or BGP
+ [SR-TE-POLICY]. Each SR path consists of a segment list (an SR
+ source-routed path), and the headend uses the endpoint and color
+ parameters to classify packets to match the SR Policy and so
+ determine along which path to forward them. If an SR Policy is
+ associated with a set of SR paths, each is associated with a weight
+ for weighted load balancing. Furthermore, multiple SR Policies may
+ be associated with a set of SR paths to allow multiple traffic flows
+ to be placed on the same paths.
+
+ An SR Binding SID (BSID) may also be associated with each candidate
+ path associated with an SR Policy or with the SR Policy itself. The
+ headend node installs a BSID-keyed entry in the forwarding plane and
+ assigns it the action of steering packets that match the entry to the
+ selected path of the SR Policy. This steering can be done in various
+ ways:
+
+ SID Steering: Incoming packets have an active Segment Identifier
+ (SID) matching a local BSID at the headend.
+
+ Per-destination Steering: Incoming packets match a BGP/Service
+ route, which indicates an SR Policy.
+
+ Per-flow Steering: Incoming packets match a forwarding array (for
+ example, the classic 5-tuple), which indicates an SR Policy.
+
+ Policy-based Steering: Incoming packets match a routing policy,
+ which directs them to an SR Policy.
+
+5.1.1.4. Layer 4 Transport-Based TE
+
+ In addition to IP-based TE mechanisms, Layer 4 transport-based TE
+ approaches can be considered in specific deployment contexts (e.g.,
+ data centers and multi-homing). For example, the 3GPP defines the
+ Access Traffic Steering, Switching, and Splitting (ATSSS) [ATSSS]
+ service functions as follows:
+
+ Access Traffic Steering: This is the selection of an access network
+ for a new flow and the transfer of the traffic of that flow over
+ the selected access network.
+
+ Access Traffic Switching: This is the migration of all packets of an
+ ongoing flow from one access network to another access network.
+ Only one access network is in use at a time.
+
+ Access Traffic Splitting: This is about forwarding the packets of a
+ flow across multiple access networks simultaneously.
+
+ The control plane is used to provide hosts and specific network
+ devices with a set of policies that specify which flows are eligible
+ to use the ATSSS service. The traffic that matches an ATSSS policy
+ can be distributed among the available access networks following one
+ of the following four modes:
+
+ Active-Standby: The traffic is forwarded via a specific access
+ (called "active access") and switched to another access (called
+ "standby access") when the active access is unavailable.
+
+ Priority-based: Network accesses are assigned priority levels that
+ indicate which network access is to be used first. The traffic
+ associated with the matching flow will be steered onto the network
+ access with the highest priority until congestion is detected.
+ Then, the overflow will be forwarded over the next highest
+ priority access.
+
+ Load-Balancing: The traffic is distributed among the available
+ access networks following a distribution ratio (e.g., 75% to 25%).
+
+ Smallest Delay: The traffic is forwarded via the access that
+ presents the smallest round-trip time (RTT).
+
+ For resource management purposes, hosts and network devices support
+ means such as congestion control, RTT measurement, and packet
+ scheduling.
+
+ For TCP traffic, Multipath TCP [RFC8684] and the 0-RTT Convert
+ Protocol [RFC8803] are used to provide the ATSSS service.
+
+ Multipath QUIC [QUIC-MULTIPATH] and Proxying UDP in HTTP [RFC9298]
+ are used to provide the ATSSS service for UDP traffic. Note that
+ QUIC [RFC9000] supports the switching and steering functions.
+ Indeed, QUIC supports a connection migration procedure that allows
+ peers to change their Layer 4 transport coordinates (IP addresses,
+ port numbers) without breaking the underlying QUIC connection.
+
+ Extensions to the Datagram Congestion Control Protocol (DCCP)
+ [RFC4340] to support multipath operations are defined in
+ [MULTIPATH-DCCP].
+
+5.1.1.5. Deterministic Networking
+
+ Deterministic Networking (DetNet) [RFC8655] is an architecture for
+ applications with critical timing and reliability requirements. The
+ layered architecture particularly focuses on developing DetNet
+ service capabilities in the data plane [RFC8938]. The DetNet service
+ sub-layer provides a set of Packet Replication, Elimination, and
+ Ordering Functions (PREOF) to provide end-to-end service assurance.
+ The DetNet forwarding sub-layer provides corresponding forwarding
+ assurance (low packet loss, bounded latency, and in-order delivery)
+ functions using resource allocations and explicit route mechanisms.
+
+ The separation into two sub-layers allows a greater flexibility to
+ adapt DetNet capability over a number of TE data plane mechanisms,
+ such as IP, MPLS, and SR. More importantly, it interconnects IEEE
+ 802.1 Time Sensitive Networking (TSN) [RFC9023] deployed in Industry
+ Control and Automation Systems (ICAS).
+
+ DetNet can be seen as a specialized branch of TE, since it sets up
+ explicit optimized paths with allocation of resources as requested.
+ A DetNet application can express its QoS attributes or traffic
+ behavior using any combination of DetNet functions described in sub-
+ layers. They are then distributed and provisioned using well-
+ established control and provisioning mechanisms adopted for traffic
+ engineering.
+
+ In DetNet, a considerable amount of state information is required to
+ maintain per-flow queuing disciplines and resource reservation for a
+ large number of individual flows. This can be quite challenging for
+ network operations during network events, such as faults, change in
+ traffic volume, or reprovisioning. Therefore, DetNet recommends
+ support for aggregated flows; however, it still requires a large
+ amount of control signaling to establish and maintain DetNet flows.
+
+ Note that DetNet might suffer from some of the scalability concerns
+ described for Intserv in Section 5.1.1.1, but the scope of DetNet's
+ deployment scenarios is smaller and therefore less exposed to scaling
+ issues.
+
+5.1.2. IETF Approaches Relying on TE Mechanisms
+
+5.1.2.1. Application-Layer Traffic Optimization
+
+ This document describes various TE mechanisms available in the
+ network. However, in general, distributed applications
+ (particularly, bandwidth-greedy P2P applications that are used for
+ file sharing, for example) cannot directly use those techniques. As
+ per [RFC5693], applications could greatly improve traffic
+ distribution and quality by cooperating with external services that
+ are aware of the network topology. Addressing the Application-Layer
+ Traffic Optimization (ALTO) problem means, on the one hand, deploying
+ an ALTO service to provide applications with information regarding
+ the underlying network (e.g., basic network location structure and
+ preferences of network paths) and, on the other hand, enhancing
+ applications in order to use such information to perform better-than-
+ random selection of the endpoints with which they establish
+ connections.
+
+ The basic function of ALTO is based on abstract maps of a network.
+ These maps provide a simplified view, yet enough information about a
+ network for applications to effectively utilize them. Additional
+ services are built on top of the maps. [RFC7285] describes a
+ protocol implementing the ALTO services as an information-publishing
+ interface that allows a network to publish its network information to
+ network applications. This information can include network node
+ locations, groups of node-to-node connectivity arranged by cost
+ according to configurable granularities, and end-host properties.
+ The information published by the ALTO Protocol should benefit both
+ the network and the applications. The ALTO Protocol uses a REST-ful
+ design and encodes its requests and responses using JSON [RFC8259]
+ with a modular design by dividing ALTO information publication into
+ multiple ALTO services (e.g., the Map Service, the Map-Filtering
+ Service, the Endpoint Property Service, and the Endpoint Cost
+ Service).
+
+ [RFC8189] defines a new service that allows an ALTO Client to
+ retrieve several cost metrics in a single request for an ALTO
+ filtered cost map and endpoint cost map. [RFC8896] extends the ALTO
+ cost information service so that applications decide not only "where"
+ to connect but also "when". This is useful for applications that
+ need to perform bulk data transfer and would like to schedule these
+ transfers during an off-peak hour, for example. [RFC9439] introduces
+ network performance metrics, including network delay, jitter, packet
+ loss rate, hop count, and bandwidth. The ALTO server may derive and
+ aggregate such performance metrics from BGP-LS (see
+ Section 5.1.3.10), IGP-TE (see Section 5.1.3.9), or management tools
+ and then expose the information to allow applications to determine
+ "where" to connect based on network performance criteria. The ALTO
+ Working Group is evaluating the use of network TE properties while
+ making application decisions for new use cases such as edge computing
+ and data-center interconnect.
+
+5.1.2.2. Network Virtualization and Abstraction
+
+ One of the main drivers for SDN [RFC7149] is a decoupling of the
+ network control plane from the data plane. This separation has been
+ achieved for TE networks with the development of MPLS and GMPLS (see
+ Sections 5.1.3.3 and 5.1.3.5, respectively) and the PCE (see
+ Section 5.1.3.11). One of the advantages of SDN is its logically
+ centralized control regime that allows a full view of the underlying
+ networks. Centralized control in SDN helps improve network resource
+ utilization compared with distributed network control.
+
+ Abstraction and Control of TE Networks (ACTN) [RFC8453] defines a
+ hierarchical SDN architecture that describes the functional entities
+ and methods for the coordination of resources across multiple
+ domains, to provide composite traffic-engineered services. ACTN
+ facilitates composed, multi-domain connections and provides them to
+ the user. ACTN is focused on:
+
+ * Abstraction of the underlying network resources and how they are
+ provided to higher-layer applications and customers.
+
+ * Virtualization of underlying resources for use by the customer,
+ application, or service. The creation of a virtualized
+ environment allows operators to view and control multi-domain
+ networks as a single virtualized network.
+
+ * Presentation to customers of networks as a virtual network via
+ open and programmable interfaces.
+
+ The ACTN managed infrastructure is built from traffic-engineered
+ network resources, which may include statistical packet bandwidth,
+ physical forwarding-plane sources (such as wavelengths and time
+ slots), and forwarding and cross-connect capabilities. The type of
+ network virtualization seen in ACTN allows customers and applications
+ (tenants) to utilize and independently control allocated virtual
+ network resources as if they were physically their own resource. The
+ ACTN network is sliced, with tenants being given a different partial
+ and abstracted topology view of the physical underlying network.
+
+5.1.2.3. Network Slicing
+
+ An IETF Network Slice is a logical network topology connecting a
+ number of endpoints using a set of shared or dedicated network
+ resources [NETWORK-SLICES]. The resources are used to satisfy
+ specific SLOs specified by the consumer.
+
+ IETF Network Slices are not, of themselves, TE constructs. However,
+ a network operator that offers IETF Network Slices is likely to use
+ many TE tools in order to manage their network and provide the
+ services.
+
+ IETF Network Slices are defined such that they are independent of the
+ underlying infrastructure connectivity and technologies used. From a
+ customer's perspective, an IETF Network Slice looks like a VPN
+ connectivity matrix with additional information about the level of
+ service that the customer requires between the endpoints. From an
+ operator's perspective, the IETF Network Slice looks like a set of
+ routing or tunneling instructions with the network resource
+ reservations necessary to provide the required service levels as
+ specified by the SLOs. The concept of an IETF Network Slice is
+ consistent with an enhanced VPN [ENHANCED-VPN].
+
+5.1.3. IETF Techniques Used by TE Mechanisms
+
+5.1.3.1. Constraint-Based Routing
+
+ Constraint-based routing refers to a class of routing systems that
+ compute routes through a network subject to the satisfaction of a set
+ of constraints and requirements. In the most general case,
+ constraint-based routing may also seek to optimize overall network
+ performance while minimizing costs.
+
+ The constraints and requirements may be imposed by the network itself
+ or by administrative policies. Constraints may include bandwidth,
+ hop count, delay, and policy instruments such as resource class
+ attributes. Constraints may also include domain-specific attributes
+ of certain network technologies and contexts that impose restrictions
+ on the solution space of the routing function. Path-oriented
+ technologies such as MPLS have made constraint-based routing feasible
+ and attractive in public IP networks.
+
+ The concept of constraint-based routing within the context of MPLS-TE
+ requirements in IP networks was first described in [RFC2702] and led
+ to developments such as MPLS-TE [RFC3209] as described in
+ Section 5.1.3.3.
+
+ Unlike QoS-based routing (for example, see [RFC2386], [MA], and
+ [PERFORMANCE-ROUTING]) that generally addresses the issue of routing
+ individual traffic flows to satisfy prescribed flow-based QoS
+ requirements subject to network resource availability, constraint-
+ based routing is applicable to traffic aggregates as well as flows
+ and may be subject to a wide variety of constraints that may include
+ policy restrictions.
+
+5.1.3.1.1. IGP Flexible Algorithms
+
+ The normal approach to routing in an IGP network relies on the IGPs
+ deriving "shortest paths" over the network based solely on the IGP
+ metric assigned to the links. Such an approach is often limited:
+ traffic may tend to converge toward the destination, possibly causing
+ congestion, and it is not possible to steer traffic onto paths
+ depending on the end-to-end qualities demanded by the applications.
+
+ To overcome this limitation, various sorts of TE have been widely
+ deployed (as described in this document), where the TE component is
+ responsible for computing the path based on additional metrics and/or
+ constraints. Such paths (or tunnels) need to be installed in the
+ routers' forwarding tables in addition to, or as a replacement for,
+ the original paths computed by IGPs. The main drawbacks of these TE
+ approaches are the additional complexity of protocols and management
+ and the state that may need to be maintained within the network.
+
+ IGP Flexible Algorithms [RFC9350] allow IGPs to construct constraint-
+ based paths over the network by computing constraint-based next hops.
+ The intent of Flexible Algorithms is to reduce TE complexity by
+ letting an IGP perform some basic TE computation capabilities.
+ Flexible Algorithm includes a set of extensions to the IGPs that
+ enable a router to send TLVs that:
+
+ * describe a set of constraints on the topology
+
+ * identify calculation-type
+
+ * describe a metric-type that is to be used to compute the best
+ paths through the constrained topology
+
+ A given combination of calculation-type, metric-type, and constraints
+ is known as a Flexible Algorithm Definition (FAD). A router that
+ sends such a set of TLVs also assigns a specific identifier (the
+ Flexible Algorithm) to the specified combination of calculation-type,
+ metric-type, and constraints.
+
+ There are two use cases for Flexible Algorithm: in IP networks
+ [RFC9502] and in SR networks [RFC9350]. In the first case, Flexible
+ Algorithm computes paths to an IPv4 or IPv6 address; in the second
+ case, Flexible Algorithms computes paths to a Prefix SID (see
+ Section 5.1.3.12).
+
+ Examples of where Flexible Algorithms can be useful include:
+
+ * Expansion of the function of IP performance metrics [RFC5664]
+ where specific constraint-based routing (Flexible Algorithm) can
+ be instantiated within the network based on the results of
+ performance measurement.
+
+ * The formation of an "underlay" network using Flexible Algorithms,
+ and the realization of an "overlay" network using TE techniques.
+ This approach can leverage the nested combination of Flexible
+ Algorithm and TE extensions for IGP (see Section 5.1.3.9).
+
+ * Flexible Algorithms in SR-MPLS (Section 5.1.3.12) can be used as a
+ base to easily build a TE-like topology without TE components on
+ routers or the use of a PCE (see Section 5.1.3.11).
+
+ * The support for network slices [NETWORK-SLICES] where the SLOs of
+ a particular IETF Network Slice can be guaranteed by a Flexible
+ Algorithm or where a Filtered Topology [NETWORK-SLICES] can be
+ created as a TE-like topology using a Flexible Algorithm.
+
+5.1.3.2. RSVP
+
+ RSVP is a soft-state signaling protocol [RFC2205]. It supports
+ receiver-initiated establishment of resource reservations for both
+ multicast and unicast flows. RSVP was originally developed as a
+ signaling protocol within the Integrated Services framework (see
+ Section 5.1.1.1) for applications to communicate QoS requirements to
+ the network and for the network to reserve relevant resources to
+ satisfy the QoS requirements [RFC2205].
+
+ In RSVP, the traffic sender or source node sends a Path message to
+ the traffic receiver with the same source and destination addresses
+ as the traffic that the sender will generate. The Path message
+ contains:
+
+ * A sender traffic specification describing the characteristics of
+ the traffic
+
+ * A sender template specifying the format of the traffic
+
+ * An optional advertisement specification that is used to support
+ the concept of One Pass With Advertising (OPWA) [RFC2205]
+
+ Every intermediate router along the path forwards the Path message to
+ the next hop determined by the routing protocol. Upon receiving a
+ Path message, the receiver responds with a Resv message that includes
+ a flow descriptor used to request resource reservations. The Resv
+ message travels to the sender or source node in the opposite
+ direction along the path that the Path message traversed. Every
+ intermediate router along the path can reject or accept the
+ reservation request of the Resv message. If the request is rejected,
+ the rejecting router will send an error message to the receiver, and
+ the signaling process will terminate. If the request is accepted,
+ link bandwidth and buffer space are allocated for the flow, and the
+ related flow state information is installed in the router.
+
+ One of the issues with the original RSVP specification [RFC2205] was
+ scalability. This was because reservations were required for micro-
+ flows, so that the amount of state maintained by network elements
+ tended to increase linearly with the number of traffic flows. These
+ issues are described in [RFC2961], which also modifies and extends
+ RSVP to mitigate the scaling problems to make RSVP a versatile
+ signaling protocol for the Internet. For example, RSVP has been
+ extended to reserve resources for aggregation of flows [RFC3175], to
+ set up MPLS explicit LSPs (see Section 5.1.3.3), and to perform other
+ signaling functions within the Internet. [RFC2961] also describes a
+ mechanism to reduce the amount of Refresh messages required to
+ maintain established RSVP sessions.
+
+5.1.3.3. MPLS
+
+ MPLS is a forwarding scheme that also includes extensions to
+ conventional IP control plane protocols. MPLS extends the Internet
+ routing model and enhances packet forwarding and path control
+ [RFC3031].
+
+ At the ingress to an MPLS domain, LSRs classify IP packets into
+ Forwarding Equivalence Classes (FECs) based on a variety of factors,
+ including, e.g., a combination of the information carried in the IP
+ header of the packets and the local routing information maintained by
+ the LSRs. An MPLS label stack entry is then prepended to each packet
+ according to their FECs. The MPLS label stack entry is 32 bits long
+ and contains a 20-bit label field.
+
+ An LSR makes forwarding decisions by using the label prepended to
+ packets as the index into a local Next Hop Label Forwarding Entry
+ (NHLFE). The packet is then processed as specified in the NHLFE.
+ The incoming label may be replaced by an outgoing label (label swap),
+ and the packet may be forwarded to the next LSR. Before a packet
+ leaves an MPLS domain, its MPLS label may be removed (label pop). An
+ LSP is the path between an ingress LSR and an egress LSR through
+ which a labeled packet traverses. The path of an explicit LSP is
+ defined at the originating (ingress) node of the LSP. MPLS can use a
+ signaling protocol such as RSVP or the Label Distribution Protocol
+ (LDP) to set up LSPs.
+
+ MPLS is a powerful technology for Internet TE because it supports
+ explicit LSPs that allow constraint-based routing to be implemented
+ efficiently in IP networks [AWD2]. The requirements for TE over MPLS
+ are described in [RFC2702]. Extensions to RSVP to support
+ instantiation of explicit LSP are discussed in [RFC3209] and
+ Section 5.1.3.4.
+
+5.1.3.4. RSVP-TE
+
+ RSVP-TE is a protocol extension of RSVP (Section 5.1.3.2) for traffic
+ engineering. The base specification is found in [RFC3209]. RSVP-TE
+ enables the establishment of traffic-engineered MPLS LSPs (TE LSPs),
+ using loose or strict paths and taking into consideration network
+ constraints such as available bandwidth. The extension supports
+ signaling LSPs on explicit paths that could be administratively
+ specified or computed by a suitable entity (such as a PCE,
+ Section 5.1.3.11) based on QoS and policy requirements, taking into
+ consideration the prevailing network state as advertised by the IGP
+ extension for IS-IS in [RFC5305], for OSPFv2 in [RFC3630], and for
+ OSPFv3 in [RFC5329]. RSVP-TE enables the reservation of resources
+ (for example, bandwidth) along the path.
+
+ RSVP-TE includes the ability to preempt LSPs based on priorities and
+ uses link affinities to include or exclude links from the LSPs. The
+ protocol is further extended to support Fast Reroute (FRR) [RFC4090],
+ Diffserv [RFC4124], and bidirectional LSPs [RFC7551]. RSVP-TE
+ extensions for support for GMPLS (see Section 5.1.3.5) are specified
+ in [RFC3473].
+
+ Requirements for point-to-multipoint (P2MP) MPLS-TE LSPs are
+ documented in [RFC4461], and signaling protocol extensions for
+ setting up P2MP MPLS-TE LSPs via RSVP-TE are defined in [RFC4875],
+ where a P2MP LSP comprises multiple source-to-leaf (S2L) sub-LSPs.
+ To determine the paths for P2MP LSPs, selection of the branch points
+ (based on capabilities, network state, and policies) is key [RFC5671]
+
+ RSVP-TE has evolved to provide real-time dynamic metrics for path
+ selection for low-latency paths using extensions to IS-IS [RFC8570]
+ and OSPF [RFC7471] based on performance measurements for the Simple
+ Two-Way Active Measurement Protocol (STAMP) [RFC8972] and the Two-Way
+ Active Measurement Protocol (TWAMP) [RFC5357].
+
+ RSVP-TE has historically been used when bandwidth was constrained;
+ however, as bandwidth has increased, RSVP-TE has developed into a
+ bandwidth management tool to provide bandwidth efficiency and
+ proactive resource management.
+
+5.1.3.5. Generalized MPLS (GMPLS)
+
+ GMPLS extends MPLS control protocols to encompass time-division
+ (e.g., Synchronous Optical Network / Synchronous Digital Hierarchy
+ (SONET/SDH), Plesiochronous Digital Hierarchy (PDH), and Optical
+ Transport Network (OTN)), wavelength (lambdas), and spatial switching
+ (e.g., incoming port or fiber to outgoing port or fiber) and
+ continues to support packet switching. GMPLS provides a common set
+ of control protocols for all of these layers (including some
+ technology-specific extensions), each of which has a distinct data or
+ forwarding plane. GMPLS covers both the signaling and the routing
+ part of that control plane and is based on the TE extensions to MPLS
+ (see Section 5.1.3.4).
+
+ In GMPLS [RFC3945], the original MPLS architecture is extended to
+ include LSRs whose forwarding planes rely on circuit switching and
+ therefore cannot forward data based on the information carried in
+ either packet or cell headers. Specifically, such LSRs include
+ devices where the switching is based on time slots, wavelengths, or
+ physical ports. These additions impact basic LSP properties: how
+ labels are requested and communicated, the unidirectional nature of
+ MPLS LSPs, how errors are propagated, and information provided for
+ synchronizing the ingress and egress LSRs [RFC3473].
+
+5.1.3.6. IP Performance Metrics (IPPM)
+
+ The IETF IP Performance Metrics (IPPM) Working Group has developed a
+ set of standard metrics that can be used to monitor the quality,
+ performance, and reliability of Internet services. These metrics can
+ be applied by network operators, end users, and independent testing
+ groups to provide users and service providers with a common
+ understanding of the performance and reliability of the Internet
+ component clouds they use/provide [RFC2330]. The criteria for
+ performance metrics developed by the IPPM Working Group are described
+ in [RFC2330]. Examples of performance metrics include one-way packet
+ loss [RFC7680], one-way delay [RFC7679], and connectivity measures
+ between two nodes [RFC2678]. Other metrics include second-order
+ measures of packet loss and delay.
+
+ Some of the performance metrics specified by the IPPM Working Group
+ are useful for specifying SLAs. SLAs are sets of SLOs negotiated
+ between users and service providers, wherein each objective is a
+ combination of one or more performance metrics, possibly subject to
+ certain constraints.
+
+ The IPPM Working Group also designs measurement techniques and
+ protocols to obtain these metrics.
+
+5.1.3.7. Flow Measurement
+
+ The IETF Real Time Flow Measurement (RTFM) Working Group produced an
+ architecture that defines a method to specify traffic flows as well
+ as a number of components for flow measurement (meters, meter
+ readers, and managers) [RFC2722]. A flow measurement system enables
+ network traffic flows to be measured and analyzed at the flow level
+ for a variety of purposes. As noted in [RFC2722], a flow measurement
+ system can be very useful in the following contexts:
+
+ * understanding the behavior of existing networks
+
+ * planning for network development and expansion
+
+ * quantification of network performance
+
+ * verifying the quality of network service
+
+ * attribution of network usage to users
+
+ A flow measurement system consists of meters, meter readers, and
+ managers. A meter observes packets passing through a measurement
+ point, classifies them into groups, accumulates usage data (such as
+ the number of packets and bytes for each group), and stores the usage
+ data in a flow table. A group may represent any collection of user
+ applications, hosts, networks, etc. A meter reader gathers usage
+ data from various meters so it can be made available for analysis. A
+ manager is responsible for configuring and controlling meters and
+ meter readers. The instructions received by a meter from a manager
+ include flow specifications, meter control parameters, and sampling
+ techniques. The instructions received by a meter reader from a
+ manager include the address of the meter whose data are to be
+ collected, the frequency of data collection, and the types of flows
+ to be collected.
+
+ IP Flow Information Export (IPFIX) [RFC5470] defines an architecture
+ that is very similar to the RTFM architecture and includes Metering,
+ Exporting, and Collecting Processes. [RFC5472] describes the
+ applicability of IPFIX and makes a comparison with RTFM, pointing out
+ that, architecturally, while RTM talks about devices, IPFIX deals
+ with processes to clarify that multiple of those processes may be co-
+ located on the same machine. The IPFIX protocol [RFC7011] is widely
+ implemented.
+
+5.1.3.8. Endpoint Congestion Management
+
+ [RFC3124] provides a set of congestion control mechanisms for the use
+ of transport protocols. It also allows the development of mechanisms
+ for unifying congestion control across a subset of an endpoint's
+ active unicast connections (called a "congestion group"). A
+ congestion manager continuously monitors the state of the path for
+ each congestion group under its control. The manager uses that
+ information to instruct a scheduler on how to partition bandwidth
+ among the connections of that congestion group.
+
+ The concepts described in [RFC3124] and the lessons that can be
+ learned from that work found a home in HTTP/2 [RFC9113] and QUIC
+ [RFC9000], while [RFC9040] describes TCP control block
+ interdependence that is a core construct underpinning the congestion
+ manager defined in [RFC3124].
+
+5.1.3.9. TE Extensions to the IGPs
+
+ [RFC5305] describes the extensions to the Intermediate System to
+ Intermediate System (IS-IS) protocol to support TE. Similarly,
+ [RFC3630] specifies TE extensions for OSPFv2, and [RFC5329] has the
+ same description for OSPFv3.
+
+ IS-IS and OSPF share the common concept of TE extensions to
+ distribute TE parameters, such as link type and ID, local and remote
+ IP addresses, TE metric, maximum bandwidth, maximum reservable
+ bandwidth, unreserved bandwidth, and admin group. The information
+ distributed by the IGPs in this way can be used to build a view of
+ the state and capabilities of a TE network (see Section 5.1.3.14).
+
+ The difference between IS-IS and OSPF is in the details of how they
+ encode and transmit the TE parameters:
+
+ * IS-IS uses the Extended IS Reachability TLV (type 22), the
+ Extended IP Reachability TLV (type 135), and the Traffic
+ Engineering router ID TLV (type 134). These TLVs use specific
+ sub-TLVs described in [RFC8570] to carry the TE parameters.
+
+ * OSPFv2 uses Opaque LSA [RFC5250] type 10, and OSPFv3 uses the
+ Intra-Area-TE-LSA. In both OSPF cases, two top-level TLVs are
+ used (Router Address and Link TLVs), and these use sub-TLVs to
+ carry the TE parameters (as defined in [RFC7471] for OSPFv2 and
+ [RFC5329] for OSPFv3).
+
+5.1.3.10. BGP - Link State
+
+ In a number of environments, a component external to a network is
+ called upon to perform computations based on the network topology and
+ current state of the connections within the network, including TE
+ information. This is information typically distributed by IGP
+ routing protocols within the network (see Section 5.1.3.9).
+
+ BGP (see also Section 7) is one of the essential routing protocols
+ that glues the Internet together. BGP-LS [RFC9552] is a mechanism by
+ which link-state and TE information can be collected from networks
+ and shared with external components using the BGP routing protocol.
+ The mechanism is applicable to physical and virtual IGP links and is
+ subject to policy control.
+
+ Information collected by BGP-LS can be used, for example, to
+ construct the TED (Section 5.1.3.14) for use by the PCE (see
+ Section 5.1.3.11) or may be used by ALTO servers (see
+ Section 5.1.2.1).
+
+5.1.3.11. Path Computation Element
+
+ Constraint-based path computation is a fundamental building block for
+ TE in MPLS and GMPLS networks. Path computation in large, multi-
+ domain networks is complex and may require special computational
+ components and cooperation between the elements in different domains.
+ The PCE [RFC4655] is an entity (component, application, or network
+ node) that is capable of computing a network path or route based on a
+ network graph and applying computational constraints.
+
+ Thus, a PCE can provide a central component in a TE system operating
+ on the TED (see Section 5.1.3.14) with delegated responsibility for
+ determining paths in MPLS, GMPLS, or SR networks. The PCE uses the
+ Path Computation Element Communication Protocol (PCEP) [RFC5440] to
+ communicate with Path Computation Clients (PCCs), such as MPLS LSRs,
+ to answer their requests for computed paths or to instruct them to
+ initiate new paths [RFC8281] and maintain state about paths already
+ installed in the network [RFC8231].
+
+ PCEs form key components of a number of TE systems. More information
+ about the applicability of PCEs can be found in [RFC8051], while
+ [RFC6805] describes the application of PCEs to determining paths
+ across multiple domains. PCEs also have potential uses in
+ Abstraction and Control of TE Networks (ACTN) (see Section 5.1.2.2),
+ Centralized Network Control [RFC8283], and SDN (see Section 4.3.2).
+
+5.1.3.12. Segment Routing (SR)
+
+ The SR architecture [RFC8402] leverages the source routing and
+ tunneling paradigms. The path a packet takes is defined at the
+ ingress, and the packet is tunneled to the egress.
+
+ In a protocol realization, an ingress node steers a packet using a
+ set of instructions, called "segments", that are included in an SR
+ header prepended to the packet: a label stack in MPLS case, and a
+ series of 128-bit SIDs in the IPv6 case.
+
+ Segments are identified by SIDs. There are four types of SIDs that
+ are relevant for TE.
+
+ * Prefix SID: A SID that is unique within the routing domain and is
+ used to identify a prefix.
+
+ * Node SID: A Prefix SID with the "N" bit set to identify a node.
+
+ * Adjacency SID: Identifies a unidirectional adjacency.
+
+ * Binding SID: A Binding SID has two purposes:
+
+ 1. To advertise the mappings of prefixes to SIDs/Labels
+
+ 2. To advertise a path available for a Forwarding Equivalence
+ Class (FEC)
+
+ A segment can represent any instruction, topological or service-
+ based. SIDs can be looked up in a global context (domain-wide) as
+ well as in some other contexts (see, for example, "context labels" in
+ Section 3 of [RFC5331]).
+
+ The application of policy to SR can make SR into a TE mechanism, as
+ described in Section 5.1.1.3.
+
+5.1.3.13. Tree Engineering for Bit Index Explicit Replication
+
+ Bit Index Explicit Replication (BIER) [RFC8279] specifies an
+ encapsulation for multicast forwarding that can be used on MPLS or
+ Ethernet transports. A mechanism known as Tree Engineering for Bit
+ Index Explicit Replication (BIER-TE) [RFC9262] provides a component
+ that could be used to build a traffic-engineered multicast system.
+ BIER-TE does not of itself offer full traffic engineering, and the
+ abbreviation "TE" does not, in this case, refer to traffic
+ engineering.
+
+ In BIER-TE, path steering is supported via the definition of a
+ bitstring attached to each packet that determines how the packet is
+ forwarded and replicated within the network. Thus, this bitstring
+ steers the traffic within the network and forms an element of a
+ traffic-engineering system. A central controller that is aware of
+ the capabilities and state of the network as well as the demands of
+ the various traffic flows is able to select multicast paths that take
+ account of the available resources and demands. Therefore, this
+ controller is responsible for the policy elements of traffic
+ engineering.
+
+ Resource management has implications for the forwarding plane beyond
+ the steering of packets defined for BIER-TE. These include the
+ allocation of buffers to meet the requirements of admitted traffic
+ and may include policing and/or rate-shaping mechanisms achieved via
+ various forms of queuing. This level of resource control, while
+ optional, is important in networks that wish to support congestion
+ management policies to control or regulate the offered traffic to
+ deliver different levels of service and alleviate congestion
+ problems. It is also important in networks that wish to control
+ latencies experienced by specific traffic flows.
+
+5.1.3.14. Network TE State Definition and Presentation
+
+ The network states that are relevant to TE need to be stored in the
+ system and presented to the user. The TED is a collection of all TE
+ information about all TE nodes and TE links in the network. It is an
+ essential component of a TE system, such as MPLS-TE [RFC2702] or
+ GMPLS [RFC3945]. In order to formally define the data in the TED and
+ to present the data to the user, the data modeling language YANG
+ [RFC7950] can be used as described in [RFC8795].
+
+5.1.3.15. System Management and Control Interfaces
+
+ The TE control system needs to have a management interface that is
+ human-friendly and a control interface that is programmable for
+ automation. The Network Configuration Protocol (NETCONF) [RFC6241]
+ and the RESTCONF protocol [RFC8040] provide programmable interfaces
+ that are also human-friendly. These protocols use XML- or JSON-
+ encoded messages. When message compactness or protocol bandwidth
+ consumption needs to be optimized for the control interface, other
+ protocols, such as Group Communication for the Constrained
+ Application Protocol (CoAP) [RFC7390] or gRPC [GRPC], are available,
+ especially when the protocol messages are encoded in a binary format.
+ Along with any of these protocols, the data modeling language YANG
+ [RFC7950] can be used to formally and precisely define the interface
+ data.
+
+ PCEP [RFC5440] is another protocol that has evolved to be an option
+ for the TE system control interface. PCEP messages are TLV based;
+ they are not defined by a data-modeling language such as YANG.
+
+5.2. Content Distribution
+
+ The Internet is dominated by client-server interactions, principally
+ web traffic and multimedia streams, although in the future, more
+ sophisticated media servers may become dominant. The location and
+ performance of major information servers have a significant impact on
+ the traffic patterns within the Internet as well as on the perception
+ of service quality by end users.
+
+ A number of dynamic load-balancing techniques have been devised to
+ improve the performance of replicated information servers. These
+ techniques can cause spatial traffic characteristics to become more
+ dynamic in the Internet because information servers can be
+ dynamically picked based upon the location of the clients, the
+ location of the servers, the relative utilization of the servers, the
+ relative performance of different networks, and the relative
+ performance of different parts of a network. This process of
+ assignment of distributed servers to clients is called "traffic
+ directing". It is an application-layer function.
+
+ Traffic-directing schemes that allocate servers in multiple
+ geographically dispersed locations to clients may require empirical
+ network performance statistics to make more effective decisions. In
+ the future, network measurement systems may need to provide this type
+ of information.
+
+ When congestion exists in the network, traffic-directing and traffic-
+ engineering systems should act in a coordinated manner. This topic
+ is for further study.
+
+ The issues related to location and replication of information
+ servers, particularly web servers, are important for Internet traffic
+ engineering because these servers contribute a substantial proportion
+ of Internet traffic.
+
+6. Recommendations for Internet Traffic Engineering
+
+ This section describes high-level recommendations for traffic
+ engineering in the Internet in general terms.
+
+ The recommendations describe the capabilities needed to solve a TE
+ problem or to achieve a TE objective. Broadly speaking, these
+ recommendations can be categorized as either functional or non-
+ functional recommendations:
+
+ * Functional recommendations describe the functions that a traffic-
+ engineering system should perform. These functions are needed to
+ realize TE objectives by addressing traffic-engineering problems.
+
+ * Non-functional recommendations relate to the quality attributes or
+ state characteristics of a TE system. These recommendations may
+ contain conflicting assertions and may sometimes be difficult to
+ quantify precisely.
+
+ The subsections that follow first summarize the non-functional
+ requirements and then detail the functional requirements.
+
+6.1. Generic Non-functional Recommendations
+
+ The generic non-functional recommendations for Internet traffic
+ engineering are listed in the paragraphs that follow. In a given
+ context, some of these recommendations may be critical while others
+ may be optional. Therefore, prioritization may be required during
+ the development phase of a TE system to tailor it to a specific
+ operational context.
+
+ Automation: Whenever feasible, a TE system should automate as many
+ TE functions as possible to minimize the amount of human effort
+ needed to analyze and control operational networks. Automation is
+ particularly important in large-scale public networks because of
+ the high cost of the human aspects of network operations and the
+ high risk of network problems caused by human errors. Automation
+ may additionally benefit from feedback from the network that
+ indicates the state of network resources and the current load in
+ the network. Further, placing intelligence into components of the
+ TE system could enable automation to be more dynamic and
+ responsive to changes in the network.
+
+ Flexibility: A TE system should allow for changes in optimization
+ policy. In particular, a TE system should provide sufficient
+ configuration options so that a network administrator can tailor
+ the system to a particular environment. It may also be desirable
+ to have both online and offline TE subsystems that can be
+ independently enabled and disabled. TE systems that are used in
+ multi-class networks should also have options to support class-
+ based performance evaluation and optimization.
+
+ Interoperability: Whenever feasible, TE systems and their components
+ should be developed with open standards-based interfaces to allow
+ interoperation with other systems and components.
+
+ Scalability: Public networks continue to grow rapidly with respect
+ to network size and traffic volume. Therefore, to remain
+ applicable as the network evolves, a TE system should be scalable.
+ In particular, a TE system should remain functional as the network
+ expands with regard to the number of routers and links and with
+ respect to the number of flows and the traffic volume. A TE
+ system should have a scalable architecture, should not adversely
+ impair other functions and processes in a network element, and
+ should not consume too many network resources when collecting and
+ distributing state information or when exerting control.
+
+ Security: Security is a critical consideration in TE systems. Such
+ systems typically exert control over functional aspects of the
+ network to achieve the desired performance objectives. Therefore,
+ adequate measures must be taken to safeguard the integrity of the
+ TE system. Adequate measures must also be taken to protect the
+ network from vulnerabilities that originate from security breaches
+ and other impairments within the TE system.
+
+ Simplicity: A TE system should be as simple as possible. Simplicity
+ in user interface does not necessarily imply that the TE system
+ will use naive algorithms. When complex algorithms and internal
+ structures are used, the user interface should hide such
+ complexities from the network administrator as much as possible.
+
+ Stability: Stability refers to the resistance of the network to
+ oscillate (flap) in a disruptive manner from one state to another,
+ which may result in traffic being routed first one way and then
+ another without satisfactory resolution of the underlying TE
+ issues and with continued changes that do not settle down.
+ Stability is a very important consideration in TE systems that
+ respond to changes in the state of the network. State-dependent
+ TE methodologies typically include a trade-off between
+ responsiveness and stability. It is strongly recommended that
+ when a trade-off between responsiveness and stability is needed,
+ it should be made in favor of stability (especially in public IP
+ backbone networks).
+
+ Usability: Usability is a human aspect of TE systems. It refers to
+ the ease with which a TE system can be deployed and operated. In
+ general, it is desirable to have a TE system that can be readily
+ deployed in an existing network. It is also desirable to have a
+ TE system that is easy to operate and maintain.
+
+ Visibility: Mechanisms should exist as part of the TE system to
+ collect statistics from the network and to analyze these
+ statistics to determine how well the network is functioning.
+ Derived statistics (such as traffic matrices, link utilization,
+ latency, packet loss, and other performance measures of interest)
+ that are determined from network measurements can be used as
+ indicators of prevailing network conditions. The capabilities of
+ the various components of the routing system are other examples of
+ status information that should be observable.
+
+6.2. Routing Recommendations
+
+ Routing control is a significant aspect of Internet traffic
+ engineering. Routing impacts many of the key performance measures
+ associated with networks, such as throughput, delay, and utilization.
+ Generally, it is very difficult to provide good service quality in a
+ wide area network without effective routing control. A desirable TE
+ routing system is one that takes traffic characteristics and network
+ constraints into account during route selection while maintaining
+ stability.
+
+ Shortest Path First (SPF) IGPs are based on shortest path algorithms
+ and have limited control capabilities for TE [RFC2702] [AWD2]. These
+ limitations include:
+
+ 1. Pure SPF protocols do not take network constraints and traffic
+ characteristics into account during route selection. For
+ example, IGPs always select the shortest paths based on link
+ metrics assigned by administrators, so load sharing cannot be
+ performed across paths of different costs. Note that link
+ metrics are assigned following a range of operator-selected
+ policies that might reflect preference for the use of some links
+ over others; therefore, "shortest" might not be purely a measure
+ of distance. Using shortest paths to forward traffic may cause
+ the following problems:
+
+ * If traffic from a source to a destination exceeds the capacity
+ of a link along the shortest path, the link (and hence the
+ shortest path) becomes congested while a longer path between
+ these two nodes may be under-utilized.
+
+ * The shortest paths from different sources can overlap at some
+ links. If the total traffic from the sources exceeds the
+ capacity of any of these links, congestion will occur.
+
+ * Problems can also occur because traffic demand changes over
+ time, but network topology and routing configuration cannot be
+ changed as rapidly. This causes the network topology and
+ routing configuration to become sub-optimal over time, which
+ may result in persistent congestion problems.
+
+ 2. The Equal-Cost Multipath (ECMP) capability of SPF IGPs supports
+ sharing of traffic among equal-cost paths. However, ECMP
+ attempts to divide the traffic as equally as possible among the
+ equal-cost shortest paths. Generally, ECMP does not support
+ configurable load-sharing ratios among equal-cost paths. The
+ result is that one of the paths may carry significantly more
+ traffic than other paths because it may also carry traffic from
+ other sources. This situation can result in congestion along the
+ path that carries more traffic. Weighted ECMP (WECMP) (see, for
+ example, [EVPN-UNEQUAL-LB]) provides some mitigation.
+
+ 3. Modifying IGP metrics to control traffic routing tends to have
+ network-wide effects. Consequently, undesirable and
+ unanticipated traffic shifts can be triggered as a result. Work
+ described in Section 8 may be capable of better control [FT00]
+ [FT01].
+
+ Because of these limitations, capabilities are needed to enhance the
+ routing function in IP networks. Some of these capabilities are
+ summarized below:
+
+ * Constraint-based routing computes routes to fulfill requirements
+ subject to constraints. This can be useful in public IP backbones
+ with complex topologies. Constraints may include bandwidth, hop
+ count, delay, and administrative policy instruments, such as
+ resource class attributes [RFC2702] [RFC2386]. This makes it
+ possible to select routes that satisfy a given set of
+ requirements. Routes computed by constraint-based routing are not
+ necessarily the shortest paths. Constraint-based routing works
+ best with path-oriented technologies that support explicit
+ routing, such as MPLS.
+
+ * Constraint-based routing can also be used as a way to distribute
+ traffic onto the infrastructure, including for best-effort
+ traffic. For example, congestion problems caused by uneven
+ traffic distribution may be avoided or reduced by knowing the
+ reservable bandwidth attributes of the network links and by
+ specifying the bandwidth requirements for path selection.
+
+ * A number of enhancements to the link-state IGPs allow them to
+ distribute additional state information required for constraint-
+ based routing. The extensions to OSPF are described in [RFC3630],
+ and the extensions to IS-IS are described in [RFC5305]. Some of
+ the additional topology state information includes link
+ attributes, such as reservable bandwidth and link resource class
+ attribute (an administratively specified property of the link).
+ The resource class attribute concept is defined in [RFC2702]. The
+ additional topology state information is carried in new TLVs and
+ sub-TLVs in IS-IS [RFC5305] or in the Opaque LSA in OSPF
+ [RFC3630].
+
+ * An enhanced link-state IGP may flood information more frequently
+ than a normal IGP. This is because even without changes in
+ topology, changes in reservable bandwidth or link affinity can
+ trigger the enhanced IGP to initiate flooding. A trade-off
+ between the timeliness of the information flooded and the flooding
+ frequency is typically implemented using a threshold based on the
+ percentage change of the advertised resources to avoid excessive
+ consumption of link bandwidth and computational resources and to
+ avoid instability in the TED.
+
+ * In a TE system, it is also desirable for the routing subsystem to
+ make the load-splitting ratio among multiple paths (with equal
+ cost or different cost) configurable. This capability gives
+ network administrators more flexibility in the control of traffic
+ distribution across the network. It can be very useful for
+ avoiding/relieving congestion in certain situations. Examples can
+ be found in [XIAO] and [EVPN-UNEQUAL-LB].
+
+ * The routing system should also have the capability to control the
+ routes of subsets of traffic without affecting the routes of other
+ traffic if sufficient resources exist for this purpose. This
+ capability allows a more refined control over the distribution of
+ traffic across the network. For example, the ability to move
+ traffic away from its original path to another path (without
+ affecting other traffic paths) allows the traffic to be moved from
+ resource-poor network segments to resource-rich segments. Path-
+ oriented technologies, such as MPLS-TE, inherently support this
+ capability as discussed in [AWD2].
+
+ * Additionally, the routing subsystem should be able to select
+ different paths for different classes of traffic (or for different
+ traffic behavior aggregates) if the network supports multiple
+ classes of service (different behavior aggregates).
+
+6.3. Traffic Mapping Recommendations
+
+ Traffic mapping is the assignment of traffic workload onto (pre-
+ established) paths to meet certain requirements. Thus, while
+ constraint-based routing deals with path selection, traffic mapping
+ deals with the assignment of traffic to established paths that may
+ have been generated by constraint-based routing or by some other
+ means. Traffic mapping can be performed by time-dependent or state-
+ dependent mechanisms, as described in Section 4.1.
+
+ Two important aspects of the traffic mapping function are the ability
+ to establish multiple paths between an originating node and a
+ destination node and the capability to distribute the traffic across
+ those paths according to configured policies. A precondition for
+ this scheme is the existence of flexible mechanisms to partition
+ traffic and then assign the traffic partitions onto the parallel
+ paths (described as "parallel traffic trunks" in [RFC2702]). When
+ traffic is assigned to multiple parallel paths, it is recommended
+ that special care should be taken to ensure proper ordering of
+ packets belonging to the same application (or traffic flow) at the
+ destination node of the parallel paths.
+
+ Mechanisms that perform the traffic mapping functions should aim to
+ map the traffic onto the network infrastructure to minimize
+ congestion. If the total traffic load cannot be accommodated, or if
+ the routing and mapping functions cannot react fast enough to
+ changing traffic conditions, then a traffic mapping system may use
+ short timescale congestion control mechanisms (such as queue
+ management, scheduling, etc.) to mitigate congestion. Thus,
+ mechanisms that perform the traffic mapping functions complement
+ existing congestion control mechanisms. In an operational network,
+ traffic should be mapped onto the infrastructure such that intra-
+ class and inter-class resource contention are minimized (see
+ Section 2).
+
+ When traffic mapping techniques that depend on dynamic state feedback
+ (e.g., MPLS Adaptive Traffic Engineering (MATE) [MATE] and suchlike)
+ are used, special care must be taken to guarantee network stability.
+
+6.4. Measurement Recommendations
+
+ The importance of measurement in TE has been discussed throughout
+ this document. A TE system should include mechanisms to measure and
+ collect statistics from the network to support the TE function.
+ Additional capabilities may be needed to help in the analysis of the
+ statistics. The actions of these mechanisms should not adversely
+ affect the accuracy and integrity of the statistics collected. The
+ mechanisms for statistical data acquisition should also be able to
+ scale as the network evolves.
+
+ Traffic statistics may be classified according to long-term or short-
+ term timescales. Long-term traffic statistics are very useful for
+ traffic engineering. Long-term traffic statistics may periodically
+ record network workload (such as hourly, daily, and weekly variations
+ in traffic profiles) as well as traffic trends. Aspects of the
+ traffic statistics may also describe class of service characteristics
+ for a network supporting multiple classes of service. Analysis of
+ the long-term traffic statistics may yield other information such as
+ busy-hour characteristics, traffic growth patterns, persistent
+ congestion problems, hotspots, and imbalances in link utilization
+ caused by routing anomalies.
+
+ A mechanism for constructing traffic matrices for both long-term and
+ short-term traffic statistics should be in place. In multi-service
+ IP networks, the traffic matrices may be constructed for different
+ service classes. Each element of a traffic matrix represents a
+ statistic about the traffic flow between a pair of abstract nodes.
+ An abstract node may represent a router, a collection of routers, or
+ a site in a VPN.
+
+ Traffic statistics should provide reasonable and reliable indicators
+ of the current state of the network on the short-term scale. Some
+ short-term traffic statistics may reflect link utilization and link
+ congestion status. Examples of congestion indicators include
+ excessive packet delay, packet loss, and high resource utilization.
+ Examples of mechanisms for distributing this kind of information
+ include SNMP, probing tools, FTP, IGP link-state advertisements,
+ NETCONF/RESTCONF, etc.
+
+6.5. Policing, Planning, and Access Control
+
+ The recommendations in Sections 6.2 and 6.3 may be sub-optimal or
+ even ineffective if the amount of traffic flowing on a route or path
+ exceeds the capacity of the resource on that route or path. Several
+ approaches can be used to increase the performance of TE systems:
+
+ * The fundamental approach is some form of planning where traffic is
+ steered onto paths so that it is distributed across the available
+ resources. This planning may be centralized or distributed and
+ must be aware of the planned traffic volumes and available
+ resources. However, this approach is only of value if the traffic
+ that is presented conforms to the planned traffic volumes.
+
+ * Traffic flows may be policed at the edges of a network. This is a
+ simple way to ensure that the actual traffic volumes are
+ consistent with the planned volumes. Some form of measurement
+ (see Section 6.4) is used to determine the rate of arrival of
+ traffic, and excess traffic could be discarded. Alternatively,
+ excess traffic could be forwarded as best-effort within the
+ network. However, this approach is only completely effective if
+ the planning is stringent and network-wide and if a harsh approach
+ is taken to disposing of excess traffic.
+
+ * Resource-based admission control is the process whereby network
+ nodes decide whether to grant access to resources. The basis for
+ the decision on a packet-by-packet basis is the determination of
+ the flow to which the packet belongs. This information is
+ combined with policy instructions that have been locally
+ configured or installed through the management or control planes.
+ The end result is that a packet may be allowed to access (or use)
+ specific resources on the node if, and only if, the flow to which
+ the packet belongs conforms to the policy.
+
+ Combining some elements of all three of these measures is advisable
+ to achieve a better TE system.
+
+6.6. Network Survivability
+
+ Network survivability refers to the capability of a network to
+ maintain service continuity in the presence of faults. This can be
+ accomplished by promptly recovering from network impairments and
+ maintaining the required QoS for existing services after recovery.
+ Survivability is an issue of great concern within the Internet
+ community due to the demand to carry mission-critical traffic, real-
+ time traffic, and other high-priority traffic over the Internet.
+ Survivability can be addressed at the device level by developing
+ network elements that are more reliable and at the network level by
+ incorporating redundancy into the architecture, design, and operation
+ of networks. It is recommended that a philosophy of robustness and
+ survivability should be adopted in the architecture, design, and
+ operation of TE used to control IP networks (especially public IP
+ networks). Because different contexts may demand different levels of
+ survivability, the mechanisms developed to support network
+ survivability should be flexible so that they can be tailored to
+ different needs. A number of tools and techniques have been
+ developed to enable network survivability, including MPLS Fast
+ Reroute [RFC4090], Topology Independent Loop-free Alternate Fast
+ Reroute for Segment Routing [SR-TI-LFA], RSVP-TE Extensions in
+ Support of End-to-End GMPLS Recovery [RFC4872], and GMPLS Segment
+ Recovery [RFC4873].
+
+ The impact of service outages varies significantly for different
+ service classes depending on the duration of the outage, which can
+ vary from milliseconds (with minor service impact) to seconds (with
+ possible call drops for IP telephony and session timeouts for
+ connection-oriented transactions) to minutes and hours (with
+ potentially considerable social and business impact). Outages of
+ different durations have different impacts depending on the nature of
+ the traffic flows that are interrupted.
+
+ Failure protection and restoration capabilities are available in
+ multiple layers as network technologies have continued to evolve.
+ Optical networks are capable of providing dynamic ring and mesh
+ restoration functionality at the wavelength level. At the SONET/SDH
+ layer, survivability capability is provided with Automatic Protection
+ Switching (APS) as well as self-healing ring and mesh architectures.
+ Similar functionality is provided by Layer 2 technologies such as
+ Ethernet.
+
+ Rerouting is used at the IP layer to restore service following link
+ and node outages. Rerouting at the IP layer occurs after a period of
+ routing convergence, which may require seconds to minutes to
+ complete. Path-oriented technologies such as MPLS [RFC3469] can be
+ used to enhance the survivability of IP networks in a potentially
+ cost-effective manner.
+
+ An important aspect of multi-layer survivability is that technologies
+ at different layers may provide protection and restoration
+ capabilities at different granularities in terms of timescales and at
+ different bandwidth granularities (from the level of packets to that
+ of wavelengths). Protection and restoration capabilities can also be
+ sensitive to different service classes and different network utility
+ models. Coordinating different protection and restoration
+ capabilities across multiple layers in a cohesive manner to ensure
+ network survivability is maintained at reasonable cost is a
+ challenging task. Protection and restoration coordination across
+ layers may not always be feasible, because networks at different
+ layers may belong to different administrative domains.
+
+ Some of the general recommendations for protection and restoration
+ coordination are as follows:
+
+ * Protection and restoration capabilities from different layers
+ should be coordinated to provide network survivability in a
+ flexible and cost-effective manner. Avoiding duplication of
+ functions in different layers is one way to achieve the
+ coordination. Escalation of alarms and other fault indicators
+ from lower to higher layers may also be performed in a coordinated
+ manner. The order of timing of restoration triggers from
+ different layers is another way to coordinate multi-layer
+ protection/restoration.
+
+ * Network capacity reserved in one layer to provide protection and
+ restoration is not available to carry traffic in a higher layer:
+ it is not visible as spare capacity in the higher layer. Placing
+ protection/restoration functions in many layers may increase
+ redundancy and robustness, but it can result in significant
+ inefficiencies in network resource utilization. Careful planning
+ is needed to balance the trade-off between the desire for
+ survivability and the optimal use of resources.
+
+ * It is generally desirable to have protection and restoration
+ schemes that are intrinsically bandwidth efficient.
+
+ * Failure notifications throughout the network should be timely and
+ reliable if they are to be acted on as triggers for effective
+ protection and restoration actions.
+
+ * Alarms and other fault monitoring and reporting capabilities
+ should be provided at the right network layers so that the
+ protection and restoration actions can be taken in those layers.
+
+6.6.1. Survivability in MPLS-Based Networks
+
+ Because MPLS is path-oriented, it has the potential to provide faster
+ and more predictable protection and restoration capabilities than
+ conventional hop-by-hop routed IP systems. Protection types for MPLS
+ networks can be divided into four categories:
+
+ Link Protection: The objective of link protection is to protect an
+ LSP from the failure of a given link. Under link protection, a
+ protection or backup LSP (the secondary LSP) follows a path that
+ is disjoint from the path of the working or operational LSP (the
+ primary LSP) at the particular link where link protection is
+ required. When the protected link fails, traffic on the working
+ LSP is switched to the protection LSP at the headend of the failed
+ link. As a local repair method, link protection can be fast.
+ This form of protection may be most appropriate in situations
+ where some network elements along a given path are known to be
+ less reliable than others.
+
+ Node Protection: The objective of node protection is to protect an
+ LSP from the failure of a given node. Under node protection, the
+ secondary LSP follows a path that is disjoint from the path of the
+ primary LSP at the particular node where node protection is
+ required. The secondary LSP is also disjoint from the primary LSP
+ at all links attached to the node to be protected. When the
+ protected node fails, traffic on the working LSP is switched over
+ to the protection LSP at the upstream LSR directly connected to
+ the failed node. Node protection covers a slightly larger part of
+ the network compared to link protection but is otherwise
+ fundamentally the same.
+
+ Path Protection: The goal of LSP path protection (or end-to-end
+ protection) is to protect an LSP from any failure along its routed
+ path. Under path protection, the path of the protection LSP is
+ completely disjoint from the path of the working LSP. The
+ advantage of path protection is that the backup LSP protects the
+ working LSP from all possible link and node failures along the
+ path, except for failures of ingress or egress LSR. Additionally,
+ path protection may be more efficient in terms of resource usage
+ than link or node protection applied at every hop along the path.
+ However, path protection may be slower than link and node
+ protection because the fault notifications have to be propagated
+ further.
+
+ Segment Protection: An MPLS domain may be partitioned into multiple
+ subdomains (protection domains). Path protection is applied to
+ the path of each LSP as it crosses the domain from its ingress to
+ the domain to where it egresses the domain. In cases where an LSP
+ traverses multiple protection domains, a protection mechanism
+ within a domain only needs to protect the segment of the LSP that
+ lies within the domain. Segment protection will generally be
+ faster than end-to-end path protection because recovery generally
+ occurs closer to the fault, and the notification doesn't have to
+ propagate as far.
+
+ See [RFC3469] and [RFC6372] for a more comprehensive discussion of
+ MPLS-based recovery.
+
+6.6.2. Protection Options
+
+ Another issue to consider is the concept of protection options. We
+ use notation such as "m:n protection", where m is the number of
+ protection LSPs used to protect n working LSPs. In all cases except
+ 1+1 protection, the resources associated with the protection LSPs can
+ be used to carry preemptable best-effort traffic when the working LSP
+ is functioning correctly.
+
+ 1:1 protection: One working LSP is protected/restored by one
+ protection LSP. Traffic is sent only on the protected LSP until
+ the protection/restoration event switches the traffic to the
+ protection LSP.
+
+ 1:n protection: One protection LSP is used to protect/restore n
+ working LSPs. Traffic is sent only on the n protected working
+ LSPs until the protection/restoration event switches the traffic
+ from one failed LSP to the protection LSP. Only one failed LSP
+ can be restored at any time.
+
+ n:1 protection: One working LSP is protected/restored by n
+ protection LSPs, possibly with load splitting across the
+ protection LSPs. This may be especially useful when it is not
+ feasible to find one path for the backup that can satisfy the
+ bandwidth requirement of the primary LSP.
+
+ 1+1 protection: Traffic is sent concurrently on both the working LSP
+ and a protection LSP. The egress LSR selects one of the two LSPs
+ based on local policy (usually based on traffic integrity). When
+ a fault disrupts the traffic on one LSP, the egress switches to
+ receive traffic from the other LSP. This approach is expensive in
+ how it consumes network but recovers from failures most rapidly.
+
+6.7. Multi-Layer Traffic Engineering
+
+ Networks are often implemented as layers. A layer relationship may
+ represent the interaction between technologies (for example, an IP
+ network operated over an optical network) or the relationship between
+ different network operators (for example, a customer network operated
+ over a service provider's network). Note that a multi-layer network
+ does not imply the use of multiple technologies, although some form
+ of encapsulation is often applied.
+
+ Multi-layer traffic engineering presents a number of challenges
+ associated with scalability and confidentiality. These issues are
+ addressed in [RFC7926], which discusses the sharing of information
+ between domains through policy filters, aggregation, abstraction, and
+ virtualization. That document also discusses how existing protocols
+ can support this scenario with special reference to BGP-LS (see
+ Section 5.1.3.10).
+
+ PCE (see Section 5.1.3.11) is also a useful tool for multi-layer
+ networks as described in [RFC6805], [RFC8685], and [RFC5623].
+ Signaling techniques for multi-layer TE are described in [RFC6107].
+
+ See also Section 6.6 for examination of multi-layer network
+ survivability.
+
+6.8. Traffic Engineering in Diffserv Environments
+
+ Increasing requirements to support multiple classes of traffic in the
+ Internet, such as best-effort and mission-critical data, call for IP
+ networks to differentiate traffic according to some criteria and to
+ give preferential treatment to certain types of traffic. Large
+ numbers of flows can be aggregated into a few behavior aggregates
+ based on some criteria based on common performance requirements in
+ terms of packet loss ratio, delay, and jitter or in terms of common
+ fields within the IP packet headers.
+
+ Differentiated Services (Diffserv) [RFC2475] can be used to ensure
+ that SLAs defined to differentiate between traffic flows are met.
+ Classes of service can be supported in a Diffserv environment by
+ concatenating Per-Hop Behaviors (PHBs) along the routing path. A PHB
+ is the forwarding behavior that a packet receives at a Diffserv-
+ compliant node, and it can be configured at each router. PHBs are
+ delivered using buffer-management and packet-scheduling mechanisms
+ and require that the ingress nodes use traffic classification,
+ marking, policing, and shaping.
+
+ TE can complement Diffserv to improve utilization of network
+ resources. TE can be operated on an aggregated basis across all
+ service classes [RFC3270] or on a per-service-class basis. The
+ former is used to provide better distribution of the traffic load
+ over the network resources (see [RFC3270] for detailed mechanisms to
+ support aggregate TE). The latter case is discussed below since it
+ is specific to the Diffserv environment, with so-called Diffserv-
+ aware traffic engineering [RFC4124].
+
+ For some Diffserv networks, it may be desirable to control the
+ performance of some service classes by enforcing relationships
+ between the traffic workload contributed by each service class and
+ the amount of network resources allocated or provisioned for that
+ service class. Such relationships between demand and resource
+ allocation can be enforced using a combination of, for example:
+
+ * TE mechanisms on a per-service-class basis that enforce the
+ relationship between the amount of traffic contributed by a given
+ service class and the resources allocated to that class.
+
+ * Mechanisms that dynamically adjust the resources allocated to a
+ given service class to relate to the amount of traffic contributed
+ by that service class.
+
+ It may also be desirable to limit the performance impact of high-
+ priority traffic on relatively low-priority traffic. This can be
+ achieved, for example, by controlling the percentage of high-priority
+ traffic that is routed through a given link. Another way to
+ accomplish this is to increase link capacities appropriately so that
+ lower-priority traffic can still enjoy adequate service quality.
+ When the ratio of traffic workload contributed by different service
+ classes varies significantly from router to router, it may not be
+ enough to rely on conventional IGP routing protocols or on TE
+ mechanisms that are not sensitive to different service classes.
+ Instead, it may be desirable to perform TE, especially routing
+ control and mapping functions, on a per-service-class basis. One way
+ to accomplish this in a domain that supports both MPLS and Diffserv
+ is to define class-specific LSPs and to map traffic from each class
+ onto one or more LSPs that correspond to that service class. An LSP
+ corresponding to a given service class can then be routed and
+ protected/restored in a class-dependent manner, according to specific
+ policies.
+
+ Performing TE on a per-class basis may require per-class parameters
+ to be distributed. It is common to have some classes share some
+ aggregate constraints (e.g., maximum bandwidth requirement) without
+ enforcing the constraint on each individual class. These classes can
+ be grouped into class types, and per-class-type parameters can be
+ distributed to improve scalability. This also allows better
+ bandwidth sharing between classes in the same class type. A class
+ type is a set of classes that satisfy the following two conditions:
+
+ * Classes in the same class type have common aggregate requirements
+ to satisfy required performance levels.
+
+ * There is no requirement to be enforced at the level of an
+ individual class in the class type. Note that it is,
+ nevertheless, still possible to implement some priority policies
+ for classes in the same class type to permit preferential access
+ to the class type bandwidth through the use of preemption
+ priorities.
+
+ See [RFC4124] for detailed requirements on Diffserv-aware TE.
+
+6.9. Network Controllability
+
+ Offline and online (see Section 4.2) TE considerations are of limited
+ utility if the network cannot be controlled effectively to implement
+ the results of TE decisions and to achieve the desired network
+ performance objectives.
+
+ Capacity augmentation is a coarse-grained solution to TE issues.
+ However, it is simple, may be applied through creating parallel links
+ that form part of an ECMP scheme, and may be advantageous if
+ bandwidth is abundant and cheap. However, bandwidth is not always
+ abundant and cheap, and additional capacity might not always be the
+ best solution. Adjustments of administrative weights and other
+ parameters associated with routing protocols provide finer-grained
+ control, but this approach is difficult to use and imprecise because
+ of the way the routing protocols interact across the network.
+
+ Control mechanisms can be manual (e.g., static configuration),
+ partially automated (e.g., scripts), or fully automated (e.g.,
+ policy-based management systems). Automated mechanisms are
+ particularly useful in large-scale networks. Multi-vendor
+ interoperability can be facilitated by standardized management tools
+ (e.g., YANG models) to support the control functions required to
+ address TE objectives.
+
+ Network control functions should be secure, reliable, and stable as
+ these are often needed to operate correctly in times of network
+ impairments (e.g., during network congestion or attacks).
+
+7. Inter-Domain Considerations
+
+ Inter-domain TE is concerned with performance optimization for
+ traffic that originates in one administrative domain and terminates
+ in a different one.
+
+ BGP [RFC4271] is the standard exterior gateway protocol used to
+ exchange routing information between ASes in the Internet. BGP
+ includes a decision process that calculates the preference for routes
+ to a given destination network. There are two fundamental aspects to
+ inter-domain TE using BGP:
+
+ Route Propagation: Controlling the import and export of routes
+ between ASes and controlling the redistribution of routes between
+ BGP and other protocols within an AS.
+
+ Best-path selection: Selecting the best path when there are multiple
+ candidate paths to a given destination network. This is performed
+ by the BGP decision process, which selects the preferred exit
+ points out of an AS toward specific destination networks by taking
+ a number of different considerations into account. The BGP path
+ selection process can be influenced by manipulating the attributes
+ associated with the process, including NEXT_HOP, LOCAL_PREF,
+ AS_PATH, ORIGIN, MULTI_EXIT_DISC (MED), IGP metric, etc.
+
+ Most BGP implementations provide constructs that facilitate the
+ implementation of complex BGP policies based on pre-configured
+ logical conditions. These can be used to control import and export
+ of incoming and outgoing routes, control redistribution of routes
+ between BGP and other protocols, and influence the selection of best
+ paths by manipulating the attributes (either standardized or local to
+ the implementation) associated with the BGP decision process.
+
+ When considering inter-domain TE with BGP, note that the outbound
+ traffic exit point is controllable, whereas the interconnection point
+ where inbound traffic is received typically is not. Therefore, it is
+ up to each individual network to implement TE strategies that deal
+ with the efficient delivery of outbound traffic from its customers to
+ its peering points. The vast majority of TE policy is based on a
+ "closest exit" strategy, which offloads inter-domain traffic at the
+ nearest outbound peering point towards the destination AS. Most
+ methods of manipulating the point at which inbound traffic enters are
+ either ineffective or not accepted in the peering community.
+
+ Inter-domain TE with BGP is generally effective, but it is usually
+ applied in a trial-and-error fashion because a TE system usually only
+ has a view of the available network resources within one domain (an
+ AS in this case). A systematic approach for inter-domain TE requires
+ cooperation between the domains. Further, what may be considered a
+ good solution in one domain may not necessarily be a good solution in
+ another. Moreover, it is generally considered inadvisable for one
+ domain to permit a control process from another domain to influence
+ the routing and management of traffic in its network.
+
+ MPLS-TE tunnels (LSPs) can add a degree of flexibility in the
+ selection of exit points for inter-domain routing by applying the
+ concept of relative and absolute metrics. If BGP attributes are
+ defined such that the BGP decision process depends on IGP metrics to
+ select exit points for inter-domain traffic, then some inter-domain
+ traffic destined to a given peer network can be made to prefer a
+ specific exit point by establishing a TE tunnel between the router
+ making the selection and the peering point via a TE tunnel and
+ assigning the TE tunnel a metric that is smaller than the IGP cost to
+ all other peering points. RSVP-TE protocol extensions for inter-
+ domain MPLS and GMPLS are described in [RFC5151].
+
+ Similarly to intra-domain TE, inter-domain TE is best accomplished
+ when a traffic matrix can be derived to depict the volume of traffic
+ from one AS to another.
+
+ Layer 4 multipath transport protocols are designed to move traffic
+ between domains and to allow some influence over the selection of the
+ paths. To be truly effective, these protocols would require
+ visibility of paths and network conditions in other domains, but that
+ information may not be available, might not be complete, and is not
+ necessarily trustworthy.
+
+8. Overview of Contemporary TE Practices in Operational IP Networks
+
+ This section provides an overview of some TE practices in IP
+ networks. The focus is on aspects of control of the routing function
+ in operational contexts. The intent here is to provide an overview
+ of the commonly used practices; the discussion is not intended to be
+ exhaustive.
+
+ Service providers apply many of the TE mechanisms described in this
+ document to optimize the performance of their IP networks, although
+ others choose to not use any of them. These techniques include
+ capacity planning, including adding ECMP options, for long
+ timescales; routing control using IGP metrics and MPLS, as well as
+ path planning and path control using MPLS and SR for medium
+ timescales; and traffic management mechanisms for short timescales.
+
+ * Capacity planning is an important component of how a service
+ provider plans an effective IP network. These plans may take the
+ following aspects into account: location of any new links or
+ nodes, WECMP algorithms, existing and predicted traffic patterns,
+ costs, link capacity, topology, routing design, and survivability.
+
+ * Performance optimization of operational networks is usually an
+ ongoing process in which traffic statistics, performance
+ parameters, and fault indicators are continually collected from
+ the network. This empirical data is analyzed and used to trigger
+ TE mechanisms. Tools that perform what-if analysis can also be
+ used to assist the TE process by reviewing scenarios before a new
+ set of configurations are implemented in the operational network.
+
+ * Real-time intra-domain TE using the IGP is done by increasing the
+ OSPF or IS-IS metric of a congested link until enough traffic has
+ been diverted away from that link. This approach has some
+ limitations as discussed in Section 6.2. Intra-domain TE
+ approaches [RR94] [FT00] [FT01] [WANG] take traffic matrix,
+ network topology, and network performance objectives as input and
+ produce link metrics and load-sharing ratios. These processes
+ open the possibility for intra-domain TE with IGP to be done in a
+ more systematic way.
+
+ Administrators of MPLS-TE networks specify and configure link
+ attributes and resource constraints such as maximum reservable
+ bandwidth and resource class attributes for the links in the domain.
+ A link-state IGP that supports TE extensions (IS-IS-TE or OSPF-TE) is
+ used to propagate information about network topology and link
+ attributes to all routers in the domain. Network administrators
+ specify the LSPs that are to originate at each router. For each LSP,
+ the network administrator specifies the destination node and the
+ attributes of the LSP that indicate the requirements that are to be
+ satisfied during the path selection process. The attributes may
+ include an explicit path for the LSP to follow, or the originating
+ router may use a local constraint-based routing process to compute
+ the path of the LSP. RSVP-TE is used as a signaling protocol to
+ instantiate the LSPs. By assigning proper bandwidth values to links
+ and LSPs, congestion caused by uneven traffic distribution can be
+ avoided or mitigated.
+
+ The bandwidth attributes of an LSP relate to the bandwidth
+ requirements of traffic that flows through the LSP. The traffic
+ attribute of an LSP can be modified to accommodate persistent shifts
+ in demand (traffic growth or reduction). If network congestion
+ occurs due to unexpected events, existing LSPs can be rerouted to
+ alleviate the situation, or the network administrator can configure
+ new LSPs to divert some traffic to alternative paths. The reservable
+ bandwidth of the congested links can also be reduced to force some
+ LSPs to be rerouted to other paths. A traffic matrix in an MPLS
+ domain can also be estimated by monitoring the traffic on LSPs. Such
+ traffic statistics can be used for a variety of purposes including
+ network planning and network optimization.
+
+ Network management and planning systems have evolved and assumed a
+ lot of the responsibility for determining traffic paths in TE
+ networks. This allows a network-wide view of resources and
+ facilitates coordination of the use of resources for all traffic
+ flows in the network. Initial solutions using a PCE to perform path
+ computation on behalf of network routers have given way to an
+ approach that follows the SDN architecture. A stateful PCE is able
+ to track all of the LSPs in the network and can redistribute them to
+ make better use of the available resources. Such a PCE can form part
+ of a network orchestrator that uses PCEP or some other configuration
+ and management interface to instruct the signaling protocol or
+ directly program the routers.
+
+ SR leverages a centralized TE controller and either an MPLS or IPv6
+ forwarding plane but does not need to use a signaling protocol or
+ management plane protocol to reserve resources in the routers. All
+ resource reservation is logical within the controller and is not
+ distributed to the routers. Packets are steered through the network
+ using SR, and this may have configuration and operational scaling
+ benefits.
+
+ As mentioned in Section 7, there is usually no direct control over
+ the distribution of inbound traffic to a domain. Therefore, the main
+ goal of inter-domain TE is to optimize the distribution of outbound
+ traffic between multiple inter-domain links. When operating a
+ geographically widespread network (such as for a multi-national or
+ global network provider), maintaining the ability to operate the
+ network in a regional fashion where desired, while continuing to take
+ advantage of the benefits of a globally interconnected network, also
+ becomes an important objective.
+
+ Inter-domain TE with BGP begins with the placement of multiple
+ peering interconnection points that are in close proximity to traffic
+ sources/destinations and offer lowest-cost paths across the network
+ between the peering points and the sources/destinations. Some
+ location-decision problems that arise in association with inter-
+ domain routing are discussed in [AWD5].
+
+ Once the locations of the peering interconnects have been determined
+ and implemented, the network operator decides how best to handle the
+ routes advertised by the peer, as well as how to propagate the peer's
+ routes within their network. One way to engineer outbound traffic
+ flows in a network with many peering interconnects is to create a
+ hierarchy of peers. Generally, the shortest AS paths will be chosen
+ to forward traffic, but BGP metrics can be used to prefer some peers
+ and so favor particular paths. Preferred peers are those peers
+ attached through peering interconnects with the most available
+ capacity. Changes may be needed, for example, to deal with a
+ "problem peer" who is difficult to work with on upgrades or is
+ charging high prices for connectivity to their network. In that
+ case, the peer may be given a reduced preference. This type of
+ change can affect a large amount of traffic and is only used after
+ other methods have failed to provide the desired results.
+
+ When there are multiple exit points toward a given peer, and only one
+ of them is congested, it is not necessary to shift traffic away from
+ the peer entirely, but only from the one congested connection. This
+ can be achieved by using passive IGP metrics, AS_PATH filtering, or
+ prefix filtering.
+
+9. Security Considerations
+
+ In general, TE mechanisms are security neutral, and this document
+ does not introduce new security issues.
+
+ Network security is, of course, an important issue, and TE mechanisms
+ can have benefits and drawbacks:
+
+ * TE may use tunnels that can slightly help protect traffic from
+ inspection and that, in some cases, can be secured using
+ encryption.
+
+ * TE puts traffic onto predictable paths within the network that may
+ make it easier to find and attack.
+
+ * TE often increases the complexity of operation and management of
+ the network, which may lead to errors that compromise security.
+
+ * TE enables traffic to be steered onto more secure links or to more
+ secure parts of the network.
+
+ * TE can be used to steer traffic through network nodes that are
+ able to provide additional security functions.
+
+ The consequences of attacks on the control and management protocols
+ used to operate TE networks can be significant:
+
+ * Traffic can be hijacked to pass through specific nodes that
+ perform inspection or even to be delivered to the wrong place.
+
+ * Traffic can be steered onto paths that deliver quality that is
+ below the desired quality.
+
+ * Networks can be congested or have resources on key links consumed.
+
+ Thus, it is important to use adequate protection mechanisms, such as
+ authentication, on all protocols used to deliver TE.
+
+ Certain aspects of a network may be deduced from the details of the
+ TE paths that are used. For example, the link connectivity of the
+ network and the quality and load on individual links may be inferred
+ from knowing the paths of traffic and the requirements they place on
+ the network (for example, by seeing the control messages or through
+ path-trace techniques). Such knowledge can be used to launch
+ targeted attacks (for example, taking down critical links) or can
+ reveal commercially sensitive information (for example, whether a
+ network is close to capacity). Therefore, network operators may
+ choose techniques that mask or hide information from within the
+ network.
+
+ External control interfaces that are introduced to provide additional
+ control and management of TE systems (see Section 5.1.2) provide
+ flexibility to management and to customers, but they do so at the
+ risk of exposing the internals of a network to potentially malicious
+ actors. The protocols used at these interfaces must be secured to
+ protect against snooping and modification, and use of the interfaces
+ must be authenticated.
+
+10. IANA Considerations
+
+ This document has no IANA actions.
+
+11. Informative References
+
+ [AFD03] Pan, R., Breslau, L., Prabhakar, B., and S. Shenker,
+ "Approximate fairness through differential dropping", ACM
+ SIGCOMM Computer Communication Review, Volume 33, Issue 2,
+ Pages 23-39, DOI 10.1145/956981.956985, April 2003,
+ <https://dl.acm.org/doi/10.1145/956981.956985>.
+
+ [AJ19] Adekitan, A., Abolade, J., and O. Shobayo, "Data mining
+ approach for predicting the daily Internet data traffic of
+ a smart university", Journal of Big Data, Volume 6, Number
+ 1, Page 1, DOI 10.1186/s40537-019-0176-5, February 2019,
+ <https://journalofbigdata.springeropen.com/track/
+ pdf/10.1186/s40537-019-0176-5.pdf>.
+
+ [ATSSS] 3GPP, "Study on access traffic steering, switch and
+ splitting support in the 5G System (5GS) architecture",
+ Release 16, 3GPP TR 23.793, December 2018,
+ <https://www.3gpp.org/ftp//Specs/
+ archive/23_series/23.793/23793-g00.zip>.
+
+ [AWD2] Awduche, D., "MPLS and traffic engineering in IP
+ networks", IEEE Communications Magazine, Volume 37, Issue
+ 12, Pages 42-47, DOI 10.1109/35.809383, December 1999,
+ <https://ieeexplore.ieee.org/document/809383>.
+
+ [AWD5] Awduche, D., "An approach to optimal peering between
+ autonomous systems in the Internet", Proceedings 7th
+ International Conference on Computer Communications and
+ Networks (Cat. No. 98EX226),
+ DOI 10.1109/ICCCN.1998.998795, October 1998,
+ <https://ieeexplore.ieee.org/document/998795>.
+
+ [E.360.1] ITU-T, "Framework for QoS routing and related traffic
+ engineering methods for IP-, ATM-, and TDM-based
+ multiservice networks", ITU-T Recommendation E.360.1, May
+ 2002, <https://www.itu.int/rec/T-REC-E.360.1-200205-I/en>.
+
+ [ENHANCED-VPN]
+ Dong, J., Bryant, S., Li, Z., Miyasaka, T., and Y. Lee, "A
+ Framework for NRP-based Enhanced Virtual Private Network",
+ Work in Progress, Internet-Draft, draft-ietf-teas-
+ enhanced-vpn-17, 25 December 2023,
+ <https://datatracker.ietf.org/doc/html/draft-ietf-teas-
+ enhanced-vpn-17>.
+
+ [Err309] RFC Errata, Erratum ID 309, RFC 3272,
+ <https://www.rfc-editor.org/errata/eid309>.
+
+ [EVPN-UNEQUAL-LB]
+ Malhotra, N., Ed., Sajassi, A., Rabadan, J., Drake, J.,
+ Lingala, A., and S. Thoria, "Weighted Multi-Path
+ Procedures for EVPN Multi-Homing", Work in Progress,
+ Internet-Draft, draft-ietf-bess-evpn-unequal-lb-21, 7
+ December 2023, <https://datatracker.ietf.org/doc/html/
+ draft-ietf-bess-evpn-unequal-lb-21>.
+
+ [FLJA93] Floyd, S. and V. Jacobson, "Random Early Detection
+ Gateways for Congestion Avoidance", IEEE/ACM Transactions
+ on Networking, Volume 1, Issue 4, Pages 397-413,
+ DOI 10.1109/90.251892, August 1993,
+ <https://www.icir.org/floyd/papers/early.twocolumn.pdf>.
+
+ [FT00] Fortz, B. and M. Thorup, "Internet Traffic Engineering by
+ Optimizing OSPF Weights", Proceedings IEEE INFOCOM 2000,
+ DOI 10.1109/INFCOM.2000.832225, March 2000,
+ <https://www.cs.cornell.edu/courses/cs619/2004fa/
+ documents/ospf_opt.pdf>.
+
+ [FT01] Fortz, B. and M. Thorup, "Optimizing OSPF/IS-IS Weights in
+ a Changing World", IEEE Journal on Selected Areas in
+ Communications, DOI 10.1109/JSAC.2002.1003042, May 2002,
+ <https://ieeexplore.ieee.org/document/1003042>.
+
+ [GRPC] gRPC Authors, "gRPC: A high performance, open source
+ universal RPC framework", <https://grpc.io>.
+
+ [KELLY] Kelly, F., "Notes on effective bandwidths", Oxford
+ University Press, 1996.
+
+ [MA] Ma, Q., "Quality-of-Service Routing in Integrated Services
+ Networks", Ph.D. Dissertation, Carnegie Mellon University,
+ CMU-CS-98-138, January 1998,
+ <https://apps.dtic.mil/sti/pdfs/ADA352299.pdf>.
+
+ [MATE] Elwalid, A., Jin, C., Low, S., and I. Widjaja, "MATE: MPLS
+ Adaptive Traffic Engineering", Proceedings IEEE INFOCOM
+ 2001, Conference on Computer Communications, Twentieth
+ Annual Joint Conference of the IEEE Computer and
+ Communications Society (Cat. No. 01CH37213),
+ DOI 10.1109/INFCOM.2001.916625, August 2002,
+ <https://www.yumpu.com/en/document/view/35140398/mate-
+ mpls-adaptive-traffic-engineering-infocom-ieee-xplore/8>.
+
+ [MR99] Mitra, D. and K.G. Ramakrishnan, "A case study of
+ multiservice, multipriority traffic engineering design for
+ data networks", Seamless Interconnection for Universal
+ Services, Global Telecommunications Conference,
+ GLOBECOM'99, (Cat. No. 99CH37042),
+ DOI 10.1109/GLOCOM.1999.830281, December 1999,
+ <https://ieeexplore.ieee.org/document/830281>.
+
+ [MULTIPATH-DCCP]
+ Amend, M., Ed., Brunstrom, A., Kassler, A., Rakocevic, V.,
+ and S. Johnson, "DCCP Extensions for Multipath Operation
+ with Multiple Addresses", Work in Progress, Internet-
+ Draft, draft-ietf-tsvwg-multipath-dccp-11, 12 October
+ 2023, <https://datatracker.ietf.org/doc/html/draft-ietf-
+ tsvwg-multipath-dccp-11>.
+
+ [NETWORK-SLICES]
+ Farrel, A., Ed., Drake, J., Ed., Rokui, R., Homma, S.,
+ Makhijani, K., Contreras, L. M., and J. Tantsura, "A
+ Framework for Network Slices in Networks Built from IETF
+ Technologies", Work in Progress, Internet-Draft, draft-
+ ietf-teas-ietf-network-slices-25, 14 September 2023,
+ <https://datatracker.ietf.org/doc/html/draft-ietf-teas-
+ ietf-network-slices-25>.
+
+ [PERFORMANCE-ROUTING]
+ Xu, X., Hegde, S., Talaulikar, K., Boucadair, M., and C.
+ Jacquenet, "Performance-based BGP Routing Mechanism", Work
+ in Progress, Internet-Draft, draft-ietf-idr-performance-
+ routing-03, 22 December 2020,
+ <https://datatracker.ietf.org/doc/html/draft-ietf-idr-
+ performance-routing-03>.
+
+ [QUIC-MULTIPATH]
+ Liu, Y., Ed., Ma, Y., Ed., De Coninck, Q., Ed.,
+ Bonaventure, O., Huitema, C., and M. Kühlewind, Ed.,
+ "Multipath Extension for QUIC", Work in Progress,
+ Internet-Draft, draft-ietf-quic-multipath-06, 23 October
+ 2023, <https://datatracker.ietf.org/doc/html/draft-ietf-
+ quic-multipath-06>.
+
+ [RFC0791] Postel, J., "Internet Protocol", STD 5, RFC 791,
+ DOI 10.17487/RFC0791, September 1981,
+ <https://www.rfc-editor.org/info/rfc791>.
+
+ [RFC1102] Clark, D., "Policy routing in Internet protocols",
+ RFC 1102, DOI 10.17487/RFC1102, May 1989,
+ <https://www.rfc-editor.org/info/rfc1102>.
+
+ [RFC1104] Braun, H., "Models of policy based routing", RFC 1104,
+ DOI 10.17487/RFC1104, June 1989,
+ <https://www.rfc-editor.org/info/rfc1104>.
+
+ [RFC2205] Braden, R., Ed., Zhang, L., Berson, S., Herzog, S., and S.
+ Jamin, "Resource ReSerVation Protocol (RSVP) -- Version 1
+ Functional Specification", RFC 2205, DOI 10.17487/RFC2205,
+ September 1997, <https://www.rfc-editor.org/info/rfc2205>.
+
+ [RFC2330] Paxson, V., Almes, G., Mahdavi, J., and M. Mathis,
+ "Framework for IP Performance Metrics", RFC 2330,
+ DOI 10.17487/RFC2330, May 1998,
+ <https://www.rfc-editor.org/info/rfc2330>.
+
+ [RFC2386] Crawley, E., Nair, R., Rajagopalan, B., and H. Sandick, "A
+ Framework for QoS-based Routing in the Internet",
+ RFC 2386, DOI 10.17487/RFC2386, August 1998,
+ <https://www.rfc-editor.org/info/rfc2386>.
+
+ [RFC2474] Nichols, K., Blake, S., Baker, F., and D. Black,
+ "Definition of the Differentiated Services Field (DS
+ Field) in the IPv4 and IPv6 Headers", RFC 2474,
+ DOI 10.17487/RFC2474, December 1998,
+ <https://www.rfc-editor.org/info/rfc2474>.
+
+ [RFC2475] Blake, S., Black, D., Carlson, M., Davies, E., Wang, Z.,
+ and W. Weiss, "An Architecture for Differentiated
+ Services", RFC 2475, DOI 10.17487/RFC2475, December 1998,
+ <https://www.rfc-editor.org/info/rfc2475>.
+
+ [RFC2597] Heinanen, J., Baker, F., Weiss, W., and J. Wroclawski,
+ "Assured Forwarding PHB Group", RFC 2597,
+ DOI 10.17487/RFC2597, June 1999,
+ <https://www.rfc-editor.org/info/rfc2597>.
+
+ [RFC2678] Mahdavi, J. and V. Paxson, "IPPM Metrics for Measuring
+ Connectivity", RFC 2678, DOI 10.17487/RFC2678, September
+ 1999, <https://www.rfc-editor.org/info/rfc2678>.
+
+ [RFC2702] Awduche, D., Malcolm, J., Agogbua, J., O'Dell, M., and J.
+ McManus, "Requirements for Traffic Engineering Over MPLS",
+ RFC 2702, DOI 10.17487/RFC2702, September 1999,
+ <https://www.rfc-editor.org/info/rfc2702>.
+
+ [RFC2722] Brownlee, N., Mills, C., and G. Ruth, "Traffic Flow
+ Measurement: Architecture", RFC 2722,
+ DOI 10.17487/RFC2722, October 1999,
+ <https://www.rfc-editor.org/info/rfc2722>.
+
+ [RFC2753] Yavatkar, R., Pendarakis, D., and R. Guerin, "A Framework
+ for Policy-based Admission Control", RFC 2753,
+ DOI 10.17487/RFC2753, January 2000,
+ <https://www.rfc-editor.org/info/rfc2753>.
+
+ [RFC2961] Berger, L., Gan, D., Swallow, G., Pan, P., Tommasi, F.,
+ and S. Molendini, "RSVP Refresh Overhead Reduction
+ Extensions", RFC 2961, DOI 10.17487/RFC2961, April 2001,
+ <https://www.rfc-editor.org/info/rfc2961>.
+
+ [RFC2998] Bernet, Y., Ford, P., Yavatkar, R., Baker, F., Zhang, L.,
+ Speer, M., Braden, R., Davie, B., Wroclawski, J., and E.
+ Felstaine, "A Framework for Integrated Services Operation
+ over Diffserv Networks", RFC 2998, DOI 10.17487/RFC2998,
+ November 2000, <https://www.rfc-editor.org/info/rfc2998>.
+
+ [RFC3031] Rosen, E., Viswanathan, A., and R. Callon, "Multiprotocol
+ Label Switching Architecture", RFC 3031,
+ DOI 10.17487/RFC3031, January 2001,
+ <https://www.rfc-editor.org/info/rfc3031>.
+
+ [RFC3086] Nichols, K. and B. Carpenter, "Definition of
+ Differentiated Services Per Domain Behaviors and Rules for
+ their Specification", RFC 3086, DOI 10.17487/RFC3086,
+ April 2001, <https://www.rfc-editor.org/info/rfc3086>.
+
+ [RFC3124] Balakrishnan, H. and S. Seshan, "The Congestion Manager",
+ RFC 3124, DOI 10.17487/RFC3124, June 2001,
+ <https://www.rfc-editor.org/info/rfc3124>.
+
+ [RFC3168] Ramakrishnan, K., Floyd, S., and D. Black, "The Addition
+ of Explicit Congestion Notification (ECN) to IP",
+ RFC 3168, DOI 10.17487/RFC3168, September 2001,
+ <https://www.rfc-editor.org/info/rfc3168>.
+
+ [RFC3175] Baker, F., Iturralde, C., Le Faucheur, F., and B. Davie,
+ "Aggregation of RSVP for IPv4 and IPv6 Reservations",
+ RFC 3175, DOI 10.17487/RFC3175, September 2001,
+ <https://www.rfc-editor.org/info/rfc3175>.
+
+ [RFC3198] Westerinen, A., Schnizlein, J., Strassner, J., Scherling,
+ M., Quinn, B., Herzog, S., Huynh, A., Carlson, M., Perry,
+ J., and S. Waldbusser, "Terminology for Policy-Based
+ Management", RFC 3198, DOI 10.17487/RFC3198, November
+ 2001, <https://www.rfc-editor.org/info/rfc3198>.
+
+ [RFC3209] Awduche, D., Berger, L., Gan, D., Li, T., Srinivasan, V.,
+ and G. Swallow, "RSVP-TE: Extensions to RSVP for LSP
+ Tunnels", RFC 3209, DOI 10.17487/RFC3209, December 2001,
+ <https://www.rfc-editor.org/info/rfc3209>.
+
+ [RFC3270] Le Faucheur, F., Ed., Wu, L., Davie, B., Davari, S.,
+ Vaananen, P., Krishnan, R., Cheval, P., and J. Heinanen,
+ "Multi-Protocol Label Switching (MPLS) Support of
+ Differentiated Services", RFC 3270, DOI 10.17487/RFC3270,
+ May 2002, <https://www.rfc-editor.org/info/rfc3270>.
+
+ [RFC3272] Awduche, D., Chiu, A., Elwalid, A., Widjaja, I., and X.
+ Xiao, "Overview and Principles of Internet Traffic
+ Engineering", RFC 3272, DOI 10.17487/RFC3272, May 2002,
+ <https://www.rfc-editor.org/info/rfc3272>.
+
+ [RFC3469] Sharma, V., Ed. and F. Hellstrand, Ed., "Framework for
+ Multi-Protocol Label Switching (MPLS)-based Recovery",
+ RFC 3469, DOI 10.17487/RFC3469, February 2003,
+ <https://www.rfc-editor.org/info/rfc3469>.
+
+ [RFC3473] Berger, L., Ed., "Generalized Multi-Protocol Label
+ Switching (GMPLS) Signaling Resource ReserVation Protocol-
+ Traffic Engineering (RSVP-TE) Extensions", RFC 3473,
+ DOI 10.17487/RFC3473, January 2003,
+ <https://www.rfc-editor.org/info/rfc3473>.
+
+ [RFC3630] Katz, D., Kompella, K., and D. Yeung, "Traffic Engineering
+ (TE) Extensions to OSPF Version 2", RFC 3630,
+ DOI 10.17487/RFC3630, September 2003,
+ <https://www.rfc-editor.org/info/rfc3630>.
+
+ [RFC3945] Mannie, E., Ed., "Generalized Multi-Protocol Label
+ Switching (GMPLS) Architecture", RFC 3945,
+ DOI 10.17487/RFC3945, October 2004,
+ <https://www.rfc-editor.org/info/rfc3945>.
+
+ [RFC4090] Pan, P., Ed., Swallow, G., Ed., and A. Atlas, Ed., "Fast
+ Reroute Extensions to RSVP-TE for LSP Tunnels", RFC 4090,
+ DOI 10.17487/RFC4090, May 2005,
+ <https://www.rfc-editor.org/info/rfc4090>.
+
+ [RFC4124] Le Faucheur, F., Ed., "Protocol Extensions for Support of
+ Diffserv-aware MPLS Traffic Engineering", RFC 4124,
+ DOI 10.17487/RFC4124, June 2005,
+ <https://www.rfc-editor.org/info/rfc4124>.
+
+ [RFC4203] Kompella, K., Ed. and Y. Rekhter, Ed., "OSPF Extensions in
+ Support of Generalized Multi-Protocol Label Switching
+ (GMPLS)", RFC 4203, DOI 10.17487/RFC4203, October 2005,
+ <https://www.rfc-editor.org/info/rfc4203>.
+
+ [RFC4271] Rekhter, Y., Ed., Li, T., Ed., and S. Hares, Ed., "A
+ Border Gateway Protocol 4 (BGP-4)", RFC 4271,
+ DOI 10.17487/RFC4271, January 2006,
+ <https://www.rfc-editor.org/info/rfc4271>.
+
+ [RFC4340] Kohler, E., Handley, M., and S. Floyd, "Datagram
+ Congestion Control Protocol (DCCP)", RFC 4340,
+ DOI 10.17487/RFC4340, March 2006,
+ <https://www.rfc-editor.org/info/rfc4340>.
+
+ [RFC4461] Yasukawa, S., Ed., "Signaling Requirements for Point-to-
+ Multipoint Traffic-Engineered MPLS Label Switched Paths
+ (LSPs)", RFC 4461, DOI 10.17487/RFC4461, April 2006,
+ <https://www.rfc-editor.org/info/rfc4461>.
+
+ [RFC4594] Babiarz, J., Chan, K., and F. Baker, "Configuration
+ Guidelines for DiffServ Service Classes", RFC 4594,
+ DOI 10.17487/RFC4594, August 2006,
+ <https://www.rfc-editor.org/info/rfc4594>.
+
+ [RFC4655] Farrel, A., Vasseur, J.-P., and J. Ash, "A Path
+ Computation Element (PCE)-Based Architecture", RFC 4655,
+ DOI 10.17487/RFC4655, August 2006,
+ <https://www.rfc-editor.org/info/rfc4655>.
+
+ [RFC4872] Lang, J.P., Ed., Rekhter, Y., Ed., and D. Papadimitriou,
+ Ed., "RSVP-TE Extensions in Support of End-to-End
+ Generalized Multi-Protocol Label Switching (GMPLS)
+ Recovery", RFC 4872, DOI 10.17487/RFC4872, May 2007,
+ <https://www.rfc-editor.org/info/rfc4872>.
+
+ [RFC4873] Berger, L., Bryskin, I., Papadimitriou, D., and A. Farrel,
+ "GMPLS Segment Recovery", RFC 4873, DOI 10.17487/RFC4873,
+ May 2007, <https://www.rfc-editor.org/info/rfc4873>.
+
+ [RFC4875] Aggarwal, R., Ed., Papadimitriou, D., Ed., and S.
+ Yasukawa, Ed., "Extensions to Resource Reservation
+ Protocol - Traffic Engineering (RSVP-TE) for Point-to-
+ Multipoint TE Label Switched Paths (LSPs)", RFC 4875,
+ DOI 10.17487/RFC4875, May 2007,
+ <https://www.rfc-editor.org/info/rfc4875>.
+
+ [RFC5151] Farrel, A., Ed., Ayyangar, A., and JP. Vasseur, "Inter-
+ Domain MPLS and GMPLS Traffic Engineering -- Resource
+ Reservation Protocol-Traffic Engineering (RSVP-TE)
+ Extensions", RFC 5151, DOI 10.17487/RFC5151, February
+ 2008, <https://www.rfc-editor.org/info/rfc5151>.
+
+ [RFC5250] Berger, L., Bryskin, I., Zinin, A., and R. Coltun, "The
+ OSPF Opaque LSA Option", RFC 5250, DOI 10.17487/RFC5250,
+ July 2008, <https://www.rfc-editor.org/info/rfc5250>.
+
+ [RFC5305] Li, T. and H. Smit, "IS-IS Extensions for Traffic
+ Engineering", RFC 5305, DOI 10.17487/RFC5305, October
+ 2008, <https://www.rfc-editor.org/info/rfc5305>.
+
+ [RFC5329] Ishiguro, K., Manral, V., Davey, A., and A. Lindem, Ed.,
+ "Traffic Engineering Extensions to OSPF Version 3",
+ RFC 5329, DOI 10.17487/RFC5329, September 2008,
+ <https://www.rfc-editor.org/info/rfc5329>.
+
+ [RFC5331] Aggarwal, R., Rekhter, Y., and E. Rosen, "MPLS Upstream
+ Label Assignment and Context-Specific Label Space",
+ RFC 5331, DOI 10.17487/RFC5331, August 2008,
+ <https://www.rfc-editor.org/info/rfc5331>.
+
+ [RFC5357] Hedayat, K., Krzanowski, R., Morton, A., Yum, K., and J.
+ Babiarz, "A Two-Way Active Measurement Protocol (TWAMP)",
+ RFC 5357, DOI 10.17487/RFC5357, October 2008,
+ <https://www.rfc-editor.org/info/rfc5357>.
+
+ [RFC5394] Bryskin, I., Papadimitriou, D., Berger, L., and J. Ash,
+ "Policy-Enabled Path Computation Framework", RFC 5394,
+ DOI 10.17487/RFC5394, December 2008,
+ <https://www.rfc-editor.org/info/rfc5394>.
+
+ [RFC5440] Vasseur, JP., Ed. and JL. Le Roux, Ed., "Path Computation
+ Element (PCE) Communication Protocol (PCEP)", RFC 5440,
+ DOI 10.17487/RFC5440, March 2009,
+ <https://www.rfc-editor.org/info/rfc5440>.
+
+ [RFC5470] Sadasivan, G., Brownlee, N., Claise, B., and J. Quittek,
+ "Architecture for IP Flow Information Export", RFC 5470,
+ DOI 10.17487/RFC5470, March 2009,
+ <https://www.rfc-editor.org/info/rfc5470>.
+
+ [RFC5472] Zseby, T., Boschi, E., Brownlee, N., and B. Claise, "IP
+ Flow Information Export (IPFIX) Applicability", RFC 5472,
+ DOI 10.17487/RFC5472, March 2009,
+ <https://www.rfc-editor.org/info/rfc5472>.
+
+ [RFC5541] Le Roux, JL., Vasseur, JP., and Y. Lee, "Encoding of
+ Objective Functions in the Path Computation Element
+ Communication Protocol (PCEP)", RFC 5541,
+ DOI 10.17487/RFC5541, June 2009,
+ <https://www.rfc-editor.org/info/rfc5541>.
+
+ [RFC5557] Lee, Y., Le Roux, JL., King, D., and E. Oki, "Path
+ Computation Element Communication Protocol (PCEP)
+ Requirements and Protocol Extensions in Support of Global
+ Concurrent Optimization", RFC 5557, DOI 10.17487/RFC5557,
+ July 2009, <https://www.rfc-editor.org/info/rfc5557>.
+
+ [RFC5559] Eardley, P., Ed., "Pre-Congestion Notification (PCN)
+ Architecture", RFC 5559, DOI 10.17487/RFC5559, June 2009,
+ <https://www.rfc-editor.org/info/rfc5559>.
+
+ [RFC5623] Oki, E., Takeda, T., Le Roux, JL., and A. Farrel,
+ "Framework for PCE-Based Inter-Layer MPLS and GMPLS
+ Traffic Engineering", RFC 5623, DOI 10.17487/RFC5623,
+ September 2009, <https://www.rfc-editor.org/info/rfc5623>.
+
+ [RFC5664] Halevy, B., Welch, B., and J. Zelenka, "Object-Based
+ Parallel NFS (pNFS) Operations", RFC 5664,
+ DOI 10.17487/RFC5664, January 2010,
+ <https://www.rfc-editor.org/info/rfc5664>.
+
+ [RFC5671] Yasukawa, S. and A. Farrel, Ed., "Applicability of the
+ Path Computation Element (PCE) to Point-to-Multipoint
+ (P2MP) MPLS and GMPLS Traffic Engineering (TE)", RFC 5671,
+ DOI 10.17487/RFC5671, October 2009,
+ <https://www.rfc-editor.org/info/rfc5671>.
+
+ [RFC5693] Seedorf, J. and E. Burger, "Application-Layer Traffic
+ Optimization (ALTO) Problem Statement", RFC 5693,
+ DOI 10.17487/RFC5693, October 2009,
+ <https://www.rfc-editor.org/info/rfc5693>.
+
+ [RFC6107] Shiomoto, K., Ed. and A. Farrel, Ed., "Procedures for
+ Dynamically Signaled Hierarchical Label Switched Paths",
+ RFC 6107, DOI 10.17487/RFC6107, February 2011,
+ <https://www.rfc-editor.org/info/rfc6107>.
+
+ [RFC6119] Harrison, J., Berger, J., and M. Bartlett, "IPv6 Traffic
+ Engineering in IS-IS", RFC 6119, DOI 10.17487/RFC6119,
+ February 2011, <https://www.rfc-editor.org/info/rfc6119>.
+
+ [RFC6241] Enns, R., Ed., Bjorklund, M., Ed., Schoenwaelder, J., Ed.,
+ and A. Bierman, Ed., "Network Configuration Protocol
+ (NETCONF)", RFC 6241, DOI 10.17487/RFC6241, June 2011,
+ <https://www.rfc-editor.org/info/rfc6241>.
+
+ [RFC6372] Sprecher, N., Ed. and A. Farrel, Ed., "MPLS Transport
+ Profile (MPLS-TP) Survivability Framework", RFC 6372,
+ DOI 10.17487/RFC6372, September 2011,
+ <https://www.rfc-editor.org/info/rfc6372>.
+
+ [RFC6374] Frost, D. and S. Bryant, "Packet Loss and Delay
+ Measurement for MPLS Networks", RFC 6374,
+ DOI 10.17487/RFC6374, September 2011,
+ <https://www.rfc-editor.org/info/rfc6374>.
+
+ [RFC6601] Ash, G., Ed. and D. McDysan, "Generic Connection Admission
+ Control (GCAC) Algorithm Specification for IP/MPLS
+ Networks", RFC 6601, DOI 10.17487/RFC6601, April 2012,
+ <https://www.rfc-editor.org/info/rfc6601>.
+
+ [RFC6805] King, D., Ed. and A. Farrel, Ed., "The Application of the
+ Path Computation Element Architecture to the Determination
+ of a Sequence of Domains in MPLS and GMPLS", RFC 6805,
+ DOI 10.17487/RFC6805, November 2012,
+ <https://www.rfc-editor.org/info/rfc6805>.
+
+ [RFC7011] Claise, B., Ed., Trammell, B., Ed., and P. Aitken,
+ "Specification of the IP Flow Information Export (IPFIX)
+ Protocol for the Exchange of Flow Information", STD 77,
+ RFC 7011, DOI 10.17487/RFC7011, September 2013,
+ <https://www.rfc-editor.org/info/rfc7011>.
+
+ [RFC7149] Boucadair, M. and C. Jacquenet, "Software-Defined
+ Networking: A Perspective from within a Service Provider
+ Environment", RFC 7149, DOI 10.17487/RFC7149, March 2014,
+ <https://www.rfc-editor.org/info/rfc7149>.
+
+ [RFC7285] Alimi, R., Ed., Penno, R., Ed., Yang, Y., Ed., Kiesel, S.,
+ Previdi, S., Roome, W., Shalunov, S., and R. Woundy,
+ "Application-Layer Traffic Optimization (ALTO) Protocol",
+ RFC 7285, DOI 10.17487/RFC7285, September 2014,
+ <https://www.rfc-editor.org/info/rfc7285>.
+
+ [RFC7390] Rahman, A., Ed. and E. Dijk, Ed., "Group Communication for
+ the Constrained Application Protocol (CoAP)", RFC 7390,
+ DOI 10.17487/RFC7390, October 2014,
+ <https://www.rfc-editor.org/info/rfc7390>.
+
+ [RFC7426] Haleplidis, E., Ed., Pentikousis, K., Ed., Denazis, S.,
+ Hadi Salim, J., Meyer, D., and O. Koufopavlou, "Software-
+ Defined Networking (SDN): Layers and Architecture
+ Terminology", RFC 7426, DOI 10.17487/RFC7426, January
+ 2015, <https://www.rfc-editor.org/info/rfc7426>.
+
+ [RFC7471] Giacalone, S., Ward, D., Drake, J., Atlas, A., and S.
+ Previdi, "OSPF Traffic Engineering (TE) Metric
+ Extensions", RFC 7471, DOI 10.17487/RFC7471, March 2015,
+ <https://www.rfc-editor.org/info/rfc7471>.
+
+ [RFC7491] King, D. and A. Farrel, "A PCE-Based Architecture for
+ Application-Based Network Operations", RFC 7491,
+ DOI 10.17487/RFC7491, March 2015,
+ <https://www.rfc-editor.org/info/rfc7491>.
+
+ [RFC7551] Zhang, F., Ed., Jing, R., and R. Gandhi, Ed., "RSVP-TE
+ Extensions for Associated Bidirectional Label Switched
+ Paths (LSPs)", RFC 7551, DOI 10.17487/RFC7551, May 2015,
+ <https://www.rfc-editor.org/info/rfc7551>.
+
+ [RFC7567] Baker, F., Ed. and G. Fairhurst, Ed., "IETF
+ Recommendations Regarding Active Queue Management",
+ BCP 197, RFC 7567, DOI 10.17487/RFC7567, July 2015,
+ <https://www.rfc-editor.org/info/rfc7567>.
+
+ [RFC7665] Halpern, J., Ed. and C. Pignataro, Ed., "Service Function
+ Chaining (SFC) Architecture", RFC 7665,
+ DOI 10.17487/RFC7665, October 2015,
+ <https://www.rfc-editor.org/info/rfc7665>.
+
+ [RFC7679] Almes, G., Kalidindi, S., Zekauskas, M., and A. Morton,
+ Ed., "A One-Way Delay Metric for IP Performance Metrics
+ (IPPM)", STD 81, RFC 7679, DOI 10.17487/RFC7679, January
+ 2016, <https://www.rfc-editor.org/info/rfc7679>.
+
+ [RFC7680] Almes, G., Kalidindi, S., Zekauskas, M., and A. Morton,
+ Ed., "A One-Way Loss Metric for IP Performance Metrics
+ (IPPM)", STD 82, RFC 7680, DOI 10.17487/RFC7680, January
+ 2016, <https://www.rfc-editor.org/info/rfc7680>.
+
+ [RFC7923] Voit, E., Clemm, A., and A. Gonzalez Prieto, "Requirements
+ for Subscription to YANG Datastores", RFC 7923,
+ DOI 10.17487/RFC7923, June 2016,
+ <https://www.rfc-editor.org/info/rfc7923>.
+
+ [RFC7926] Farrel, A., Ed., Drake, J., Bitar, N., Swallow, G.,
+ Ceccarelli, D., and X. Zhang, "Problem Statement and
+ Architecture for Information Exchange between
+ Interconnected Traffic-Engineered Networks", BCP 206,
+ RFC 7926, DOI 10.17487/RFC7926, July 2016,
+ <https://www.rfc-editor.org/info/rfc7926>.
+
+ [RFC7950] Bjorklund, M., Ed., "The YANG 1.1 Data Modeling Language",
+ RFC 7950, DOI 10.17487/RFC7950, August 2016,
+ <https://www.rfc-editor.org/info/rfc7950>.
+
+ [RFC8033] Pan, R., Natarajan, P., Baker, F., and G. White,
+ "Proportional Integral Controller Enhanced (PIE): A
+ Lightweight Control Scheme to Address the Bufferbloat
+ Problem", RFC 8033, DOI 10.17487/RFC8033, February 2017,
+ <https://www.rfc-editor.org/info/rfc8033>.
+
+ [RFC8034] White, G. and R. Pan, "Active Queue Management (AQM) Based
+ on Proportional Integral Controller Enhanced (PIE) for
+ Data-Over-Cable Service Interface Specifications (DOCSIS)
+ Cable Modems", RFC 8034, DOI 10.17487/RFC8034, February
+ 2017, <https://www.rfc-editor.org/info/rfc8034>.
+
+ [RFC8040] Bierman, A., Bjorklund, M., and K. Watsen, "RESTCONF
+ Protocol", RFC 8040, DOI 10.17487/RFC8040, January 2017,
+ <https://www.rfc-editor.org/info/rfc8040>.
+
+ [RFC8051] Zhang, X., Ed. and I. Minei, Ed., "Applicability of a
+ Stateful Path Computation Element (PCE)", RFC 8051,
+ DOI 10.17487/RFC8051, January 2017,
+ <https://www.rfc-editor.org/info/rfc8051>.
+
+ [RFC8189] Randriamasy, S., Roome, W., and N. Schwan, "Multi-Cost
+ Application-Layer Traffic Optimization (ALTO)", RFC 8189,
+ DOI 10.17487/RFC8189, October 2017,
+ <https://www.rfc-editor.org/info/rfc8189>.
+
+ [RFC8231] Crabbe, E., Minei, I., Medved, J., and R. Varga, "Path
+ Computation Element Communication Protocol (PCEP)
+ Extensions for Stateful PCE", RFC 8231,
+ DOI 10.17487/RFC8231, September 2017,
+ <https://www.rfc-editor.org/info/rfc8231>.
+
+ [RFC8259] Bray, T., Ed., "The JavaScript Object Notation (JSON) Data
+ Interchange Format", STD 90, RFC 8259,
+ DOI 10.17487/RFC8259, December 2017,
+ <https://www.rfc-editor.org/info/rfc8259>.
+
+ [RFC8279] Wijnands, IJ., Ed., Rosen, E., Ed., Dolganow, A.,
+ Przygienda, T., and S. Aldrin, "Multicast Using Bit Index
+ Explicit Replication (BIER)", RFC 8279,
+ DOI 10.17487/RFC8279, November 2017,
+ <https://www.rfc-editor.org/info/rfc8279>.
+
+ [RFC8281] Crabbe, E., Minei, I., Sivabalan, S., and R. Varga, "Path
+ Computation Element Communication Protocol (PCEP)
+ Extensions for PCE-Initiated LSP Setup in a Stateful PCE
+ Model", RFC 8281, DOI 10.17487/RFC8281, December 2017,
+ <https://www.rfc-editor.org/info/rfc8281>.
+
+ [RFC8283] Farrel, A., Ed., Zhao, Q., Ed., Li, Z., and C. Zhou, "An
+ Architecture for Use of PCE and the PCE Communication
+ Protocol (PCEP) in a Network with Central Control",
+ RFC 8283, DOI 10.17487/RFC8283, December 2017,
+ <https://www.rfc-editor.org/info/rfc8283>.
+
+ [RFC8290] Hoeiland-Joergensen, T., McKenney, P., Taht, D., Gettys,
+ J., and E. Dumazet, "The Flow Queue CoDel Packet Scheduler
+ and Active Queue Management Algorithm", RFC 8290,
+ DOI 10.17487/RFC8290, January 2018,
+ <https://www.rfc-editor.org/info/rfc8290>.
+
+ [RFC8402] Filsfils, C., Ed., Previdi, S., Ed., Ginsberg, L.,
+ Decraene, B., Litkowski, S., and R. Shakir, "Segment
+ Routing Architecture", RFC 8402, DOI 10.17487/RFC8402,
+ July 2018, <https://www.rfc-editor.org/info/rfc8402>.
+
+ [RFC8453] Ceccarelli, D., Ed. and Y. Lee, Ed., "Framework for
+ Abstraction and Control of TE Networks (ACTN)", RFC 8453,
+ DOI 10.17487/RFC8453, August 2018,
+ <https://www.rfc-editor.org/info/rfc8453>.
+
+ [RFC8570] Ginsberg, L., Ed., Previdi, S., Ed., Giacalone, S., Ward,
+ D., Drake, J., and Q. Wu, "IS-IS Traffic Engineering (TE)
+ Metric Extensions", RFC 8570, DOI 10.17487/RFC8570, March
+ 2019, <https://www.rfc-editor.org/info/rfc8570>.
+
+ [RFC8571] Ginsberg, L., Ed., Previdi, S., Wu, Q., Tantsura, J., and
+ C. Filsfils, "BGP - Link State (BGP-LS) Advertisement of
+ IGP Traffic Engineering Performance Metric Extensions",
+ RFC 8571, DOI 10.17487/RFC8571, March 2019,
+ <https://www.rfc-editor.org/info/rfc8571>.
+
+ [RFC8655] Finn, N., Thubert, P., Varga, B., and J. Farkas,
+ "Deterministic Networking Architecture", RFC 8655,
+ DOI 10.17487/RFC8655, October 2019,
+ <https://www.rfc-editor.org/info/rfc8655>.
+
+ [RFC8664] Sivabalan, S., Filsfils, C., Tantsura, J., Henderickx, W.,
+ and J. Hardwick, "Path Computation Element Communication
+ Protocol (PCEP) Extensions for Segment Routing", RFC 8664,
+ DOI 10.17487/RFC8664, December 2019,
+ <https://www.rfc-editor.org/info/rfc8664>.
+
+ [RFC8684] Ford, A., Raiciu, C., Handley, M., Bonaventure, O., and C.
+ Paasch, "TCP Extensions for Multipath Operation with
+ Multiple Addresses", RFC 8684, DOI 10.17487/RFC8684, March
+ 2020, <https://www.rfc-editor.org/info/rfc8684>.
+
+ [RFC8685] Zhang, F., Zhao, Q., Gonzalez de Dios, O., Casellas, R.,
+ and D. King, "Path Computation Element Communication
+ Protocol (PCEP) Extensions for the Hierarchical Path
+ Computation Element (H-PCE) Architecture", RFC 8685,
+ DOI 10.17487/RFC8685, December 2019,
+ <https://www.rfc-editor.org/info/rfc8685>.
+
+ [RFC8795] Liu, X., Bryskin, I., Beeram, V., Saad, T., Shah, H., and
+ O. Gonzalez de Dios, "YANG Data Model for Traffic
+ Engineering (TE) Topologies", RFC 8795,
+ DOI 10.17487/RFC8795, August 2020,
+ <https://www.rfc-editor.org/info/rfc8795>.
+
+ [RFC8803] Bonaventure, O., Ed., Boucadair, M., Ed., Gundavelli, S.,
+ Seo, S., and B. Hesmans, "0-RTT TCP Convert Protocol",
+ RFC 8803, DOI 10.17487/RFC8803, July 2020,
+ <https://www.rfc-editor.org/info/rfc8803>.
+
+ [RFC8896] Randriamasy, S., Yang, R., Wu, Q., Deng, L., and N.
+ Schwan, "Application-Layer Traffic Optimization (ALTO)
+ Cost Calendar", RFC 8896, DOI 10.17487/RFC8896, November
+ 2020, <https://www.rfc-editor.org/info/rfc8896>.
+
+ [RFC8938] Varga, B., Ed., Farkas, J., Berger, L., Malis, A., and S.
+ Bryant, "Deterministic Networking (DetNet) Data Plane
+ Framework", RFC 8938, DOI 10.17487/RFC8938, November 2020,
+ <https://www.rfc-editor.org/info/rfc8938>.
+
+ [RFC8955] Loibl, C., Hares, S., Raszuk, R., McPherson, D., and M.
+ Bacher, "Dissemination of Flow Specification Rules",
+ RFC 8955, DOI 10.17487/RFC8955, December 2020,
+ <https://www.rfc-editor.org/info/rfc8955>.
+
+ [RFC8972] Mirsky, G., Min, X., Nydell, H., Foote, R., Masputra, A.,
+ and E. Ruffini, "Simple Two-Way Active Measurement
+ Protocol Optional Extensions", RFC 8972,
+ DOI 10.17487/RFC8972, January 2021,
+ <https://www.rfc-editor.org/info/rfc8972>.
+
+ [RFC9000] Iyengar, J., Ed. and M. Thomson, Ed., "QUIC: A UDP-Based
+ Multiplexed and Secure Transport", RFC 9000,
+ DOI 10.17487/RFC9000, May 2021,
+ <https://www.rfc-editor.org/info/rfc9000>.
+
+ [RFC9023] Varga, B., Ed., Farkas, J., Malis, A., and S. Bryant,
+ "Deterministic Networking (DetNet) Data Plane: IP over
+ IEEE 802.1 Time-Sensitive Networking (TSN)", RFC 9023,
+ DOI 10.17487/RFC9023, June 2021,
+ <https://www.rfc-editor.org/info/rfc9023>.
+
+ [RFC9040] Touch, J., Welzl, M., and S. Islam, "TCP Control Block
+ Interdependence", RFC 9040, DOI 10.17487/RFC9040, July
+ 2021, <https://www.rfc-editor.org/info/rfc9040>.
+
+ [RFC9113] Thomson, M., Ed. and C. Benfield, Ed., "HTTP/2", RFC 9113,
+ DOI 10.17487/RFC9113, June 2022,
+ <https://www.rfc-editor.org/info/rfc9113>.
+
+ [RFC9256] Filsfils, C., Talaulikar, K., Ed., Voyer, D., Bogdanov,
+ A., and P. Mattes, "Segment Routing Policy Architecture",
+ RFC 9256, DOI 10.17487/RFC9256, July 2022,
+ <https://www.rfc-editor.org/info/rfc9256>.
+
+ [RFC9262] Eckert, T., Ed., Menth, M., and G. Cauchie, "Tree
+ Engineering for Bit Index Explicit Replication (BIER-TE)",
+ RFC 9262, DOI 10.17487/RFC9262, October 2022,
+ <https://www.rfc-editor.org/info/rfc9262>.
+
+ [RFC9298] Schinazi, D., "Proxying UDP in HTTP", RFC 9298,
+ DOI 10.17487/RFC9298, August 2022,
+ <https://www.rfc-editor.org/info/rfc9298>.
+
+ [RFC9315] Clemm, A., Ciavaglia, L., Granville, L. Z., and J.
+ Tantsura, "Intent-Based Networking - Concepts and
+ Definitions", RFC 9315, DOI 10.17487/RFC9315, October
+ 2022, <https://www.rfc-editor.org/info/rfc9315>.
+
+ [RFC9332] De Schepper, K., Briscoe, B., Ed., and G. White, "Dual-
+ Queue Coupled Active Queue Management (AQM) for Low
+ Latency, Low Loss, and Scalable Throughput (L4S)",
+ RFC 9332, DOI 10.17487/RFC9332, January 2023,
+ <https://www.rfc-editor.org/info/rfc9332>.
+
+ [RFC9350] Psenak, P., Ed., Hegde, S., Filsfils, C., Talaulikar, K.,
+ and A. Gulko, "IGP Flexible Algorithm", RFC 9350,
+ DOI 10.17487/RFC9350, February 2023,
+ <https://www.rfc-editor.org/info/rfc9350>.
+
+ [RFC9439] Wu, Q., Yang, Y., Lee, Y., Dhody, D., Randriamasy, S., and
+ L. Contreras, "Application-Layer Traffic Optimization
+ (ALTO) Performance Cost Metrics", RFC 9439,
+ DOI 10.17487/RFC9439, August 2023,
+ <https://www.rfc-editor.org/info/rfc9439>.
+
+ [RFC9502] Britto, W., Hegde, S., Kaneriya, P., Shetty, R., Bonica,
+ R., and P. Psenak, "IGP Flexible Algorithm in IP
+ Networks", RFC 9502, DOI 10.17487/RFC9502, November 2023,
+ <https://www.rfc-editor.org/info/rfc9502>.
+
+ [RFC9552] Talaulikar, K., Ed., "Distribution of Link-State and
+ Traffic Engineering Information Using BGP", RFC 9552,
+ DOI 10.17487/RFC9552, December 2023,
+ <https://www.rfc-editor.org/info/rfc9552>.
+
+ [RR94] Rodrigues, M. and K.G. Ramakrishnan, "Optimal routing in
+ shortest-path data networks", Bell Labs Technical Journal,
+ Volume 6, Issue 1, Pages 117-138, DOI 10.1002/bltj.2267,
+ August 2002,
+ <https://onlinelibrary.wiley.com/doi/abs/10.1002/
+ bltj.2267>.
+
+ [SLDC98] Suter, B., Lakshman, T.V., Stiliadis, D., and A.K.
+ Choudhury, "Design considerations for supporting TCP with
+ per-flow queueing", Proceedings IEEE INFOCOM '98,
+ DOI 10.1109/INFCOM.1998.659666, April 1998,
+ <https://ieeexplore.ieee.org/document/659666>.
+
+ [SR-TE-POLICY]
+ Previdi, S., Filsfils, C., Talaulikar, K., Ed., Mattes,
+ P., and D. Jain, "Advertising Segment Routing Policies in
+ BGP", Work in Progress, Internet-Draft, draft-ietf-idr-
+ segment-routing-te-policy-26, 23 October 2023,
+ <https://datatracker.ietf.org/doc/html/draft-ietf-idr-
+ segment-routing-te-policy-26>.
+
+ [SR-TI-LFA]
+ Bashandy, A., Litkowski, S., Filsfils, C., Francois, P.,
+ Decraene, B., and D. Voyer, "Topology Independent Fast
+ Reroute using Segment Routing", Work in Progress,
+ Internet-Draft, draft-ietf-rtgwg-segment-routing-ti-lfa-
+ 13, 16 January 2024,
+ <https://datatracker.ietf.org/doc/html/draft-ietf-rtgwg-
+ segment-routing-ti-lfa-13>.
+
+ [TE-QoS-ROUTING]
+ Ash, G., "Traffic Engineering & QoS Methods for IP-, ATM-,
+ & Based Multiservice Networks", Work in Progress,
+ Internet-Draft, draft-ietf-tewg-qos-routing-04, October
+ 2001, <https://datatracker.ietf.org/doc/html/draft-ietf-
+ tewg-qos-routing-04>.
+
+ [WANG] Wang, Y., Wang, Z., and L. Zhang, "Internet traffic
+ engineering without full mesh overlaying", Proceedings
+ IEEE INFOCOM 2001, DOI 10.1109/INFCOM.2001.916782, April
+ 2001, <https://ieeexplore.ieee.org/document/916782>.
+
+ [XIAO] Xiao, X., Hannan, A., Bailey, B., and L. Ni, "Traffic
+ Engineering with MPLS in the Internet", IEEE Network,
+ Volume 14, Issue 2, Pages 28-33, DOI 10.1109/65.826369,
+ March 2000,
+ <https://courses.cs.washington.edu/courses/cse561/02au/
+ papers/xiao-mpls-net00.pdf>.
+
+ [YARE95] Yang, C. and A. Reddy, "A Taxonomy for Congestion Control
+ Algorithms in Packet Switching Networks", IEEE Network,
+ Pages 34-45, DOI 10.1109/65.397042, August 1995,
+ <https://ieeexplore.ieee.org/document/397042>.
+
+Appendix A. Summary of Changes since RFC 3272
+
+ The changes to this document since [RFC3272] are substantial and not
+ easily summarized as section-by-section changes. The material in the
+ document has been moved around considerably, some of it removed, and
+ new text added.
+
+ The approach taken here is to list the contents of both [RFC3272] and
+ this document saying, respectively, where the text has been placed
+ and where the text came from.
+
+A.1. RFC 3272
+
+ * Section 1.0 ("Introduction"): Edited in place in Section 1.
+
+ - Section 1.1 ("What is Internet Traffic Engineering?"): Edited
+ in place in Section 1.1.
+
+ - Section 1.2 ("Scope"): Moved to Section 1.3.
+
+ - Section 1.3 ("Terminology"): Moved to Section 1.4 with some
+ obsolete terms removed and a little editing.
+
+ * Section 2.0 ("Background"): Retained as Section 2 with some text
+ removed.
+
+ - Section 2.1 ("Context of Internet Traffic Engineering"):
+ Retained as Section 2.1.
+
+ - Section 2.2 ("Network Context"): Rewritten as Section 2.2.
+
+ - Section 2.3 ("Problem Context"): Rewritten as Section 2.3.
+
+ o Section 2.3.1 ("Congestion and its Ramifications"): Retained
+ as Section 2.3.1.
+
+ - Section 2.4 ("Solution Context"): Edited as Section 2.4.
+
+ o Section 2.4.1 ("Combating the Congestion Problem"):
+ Reformatted as Section 2.4.1.
+
+ - Section 2.5 ("Implementation and Operational Context"):
+ Retained as Section 2.5.
+
+ * Section 3.0 ("Traffic Engineering Process Model"): Retained as
+ Section 3.
+
+ - Section 3.1 ("Components of the Traffic Engineering Process
+ Model"): Retained as Section 3.1.
+
+ - Section 3.2 ("Measurement"): Merged into Section 3.1.
+
+ - Section 3.3 ("Modeling, Analysis, and Simulation"): Merged into
+ Section 3.1.
+
+ - Section 3.4 ("Optimization"): Merged into Section 3.1.
+
+ * Section 4.0 ("Historical Review and Recent Developments"):
+ Retained as Section 5, but the very historic aspects have been
+ deleted.
+
+ - Section 4.1 ("Traffic Engineering in Classical Telephone
+ Networks"): Deleted.
+
+ - Section 4.2 ("Evolution of Traffic Engineering in the
+ Internet"): Deleted.
+
+ - Section 4.3 ("Overlay Model"): Deleted.
+
+ - Section 4.4 ("Constraint-Based Routing"): Retained as
+ Section 5.1.3.1, but moved into Section 5.1.
+
+ - Section 4.5 ("Overview of Other IETF Projects Related to
+ Traffic Engineering"): Retained as Section 5.1 with many new
+ subsections.
+
+ o Section 4.5.1 ("Integrated Services"): Retained as
+ Section 5.1.1.1.
+
+ o Section 4.5.2 ("RSVP"): Retained as Section 5.1.3.2 with
+ some edits.
+
+ o Section 4.5.3 ("Differentiated Services"): Retained as
+ Section 5.1.1.2.
+
+ o Section 4.5.4 ("MPLS"): Retained as Section 5.1.3.3.
+
+ o Section 4.5.5 ("IP Performance Metrics"): Retained as
+ Section 5.1.3.6.
+
+ o Section 4.5.6 ("Flow Measurement"): Retained as
+ Section 5.1.3.7 with some reformatting.
+
+ o Section 4.5.7 ("Endpoint Congestion Management"): Retained
+ as Section 5.1.3.8.
+
+ - Section 4.6 ("Overview of ITU Activities Related to Traffic
+ Engineering"): Deleted.
+
+ - Section 4.7 ("Content Distribution"): Retained as Section 5.2.
+
+ * Section 5.0 ("Taxonomy of Traffic Engineering Systems"): Retained
+ as Section 4.
+
+ - Section 5.1 ("Time-Dependent Versus State-Dependent"): Retained
+ as Section 4.1.
+
+ - Section 5.2 ("Offline Versus Online"): Retained as Section 4.2.
+
+ - Section 5.3 ("Centralized Versus Distributed"): Retained as
+ Section 4.3 with additions.
+
+ - Section 5.4 ("Local Versus Global"): Retained as Section 4.4.
+
+ - Section 5.5 ("Prescriptive Versus Descriptive"): Retained as
+ Section 4.5 with additions.
+
+ - Section 5.6 ("Open-Loop Versus Closed-Loop"): Retained as
+ Section 4.6.
+
+ - Section 5.7 ("Tactical vs Strategic"): Retained as Section 4.7.
+
+ * Section 6.0 ("Recommendations for Internet Traffic Engineering"):
+ Retained as Section 6.
+
+ - Section 6.1 ("Generic Non-functional Recommendations"):
+ Retained as Section 6.1.
+
+ - Section 6.2 ("Routing Recommendations"): Retained as
+ Section 6.2 with edits.
+
+ - Section 6.3 ("Traffic Mapping Recommendations"): Retained as
+ Section 6.3.
+
+ - Section 6.4 ("Measurement Recommendations"): Retained as
+ Section 6.4.
+
+ - Section 6.5 ("Network Survivability"): Retained as Section 6.6.
+
+ o Section 6.5.1 ("Survivability in MPLS Based Networks"):
+ Retained as Section 6.6.1.
+
+ o Section 6.5.2 ("Protection Option"): Retained as
+ Section 6.6.2.
+
+ - Section 6.6 ("Traffic Engineering in Diffserv Environments"):
+ Retained as Section 6.8 with edits.
+
+ - Section 6.7 ("Network Controllability"): Retained as
+ Section 6.9.
+
+ * Section 7.0 ("Inter-Domain Considerations"): Retained as
+ Section 7.
+
+ * Section 8.0 ("Overview of Contemporary TE Practices in Operational
+ IP Networks"): Retained as Section 8.
+
+ * Section 9.0 ("Conclusion"): Removed.
+
+ * Section 10.0 ("Security Considerations"): Retained as Section 9
+ with considerable new text.
+
+A.2. This Document
+
+ * Section 1: Based on Section 1 of [RFC3272].
+
+ - Section 1.1: Based on Section 1.1 of [RFC3272].
+
+ - Section 1.2: New for this document.
+
+ - Section 1.3: Based on Section 1.2 of [RFC3272].
+
+ - Section 1.4: Based on Section 1.3 of [RFC3272].
+
+ * Section 2: Based on Section 2 of [RFC3272].
+
+ - Section 2.1: Based on Section 2.1 of [RFC3272].
+
+ - Section 2.2: Based on Section 2.2 of [RFC3272].
+
+ - Section 2.3: Based on Section 2.3 of [RFC3272].
+
+ o Section 2.3.1: Based on Section 2.3.1 of [RFC3272].
+
+ - Section 2.4: Based on Section 2.4 of [RFC3272].
+
+ o Section 2.4.1: Based on Section 2.4.1 of [RFC3272].
+
+ - Section 2.5: Based on Section 2.5 of [RFC3272].
+
+ * Section 3: Based on Section 3 of [RFC3272].
+
+ - Section 3.1: Based on Sections 3.1, 3.2, 3.3, and 3.4 of
+ [RFC3272].
+
+ * Section 4: Based on Section 5 of [RFC3272].
+
+ - Section 4.1: Based on Section 5.1 of [RFC3272].
+
+ - Section 4.2: Based on Section 5.2 of [RFC3272].
+
+ - Section 4.3: Based on Section 5.3 of [RFC3272].
+
+ o Section 4.3.1: New for this document.
+
+ o Section 4.3.2: New for this document.
+
+ - Section 4.4: Based on Section 5.4 of [RFC3272].
+
+ - Section 4.5: Based on Section 5.5 of [RFC3272].
+
+ o Section 4.5.1: New for this document.
+
+ - Section 4.6: Based on Section 5.6 of [RFC3272].
+
+ - Section 4.7: Based on Section 5.7 of [RFC3272].
+
+ * Section 5: Based on Section 4 of [RFC3272].
+
+ - Section 5.1: Based on Section 4.5 of [RFC3272].
+
+ o Section 5.1.1.1: Based on Section 4.5.1 of [RFC3272].
+
+ o Section 5.1.1.2: Based on Section 4.5.3 of [RFC3272].
+
+ o Section 5.1.1.3: New for this document.
+
+ o Section 5.1.1.4: New for this document.
+
+ o Section 5.1.1.5: New for this document.
+
+ o Section 5.1.2.1: New for this document.
+
+ o Section 5.1.2.2: New for this document.
+
+ o Section 5.1.2.3: New for this document.
+
+ o Section 5.1.3.1: Based on Section 4.4 of [RFC3272].
+
+ + Section 5.1.3.1.1: New for this document.
+
+ o Section 5.1.3.2: Based on Section 4.5.2 of [RFC3272].
+
+ o Section 5.1.3.3: Based on Section 4.5.4 of [RFC3272].
+
+ o Section 5.1.3.4: New for this document.
+
+ o Section 5.1.3.5: New for this document.
+
+ o Section 5.1.3.6: Based on Section 4.5.5 of [RFC3272].
+
+ o Section 5.1.3.7: Based on Section 4.5.6 of [RFC3272].
+
+ o Section 5.1.3.8: Based on Section 4.5.7 of [RFC3272].
+
+ o Section 5.1.3.9: New for this document.
+
+ o Section 5.1.3.10: New for this document.
+
+ o Section 5.1.3.11: New for this document.
+
+ o Section 5.1.3.12: New for this document.
+
+ o Section 5.1.3.13: New for this document.
+
+ o Section 5.1.3.14: New for this document.
+
+ o Section 5.1.3.15: New for this document.
+
+ - Section 5.2: Based on Section 4.7 of [RFC3272].
+
+ * Section 6: Based on Section 6 of [RFC3272].
+
+ - Section 6.1: Based on Section 6.1 of [RFC3272].
+
+ - Section 6.2: Based on Section 6.2 of [RFC3272].
+
+ - Section 6.3: Based on Section 6.3 of [RFC3272].
+
+ - Section 6.4: Based on Section 6.4 of [RFC3272].
+
+ - Section 6.5: New for this document.
+
+ - Section 6.6: Based on Section 6.5 of [RFC3272].
+
+ o Section 6.6.1: Based on Section 6.5.1 of [RFC3272].
+
+ o Section 6.6.2: Based on Section 6.5.2 of [RFC3272].
+
+ - Section 6.7: New for this document.
+
+ - Section 6.8: Based on Section 6.6 of [RFC3272].
+
+ - Section 6.9: Based on Section 6.7 of [RFC3272].
+
+ * Section 7: Based on Section 7 of [RFC3272].
+
+ * Section 8: Based on Section 8 of [RFC3272].
+
+ * Section 9: Based on Section 10 of [RFC3272].
+
+Acknowledgments
+
+ Much of the text in this document is derived from [RFC3272]. The
+ editor and contributors to this document would like to express their
+ gratitude to all involved in that work. Although the source text has
+ been edited in the production of this document, the original authors
+ should be considered as contributors to this work. They were:
+
+ Daniel O. Awduche
+ Movaz Networks
+
+
+ Angela Chiu
+ Celion Networks
+
+
+ Anwar Elwalid
+ Lucent Technologies
+
+
+ Indra Widjaja
+ Bell Labs, Lucent Technologies
+
+
+ XiPeng Xiao
+ Redback Networks
+
+
+ The acknowledgements in [RFC3272] were as below. All people who
+ helped in the production of that document also need to be thanked for
+ the carry-over into this new document.
+
+ | The authors would like to thank Jim Boyle for inputs on the
+ | recommendations section, Francois Le Faucheur for inputs on
+ | Diffserv aspects, Blaine Christian for inputs on measurement,
+ | Gerald Ash for inputs on routing in telephone networks and for
+ | text on event-dependent TE methods, Steven Wright for inputs on
+ | network controllability, and Jonathan Aufderheide for inputs on
+ | inter-domain TE with BGP. Special thanks to Randy Bush for
+ | proposing the TE taxonomy based on "tactical vs strategic"
+ | methods. The subsection describing an "Overview of ITU Activities
+ | Related to Traffic Engineering" was adapted from a contribution by
+ | Waisum Lai. Useful feedback and pointers to relevant materials
+ | were provided by J. Noel Chiappa. Additional comments were
+ | provided by Glenn Grotefeld during the working last call process.
+ | Finally, the authors would like to thank Ed Kern, the TEWG co-
+ | chair, for his comments and support.
+
+ The early draft versions of this document were produced by the TEAS
+ Working Group's RFC3272bis Design Team. The full list of members of
+ this team is:
+
+ Acee Lindem
+ Adrian Farrel
+ Aijun Wang
+ Daniele Ceccarelli
+ Dieter Beller
+ Jeff Tantsura
+ Julien Meuric
+ Liu Hua
+ Loa Andersson
+ Luis Miguel Contreras
+ Martin Horneffer
+ Tarek Saad
+ Xufeng Liu
+
+ The production of this document includes a fix to the original text
+ resulting from an errata report #309 [Err309] by Jean-Michel
+ Grimaldi.
+
+ The editor of this document would also like to thank Dhruv Dhody,
+ Gyan Mishra, Joel Halpern, Dave Taht, John Scudder, Rich Salz, Behcet
+ Sarikaya, Bob Briscoe, Erik Kline, Jim Guichard, Martin Duke, and
+ Roman Danyliw for review comments.
+
+ This work is partially supported by the European Commission under
+ Horizon 2020 grant agreement number 101015857 Secured autonomic
+ traffic management for a Tera of SDN flows (Teraflow).
+
+Contributors
+
+ The following people contributed substantive text to this document:
+
+ Gert Grammel
+ Email: ggrammel@juniper.net
+
+
+ Loa Andersson
+ Email: loa@pi.nu
+
+
+ Xufeng Liu
+ Email: xufeng.liu.ietf@gmail.com
+
+
+ Lou Berger
+ Email: lberger@labn.net
+
+
+ Jeff Tantsura
+ Email: jefftant.ietf@gmail.com
+
+
+ Daniel King
+ Email: daniel@olddog.co.uk
+
+
+ Boris Hassanov
+ Email: bhassanov@yandex-team.ru
+
+
+ Kiran Makhijani
+ Email: kiranm@futurewei.com
+
+
+ Dhruv Dhody
+ Email: dhruv.ietf@gmail.com
+
+
+ Mohamed Boucadair
+ Email: mohamed.boucadair@orange.com
+
+
+Author's Address
+
+ Adrian Farrel (editor)
+ Old Dog Consulting
+ Email: adrian@olddog.co.uk