rfc9522.original   rfc9522.txt 
TEAS Working Group A. Farrel, Ed. Internet Engineering Task Force (IETF) A. Farrel, Ed.
Internet-Draft Old Dog Consulting Request for Comments: 9522 Old Dog Consulting
Obsoletes: 3272 (if approved) 12 August 2023 Obsoletes: 3272 January 2024
Intended status: Informational Category: Informational
Expires: 13 February 2024 ISSN: 2070-1721
Overview and Principles of Internet Traffic Engineering Overview and Principles of Internet Traffic Engineering
draft-ietf-teas-rfc3272bis-27
Abstract Abstract
This document describes the principles of traffic engineering (TE) in This document describes the principles of traffic engineering (TE) in
the Internet. The document is intended to promote better the Internet. The document is intended to promote better
understanding of the issues surrounding traffic engineering in IP understanding of the issues surrounding traffic engineering in IP
networks and the networks that support IP networking, and to provide networks and the networks that support IP networking and to provide a
a common basis for the development of traffic engineering common basis for the development of traffic-engineering capabilities
capabilities for the Internet. The principles, architectures, and for the Internet. The principles, architectures, and methodologies
methodologies for performance evaluation and performance optimization for performance evaluation and performance optimization of
of operational networks are also discussed. operational networks are also discussed.
This work was first published as RFC 3272 in May 2002. This document 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 obsoletes RFC 3272 by making a complete update to bring the text in
line with best current practices for Internet traffic engineering and line with best current practices for Internet traffic engineering and
to include references to the latest relevant work in the IETF. to include references to the latest relevant work in the IETF.
Status of This Memo Status of This Memo
This Internet-Draft is submitted in full conformance with the This document is not an Internet Standards Track specification; it is
provisions of BCP 78 and BCP 79. published for informational purposes.
Internet-Drafts are working documents of the Internet Engineering
Task Force (IETF). Note that other groups may also distribute
working documents as Internet-Drafts. The list of current Internet-
Drafts is at https://datatracker.ietf.org/drafts/current/.
Internet-Drafts are draft documents valid for a maximum of six months This document is a product of the Internet Engineering Task Force
and may be updated, replaced, or obsoleted by other documents at any (IETF). It represents the consensus of the IETF community. It has
time. It is inappropriate to use Internet-Drafts as reference received public review and has been approved for publication by the
material or to cite them other than as "work in progress." 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.
This Internet-Draft will expire on 13 February 2024. 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 Notice
Copyright (c) 2023 IETF Trust and the persons identified as the Copyright (c) 2024 IETF Trust and the persons identified as the
document authors. All rights reserved. document authors. All rights reserved.
This document is subject to BCP 78 and the IETF Trust's Legal This document is subject to BCP 78 and the IETF Trust's Legal
Provisions Relating to IETF Documents (https://trustee.ietf.org/ Provisions Relating to IETF Documents
license-info) in effect on the date of publication of this document. (https://trustee.ietf.org/license-info) in effect on the date of
Please review these documents carefully, as they describe your rights publication of this document. Please review these documents
and restrictions with respect to this document. Code Components carefully, as they describe your rights and restrictions with respect
extracted from this document must include Revised BSD License text as to this document. Code Components extracted from this document must
described in Section 4.e of the Trust Legal Provisions and are include Revised BSD License text as described in Section 4.e of the
provided without warranty as described in the Revised BSD License. Trust Legal Provisions and are provided without warranty as described
in the Revised BSD License.
Table of Contents Table of Contents
1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . 3 1. Introduction
1.1. What is Internet Traffic Engineering? . . . . . . . . . . 4 1.1. What is Internet Traffic Engineering?
1.2. Components of Traffic Engineering . . . . . . . . . . . . 6 1.2. Components of Traffic Engineering
1.3. Scope . . . . . . . . . . . . . . . . . . . . . . . . . . 7 1.3. Scope
1.4. Terminology . . . . . . . . . . . . . . . . . . . . . . . 8 1.4. Terminology
2. Background . . . . . . . . . . . . . . . . . . . . . . . . . 12 2. Background
2.1. Context of Internet Traffic Engineering . . . . . . . . . 12 2.1. Context of Internet Traffic Engineering
2.2. Network Domain Context . . . . . . . . . . . . . . . . . 13 2.2. Network Domain Context
2.3. Problem Context . . . . . . . . . . . . . . . . . . . . . 15 2.3. Problem Context
2.3.1. Congestion and its Ramifications . . . . . . . . . . 16 2.3.1. Congestion and Its Ramifications
2.4. Solution Context . . . . . . . . . . . . . . . . . . . . 17 2.4. Solution Context
2.4.1. Combating the Congestion Problem . . . . . . . . . . 19 2.4.1. Combating the Congestion Problem
2.5. Implementation and Operational Context . . . . . . . . . 22 2.5. Implementation and Operational Context
3. Traffic Engineering Process Models . . . . . . . . . . . . . 22 3. Traffic-Engineering Process Models
3.1. Components of the Traffic Engineering Process Model . . . 23 3.1. Components of the Traffic-Engineering Process Model
4. Taxonomy of Traffic Engineering Systems . . . . . . . . . . . 23 4. Taxonomy of Traffic-Engineering Systems
4.1. Time-Dependent Versus State-Dependent Versus 4.1. Time-Dependent versus State-Dependent versus
Event-Dependent . . . . . . . . . . . . . . . . . . . . . 24 Event-Dependent
4.2. Offline Versus Online . . . . . . . . . . . . . . . . . . 25 4.2. Offline versus Online
4.3. Centralized Versus Distributed . . . . . . . . . . . . . 26 4.3. Centralized versus Distributed
4.3.1. Hybrid Systems . . . . . . . . . . . . . . . . . . . 26 4.3.1. Hybrid Systems
4.3.2. Considerations for Software Defined Networking . . . 27 4.3.2. Considerations for Software-Defined Networking
4.4. Local Versus Global . . . . . . . . . . . . . . . . . . . 27 4.4. Local versus Global
4.5. Prescriptive Versus Descriptive . . . . . . . . . . . . . 28 4.5. Prescriptive versus Descriptive
4.5.1. Intent-Based Networking . . . . . . . . . . . . . . . 28 4.5.1. Intent-Based Networking
4.6. Open-Loop Versus Closed-Loop . . . . . . . . . . . . . . 29 4.6. Open-Loop versus Closed-Loop
4.7. Tactical versus Strategic . . . . . . . . . . . . . . . . 29 4.7. Tactical versus Strategic
5. Review of TE Techniques . . . . . . . . . . . . . . . . . . . 29 5. Review of TE Techniques
5.1. Overview of IETF Projects Related to Traffic 5.1. Overview of IETF Projects Related to Traffic Engineering
Engineering . . . . . . . . . . . . . . . . . . . . . . . 30 5.1.1. IETF TE Mechanisms
5.1.1. IETF TE Mechanisms . . . . . . . . . . . . . . . . . 30 5.1.2. IETF Approaches Relying on TE Mechanisms
5.1.2. IETF Approaches Relying on TE Mechanisms . . . . . . 35 5.1.3. IETF Techniques Used by TE Mechanisms
5.1.3. IETF Techniques Used by TE Mechanisms . . . . . . . . 37 5.2. Content Distribution
5.2. Content Distribution . . . . . . . . . . . . . . . . . . 49 6. Recommendations for Internet Traffic Engineering
6. Recommendations for Internet Traffic Engineering . . . . . . 49 6.1. Generic Non-functional Recommendations
6.1. Generic Non-functional Recommendations . . . . . . . . . 50 6.2. Routing Recommendations
6.2. Routing Recommendations . . . . . . . . . . . . . . . . . 52 6.3. Traffic Mapping Recommendations
6.3. Traffic Mapping Recommendations . . . . . . . . . . . . . 54 6.4. Measurement Recommendations
6.4. Measurement Recommendations . . . . . . . . . . . . . . . 55 6.5. Policing, Planning, and Access Control
6.5. Policing, Planning, and Access Control . . . . . . . . . 56 6.6. Network Survivability
6.6. Network Survivability . . . . . . . . . . . . . . . . . . 57 6.6.1. Survivability in MPLS-Based Networks
6.6.1. Survivability in MPLS Based Networks . . . . . . . . 59 6.6.2. Protection Options
6.6.2. Protection Options . . . . . . . . . . . . . . . . . 60 6.7. Multi-Layer Traffic Engineering
6.7. Multi-Layer Traffic Engineering . . . . . . . . . . . . . 61 6.8. Traffic Engineering in Diffserv Environments
6.8. Traffic Engineering in Diffserv Environments . . . . . . 61 6.9. Network Controllability
6.9. Network Controllability . . . . . . . . . . . . . . . . . 63 7. Inter-Domain Considerations
7. Inter-Domain Considerations . . . . . . . . . . . . . . . . . 64
8. Overview of Contemporary TE Practices in Operational IP 8. Overview of Contemporary TE Practices in Operational IP
Networks . . . . . . . . . . . . . . . . . . . . . . . . 65 Networks
9. Security Considerations . . . . . . . . . . . . . . . . . . . 68 9. Security Considerations
10. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 69 10. IANA Considerations
11. Acknowledgments . . . . . . . . . . . . . . . . . . . . . . . 69 11. Informative References
12. Contributors . . . . . . . . . . . . . . . . . . . . . . . . 71 Appendix A. Summary of Changes since RFC 3272
13. Informative References . . . . . . . . . . . . . . . . . . . 72 A.1. RFC 3272
Appendix A. Summary of Changes Since RFC 3272 . . . . . . . . . 89 A.2. This Document
A.1. RFC 3272 . . . . . . . . . . . . . . . . . . . . . . . . 89 Acknowledgments
A.2. This Document . . . . . . . . . . . . . . . . . . . . . . 92 Contributors
Author's Address . . . . . . . . . . . . . . . . . . . . . . . . 95 Author's Address
1. Introduction 1. Introduction
This document describes the principles of Internet traffic This document describes the principles of Internet traffic
engineering (TE). The objective of the document is to articulate the engineering (TE). The objective of the document is to articulate the
general issues and principles for Internet TE, and where appropriate general issues and principles for Internet TE and, where appropriate,
to provide recommendations, guidelines, and options for the to provide recommendations, guidelines, and options for the
development of preplanned (offline) and dynamic (online) Internet TE development of preplanned (offline) and dynamic (online) Internet TE
capabilities and support systems. capabilities and support systems.
Even though Internet TE is most effective when applied end-to-end, 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 the focus of this document is TE within a given domain (such as an
autonomous system). However, because a preponderance of Internet Autonomous System (AS)). However, because a preponderance of
traffic tends to originate in one autonomous system and terminate in Internet traffic tends to originate in one AS and terminate in
another, this document also provides an overview of aspects another, this document also provides an overview of aspects
pertaining to inter-domain TE. pertaining to inter-domain TE.
This document provides a terminology and taxonomy for describing and This document provides terminology and a taxonomy for describing and
understanding common Internet TE concepts. understanding common Internet TE concepts.
This work was first published as [RFC3272] in May 2002. This This work was first published as [RFC3272] in May 2002. This
document obsoletes [RFC3272] by making a complete update to bring the document obsoletes [RFC3272] by making a complete update to bring the
text in line with best current practices for Internet TE and to text in line with best current practices for Internet TE and to
include references to the latest relevant work in the IETF. It is include references to the latest relevant work in the IETF. It is
worth noting around three fifths of the RFCs referenced in this worth noting around three-fifths of the RFCs referenced in this
document post-date the publication of RFC 3272. Appendix A provides document postdate the publication of [RFC3272]. Appendix A provides
a summary of changes between RFC 3272 and this document. a summary of changes between [RFC3272] and this document.
1.1. What is Internet Traffic Engineering? 1.1. What is Internet Traffic Engineering?
One of the most significant functions performed in the Internet is One of the most significant functions performed in the Internet is
the routing and forwarding of traffic from ingress nodes to egress the routing and forwarding of traffic from ingress nodes to egress
nodes. Therefore, one of the most distinctive functions performed by nodes. Therefore, one of the most distinctive functions performed by
Internet traffic engineering is the control and optimization of these Internet traffic engineering is the control and optimization of these
routing and forwarding functions, to steer traffic through the routing and forwarding functions, to steer traffic through the
network. network.
Internet traffic engineering is defined as that aspect of Internet Internet traffic engineering is defined as that aspect of Internet
network engineering dealing with the issues of performance evaluation network engineering dealing with the issues of performance evaluation
and performance optimization of operational IP networks. Traffic and performance optimization of operational IP networks. Traffic
engineering encompasses the application of technology and scientific engineering encompasses the application of technology and scientific
principles to the measurement, characterization, modeling, and principles to the measurement, characterization, modeling, and
control of Internet traffic [RFC2702], [AWD2]. control of Internet traffic [RFC2702] [AWD2].
It is the performance of the network as seen by end users of network It is the performance of the network as seen by end users of network
services that is paramount. The characteristics visible to end users services that is paramount. The characteristics visible to end users
are the emergent properties of the network, which are the are the emergent properties of the network, which are the
characteristics of the network when viewed as a whole. A central characteristics of the network when viewed as a whole. A central
goal of the service provider, therefore, is to enhance the emergent goal of the service provider, therefore, is to enhance the emergent
properties of the network while taking economic considerations into properties of the network while taking economic considerations into
account. This is accomplished by addressing traffic oriented account. This is accomplished by addressing traffic-oriented
performance requirements while utilizing network resources without performance requirements while utilizing network resources without
excessive waste and in a reliable way. Traffic oriented performance excessive waste and in a reliable way. Traffic-oriented performance
measures include delay, delay variation, packet loss, and throughput. measures include delay, delay variation, packet loss, and throughput.
Internet TE responds to network events (such as link or node Internet TE responds to network events (such as link or node
failures, reported or predicted network congestion, planned failures, reported or predicted network congestion, planned
maintenance, service degradation, planned changes in the traffic maintenance, service degradation, planned changes in the traffic
matrix, etc.). Aspects of capacity management respond at intervals matrix, etc.). Aspects of capacity management respond at intervals
ranging from days to years. Routing control functions operate at ranging from days to years. Routing control functions operate at
intervals ranging from milliseconds to days. Packet level processing intervals ranging from milliseconds to days. Packet-level processing
functions operate at very fine levels of temporal resolution (up to functions operate at very fine levels of temporal resolution (up to
milliseconds) while reacting to statistical measures of the real-time milliseconds) while reacting to statistical measures of the real-time
behavior of traffic. behavior of traffic.
Thus, the optimization aspects of TE can be viewed from a control Thus, the optimization aspects of TE can be viewed from a control
perspective, and can be both proactive and reactive. In the perspective and can be both proactive and reactive. In the proactive
proactive case, the TE control system takes preventive action to case, the TE control system takes preventive action to protect
protect against predicted unfavorable future network states, for against predicted unfavorable future network states, for example, by
example, by engineering backup paths. It may also take action that engineering backup paths. It may also take action that will lead to
will lead to a more desirable future network state. In the reactive a more desirable future network state. In the reactive case, the
case, the control system responds to correct issues and adapt to control system responds to correct issues and adapt to network
network events, such as routing after failure. events, such as routing after failure.
Another important objective of Internet TE is to facilitate reliable Another important objective of Internet TE is to facilitate reliable
network operations [RFC2702]. Reliable network operations can be network operations [RFC2702]. Reliable network operations can be
facilitated by providing mechanisms that enhance network integrity facilitated by providing mechanisms that enhance network integrity
and by embracing policies emphasizing network survivability. This and by embracing policies emphasizing network survivability. This
reduces the vulnerability of services to outages arising from errors, reduces the vulnerability of services to outages arising from errors,
faults, and failures occurring within the network infrastructure. faults, and failures occurring within the network infrastructure.
The optimization aspects of TE can be achieved through capacity The optimization aspects of TE can be achieved through capacity
management and traffic management. In this document, capacity management and traffic management. In this document, capacity
management includes capacity planning, routing control, and resource management includes capacity planning, routing control, and resource
management. Network resources of particular interest include link management. Network resources of particular interest include link
bandwidth, buffer space, and computational resources. In this bandwidth, buffer space, and computational resources. In this
document, traffic management includes: document, traffic management includes:
1. Nodal traffic control functions such as traffic conditioning, 1. Nodal traffic control functions, such as traffic conditioning,
queue management, and scheduling. queue management, and scheduling.
2. Other functions that regulate the flow of traffic through the 2. Other functions that regulate the flow of traffic through the
network or that arbitrate access to network resources between network or that arbitrate access to network resources between
different packets or between different traffic flows. different packets or between different traffic flows.
One major challenge of Internet TE is the realization of automated One major challenge of Internet TE is the realization of automated
control capabilities that adapt quickly and cost effectively to control capabilities that adapt quickly and cost-effectively to
significant changes in network state, while still maintaining significant changes in network state, while still maintaining
stability of the network. Performance evaluation can assess the stability of the network. Performance evaluation can assess the
effectiveness of TE methods, and the results of this evaluation can effectiveness of TE methods, and the results of this evaluation can
be used to identify existing problems, guide network re-optimization, be used to identify existing problems, guide network reoptimization,
and aid in the prediction of potential future problems. However, and aid in the prediction of potential future problems. However,
this process can also be time consuming and may not be suitable to this process can also be time-consuming and may not be suitable to
act on short-lived changes in the network. act on short-lived changes in the network.
Performance evaluation can be achieved in many different ways. The Performance evaluation can be achieved in many different ways. The
most notable techniques include analytic methods, simulation, and most notable techniques include analytic methods, simulation, and
empirical methods based on measurements. empirical methods based on measurements.
Traffic engineering comes in two flavors: Traffic engineering comes in two flavors:
* A background process that constantly monitors traffic and network * A background process that constantly monitors traffic and network
conditions, and optimizes the use of resources to improve conditions and optimizes the use of resources to improve
performance. performance.
* A form of a pre-planned traffic distribution that is considered * A form of a pre-planned traffic distribution that is considered
optimal. optimal.
In the latter case, any deviation from the optimum distribution In the latter case, any deviation from the optimum distribution
(e.g., caused by a fiber cut) is reverted upon repair without further (e.g., caused by a fiber cut) is reverted upon repair without further
optimization. However, this form of TE relies upon the notion that optimization. However, this form of TE relies upon the notion that
the planned state of the network is optimal. Hence, in such a mode the planned state of the network is optimal. Hence, there are two
there are two levels of TE: the TE-planning task to enable optimum levels of TE in such a mode:
traffic distribution, and the routing and forwarding tasks that keep
traffic flows attached to the pre-planned distribution. * 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 As a general rule, TE concepts and mechanisms must be sufficiently
specific and well-defined to address known requirements, but specific and well-defined to address known requirements but
simultaneously flexible and extensible to accommodate unforeseen simultaneously flexible and extensible to accommodate unforeseen
future demands (see Section 6.1). future demands (see Section 6.1).
1.2. Components of Traffic Engineering 1.2. Components of Traffic Engineering
As mentioned in Section 1.1, Internet traffic engineering provides As mentioned in Section 1.1, Internet traffic engineering provides
performance optimization of IP networks while utilizing network performance optimization of IP networks while utilizing network
resources economically and reliably. Such optimization is supported resources economically and reliably. Such optimization is supported
at the control/controller level and within the data/forwarding plane. at the control/controller level and within the data/forwarding plane.
The key elements required in any TE solution are as follows: The key elements required in any TE solution are as follows:
1. Policy 1. Policy
2. Path steering 2. Path steering
3. Resource management 3. Resource management
Some TE solutions rely on these elements to a lesser or greater Some TE solutions rely on these elements to a lesser or greater
extent. Debate remains about whether a solution can truly be called 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 "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 this document, we assert that all TE solutions must include some
aspects of all of these elements. Other solutions can be classed as aspects of all of these elements. Other solutions can be classed as
"partial TE" and also fall in scope of this document. "partial TE" and also fall in scope of this document.
Policy allows for the selection of paths (including next hops) based Policy allows for the selection of paths (including next hops) based
on information beyond basic reachability. Early definitions of on information beyond basic reachability. Early definitions of
routing policy, e.g., [RFC1102] and [RFC1104], discuss routing policy routing policy, e.g., [RFC1102] and [RFC1104], discuss routing policy
being applied to restrict access to network resources at an aggregate being applied to restrict access to network resources at an aggregate
level. BGP is an example of a commonly used mechanism for applying level. BGP is an example of a commonly used mechanism for applying
such policies, see [RFC4271] and [RFC8955]. In the TE context, such policies; see [RFC4271] and [RFC8955]. In the TE context,
policy decisions are made within the control plane or by controllers policy decisions are made within the control plane or by controllers
in the management plane, and govern the selection of paths. Examples in the management plane and govern the selection of paths. Examples
can be found in [RFC4655] and [RFC5394]. TE solutions may cover the can be found in [RFC4655] and [RFC5394]. TE solutions may cover the
mechanisms to distribute and/or enforce policies, but definition of mechanisms to distribute and/or enforce policies, but definition of
specific policies is left to the network operator. specific policies is left to the network operator.
Path steering is the ability to forward packets using more Path steering is the ability to forward packets using more
information than just knowledge of the next hop. Examples of path information than just knowledge of the next hop. Examples of path
steering include IPv4 source routes [RFC0791], RSVP-TE explicit steering include IPv4 source routes [RFC0791], RSVP-TE explicit
routes [RFC3209], Segment Routing [RFC8402], and Service Function routes [RFC3209], Segment Routing (SR) [RFC8402], and Service
Chaining [RFC7665]. Path steering for TE can be supported via Function Chaining [RFC7665]. Path steering for TE can be supported
control plane protocols, by encoding in the data plane headers, or by via control plane protocols, by encoding in the data plane headers,
a combination of the two. This includes when control is provided by or by a combination of the two. This includes when control is
a controller using a network-facing control protocol. provided by a controller using a network-facing control protocol.
Resource management provides resource-aware control and forwarding. Resource management provides resource-aware control and forwarding.
Examples of resources are bandwidth, buffers, and queues, all of Examples of resources are bandwidth, buffers, and queues, all of
which can be managed to control loss and latency. which can be managed to control loss and latency.
* Resource reservation is the control aspect of resource management. Resource reservation is the control aspect of resource management.
It provides for domain-wide consensus about which network It provides for domain-wide consensus about which network resources
resources are used by a particular flow. This determination may are used by a particular flow. This determination may be made at a
be made at a very coarse or very fine level. Note that this very coarse or very fine level. Note that this consensus exists at
consensus exists at the network control or controller level, not the network control or controller level but not within the data
within the data plane. It may be composed purely of accounting/ plane. It may be composed purely of accounting/bookkeeping, but it
bookkeeping, but it typically includes an ability to admit, typically includes an ability to admit, reject, or reclassify a flow
reject, or reclassify a flow based on policy. Such accounting can based on policy. Such accounting can be done based on any
be done based on any combination of a static understanding of combination of a static understanding of resource requirements and
resource requirements, and the use of dynamic mechanisms to the use of dynamic mechanisms to collect requirements (e.g., via
collect requirements (e.g., via [RFC3209]) and resource RSVP-TE [RFC3209]) and resource availability (e.g., via OSPF
availability (e.g., via [RFC4203]). extensions for GMPLS [RFC4203]).
* Resource allocation is the data plane aspect of resource Resource allocation is the data plane aspect of resource management.
management. It provides for the allocation of specific node and It provides for the allocation of specific node and link resources to
link resources to specific flows. Example resources include specific flows. Example resources include buffers, policing, and
buffers, policing, and rate-shaping mechanisms that are typically rate-shaping mechanisms that are typically supported via queuing.
supported via queuing. It also includes the matching of a flow Resource allocation also includes the matching of a flow (i.e., flow
(i.e., flow classification) to a particular set of allocated classification) to a particular set of allocated resources. The
resources. The method of flow classification and granularity of method of flow classification and granularity of resource management
resource management is technology-specific. Examples include is technology-specific. Examples include Diffserv with dropping and
Diffserv with dropping and remarking [RFC4594], MPLS-TE [RFC3209], remarking [RFC4594], MPLS-TE [RFC3209], GMPLS-based Label Switched
and GMPLS based label switched paths [RFC3945], as well as Paths (LSPs) [RFC3945], as well as controller-based solutions
controller-based solutions [RFC8453]. This level of resource [RFC8453]. This level of resource control, while optional, is
control, while optional, is important in networks that wish to important in networks that wish to support network congestion
support network congestion management policies to control or management policies to control or regulate the offered traffic to
regulate the offered traffic to deliver different levels of deliver different levels of service and alleviate network congestion
service and alleviate network congestion problems, or those problems. It is also important in networks that wish to control the
networks that wish to control the latency experienced by specific latency experienced by specific traffic flows.
traffic flows.
1.3. Scope 1.3. Scope
The scope of this document is intra-domain TE because this is the 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 practical level of TE technology that exists in the Internet at the
time of writing. That is, it describes TE within a given autonomous time of writing. That is, this document describes TE within a given
system in the Internet. This document discusses concepts pertaining AS in the Internet. This document discusses concepts pertaining to
to intra-domain traffic control, including such issues as routing intra-domain traffic control, including such issues as routing
control, micro and macro resource allocation, and the control control, micro and macro resource allocation, and control
coordination problems that arise consequently. coordination problems that arise consequently.
This document describes and characterizes techniques already in use This document describes and characterizes techniques already in use
or in advanced development for Internet TE. The way these techniques or in advanced development for Internet TE. The way these techniques
fit together is discussed and scenarios in which they are useful will fit together is discussed and scenarios in which they are useful are
be identified. identified.
Although the emphasis in this document is on intra-domain traffic Although the emphasis in this document is on intra-domain traffic
engineering, an overview of the high-level considerations pertaining engineering, an overview of the high-level considerations pertaining
to inter-domain TE is provided in Section 7. Inter-domain Internet to inter-domain TE is provided in Section 7. Inter-domain Internet
TE is crucial to the performance enhancement of the world-wide TE is crucial to the performance enhancement of the world-wide
Internet infrastructure. Internet infrastructure.
Whenever possible, relevant requirements from existing IETF documents Whenever possible, relevant requirements from existing IETF documents
and other sources are incorporated by reference. and other sources are incorporated by reference.
1.4. Terminology 1.4. Terminology
This section provides terminology which is useful for Internet TE. This section provides terminology that is useful for Internet TE.
The definitions presented apply to this document. These terms may The definitions presented apply to this document. These terms may
have other meanings elsewhere. have other meanings elsewhere.
Busy hour: A one hour period within a specified interval of time Busy hour: A one-hour period within a specified interval of time
(typically 24 hours) in which the traffic load in a network or (typically 24 hours) in which the traffic load in a network or
sub-network is greatest. sub-network is greatest.
Congestion: A state of a network resource in which the traffic Congestion: A state of a network resource in which the traffic
incident on the resource exceeds its output capacity over an incident on the resource exceeds its output capacity over an
interval of time. A small amount of congestion may be beneficial interval of time. A small amount of congestion may be beneficial
to ensure that network resources are run at full capacity, and to ensure that network resources are run at full capacity, and
this may be particularly true at the network edge where it is this may be particularly true at the network edge where it is
desirable to ensure that user traffic is served as much as desirable to ensure that user traffic is served as much as
possible. Within the network, if congestion is allowed to build possible. Within the network, if congestion is allowed to build
(such as when input traffic exceeds output traffic in a sustained (such as when input traffic exceeds output traffic in a sustained
way) it will have a negative effect on user traffic. way), it will have a negative effect on user traffic.
Congestion avoidance: An approach to congestion management that Congestion avoidance: An approach to congestion management that
attempts to obviate the occurrence of congestion. Chiefly attempts to obviate the occurrence of congestion. It is chiefly
relevant to network congestion although may form a part of demand- relevant to network congestion, although it may form a part of
side congestion management. demand-side congestion management.
Congestion response: An approach to congestion management that Congestion response: An approach to congestion management that
attempts to remedy congestion problems that have already occurred. attempts to remedy congestion problems that have already occurred.
Constraint-based routing: A class of routing protocols that take Constraint-based routing: A class of routing protocols that takes
specified traffic attributes, network constraints, and policy specified traffic attributes, network constraints, and policy
constraints into account when making routing decisions. constraints into account when making routing decisions.
Constraint-based routing is applicable to traffic aggregates as Constraint-based routing is applicable to traffic aggregates as
well as flows. It is a generalization of QoS-based routing. well as flows. It is a generalization of QoS-based routing.
Demand-side congestion management: A congestion management scheme Demand-side congestion management: A congestion management scheme
that addresses congestion problems by regulating or conditioning that addresses congestion problems by regulating or conditioning
offered load. the offered load.
Effective bandwidth: The minimum amount of bandwidth that can be Effective bandwidth: The minimum amount of bandwidth that can be
assigned to a flow or traffic aggregate in order to deliver assigned to a flow or traffic aggregate in order to deliver
'acceptable service quality' to the flow or traffic aggregate. "acceptable service quality" to the flow or traffic aggregate.
See [KELLY] for a more mathematical definition. See [KELLY] for a more mathematical definition.
Egress node: The device (router) at which traffic leaves a network Egress node: The device (router) at which traffic leaves a network
toward a destination (host, server, etc.) or to another network. toward a destination (host, server, etc.) or to another network.
End-to-end: This term is context-dependent and often applies to the End-to-end: This term is context-dependent and often applies to the
life of a traffic flow from original source to final destination. life of a traffic flow from original source to final destination.
In contrast, edge-to-edge is often used to describe the traffic In contrast, edge-to-edge is often used to describe the traffic
flow from the entry to a domain or network, to the exit from that flow from the entry of a domain or network to the exit of that
domain or network. In some contexts, however, for example where domain or network. However, in some contexts (for example, where
there is a service interface between a network and the client of there is a service interface between a network and the client of
that network, or where a path traverses multiple domains under the 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 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 full operation of the service that may be composed of concatenated
edge-to-edge operations. Thus, in the context of TE, the term 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 "end-to-end" may refer to the full TE path but not to the complete
path of the traffic from source application to ultimate path of the traffic from source application to ultimate
destination. destination.
Hot-spot: A network element or subsystem which is in a considerably Hotspot: A network element or subsystem that is in a considerably
higher state of congestion than others. higher state of congestion than others.
Ingress node: The device (router) at which traffic enters a network Ingress node: The device (router) at which traffic enters a network
from a source (host) or from another network. from a source (host) or from another network.
Metric: A parameter defined in terms of standard units of Metric: A parameter defined in terms of standard units of
measurement. measurement.
Measurement methodology: A repeatable measurement technique used to Measurement methodology: A repeatable measurement technique used to
derive one or more metrics of interest. derive one or more metrics of interest.
skipping to change at page 10, line 5 skipping to change at line 434
or a specific link that is sufficiently extreme that it results in or a specific link that is sufficiently extreme that it results in
unacceptable queuing delay or packet loss. Network congestion can unacceptable queuing delay or packet loss. Network congestion can
negatively impact end-to-end or edge-to-edge traffic flows, so TE negatively impact end-to-end or edge-to-edge traffic flows, so TE
schemes may be deployed to balance traffic in the network and schemes may be deployed to balance traffic in the network and
deliver congestion avoidance. deliver congestion avoidance.
Network survivability: The capability to provide a prescribed level Network survivability: The capability to provide a prescribed level
of QoS for existing services after a given number of failures of QoS for existing services after a given number of failures
occur within the network. occur within the network.
Offered load: The offered load or offered traffic load is a measure Offered load: Offered load is also sometimes called "offered traffic
of the amount of traffic being presented to be carried across a load". It is a measure of the amount of traffic being presented
network compared to the capacity of the network to carry it. This to be carried across a network compared to the capacity of the
term derives from queuing theory and an offered load of 1 network to carry it. This term derives from queuing theory, and
indicates that the network can carry, but only just manage to an offered load of 1 indicates that the network can carry, but
carry, all of the traffic presented to it. only just manage to carry, all of the traffic presented to it.
Offline traffic engineering: A traffic engineering system that Offline traffic engineering: A traffic engineering system that
exists outside of the network. exists outside of the network.
Online traffic engineering: A traffic engineering system that exists Online traffic engineering: A traffic-engineering system that exists
within the network, typically implemented on or as adjuncts to within the network, typically implemented on or as adjuncts to
operational network elements. operational network elements.
Performance measures: Metrics that provide quantitative or Performance measures: Metrics that provide quantitative or
qualitative measures of the performance of systems or subsystems qualitative measures of the performance of systems or subsystems
of interest. of interest.
Performance metric: A performance parameter defined in terms of Performance metric: A performance parameter defined in terms of
standard units of measurement. standard units of measurement.
Provisioning: The process of assigning or configuring network Provisioning: The process of assigning or configuring network
resources to meet certain requests. resources to meet certain requests.
Quality of Service (QoS): QoS ([RFC3198]) refers to the mechanisms Quality of Service (QoS): QoS [RFC3198] refers to the mechanisms
used within a network to achieve specific goals for the delivery used within a network to achieve specific goals for the delivery
of traffic for a particular service according to the parameters of traffic for a particular service according to the parameters
specified in a Service Level Agreement. "Quality" is specified in a Service Level Agreement. "Quality" is
characterized by service availability, delay, jitter, throughput characterized by service availability, delay, jitter, throughput,
and packet loss ratio. At a network resource level, "Quality of and packet loss ratio. At a network resource level, "Quality of
Service" refers to a set of capabilities that allow a service Service" refers to a set of capabilities that allow a service
provider to prioritize traffic, control bandwidth, and network provider to prioritize traffic, control bandwidth, and network
latency. latency.
QoS routing: Class of routing systems that selects paths to be used QoS routing: Class of routing systems that selects paths to be used
by a flow based on the QoS requirements of the flow. by a flow based on the QoS requirements of the flow.
Service Level Agreement (SLA): A contract between a provider and a Service Level Agreement (SLA): A contract between a provider and a
customer that guarantees specific levels of performance and customer that guarantees specific levels of performance and
reliability at a certain cost. reliability at a certain cost.
Service Level Objective (SLO): A key element of an SLA between a Service Level Objective (SLO): A key element of an SLA between a
provider and a customer. SLOs are agreed upon as a means of provider and a customer. SLOs are agreed upon as a means of
measuring the performance of the Service Provider and are outlined measuring the performance of the service provider and are outlined
as a way of avoiding disputes between the two parties based on as a way of avoiding disputes between the two parties based on
misunderstanding. misunderstanding.
Stability: An operational state in which a network does not Stability: An operational state in which a network does not
oscillate in a disruptive manner from one mode to another mode. oscillate in a disruptive manner from one mode to another mode.
Supply-side congestion management: A congestion management scheme Supply-side congestion management: A congestion management scheme
that provisions additional network resources to address existing that provisions additional network resources to address existing
and/or anticipated congestion problems. and/or anticipated congestion problems.
Traffic characteristic: A description of the temporal behavior or a Traffic characteristic: A description of the temporal behavior or a
description of the attributes of a given traffic flow or traffic description of the attributes of a given traffic flow or traffic
aggregate. aggregate.
Traffic engineering system: A collection of objects, mechanisms, and Traffic-engineering system: A collection of objects, mechanisms, and
protocols that are used together to accomplish traffic engineering protocols that are used together to accomplish traffic-engineering
objectives. objectives.
Traffic flow: A stream of packets between two end-points that can be Traffic flow: A stream of packets between two endpoints that can be
characterized in a certain way. A common classification for a characterized in a certain way. A common classification for a
traffic flow selects packets with the "five-tuple" of source and traffic flow selects packets with the five-tuple of source and
destination addresses, source and destination ports, and protocol destination addresses, source and destination ports, and protocol
ID. Flows may be very small and transient, ranging to very large. ID. Flows may be very small and transient, ranging to very large.
The TE techniques described in this document are likely to be more The TE techniques described in this document are likely to be more
effective when applied to large flows. Traffic flows may be effective when applied to large flows. Traffic flows may be
aggregated and treated as a single unit in some forms of TE making aggregated and treated as a single unit in some forms of TE,
it possible to apply TE to the smaller flows that comprise the making it possible to apply TE to the smaller flows that comprise
aggregate. the aggregate.
Traffic mapping: Traffic mapping is the assignment of traffic Traffic mapping: Traffic mapping is the assignment of traffic
workload onto (pre- established) paths to meet certain workload onto (pre-established) paths to meet certain
requirements. requirements.
Traffic matrix: A representation of the traffic demand between a set Traffic matrix: A representation of the traffic demand between a set
of origin and destination abstract nodes. An abstract node can of origin and destination abstract nodes. An abstract node can
consist of one or more network elements. consist of one or more network elements.
Traffic monitoring: The process of observing traffic characteristics Traffic monitoring: The process of observing traffic characteristics
at a given point in a network and collecting the traffic at a given point in a network and collecting the traffic
information for analysis and further action. information for analysis and further action.
Traffic trunk: An aggregation of traffic flows belonging to the same Traffic trunk: An aggregation of traffic flows belonging to the same
class which are forwarded through a common path. A traffic trunk class that are forwarded through a common path. A traffic trunk
may be characterized by an ingress and egress node, and a set of may be characterized by an ingress and egress node and a set of
attributes which determine its behavioral characteristics and attributes that determine its behavioral characteristics and
requirements from the network. requirements from the network.
Workload: The workload or traffic workload is an evaluation of the Workload: Workload is also sometimes called "traffic workload". It
amount of work that must be done in a network in order to is an evaluation of the amount of work that must be done in a
facilitate the traffic demand. Colloquially, it is the answer to, network in order to facilitate the traffic demand. Colloquially,
"How busy is the network?" it is the answer to, "How busy is the network?"
2. Background 2. Background
The Internet aims to convey IP packets from ingress nodes to egress The Internet aims to convey IP packets from ingress nodes to egress
nodes efficiently, expeditiously, and economically. Furthermore, in nodes efficiently, expeditiously, and economically. Furthermore, in
a multiclass service environment (e.g., Diffserv capable networks - a multi-class service environment (e.g., Diffserv capable networks;
see Section 5.1.1.2), the resource sharing parameters of the network see Section 5.1.1.2), the resource-sharing parameters of the network
must be appropriately determined and configured according to must be appropriately determined and configured according to
prevailing policies and service models to resolve resource contention prevailing policies and service models to resolve resource contention
issues arising from mutual interference between packets traversing issues arising from mutual interference between packets traversing
the network. Thus, consideration must be given to resolving the network. Thus, consideration must be given to resolving
competition for network resources between traffic flows belonging to competition for network resources between traffic flows belonging to
the same service class (intra-class contention resolution) and the same service class (intra-class contention resolution) and
traffic flows belonging to different classes (inter-class contention traffic flows belonging to different classes (inter-class contention
resolution). resolution).
2.1. Context of Internet Traffic Engineering 2.1. Context of Internet Traffic Engineering
The context of Internet traffic engineering includes the following The context of Internet traffic engineering includes the following
sub-contexts: sub-contexts:
1. A network domain context that defines the scope under 1. A network domain context that defines the scope under
consideration, and in particular the situations in which the TE consideration and, in particular, the situations in which the TE
problems occur. The network domain context includes network problems occur. The network domain context includes network
structure, policies, characteristics, constraints, quality structure, policies, characteristics, constraints, quality
attributes, and optimization criteria. attributes, and optimization criteria.
2. A problem context defining the general and concrete issues that 2. A problem context defining the general and concrete issues that
TE addresses. The problem context includes identification, TE addresses. The problem context includes identification,
abstraction of relevant features, representation, formulation, abstraction of relevant features, representation, formulation,
specification of the requirements on the solution space, and specification of the requirements on the solution space, and
specification of the desirable features of acceptable solutions. specification of the desirable features of acceptable solutions.
skipping to change at page 13, line 8 skipping to change at line 577
4. An implementation and operational context in which the solutions 4. An implementation and operational context in which the solutions
are instantiated. The implementation and operational context are instantiated. The implementation and operational context
includes planning, organization, and execution. includes planning, organization, and execution.
The context of Internet TE and the different problem scenarios are The context of Internet TE and the different problem scenarios are
discussed in the following subsections. discussed in the following subsections.
2.2. Network Domain Context 2.2. Network Domain Context
IP networks range in size from small clusters of routers situated IP networks range in size from small clusters of routers situated
within a given location, to thousands of interconnected routers, within a given location to thousands of interconnected routers,
switches, and other components distributed all over the world. switches, and other components distributed all over the world.
At the most basic level of abstraction, an IP network can be At the most basic level of abstraction, an IP network can be
represented as a distributed dynamic system consisting of: represented as a distributed dynamic system consisting of:
* a set of interconnected resources which provide transport services * a set of interconnected resources that provide transport services
for IP traffic subject to certain constraints for IP traffic subject to certain constraints
* a demand system representing the offered load to be transported * a demand system representing the offered load to be transported
through the network through the network
* a response system consisting of network processes, protocols, and * a response system consisting of network processes, protocols, and
related mechanisms which facilitate the movement of traffic related mechanisms that facilitate the movement of traffic through
through the network (see also [AWD2]). the network (see also [AWD2])
The network elements and resources may have specific characteristics The network elements and resources may have specific characteristics
restricting the manner in which the traffic demand is handled. restricting the manner in which the traffic demand is handled.
Additionally, network resources may be equipped with traffic control Additionally, network resources may be equipped with traffic control
mechanisms managing the way in which the demand is serviced. Traffic mechanisms managing the way in which the demand is serviced. Traffic
control mechanisms may be used to: control mechanisms may be used to:
* control packet processing activities within a given resource * control packet processing activities within a given resource
* arbitrate contention for access to the resource by different * arbitrate contention for access to the resource by different
packets packets
* regulate traffic behavior through the resource. * regulate traffic behavior through the resource
A configuration management and provisioning system may allow the A configuration management and provisioning system may allow the
settings of the traffic control mechanisms to be manipulated by settings of the traffic control mechanisms to be manipulated by
external or internal entities in order to exercise control over the external or internal entities in order to exercise control over the
way in which the network elements respond to internal and external way in which the network elements respond to internal and external
stimuli. stimuli.
The details of how the network carries packets are specified in the The details of how the network carries packets are specified in the
policies of the network administrators and are installed through policies of the network administrators and are installed through
network configuration management and policy-based provisioning network configuration management and policy-based provisioning
systems. Generally, the types of service provided by the network systems. Generally, the types of service provided by the network
also depend upon the technology and characteristics of the network also depend upon the technology and characteristics of the network
elements and protocols, the prevailing service and utility models, elements and protocols, the prevailing service and utility models,
and the ability of the network administrators to translate policies and the ability of the network administrators to translate policies
into network configurations. into network configurations.
Internet networks have two significant characteristics: Internet networks have two significant characteristics:
* they provide real-time services * They provide real-time services.
* their operating environments are very dynamic. * Their operating environments are very dynamic.
The dynamic characteristics of IP and IP/MPLS networks can be The dynamic characteristics of IP and IP/MPLS networks can be
attributed in part to fluctuations in demand, to the interaction attributed in part to fluctuations in demand, the interaction between
between various network protocols and processes, to the rapid various network protocols and processes, the rapid evolution of the
evolution of the infrastructure which demands the constant inclusion infrastructure that demands the constant inclusion of new
of new technologies and new network elements, and to transient and technologies and new network elements, and the transient and
persistent faults which occur within the system. persistent faults that occur within the system.
Packets contend for the use of network resources as they are conveyed Packets contend for the use of network resources as they are conveyed
through the network. A network resource is considered to be through the network. A network resource is considered to be
congested if, for an interval of time, the arrival rate of packets congested if, for an interval of time, the arrival rate of packets
exceeds the output capacity of the resource. Network congestion may exceeds the output capacity of the resource. Network congestion may
result in some of the arriving packets being delayed or even dropped. result in some of the arriving packets being delayed or even dropped.
Network congestion increases transit delay and delay variation, may Network congestion increases transit delay and delay variation, may
lead to packet loss, and reduces the predictability of network lead to packet loss, and reduces the predictability of network
services. Clearly, while congestion may be a useful tool at ingress services. Clearly, while congestion may be a useful tool at ingress
edge nodes, network congestion is highly undesirable. Combating edge nodes, network congestion is highly undesirable. Combating
network congestion at a reasonable cost is a major objective of network congestion at a reasonable cost is a major objective of
Internet TE although it may need to be traded with other objectives Internet TE, although it may need to be traded with other objectives
to keep the costs reasonable. to keep the costs reasonable.
Efficient sharing of network resources by multiple traffic flows is a Efficient sharing of network resources by multiple traffic flows is a
basic operational premise for the Internet. A fundamental challenge basic operational premise for the Internet. A fundamental challenge
in network operation is to increase resource utilization while in network operation is to increase resource utilization while
minimizing the possibility of congestion. minimizing the possibility of congestion.
The Internet has to function in the presence of different classes of The Internet has to function in the presence of different classes of
traffic with different service requirements. This requirement is traffic with different service requirements. This requirement is
clarified in the architecture for Differentiated Services (Diffserv) clarified in the architecture for Differentiated Services (Diffserv)
skipping to change at page 14, line 51 skipping to change at line 669
Delivery requirements of a specific set of packets may be specified Delivery requirements of a specific set of packets may be specified
explicitly or implicitly. Two of the most important traffic delivery explicitly or implicitly. Two of the most important traffic delivery
requirements are: requirements are:
* Capacity constraints can be expressed statistically as peak rates, * Capacity constraints can be expressed statistically as peak rates,
mean rates, burst sizes, or as some deterministic notion of mean rates, burst sizes, or as some deterministic notion of
effective bandwidth. effective bandwidth.
* QoS requirements can be expressed in terms of: * QoS requirements can be expressed in terms of:
- integrity constraints such as packet loss - integrity constraints, such as packet loss
- temporal constraints such as timing restrictions for the
- temporal constraints, such as timing restrictions for the
delivery of each packet (delay) and timing restrictions for the delivery of each packet (delay) and timing restrictions for the
delivery of consecutive packets belonging to the same traffic delivery of consecutive packets belonging to the same traffic
stream (delay variation). stream (delay variation)
2.3. Problem Context 2.3. Problem Context
There are several problems associated with operating a network There are several problems associated with operating a network like
described in the previous section. This section analyzes the problem those described in the previous section. This section analyzes the
context in relation to TE. The identification, abstraction, problem context in relation to TE. The identification, abstraction,
representation, and measurement of network features relevant to TE representation, and measurement of network features relevant to TE
are significant issues. are significant issues.
A particular challenge is to formulate the problems that traffic A particular challenge is to formulate the problems that traffic
engineering attempts to solve. For example: engineering attempts to solve. For example:
* How to identify the requirements on the solution space? * How to identify the requirements on the solution space
* How to specify the desirable features of solutions? * How to specify the desirable features of solutions
* How to actually solve the problems? * How to actually solve the problems
* How to measure and characterize the effectiveness of solutions? * How to measure and characterize the effectiveness of solutions
Another class of problems is how to measure and estimate relevant Another class of problems is how to measure and estimate relevant
network state parameters. Effective TE relies on a good estimate of network state parameters. Effective TE relies on a good estimate of
the offered traffic load as well as a view of the underlying topology the offered traffic load as well as a view of the underlying topology
and associated resource constraints. Offline planning requires a and associated resource constraints. Offline planning requires a
full view of the topology of the network or partial network that is full view of the topology of the network or partial network that is
being planned. being planned.
Still another class of problem is how to characterize the state of Still another class of problem is how to characterize the state of
the network and how to evaluate its performance. The performance the network and how to evaluate its performance. The performance
evaluation problem is two-fold: one aspect relates to the evaluation evaluation problem is two-fold: one aspect relates to the evaluation
of the system-level performance of the network; the other aspect of the system-level performance of the network, and the other aspect
relates to the evaluation of resource-level performance, which relates to the evaluation of resource-level performance, which
restricts attention to the performance analysis of individual network restricts attention to the performance analysis of individual network
resources. resources.
In this document, we refer to the system-level characteristics of the In this document, we refer to the system-level characteristics of the
network as the "macro-states" and the resource-level characteristics network as the "macro-states" and the resource-level characteristics
as the "micro-states." The system-level characteristics are also as the "micro-states." The system-level characteristics are also
known as the emergent properties of the network. Correspondingly, we known as the emergent properties of the network. Correspondingly, we
refer to the TE schemes dealing with network performance optimization refer to the TE schemes dealing with network performance optimization
at the systems level as "macro-TE" and the schemes that optimize at at the systems level as "macro-TE" and the schemes that optimize at
skipping to change at page 16, line 22 skipping to change at line 727
circumstances, the system-level performance can be derived from the circumstances, the system-level performance can be derived from the
resource-level performance using appropriate rules of composition, resource-level performance using appropriate rules of composition,
depending upon the particular performance measures of interest. depending upon the particular performance measures of interest.
Another fundamental class of problem concerns how to effectively Another fundamental class of problem concerns how to effectively
optimize network performance. Performance optimization may entail optimize network performance. Performance optimization may entail
translating solutions for specific TE problems into network translating solutions for specific TE problems into network
configurations. Optimization may also entail some degree of resource configurations. Optimization may also entail some degree of resource
management control, routing control, and capacity augmentation. management control, routing control, and capacity augmentation.
2.3.1. Congestion and its Ramifications 2.3.1. Congestion and Its Ramifications
Network congestion is one of the most significant problems in an Network congestion is one of the most significant problems in an
operational IP context. A network element is said to be congested if operational IP context. A network element is said to be congested if
it experiences sustained overload over an interval of time. Although it experiences sustained overload over an interval of time. Although
congestion at the edge of the network may be beneficial in ensuring congestion at the edge of the network may be beneficial in ensuring
that the network delivers as much traffic as possible, network that the network delivers as much traffic as possible, network
congestion almost always results in degradation of service quality to congestion almost always results in degradation of service quality to
end users. Congestion avoidance and response schemes can include end users. Congestion avoidance and response schemes can include
demand-side policies and supply-side policies. Demand-side policies demand-side policies and supply-side policies. Demand-side policies
may restrict access to congested resources or dynamically regulate may restrict access to congested resources or dynamically regulate
the demand to alleviate the overload situation. Supply-side policies the demand to alleviate the overload situation. Supply-side policies
may expand or augment network capacity to better accommodate offered may expand or augment network capacity to better accommodate offered
traffic. Supply-side policies may also re-allocate network resources traffic. Supply-side policies may also reallocate network resources
by redistributing traffic over the infrastructure. Traffic by redistributing traffic over the infrastructure. Traffic
redistribution and resource re-allocation serve to increase the redistribution and resource reallocation serve to increase the
'effective capacity' of the network. effective capacity of the network.
The emphasis of this document is primarily on congestion management The emphasis of this document is primarily on congestion management
schemes falling within the scope of the network, rather than on schemes falling within the scope of the network, rather than on
congestion management systems dependent upon sensitivity and congestion management systems dependent upon sensitivity and
adaptivity from end-systems. That is, the aspects that are adaptivity from end systems. That is, the aspects that are
considered in this document with respect to congestion management are considered in this document with respect to congestion management are
those solutions that can be provided by control entities operating on those solutions that can be provided by control entities operating on
the network and by the actions of network administrators and network the network and by the actions of network administrators and network
operations systems. operations systems.
2.4. Solution Context 2.4. Solution Context
The solution context for Internet TE involves analysis, evaluation of The solution context for Internet TE involves analysis, evaluation of
alternatives, and choice between alternative courses of action. alternatives, and choice between alternative courses of action.
Generally, the solution context is based on making inferences about Generally, the solution context is based on making inferences about
the current or future state of the network, and making decisions that the current or future state of the network and making decisions that
may involve a preference between alternative sets of action. More may involve a preference between alternative sets of action. More
specifically, the solution context demands reasonable estimates of specifically, the solution context demands reasonable estimates of
traffic workload, characterization of network state, derivation of traffic workload, characterization of network state, derivation of
solutions which may be implicitly or explicitly formulated, and solutions that may be implicitly or explicitly formulated, and
possibly instantiating a set of control actions. Control actions may possibly instantiation of a set of control actions. Control actions
involve the manipulation of parameters associated with routing, may involve the manipulation of parameters associated with routing,
control over tactical capacity acquisition, and control over the control over tactical capacity acquisition, and control over the
traffic management functions. traffic management functions.
The following list of instruments may be applicable to the solution The following list of instruments may be applicable to the solution
context of Internet TE. context of Internet TE:
* A set of policies, objectives, and requirements (which may be * A set of policies, objectives, and requirements (which may be
context dependent) for network performance evaluation and context dependent) for network performance evaluation and
performance optimization. performance optimization.
* A collection of online and in some cases possibly offline tools * A collection of online and, in some cases, possibly offline tools
and mechanisms for measurement, characterization, modeling, and and mechanisms for measurement, characterization, modeling,
control of traffic, and control over the placement and allocation control of traffic, control over the placement and allocation of
of network resources, as well as control over the mapping or network resources, as well as control over the mapping or
distribution of traffic onto the infrastructure. distribution of traffic onto the infrastructure.
* A set of constraints on the operating environment, the network * A set of constraints on the operating environment, the network
protocols, and the TE system itself. protocols, and the TE system itself.
* A set of quantitative and qualitative techniques and methodologies * A set of quantitative and qualitative techniques and methodologies
for abstracting, formulating, and solving TE problems. for abstracting, formulating, and solving TE problems.
* A set of administrative control parameters which may be * A set of administrative control parameters that may be manipulated
manipulated through a configuration management system. Such a through a configuration management system. Such a system may
system may, itself, include a configuration control subsystem, a itself include a configuration control subsystem, a configuration
configuration repository, a configuration accounting subsystem, repository, a configuration accounting subsystem, and a
and a configuration auditing subsystem. configuration auditing subsystem.
* A set of guidelines for network performance evaluation, * A set of guidelines for network performance evaluation,
performance optimization, and performance improvement. performance optimization, and performance improvement.
Determining traffic characteristics through measurement or estimation Determining traffic characteristics through measurement or estimation
is very useful within the realm of the TE solution space. Traffic is very useful within the realm of the TE solution space. Traffic
estimates can be derived from customer subscription information, estimates can be derived from customer subscription information,
traffic projections, traffic models, and from actual measurements. traffic projections, traffic models, and actual measurements. The
The measurements may be performed at different levels, e.g., at the measurements may be performed at different levels, e.g., at the
traffic-aggregate level or at the flow level. Measurements 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 flow level or on small traffic aggregates may be performed at edge
nodes, when traffic enters and leaves the network. Measurements for nodes, when traffic enters and leaves the network. Measurements for
large traffic-aggregates may be performed within the core of the large traffic aggregates may be performed within the core of the
network. network.
To conduct performance studies and to support planning of existing To conduct performance studies and to support planning of existing
and future networks, a routing analysis may be performed to determine and future networks, a routing analysis may be performed to determine
the paths the routing protocols will choose for various traffic the paths the routing protocols will choose for various traffic
demands, and to ascertain the utilization of network resources as demands and to ascertain the utilization of network resources as
traffic is routed through the network. Routing analysis captures the traffic is routed through the network. Routing analysis captures the
selection of paths through the network, the assignment of traffic selection of paths through the network, the assignment of traffic
across multiple feasible routes, and the multiplexing of IP traffic across multiple feasible routes, and the multiplexing of IP traffic
over traffic trunks (if such constructs exist) and over the over traffic trunks (if such constructs exist) and over the
underlying network infrastructure. A model of network topology is underlying network infrastructure. A model of network topology is
necessary to perform routing analysis. A network topology model may necessary to perform routing analysis. A network topology model may
be extracted from: be extracted from:
* network architecture documents * network architecture documents
* network designs * network designs
* information contained in router configuration files * information contained in router configuration files
* routing databases such as the link state database of an interior * routing databases such as the link-state database of an Interior
gateway protocol (IGP) Gateway Protocol (IGP)
* routing tables * routing tables
* automated tools that discover and collate network topology * automated tools that discover and collate network topology
information. information
Topology information may also be derived from servers that monitor Topology information may also be derived from servers that monitor
network state, and from servers that perform provisioning functions. network state and from servers that perform provisioning functions.
Routing in operational IP networks can be administratively controlled Routing in operational IP networks can be administratively controlled
at various levels of abstraction including the manipulation of BGP at various levels of abstraction, including the manipulation of BGP
attributes and IGP metrics. For path-oriented technologies such as attributes and IGP metrics. For path-oriented technologies such as
MPLS, routing can be further controlled by the manipulation of MPLS, routing can be further controlled by the manipulation of
relevant TE parameters, resource parameters, and administrative relevant TE parameters, resource parameters, and administrative
policy constraints. Within the context of MPLS, the path of an policy constraints. Within the context of MPLS, the path of an
explicitly routed label switched path (LSP) can be computed and explicitly routed LSP can be computed and established in various
established in various ways including: ways, including:
* manually * manually
* automatically, online using constraint-based routing processes * automatically and online using constraint-based routing processes
implemented on label switching routers implemented on Label Switching Routers (LSRs)
* automatically, offline using constraint-based routing entities * automatically and offline using constraint-based routing entities
implemented on external TE support systems. implemented on external TE support systems
2.4.1. Combating the Congestion Problem 2.4.1. Combating the Congestion Problem
Minimizing congestion is a significant aspect of Internet traffic Minimizing congestion is a significant aspect of Internet traffic
engineering. This subsection gives an overview of the general engineering. This subsection gives an overview of the general
approaches that have been used or proposed to combat congestion. approaches that have been used or proposed to combat congestion.
Congestion management policies can be categorized based upon the Congestion management policies can be categorized based upon the
following criteria (see [YARE95] for a more detailed taxonomy of following criteria (see [YARE95] for a more detailed taxonomy of
congestion control schemes): congestion control schemes):
1. Congestion Management Based on Response Timescales 1. Congestion Management Based on Response Timescales
* Long (weeks to months): Expanding network capacity by adding * Long (weeks to months): Expanding network capacity by adding
new equipment, routers, and links takes time and is new equipment, routers, and links takes time and is
comparatively costly. Capacity planning needs to take this comparatively costly. Capacity planning needs to take this
into consideration. Network capacity is expanded based on into consideration. Network capacity is expanded based on
estimates or forecasts of future traffic development and estimates or forecasts of future traffic development and
traffic distribution. These upgrades are typically carried traffic distribution. These upgrades are typically carried
out over weeks or months, or maybe even years. out over weeks, months, or maybe even years.
* Medium (minutes to days): Several control policies fall within * Medium (minutes to days): Several control policies fall within
the medium timescale category. Examples include: the medium timescale category. Examples include:
a. Adjusting routing protocol parameters to route traffic a. Adjusting routing protocol parameters to route traffic
away from or towards certain segments of the network. away from or towards certain segments of the network.
b. Setting up or adjusting explicitly routed LSPs in MPLS b. Setting up or adjusting explicitly routed LSPs in MPLS
networks to route traffic trunks away from possibly networks to route traffic trunks away from possibly
congested resources or toward possibly more favorable congested resources or toward possibly more favorable
routes. routes.
c. Re-configuring the logical topology of the network to make c. Reconfiguring the logical topology of the network to make
it correlate more closely with the spatial traffic it correlate more closely with the spatial traffic
distribution using, for example, an underlying path- distribution using, for example, an underlying path-
oriented technology such as MPLS LSPs or optical channel oriented technology such as MPLS LSPs or optical channel
trails. trails.
When these schemes are adaptive, they rely on measurement When these schemes are adaptive, they rely on measurement
systems. A measurement system monitors changes in traffic systems. A measurement system monitors changes in traffic
distribution, traffic loads, and network resource utilization distribution, traffic loads, and network resource utilization
and then provides feedback to the online or offline TE and then provides feedback to the online or offline TE
mechanisms and tools so that they can trigger control actions mechanisms and tools so that they can trigger control actions
within the network. The TE mechanisms and tools can be within the network. The TE mechanisms and tools can be
implemented in a distributed or centralized fashion. A implemented in a distributed or centralized fashion. A
centralized scheme may have full visibility into the network centralized scheme may have full visibility into the network
state and may produce more optimal solutions. However, state and may produce more optimal solutions. However,
centralized schemes are prone to single points of failure and centralized schemes are prone to single points of failure and
may not scale as well as distributed schemes. Moreover, the may not scale as well as distributed schemes. Moreover, the
information utilized by a centralized scheme may be stale and information utilized by a centralized scheme may be stale and
might not reflect the actual state of the network. It is not might not reflect the actual state of the network. It is not
an objective of this document to make a recommendation between an objective of this document to make a recommendation between
distributed and centralized schemes: that is a choice that distributed and centralized schemes; that is a choice that
network administrators must make based on their specific network administrators must make based on their specific
needs. needs.
* Short (minutes or less): This category includes packet level * Short (minutes or less): This category includes packet-level
processing functions and events that are recorded on the order processing functions and events that are recorded on the order
of several round-trip times. It also includes router of several round-trip times. It also includes router
mechanisms such as passive and active buffer management. All mechanisms such as passive and active buffer management. All
of these mechanisms are used to control congestion or signal of these mechanisms are used to control congestion or signal
congestion to end systems so that they can adaptively regulate congestion to end systems so that they can adaptively regulate
the rate at which traffic is injected into the network. A the rate at which traffic is injected into the network. A
well-known active queue management scheme, especially for well-known active queue management scheme, especially for
responsive traffic such as TCP, is Random Early Detection responsive traffic such as TCP, is Random Early Detection
(RED) [FLJA93]. During congestion (but before the queue is (RED) [FLJA93]. During congestion (but before the queue is
filled), the RED scheme chooses arriving packets to "mark" filled), the RED scheme chooses arriving packets to "mark"
according to a probabilistic algorithm which takes into according to a probabilistic algorithm that takes into account
account the average queue size. A router that does not the average queue size. A router that does not utilize
utilize explicit congestion notification (ECN) [RFC3168] can Explicit Congestion Notification (ECN) [RFC3168] can simply
simply drop marked packets to alleviate congestion and drop marked packets to alleviate congestion and implicitly
implicitly notify the receiver about the congestion. On the notify the receiver about the congestion. On the other hand,
other hand, if the router and the end hosts support ECN, they if the router and the end hosts support ECN, they can set the
can set the ECN field in the packet header, and the end host ECN field in the packet header, and the end host can act on
can act on this information. Several variations of RED have this information. Several variations of RED have been
been proposed to support different drop precedence levels in proposed to support different drop precedence levels in multi-
multi-class environments [RFC2597]. RED provides congestion class environments [RFC2597]. RED provides congestion
avoidance which is better than or equivalent to traditional avoidance that is better than or equivalent to Tail-Drop (TD)
Tail-Drop (TD) queue management (drop arriving packets only queue management (drop arriving packets only when the queue is
when the queue is full). Importantly, RED reduces the full). Importantly, RED reduces the possibility of
possibility of retransmission bursts becoming synchronized retransmission bursts becoming synchronized within the network
within the network, and improves fairness among different and improves fairness among different responsive traffic
responsive traffic sessions. However, RED by itself cannot sessions. However, RED by itself cannot prevent congestion
prevent congestion and unfairness caused by sources and unfairness caused by sources unresponsive to RED, e.g.,
unresponsive to RED, e.g., some misbehaved greedy connections. some misbehaved greedy connections. Other schemes have been
Other schemes have been proposed to improve performance and proposed to improve performance and fairness in the presence
fairness in the presence of unresponsive traffic. Some of of unresponsive traffic. Some of those schemes (such as
those schemes (such as Longest Queue Drop (LQD) and Dynamic Longest Queue Drop (LQD) and Dynamic Soft Partitioning with
Soft Partitioning with Random Drop (RND) [SLDC98]) were Random Drop (RND) [SLDC98]) were proposed as theoretical
proposed as theoretical frameworks and are typically not frameworks and are typically not available in existing
available in existing commercial products, while others (such commercial products, while others (such as Approximate Fair
as Approximate Fairness Through Differential Dropping (AFD) Dropping (AFD) [AFD03]) have seen some implementation. Advice
[AFD03] have seen some implementation. Advice on the use of on the use of Active Queue Management (AQM) schemes is
Active Queue Management (AQM) schemes is provided in provided in [RFC7567]. [RFC7567] recommends self-tuning AQM
algorithms like those that the IETF has published in
[RFC7567]. [RFC7567] recommends self-tuning AQM algorithms [RFC8290], [RFC8033], [RFC8034], and [RFC9332], but RED is
like those that the IETF has published in [RFC8290], still appropriate for links with stable bandwidth, if
[RFC8033], [RFC8034], and [RFC9332], but RED is still configured carefully.
appropriate for links with stable bandwidth, if configured
carefully.
2. Reactive Versus Preventive Congestion Management Schemes 2. Reactive versus Preventive Congestion Management Schemes
* Reactive (recovery) congestion management policies react to * Reactive (recovery) congestion management policies react to
existing congestion problems. All the policies described existing congestion problems. All the policies described
above for the short and medium timescales can be categorized above for the short and medium timescales can be categorized
as being reactive. They are based on monitoring and as being reactive. They are based on monitoring and
identifying congestion problems that exist in the network, and identifying congestion problems that exist in the network and
on the initiation of relevant actions to ease a situation. on the initiation of relevant actions to ease a situation.
Reactive congestion management schemes may also be preventive. Reactive congestion management schemes may also be preventive.
* Preventive (predictive/avoidance) policies take proactive * Preventive (predictive/avoidance) policies take proactive
action to prevent congestion based on estimates and action to prevent congestion based on estimates and
predictions of future congestion problems (e.g., traffic predictions of future congestion problems (e.g., traffic
matrix forecasts). Some of the policies described for the matrix forecasts). Some of the policies described for the
long and medium timescales fall into this category. long and medium timescales fall into this category.
Preventive policies do not necessarily respond immediately to Preventive policies do not necessarily respond immediately to
existing congestion problems. Instead, forecasts of traffic existing congestion problems. Instead, forecasts of traffic
demand and workload distribution are considered, and action demand and workload distribution are considered, and action
may be taken to prevent potential future congestion problems. may be taken to prevent potential future congestion problems.
The schemes described for the short timescale can also be used The schemes described for the short timescale can also be used
for congestion avoidance because dropping or marking packets for congestion avoidance because dropping or marking packets
before queues actually overflow would trigger corresponding before queues actually overflow would trigger corresponding
responsive traffic sources to slow down. Preventive responsive traffic sources to slow down. Preventive
congestion management schemes may also be reactive. congestion management schemes may also be reactive.
3. Supply-Side Versus Demand-Side Congestion Management Schemes 3. Supply-Side versus Demand-Side Congestion Management Schemes
* Supply-side congestion management policies increase the * Supply-side congestion management policies increase the
effective capacity available to traffic in order to control or effective capacity available to traffic in order to control or
reduce congestion. This can be accomplished by increasing reduce congestion. This can be accomplished by increasing
capacity or by balancing distribution of traffic over the capacity or by balancing distribution of traffic over the
network. Capacity planning aims to provide a physical network. Capacity planning aims to provide a physical
topology and associated link bandwidths that match or exceed topology and associated link bandwidths that match or exceed
estimated traffic workload and traffic distribution subject to estimated traffic workload and traffic distribution, subject
traffic forecasts and budgetary or other constraints. If the to traffic forecasts and budgetary (or other) constraints. If
actual traffic distribution does not fit the topology derived the actual traffic distribution does not fit the topology
from capacity planning, then the traffic can be mapped onto derived from capacity planning, then the traffic can be mapped
the topology by using routing control mechanisms, by applying onto the topology by using routing control mechanisms, by
path oriented technologies (e.g., MPLS LSPs and optical applying path-oriented technologies (e.g., MPLS LSPs and
channel trails) to modify the logical topology, or by optical channel trails) to modify the logical topology or by
employing some other load redistribution mechanisms. employing some other load redistribution mechanisms.
* Demand-side congestion management policies control or regulate * Demand-side congestion management policies control or regulate
the offered traffic to alleviate congestion problems. For the offered traffic to alleviate congestion problems. For
example, some of the short timescale mechanisms described example, some of the short timescale mechanisms described
earlier as well as policing and rate-shaping mechanisms earlier as well as policing and rate-shaping mechanisms
attempt to regulate the offered load in various ways. attempt to regulate the offered load in various ways.
2.5. Implementation and Operational Context 2.5. Implementation and Operational Context
skipping to change at page 22, line 24 skipping to change at line 1013
changes that occur at multiple levels of abstraction. The changes that occur at multiple levels of abstraction. The
implementation context demands effective planning, organization, and implementation context demands effective planning, organization, and
execution. The planning aspects may involve determining prior sets execution. The planning aspects may involve determining prior sets
of actions to achieve desired objectives. Organizing involves of actions to achieve desired objectives. Organizing involves
arranging and assigning responsibility to the various components of arranging and assigning responsibility to the various components of
the TE system and coordinating the activities to accomplish the the TE system and coordinating the activities to accomplish the
desired TE objectives. Execution involves measuring and applying desired TE objectives. Execution involves measuring and applying
corrective or perfective actions to attain and maintain desired TE corrective or perfective actions to attain and maintain desired TE
goals. goals.
3. Traffic Engineering Process Models 3. Traffic-Engineering Process Models
This section describes a generic process model that captures the This section describes a generic process model that captures the
high-level practical aspects of Internet traffic engineering in an high-level practical aspects of Internet traffic engineering in an
operational context. The process model is described as a sequence of operational context. The process model is described as a sequence of
actions that must be carried out to optimize the performance of an actions that must be carried out to optimize the performance of an
operational network (see also [RFC2702], [AWD2]). This process model operational network (see also [RFC2702] and [AWD2]). This process
may be enacted explicitly or implicitly, by a software process or by model may be enacted explicitly or implicitly, by a software process
a human. or by a human.
The TE process model is iterative [AWD2]. The four phases of the The TE process model is iterative [AWD2]. The four phases of the
process model described below are repeated as a continual sequence. process model described below are repeated as a continual sequence:
* Define the relevant control policies that govern the operation of 1. Define the relevant control policies that govern the operation of
the network. the network.
* Acquire measurement data from the operational network. 2. Acquire measurement data from the operational network.
* Analyze the network state and characterize the traffic workload. 3. Analyze the network state and characterize the traffic workload.
Proactive analysis identifies potential problems that could Proactive analysis identifies potential problems that could
manifest in the future. Reactive analysis identifies existing manifest in the future. Reactive analysis identifies existing
problems and determines their causes. problems and determines their causes.
* Optimize the performance of the network. This involves a decision 4. Optimize the performance of the network. This involves a
process which selects and implements a set of actions from a set decision process that selects and implements a set of actions
of alternatives given the results of the three previous steps. from a set of alternatives given the results of the three
Optimization actions may include the use of techniques to control previous steps. Optimization actions may include the use of
the offered traffic and to control the distribution of traffic techniques to control the offered traffic and to control the
across the network. distribution of traffic across the network.
3.1. Components of the Traffic Engineering Process Model 3.1. Components of the Traffic-Engineering Process Model
The key components of the traffic engineering process model are as The key components of the traffic-engineering process model are as
follows. follows:
1. Measurement is crucial to the TE function. The operational state 1. Measurement is crucial to the TE function. The operational state
of a network can only be conclusively determined through of a network can only be conclusively determined through
measurement. Measurement is also critical to the optimization measurement. Measurement is also critical to the optimization
function because it provides feedback data which is used by TE function because it provides feedback data that is used by TE
control subsystems. This data is used to adaptively optimize control subsystems. This data is used to adaptively optimize
network performance in response to events and stimuli originating network performance in response to events and stimuli originating
within and outside the network. Measurement in support of the TE within and outside the network. Measurement in support of the TE
function can occur at different levels of abstraction. For function can occur at different levels of abstraction. For
example, measurement can be used to derive packet level example, measurement can be used to derive packet-level
characteristics, flow level characteristics, user or customer characteristics, flow-level characteristics, user- or customer-
level characteristics, traffic aggregate characteristics, level characteristics, traffic-aggregate characteristics,
component level characteristics, and network-wide component-level characteristics, and network-wide
characteristics. characteristics.
2. Modeling, analysis, and simulation are important aspects of 2. Modeling, analysis, and simulation are important aspects of
Internet TE. Modeling involves constructing an abstract or Internet TE. Modeling involves constructing an abstract or
physical representation which depicts relevant traffic physical representation that depicts relevant traffic
characteristics and network attributes. A network model is an characteristics and network attributes. A network model is an
abstract representation of the network which captures relevant abstract representation of the network that captures relevant
network features, attributes, and characteristics. Network network features, attributes, and characteristics. Network
simulation tools are extremely useful for TE. Because of the simulation tools are extremely useful for TE. Because of the
complexity of realistic quantitative analysis of network complexity of realistic quantitative analysis of network
behavior, certain aspects of network performance studies can only behavior, certain aspects of network performance studies can only
be conducted effectively using simulation. be conducted effectively using simulation.
3. Network performance optimization involves resolving network 3. Network performance optimization involves resolving network
issues by transforming such issues into concepts that enable a issues by transforming such issues into concepts that enable a
solution, identification of a solution, and implementation of the solution, identification of a solution, and implementation of the
solution. Network performance optimization can be corrective or solution. Network performance optimization can be corrective or
perfective. In corrective optimization, the goal is to remedy a perfective. In corrective optimization, the goal is to remedy a
problem that has occurred or that is incipient. In perfective problem that has occurred or that is incipient. In perfective
optimization, the goal is to improve network performance even optimization, the goal is to improve network performance even
when explicit problems do not exist and are not anticipated. when explicit problems do not exist and are not anticipated.
4. Taxonomy of Traffic Engineering Systems 4. Taxonomy of Traffic-Engineering Systems
This section presents a short 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 constructed based on TE styles and views as listed below and
described in greater detail in the following subsections of this described in greater detail in the following subsections of this
document. document:
* Time-Dependent versus State-Dependent versus Event-Dependent
* Time-dependent versus State-dependent versus Event-dependent
* Offline versus Online * Offline versus Online
* Centralized versus Distributed * Centralized versus Distributed
* Local versus Global Information * Local versus Global Information
* Prescriptive versus Descriptive * Prescriptive versus Descriptive
* Open Loop versus Closed Loop * Open-Loop versus Closed-Loop
* Tactical versus Strategic * Tactical versus Strategic
4.1. Time-Dependent Versus State-Dependent Versus Event-Dependent 4.1. Time-Dependent versus State-Dependent versus Event-Dependent
Traffic engineering methodologies can be classified as time- Traffic-engineering methodologies can be classified as time-
dependent, state-dependent, or event-dependent. All TE schemes are dependent, state-dependent, or event-dependent. All TE schemes are
considered to be dynamic in this document. Static TE implies that no considered to be dynamic in this document. Static TE implies that no
TE methodology or algorithm is being applied - it is a feature of TE methodology or algorithm is being applied -- it is a feature of
network planning, but lacks the reactive and flexible nature of TE. network planning but lacks the reactive and flexible nature of TE.
In time-dependent TE, historical information based on periodic In time-dependent TE, historical information based on periodic
variations in traffic (such as time of day) is used to pre-program variations in traffic (such as time of day) is used to pre-program
routing and other TE control mechanisms. Additionally, customer routing and other TE control mechanisms. Additionally, customer
subscription or traffic projection may be used. Pre-programmed subscription or traffic projection may be used. Pre-programmed
routing plans typically change on a relatively long time scale (e.g., routing plans typically change on a relatively long timescale (e.g.,
daily). Time-dependent algorithms do not attempt to adapt to short- daily). Time-dependent algorithms do not attempt to adapt to short-
term variations in traffic or changing network conditions. An term variations in traffic or changing network conditions. An
example of a time-dependent algorithm is a centralized optimizer example of a time-dependent algorithm is a centralized optimizer
where the input to the system is a traffic matrix and multi-class QoS where the input to the system is a traffic matrix and multi-class QoS
requirements as described in [MR99]. Another example of such a requirements as described in [MR99]. Another example of such a
methodology is the application of data mining to Internet traffic methodology is the application of data mining to Internet traffic
[AJ19] which enables the use of various machine learning algorithms [AJ19], which enables the use of various machine learning algorithms
to identify patterns within historically collected datasets about to identify patterns within historically collected datasets about
Internet traffic, and to extract information in order to guide Internet traffic and to extract information in order to guide
decision-making, and to improve efficiency and productivity of decision-making and improve efficiency and productivity of
operational processes. operational processes.
State-dependent TE adapts the routing plans based on the current State-dependent TE adapts the routing plans based on the current
state of the network which provides additional information on state of the network, which provides additional information on
variations in actual traffic (i.e., perturbations from regular variations in actual traffic (i.e., perturbations from regular
variations) that could not be predicted using historical information. variations) that could not be predicted using historical information.
Constraint-based routing is an example of state-dependent TE Constraint-based routing is an example of state-dependent TE
operating in a relatively long timescale. An example of operating in operating in a relatively long timescale. An example of operating in
a relatively short timescale is a load-balancing algorithm described a relatively short timescale is a load-balancing algorithm described
in [MATE]. The state of the network can be based on parameters in [MATE]. The state of the network can be based on parameters
flooded by the routers. Another approach is for a particular router flooded by the routers. Another approach is for a particular router
performing adaptive TE to send probe packets along a path to gather performing adaptive TE to send probe packets along a path to gather
the state of that path. [RFC6374] defines protocol extensions to the state of that path. [RFC6374] defines protocol extensions to
collect performance measurements from MPLS networks. Another collect performance measurements from MPLS networks. Another
approach is for a management system to gather the relevant approach is for a management system to gather the relevant
information directly from network elements using telemetry data information directly from network elements using telemetry data
collection "publication/subscription" techniques [RFC7923]. Timely collection publication/subscription techniques [RFC7923]. Timely
gathering and distribution of state information is critical for gathering and distribution of state information is critical for
adaptive TE. While time-dependent algorithms are suitable for adaptive TE. While time-dependent algorithms are suitable for
predictable traffic variations, state-dependent algorithms may be predictable traffic variations, state-dependent algorithms may be
needed to increase network efficiency and to provide resilience to needed to increase network efficiency and to provide resilience to
adapt to changes in network state. adapt to changes in network state.
Event-dependent TE methods can also be used for TE path selection. Event-dependent TE methods can also be used for TE path selection.
Event-dependent TE methods are distinct from time-dependent and Event-dependent TE methods are distinct from time-dependent and
state-dependent TE methods in the manner in which paths are selected. state-dependent TE methods in the manner in which paths are selected.
These algorithms are adaptive and distributed in nature, and These algorithms are adaptive and distributed in nature, and they
typically use learning models to find good paths for TE in a network. typically use learning models to find good paths for TE in a network.
While state-dependent TE models typically use available-link- While state-dependent TE models typically use available-link-
bandwidth (ALB) [E.360.1] flooding for TE path selection, event- bandwidth (ALB) flooding [E.360.1] for TE path selection, event-
dependent TE methods do not require ALB flooding. Rather, event- dependent TE methods do not require ALB flooding. Rather, event-
dependent TE methods typically search out capacity by learning dependent TE methods typically search out capacity by learning
models, as in the success-to-the-top (STT) method [RFC6601]. ALB models, as in the success-to-the-top (STT) method [RFC6601]. ALB
flooding can be resource intensive, since it requires link bandwidth flooding can be resource intensive, since it requires link bandwidth
to carry routing protocol link state advertisements, processor to carry routing protocol link-state advertisements and processor
capacity to process those advertisements, and the overhead of the capacity to process those advertisements; in addition, the overhead
advertisements and their processing can limit area/Autonomous System of the ALB advertisements and their processing can limit the size of
(AS) size. Modeling results suggest that event-dependent TE methods the area and AS. Modeling results suggest that event-dependent TE
could lead to a reduction in ALB flooding overhead without loss of methods could lead to a reduction in ALB flooding overhead without
network throughput performance [I-D.ietf-tewg-qos-routing]. loss of network throughput performance [TE-QoS-ROUTING].
A fully functional TE system is likely to use all aspects of time- A fully functional TE system is likely to use all aspects of time-
dependent, state-dependent, and event-dependent methodologies as dependent, state-dependent, and event-dependent methodologies as
described in Section 4.3.1. described in Section 4.3.1.
4.2. Offline Versus Online 4.2. Offline versus Online
Traffic engineering requires the computation of routing plans. The Traffic engineering requires the computation of routing plans. The
computation may be performed offline or online. The computation can computation may be performed offline or online. The computation can
be done offline for scenarios where routing plans need not be be done offline for scenarios where routing plans need not be
executed in real time. For example, routing plans computed from executed in real time. For example, routing plans computed from
forecast information may be computed offline. Typically, offline forecast information may be computed offline. Typically, offline
computation is also used to perform extensive searches on multi- computation is also used to perform extensive searches on multi-
dimensional solution spaces. dimensional solution spaces.
Online computation is required when the routing plans must adapt to Online computation is required when the routing plans must adapt to
changing network conditions as in state-dependent algorithms. Unlike changing network conditions as in state-dependent algorithms. Unlike
offline computation (which can be computationally demanding), online offline computation (which can be computationally demanding), online
computation is geared toward relatively simple and fast calculations computation is geared toward relatively simple and fast calculations
to select routes, fine-tune the allocations of resources, and perform to select routes, fine-tune the allocations of resources, and perform
load balancing. load balancing.
4.3. Centralized Versus Distributed 4.3. Centralized versus Distributed
Under centralized control there is a central authority which Under centralized control, there is a central authority that
determines routing plans and perhaps other TE control parameters on determines routing plans and perhaps other TE control parameters on
behalf of each router. The central authority periodically collects behalf of each router. The central authority periodically collects
network-state information from all routers, and sends routing network-state information from all routers and sends routing
information to the routers. The update cycle for information information to the routers. The update cycle for information
exchange in both directions is a critical parameter directly exchange in both directions is a critical parameter directly
impacting the performance of the network being controlled. impacting the performance of the network being controlled.
Centralized control may need high processing power and high bandwidth Centralized control may need high processing power and high bandwidth
control channels. control channels.
Distributed control determines route selection by each router Distributed control determines route selection by each router
autonomously based on the router's view of the state of the network. 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 The network state information may be obtained by the router using a
probing method or distributed by other routers on a periodic basis probing method or distributed by other routers on a periodic basis
using link state advertisements. Network state information may also using link-state advertisements. Network state information may also
be disseminated under exception conditions. Examples of protocol be disseminated under exception conditions. Examples of protocol
extensions used to advertise network link state information are extensions used to advertise network link-state information are
defined in [RFC5305], [RFC6119], [RFC7471], [RFC8570], and [RFC8571]. defined in [RFC5305], [RFC6119], [RFC7471], [RFC8570], and [RFC8571].
See also Section 5.1.3.9. See also Section 5.1.3.9.
4.3.1. Hybrid Systems 4.3.1. Hybrid Systems
In practice, most TE systems will be a hybrid of central and In practice, most TE systems will be a hybrid of central and
distributed control. For example, a popular MPLS approach to TE is distributed control. For example, a popular MPLS approach to TE is
to use a central controller based on an active, stateful Path to use a central controller based on an active, stateful Path
Computation Element (PCE), but to use routing and signaling protocols Computation Element (PCE) but to use routing and signaling protocols
to make local decisions at routers within the network. Local to make local decisions at routers within the network. Local
decisions may be able to respond more quickly to network events, but decisions may be able to respond more quickly to network events but
may result in conflicts with decisions made by other routers. may result in conflicts with decisions made by other routers.
Network operations for TE systems may also use a hybrid of offline Network operations for TE systems may also use a hybrid of offline
and online computation. TE paths may be precomputed based on stable- and online computation. TE paths may be precomputed based on stable-
state network information and planned traffic demands, but may then state network information and planned traffic demands but may then be
be modified in the active network depending on variations in network modified in the active network depending on variations in network
state and traffic load. Furthermore, responses to network events may state and traffic load. Furthermore, responses to network events may
be precomputed offline to allow rapid reactions without further be precomputed offline to allow rapid reactions without further
computation, or may be derived online depending on the nature of the computation or may be derived online depending on the nature of the
events. events.
Lastly, note that a fully functional TE system is likely to use all 4.3.2. Considerations for Software-Defined Networking
aspects of time-dependent, state-dependent, and event-dependent
methodologies as described in Section 4.1.
4.3.2. Considerations for Software Defined Networking
As discussed in Section 5.1.2.2, one of the main drivers for SDN is a As discussed in Section 5.1.2.2, one of the main drivers for
decoupling of the network control plane from the data plane Software-Defined Networking (SDN) is a decoupling of the network
[RFC7149]. However, SDN may also combine centralized control of control plane from the data plane [RFC7149]. However, SDN may also
resources, and facilitate application-to-network interaction via an combine centralized control of resources and facilitate application-
application programming interface (API) such as [RFC8040]. Combining to-network interaction via an Application Programming Interface
these features provides a flexible network architecture that can (API), such as the one described in [RFC8040]. Combining these
adapt to network requirements of a variety of higher-layer features provides a flexible network architecture that can adapt to
applications, a concept often referred to as the "programmable the network requirements of a variety of higher-layer applications, a
network" [RFC7426]. concept often referred to as the "programmable network" [RFC7426].
The centralized control aspect of SDN helps improve network resource The centralized control aspect of SDN helps improve network resource
utilization compared with distributed network control, where local utilization compared with distributed network control, where local
policy may often override network-wide optimization goals. In an SDN policy may often override network-wide optimization goals. In an SDN
environment, the data plane forwards traffic to its desired environment, the data plane forwards traffic to its desired
destination. However, before traffic reaches the data plane, the destination. However, before traffic reaches the data plane, the
logically centralized SDN control plane often determines the path the logically centralized SDN control plane often determines the path the
application traffic will take in the network. Therefore, the SDN application traffic will take in the network. Therefore, the SDN
control plane needs to be aware of the underlying network topology, control plane needs to be aware of the underlying network topology,
capabilities and current node and link resource state. capabilities, and current node and link resource state.
Using a PCE-based SDN control framework [RFC7491], the available Using a PCE-based SDN control framework [RFC7491], the available
network topology may be discovered by running a passive instance of network topology may be discovered by running a passive instance of
OSPF or IS-IS, or via BGP-LS [RFC7752], to generate a Traffic OSPF or IS-IS, or via BGP Link State (BGP-LS) [RFC9552]), to generate
Engineering Database (TED, see Section 5.1.3.14). The PCE is used to a Traffic Engineering Database (TED) (see Section 5.1.3.14). The PCE
compute a path (see Section 5.1.3.11) based on the TED and available is used to compute a path (see Section 5.1.3.11) based on the TED and
bandwidth, and further path optimization may be based on requested available bandwidth, and further path optimization may be based on
objective functions [RFC5541]. When a suitable path has been requested objective functions [RFC5541]. When a suitable path has
computed the programming of the explicit network path may be been computed, the programming of the explicit network path may be
performed using either a signaling protocol that traverses the length either performed using a signaling protocol that traverses the length
of the path [RFC3209] or per-hop with each node being directly of the path [RFC3209] or performed per-hop with each node being
programmed [RFC8283] by the SDN controller. directly programmed [RFC8283] by the SDN controller.
By utilizing a centralized approach to network control, additional By utilizing a centralized approach to network control, additional
network benefits are also available, including Global Concurrent network benefits are also available, including Global Concurrent
Optimization (GCO) [RFC5557]. A GCO path computation request will Optimization (GCO) [RFC5557]. A GCO path computation request will
simultaneously use the network topology and a set of new path simultaneously use the network topology and a set of new path
signaling requests, along with their respective constraints, for signaling requests, along with their respective constraints, for
optimal placement in the network. Correspondingly, a GCO-based optimal placement in the network. Correspondingly, a GCO-based
computation may be applied to recompute existing network paths to computation may be applied to recompute existing network paths to
groom traffic and to mitigate congestion. groom traffic and to mitigate congestion.
4.4. Local Versus Global 4.4. Local versus Global
Traffic engineering algorithms may require local and global network- Traffic-engineering algorithms may require local and global network-
state information. state information.
Local information is the state of a portion of the domain. Examples Local information is the state of a portion of the domain. Examples
include the bandwidth and packet loss rate of a particular path, or include the bandwidth and packet loss rate of a particular path or
the state and capabilities of a network link. Local state the state and capabilities of a network link. Local state
information may be sufficient for certain instances of distributed information may be sufficient for certain instances of distributed
control TE. control TE.
Global information is the state of the entire TE domain. Examples Global information is the state of the entire TE domain. Examples
include a global traffic matrix, and loading information on each link include a global traffic matrix and loading information on each link
throughout the domain of interest. Global state information is throughout the domain of interest. Global state information is
typically required with centralized control. Distributed TE systems typically required with centralized control. Distributed TE systems
may also need global information in some cases. may also need global information in some cases.
4.5. Prescriptive Versus Descriptive 4.5. Prescriptive versus Descriptive
TE systems may also be classified as prescriptive or descriptive. TE systems may also be classified as prescriptive or descriptive.
Prescriptive traffic engineering evaluates alternatives and Prescriptive traffic engineering evaluates alternatives and
recommends a course of action. Prescriptive TE can be further recommends a course of action. Prescriptive TE can be further
categorized as either corrective or perfective. Corrective TE categorized as either corrective or perfective. Corrective TE
prescribes a course of action to address an existing or predicted prescribes a course of action to address an existing or predicted
anomaly. Perfective TE prescribes a course of action to evolve and anomaly. Perfective TE prescribes a course of action to evolve and
improve network performance even when no anomalies are evident. improve network performance even when no anomalies are evident.
Descriptive traffic engineering, on the other hand, characterizes the Descriptive traffic engineering, on the other hand, characterizes the
state of the network and assesses the impact of various policies state of the network and assesses the impact of various policies
without recommending any particular course of action. without recommending any particular course of action.
4.5.1. Intent-Based Networking 4.5.1. Intent-Based Networking
One way to express a service request is through "intent". Intent- One way to express a service request is through "intent". Intent-
Based Networking aims to produce networks that are simpler to manage Based Networking aims to produce networks that are simpler to manage
and operate, requiring only minimal intervention. Intent is defined and operate, requiring only minimal intervention. Intent is defined
in [RFC9315] as a set of operational goals (that a network should in [RFC9315] as follows:
meet) and outcomes (that a network is supposed to deliver), defined
in a declarative manner without specifying how to achieve or | A set of operational goals (that a network should meet) and
implement them. | 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 Intent provides data and functional abstraction so that users and
operators do not need to be concerned with low-level device operators do not need to be concerned with low-level device
configuration or the mechanisms used to achieve a given intent. This configuration or the mechanisms used to achieve a given intent. This
approach can be conceptually easier for a user, but may be less approach can be conceptually easier for a user but may be less
expressive in terms of constraints and guidelines. expressive in terms of constraints and guidelines.
Intent-Based Networking is applicable to TE because many of the high- Intent-Based Networking is applicable to TE because many of the high-
level objectives may be expressed as "intent." For example, load level objectives may be expressed as intent (for example, load
balancing, delivery of services, and robustness against failures. balancing, delivery of services, and robustness against failures).
The intent is converted by the management system into TE actions The intent is converted by the management system into TE actions
within the network. within the network.
4.6. Open-Loop Versus Closed-Loop 4.6. Open-Loop versus Closed-Loop
Open-loop traffic engineering control is where control action does Open-loop traffic-engineering control is where control action does
not use feedback information from the current network state. The not use feedback information from the current network state.
control action may use its own local information for accounting However, the control action may use its own local information for
purposes, however. accounting purposes.
Closed-loop traffic engineering control is where control action Closed-loop traffic-engineering control is where control action
utilizes feedback information from the network state. The feedback utilizes feedback information from the network state. The feedback
information may be in the form of current measurement or recent information may be in the form of current measurement or recent
historical records. historical records.
4.7. Tactical versus Strategic 4.7. Tactical versus Strategic
Tactical traffic engineering aims to address specific performance Tactical traffic engineering aims to address specific performance
problems (such as hot-spots) that occur in the network from a problems (such as hotspots) that occur in the network from a tactical
tactical perspective, without consideration of overall strategic perspective, without consideration of overall strategic imperatives.
imperatives. Without proper planning and insights, tactical TE tends Without proper planning and insights, tactical TE tends to be ad hoc
to be ad hoc in nature. in nature.
Strategic traffic engineering approaches the TE problem from a more Strategic traffic-engineering approaches the TE problem from a more
organized and systematic perspective, taking into consideration the organized and systematic perspective, taking into consideration the
immediate and longer-term consequences of specific policies and immediate and longer-term consequences of specific policies and
actions. actions.
5. Review of TE Techniques 5. Review of TE Techniques
This section briefly reviews different TE-related approaches proposed This section briefly reviews different TE-related approaches proposed
and implemented in telecommunications and computer networks using and implemented in telecommunications and computer networks using
IETF protocols and architectures. These approaches are organized IETF protocols and architectures. These approaches are organized
into three categories: into three categories:
* TE mechanisms which adhere to the definition provided in * TE mechanisms that adhere to the definition provided in
Section 1.2. Section 1.2
* Approaches that rely upon those TE mechanisms. * Approaches that rely upon those TE mechanisms
* Techniques that are used by those TE mechanisms and approaches. * Techniques that are used by those TE mechanisms and approaches
The discussion is not intended to be comprehensive. It is primarily The discussion is not intended to be comprehensive. It is primarily
intended to illuminate existing approaches to TE in the Internet. A intended to illuminate existing approaches to TE in the Internet. A
historic overview of TE in telecommunications networks was provided historic overview of TE in telecommunications networks was provided
in Section 4 of [RFC3272], and Section 4.6 of that document presented in Section 4 of [RFC3272], and Section 4.6 of that document presented
an outline of some early approaches to TE conducted in other an outline of some early approaches to TE conducted in other
standards bodies. It is out of the scope of this document to provide 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 an analysis of the history of TE or an inventory of TE-related
efforts conducted by other SDOs. efforts conducted by other Standards Development Organizations
(SDOs).
5.1. Overview of IETF Projects Related to Traffic Engineering 5.1. Overview of IETF Projects Related to Traffic Engineering
This subsection reviews a number of IETF activities pertinent to This subsection reviews a number of IETF activities pertinent to
Internet traffic engineering. Some of these technologies are widely Internet traffic engineering. Some of these technologies are widely
deployed, others are mature but have seen less deployment, and some deployed, others are mature but have seen less deployment, and some
are unproven or still under development. are unproven or are still under development.
5.1.1. IETF TE Mechanisms 5.1.1. IETF TE Mechanisms
5.1.1.1. Integrated Services 5.1.1.1. Integrated Services
The IETF developed the Integrated Services (Intserv) model that The IETF developed the Integrated Services (Intserv) model that
requires resources, such as bandwidth and buffers, to be reserved a requires resources, such as bandwidth and buffers, to be reserved a
priori for a given traffic flow to ensure that the quality of service priori for a given traffic flow to ensure that the QoS requested by
requested by the traffic flow is satisfied. The Integrated Services the traffic flow is satisfied. The Intserv model includes additional
model includes additional components beyond those used in the best- components beyond those used in the best-effort model such as packet
effort model such as packet classifiers, packet schedulers, and classifiers, packet schedulers, and admission control. A packet
admission control. A packet classifier is used to identify flows classifier is used to identify flows that are to receive a certain
that are to receive a certain level of service. A packet scheduler level of service. A packet scheduler handles the scheduling of
handles the scheduling of service to different packet flows to ensure service to different packet flows to ensure that QoS commitments are
that QoS commitments are met. Admission control is used to determine met. Admission control is used to determine whether a router has the
whether a router has the necessary resources to accept a new flow. necessary resources to accept a new flow.
The main issue with the Integrated Services model has been The main issue with the Intserv model has been scalability [RFC2998],
scalability [RFC2998], especially in large public IP networks which especially in large public IP networks that may potentially have
may potentially have millions of active traffic flows in transit millions of active traffic flows in transit concurrently. Pre-
concurrently. Pre-Congestion Notification (PCN) [RFC5559] solves the Congestion Notification (PCN) [RFC5559] solves the scaling problems
scaling problems of Intserv by using measurement-based admission of Intserv by using measurement-based admission control (and flow
control (and flow termination to handle failures) between edge-nodes. termination to handle failures) between edge nodes. Nodes between
Nodes between the edges of the internetwork have no per-flow the edges of the internetwork have no per-flow operations, and the
operations and the edge nodes can use the Resource Reservation edge nodes can use the Resource Reservation Protocol (RSVP) per-flow
Protocol (RSVP) per-flow or per-aggregate. or per-aggregate.
A notable feature of the Integrated Services model is that it A notable feature of the Intserv model is that it requires explicit
requires explicit signaling of QoS requirements from end systems to signaling of QoS requirements from end systems to routers [RFC2753].
routers [RFC2753]. RSVP performs this signaling function and is a RSVP performs this signaling function and is a critical component of
critical component of the Integrated Services model. RSVP is the Intserv model. RSVP is described in Section 5.1.3.2.
described in Section 5.1.3.2.
5.1.1.2. Differentiated Services 5.1.1.2. Differentiated Services
The goal of Differentiated Services (Diffserv) within the IETF was to The goal of Differentiated Services (Diffserv) within the IETF was to
devise scalable mechanisms for categorization of traffic into devise scalable mechanisms for categorization of traffic into
behavior aggregates, which ultimately allows each behavior aggregate behavior aggregates, which ultimately allows each behavior aggregate
to be treated differently, especially when there is a shortage of to be treated differently, especially when there is a shortage of
resources such as link bandwidth and buffer space [RFC2475]. One of resources, such as link bandwidth and buffer space [RFC2475]. One of
the primary motivations for Diffserv was to devise alternative the primary motivations for Diffserv was to devise alternative
mechanisms for service differentiation in the Internet that mitigate mechanisms for service differentiation in the Internet that mitigate
the scalability issues encountered with the Intserv model. the scalability issues encountered with the Intserv model.
Diffserv uses the Differentiated Services field in the IP header (the Diffserv uses the Differentiated Services field in the IP header (the
DS field) consisting of six bits in what was formerly known as 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 Type of Service (TOS) octet. The DS field is used to indicate the
forwarding treatment that a packet should receive at a transit node forwarding treatment that a packet should receive at a transit node
[RFC2474]. Diffserv includes the concept of Per-Hop Behavior (PHB) [RFC2474]. Diffserv includes the concept of Per-Hop Behavior (PHB)
groups. Using the PHBs, several classes of services can be defined groups. Using the PHBs, several classes of services can be defined
using different classification, policing, shaping, and scheduling using different classification, policing, shaping, and scheduling
rules. rules.
For an end-user of network services to utilize Differentiated For an end user of network services to utilize Diffserv provided by
Services provided by its Internet Service Provider (ISP), it may be its Internet Service Provider (ISP), it may be necessary for the user
necessary for the user to have an SLA with the ISP. An SLA may to have an SLA with the ISP. An SLA may explicitly or implicitly
explicitly or implicitly specify a Traffic Conditioning Agreement specify a Traffic Conditioning Agreement (TCA) that defines
(TCA) which defines classifier rules as well as metering, marking, classifier rules as well as metering, marking, discarding, and
discarding, and shaping rules. shaping rules.
Packets are classified, and possibly policed and shaped at the Packets are classified and possibly policed and shaped at the ingress
ingress to a Diffserv network. When a packet traverses the boundary to a Diffserv network. When a packet traverses the boundary between
between different Diffserv domains, the DS field of the packet may be different Diffserv domains, the DS field of the packet may be re-
re-marked according to existing agreements between the domains. marked according to existing agreements between the domains.
Differentiated Services allows only a finite number of service Diffserv allows only a finite number of service classes to be
classes to be specified by the DS field. The main advantage of the specified by the DS field. The main advantage of the Diffserv
Diffserv approach relative to the Intserv model is scalability. approach relative to the Intserv model is scalability. Resources are
Resources are allocated on a per-class basis and the amount of state allocated on a per-class basis, and the amount of state information
information is proportional to the number of classes rather than to is proportional to the number of classes rather than to the number of
the number of application flows. application flows.
Once the network has been planned and the packets marked at the Once the network has been planned and the packets have been marked at
network edge, the Diffserv model deals with traffic management issues the network edge, the Diffserv model deals with traffic management
on a per hop basis. The Diffserv control model consists of a issues on a per-hop basis. The Diffserv control model consists of a
collection of micro-TE control mechanisms. Other TE capabilities, collection of micro-TE control mechanisms. Other TE capabilities,
such as capacity management (including routing control), are also such as capacity management (including routing control), are also
required in order to deliver acceptable service quality in Diffserv required in order to deliver acceptable service quality in Diffserv
networks. The concept of Per Domain Behaviors has been introduced to networks. The concept of "Per-Domain Behaviors" has been introduced
better capture the notion of Differentiated Services across a to better capture the notion of Diffserv across a complete domain
complete domain [RFC3086]. [RFC3086].
Diffserv procedures can also be applied in an MPLS context. See Diffserv procedures can also be applied in an MPLS context. See
Section 6.8 for more information. Section 6.8 for more information.
5.1.1.3. Segment Routing Policy 5.1.1.3. SR Policy
SR Policy [RFC9256] is an evolution of Segment Routing (see SR Policy [RFC9256] is an evolution of SR (see Section 5.1.3.12) to
Section 5.1.3.12) to enhance the TE capabilities of SR. It is a enhance the TE capabilities of SR. It is a framework that enables
framework that enables instantiation of an ordered list of segments instantiation of an ordered list of segments on a node for
on a node for implementing a source routing policy with a specific implementing a source routing policy with a specific intent for
intent for traffic steering from that node. traffic steering from that node.
An SR Policy is identified through the tuple <head-end, color, end- An SR Policy is identified through the tuple <headend, color,
point>. The head-end is the IP address of the node where the policy endpoint>. The headend is the IP address of the node where the
is instantiated. The endpoint is the IP address of the destination policy is instantiated. The endpoint is the IP address of the
of the policy. The color is an index that associates the SR Policy destination of the policy. The color is an index that associates the
with an intent (e.g., low latency). SR Policy with an intent (e.g., low latency).
The head-end node is notified of SR Policies and associated SR paths The headend node is notified of SR Policies and associated SR paths
via configuration or by extensions to protocols such as PCEP via configuration or by extensions to protocols such as the Path
[RFC8664] or BGP [I-D.ietf-idr-segment-routing-te-policy]. Each SR Computation Element Communication Protocol (PCEP) [RFC8664] or BGP
path consists of a Segment-List (an SR source-routed path), and the [SR-TE-POLICY]. Each SR path consists of a segment list (an SR
head-end uses the endpoint and color parameters to classify packets source-routed path), and the headend uses the endpoint and color
to match the SR policy and so determine along which path to forward parameters to classify packets to match the SR Policy and so
them. If an SR Policy is associated with a set of SR paths, each is determine along which path to forward them. If an SR Policy is
associated with a weight for weighted load balancing. Furthermore, associated with a set of SR paths, each is associated with a weight
multiple SR Policies may be associated with a set of SR paths to for weighted load balancing. Furthermore, multiple SR Policies may
allow multiple traffic flows to be placed on the same paths. 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 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 path associated with an SR Policy or with the SR Policy itself. The
head-end node installs a BSID-keyed entry in the forwarding plane and 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 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 selected path of the SR Policy. This steering can be done in various
ways: ways:
* SID Steering: Incoming packets have an active SID matching a local SID Steering: Incoming packets have an active Segment Identifier
BSID at the head-end. (SID) matching a local BSID at the headend.
* Per-destination Steering: Incoming packets match a BGP/Service Per-destination Steering: Incoming packets match a BGP/Service
route which indicates an SR Policy. route, which indicates an SR Policy.
* Per-flow Steering: Incoming packets match a forwarding array (for Per-flow Steering: Incoming packets match a forwarding array (for
example, the classic 5-tuple) which indicates an SR Policy. example, the classic 5-tuple), which indicates an SR Policy.
* Policy-based Steering: Incoming packets match a routing policy Policy-based Steering: Incoming packets match a routing policy,
which directs them to an SR Policy. which directs them to an SR Policy.
5.1.1.4. Layer 4 Transport-Based TE 5.1.1.4. Layer 4 Transport-Based TE
In addition to IP-based TE mechanisms, 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., approaches can be considered in specific deployment contexts (e.g.,
data centers, multi-homing). For example, the 3GPP defines the data centers and multi-homing). For example, the 3GPP defines the
Access Traffic Steering, Switching, and Splitting (ATSSS) [ATSSS] Access Traffic Steering, Switching, and Splitting (ATSSS) [ATSSS]
service functions as follows. service functions as follows:
Access Traffic Steering: This is the selection of an access network 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 for a new flow and the transfer of the traffic of that flow over
the selected access network. the selected access network.
Access Traffic Switching: This is the migration of all packets of an Access Traffic Switching: This is the migration of all packets of an
ongoing flow from one access network to another access network. ongoing flow from one access network to another access network.
Only one access network is in use at a time. Only one access network is in use at a time.
Access Traffic Splitting: This is about forwarding the packets of a Access Traffic Splitting: This is about forwarding the packets of a
flow across multiple access networks simultaneously. flow across multiple access networks simultaneously.
The control plane is used to provide hosts and specific network The control plane is used to provide hosts and specific network
devices with a set of policies that specify which flows are eligible devices with a set of policies that specify which flows are eligible
to use the ATSSS service. The traffic that matches an ATSSS policy to use the ATSSS service. The traffic that matches an ATSSS policy
can be distributed among the available access networks following one can be distributed among the available access networks following one
of the following four modes. of the following four modes:
Active-Standby: The traffic is forwarded via a specific access Active-Standby: The traffic is forwarded via a specific access
(called "active access") and switched to another access (called (called "active access") and switched to another access (called
"standby access") when the active access is unavailable. "standby access") when the active access is unavailable.
Priority-based: Network accesses are assigned priority levels that Priority-based: Network accesses are assigned priority levels that
indicate which network access is to be used first. The traffic indicate which network access is to be used first. The traffic
associated with the matching flow will be steered onto the network associated with the matching flow will be steered onto the network
access with the highest priority until congestion is detected, access with the highest priority until congestion is detected.
then the overflow will be forwarded over the next highest priority Then, the overflow will be forwarded over the next highest
access. priority access.
Load-Balancing: The traffic is distributed among the available Load-Balancing: The traffic is distributed among the available
access networks following a distribution ratio (e.g., 75% - 25%). access networks following a distribution ratio (e.g., 75% to 25%).
Smallest Delay: The traffic is forwarded via the access that Smallest Delay: The traffic is forwarded via the access that
presents the smallest round-trip-time (RTT). presents the smallest round-trip time (RTT).
For resource management purposes, hosts and network devices support For resource management purposes, hosts and network devices support
means such as congestion control, RTT measurement, and packet means such as congestion control, RTT measurement, and packet
scheduling. scheduling.
For TCP traffic, Multipath TCP [RFC8684] and the 0-RTT Convert For TCP traffic, Multipath TCP [RFC8684] and the 0-RTT Convert
Protocol [RFC8803] are used to provide the ATSSS service. Protocol [RFC8803] are used to provide the ATSSS service.
Multipath QUIC [I-D.ietf-quic-multipath] and Proxying UDP in HTTP Multipath QUIC [QUIC-MULTIPATH] and Proxying UDP in HTTP [RFC9298]
[RFC9298] are used to provide the ATSSS service for UDP traffic. are used to provide the ATSSS service for UDP traffic. Note that
Note that QUIC [RFC9000] natively support the switching and steering QUIC [RFC9000] supports the switching and steering functions.
functions. Indeed, QUIC supports a connection migration procedure Indeed, QUIC supports a connection migration procedure that allows
that allows peers to change their layer 4 transport coordinates (IP peers to change their Layer 4 transport coordinates (IP addresses,
addresses, port numbers) without breaking the underlying QUIC port numbers) without breaking the underlying QUIC connection.
connection.
Extensions to the Datagram Congestion Control Protocol (MP-DCCP) Extensions to the Datagram Congestion Control Protocol (DCCP)
[RFC4340] to support multipath operations are defined in [RFC4340] to support multipath operations are defined in
[I-D.ietf-tsvwg-multipath-dccp]. [MULTIPATH-DCCP].
5.1.1.5. Deterministic Networking 5.1.1.5. Deterministic Networking
Deterministic Networking (DetNet) [RFC8655] is an architecture for Deterministic Networking (DetNet) [RFC8655] is an architecture for
applications with critical timing and reliability requirements. The applications with critical timing and reliability requirements. The
layered architecture particularly focuses on developing DetNet layered architecture particularly focuses on developing DetNet
service capabilities in the data plane [RFC8938]. The DetNet service service capabilities in the data plane [RFC8938]. The DetNet service
sub-layer provides a set of Packet Replication, Elimination, and sub-layer provides a set of Packet Replication, Elimination, and
Ordering Functions (PREOF) to provide end-to-end service assurance. Ordering Functions (PREOF) to provide end-to-end service assurance.
The DetNet forwarding sub-layer provides corresponding forwarding The DetNet forwarding sub-layer provides corresponding forwarding
assurance (low packet loss, bounded latency, and in-order delivery) assurance (low packet loss, bounded latency, and in-order delivery)
functions using resource allocations and explicit route mechanisms. functions using resource allocations and explicit route mechanisms.
The separation into two sub-layers allows a greater flexibility to The separation into two sub-layers allows a greater flexibility to
adapt DetNet capability over a number of TE data plane mechanisms adapt DetNet capability over a number of TE data plane mechanisms,
such as IP, MPLS, and Segment Routing. More importantly it such as IP, MPLS, and SR. More importantly, it interconnects IEEE
interconnects IEEE 802.1 Time Sensitive Networking (TSN) [RFC9023] 802.1 Time Sensitive Networking (TSN) [RFC9023] deployed in Industry
deployed in Industry Control and Automation Systems (ICAS). Control and Automation Systems (ICAS).
DetNet can be seen as a specialized branch of TE, since it sets up DetNet can be seen as a specialized branch of TE, since it sets up
explicit optimized paths with allocation of resources as requested. explicit optimized paths with allocation of resources as requested.
A DetNet application can express its QoS attributes or traffic A DetNet application can express its QoS attributes or traffic
behavior using any combination of DetNet functions described in sub- behavior using any combination of DetNet functions described in sub-
layers. They are then distributed and provisioned using well- layers. They are then distributed and provisioned using well-
established control and provisioning mechanisms adopted for traffic established control and provisioning mechanisms adopted for traffic
engineering. engineering.
In DetNet, a considerable amount of state information is required to In DetNet, a considerable amount of state information is required to
maintain per-flow queuing disciplines and resource reservation for a maintain per-flow queuing disciplines and resource reservation for a
large number of individual flows. This can be quite challenging for large number of individual flows. This can be quite challenging for
network operations during network events such as faults, change in network operations during network events, such as faults, change in
traffic volume or re-provisioning. Therefore, DetNet recommends traffic volume, or reprovisioning. Therefore, DetNet recommends
support for aggregated flows, however, it still requires a large support for aggregated flows; however, it still requires a large
amount of control signaling to establish and maintain DetNet flows. amount of control signaling to establish and maintain DetNet flows.
Note that DetNet might suffer from some of the scalability concerns 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 described for Intserv in Section 5.1.1.1, but the scope of DetNet's
deployment scenarios is smaller and so less exposed to scaling deployment scenarios is smaller and therefore less exposed to scaling
issues. issues.
5.1.2. IETF Approaches Relying on TE Mechanisms 5.1.2. IETF Approaches Relying on TE Mechanisms
5.1.2.1. Application-Layer Traffic Optimization 5.1.2.1. Application-Layer Traffic Optimization
This document describes various TE mechanisms available in the This document describes various TE mechanisms available in the
network. However, distributed applications in general and, in network. However, in general, distributed applications
particular, bandwidth-greedy P2P applications that are used, for (particularly, bandwidth-greedy P2P applications that are used for
example, for file sharing, cannot directly use those techniques. As file sharing, for example) cannot directly use those techniques. As
per [RFC5693], applications could greatly improve traffic per [RFC5693], applications could greatly improve traffic
distribution and quality by cooperating with external services that distribution and quality by cooperating with external services that
are aware of the network topology. Addressing the Application-Layer are aware of the network topology. Addressing the Application-Layer
Traffic Optimization (ALTO) problem means, on the one hand, deploying Traffic Optimization (ALTO) problem means, on the one hand, deploying
an ALTO service to provide applications with information regarding an ALTO service to provide applications with information regarding
the underlying network (e.g., basic network location structure and the underlying network (e.g., basic network location structure and
preferences of network paths) and, on the other hand, enhancing preferences of network paths) and, on the other hand, enhancing
applications in order to use such information to perform better-than- applications in order to use such information to perform better-than-
random selection of the endpoints with which they establish random selection of the endpoints with which they establish
connections. connections.
skipping to change at page 35, line 42 skipping to change at line 1643
services are built on top of the maps. [RFC7285] describes a services are built on top of the maps. [RFC7285] describes a
protocol implementing the ALTO services as an information-publishing protocol implementing the ALTO services as an information-publishing
interface that allows a network to publish its network information to interface that allows a network to publish its network information to
network applications. This information can include network node network applications. This information can include network node
locations, groups of node-to-node connectivity arranged by cost locations, groups of node-to-node connectivity arranged by cost
according to configurable granularities, and end-host properties. according to configurable granularities, and end-host properties.
The information published by the ALTO Protocol should benefit both The information published by the ALTO Protocol should benefit both
the network and the applications. The ALTO Protocol uses a REST-ful the network and the applications. The ALTO Protocol uses a REST-ful
design and encodes its requests and responses using JSON [RFC8259] design and encodes its requests and responses using JSON [RFC8259]
with a modular design by dividing ALTO information publication into with a modular design by dividing ALTO information publication into
multiple ALTO services (e.g., the Map service, the Map-Filtering multiple ALTO services (e.g., the Map Service, the Map-Filtering
Service, the Endpoint Property Service, and the Endpoint Cost Service, the Endpoint Property Service, and the Endpoint Cost
Service). Service).
[RFC8189] defines a new service that allows an ALTO Client to [RFC8189] defines a new service that allows an ALTO Client to
retrieve several cost metrics in a single request for an ALTO retrieve several cost metrics in a single request for an ALTO
filtered cost map and endpoint cost map. [RFC8896] extends the ALTO filtered cost map and endpoint cost map. [RFC8896] extends the ALTO
cost information service so that applications decide not only 'where' cost information service so that applications decide not only "where"
to connect, but also 'when'. This is useful for applications that to connect but also "when". This is useful for applications that
need to perform bulk data transfer and would like to schedule these need to perform bulk data transfer and would like to schedule these
transfers during an off-peak hour, for example. [RFC9439] introduces transfers during an off-peak hour, for example. [RFC9439] introduces
network performance metrics, including network delay, jitter, packet network performance metrics, including network delay, jitter, packet
loss rate, hop count, and bandwidth. The ALTO server may derive and 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) aggregate such performance metrics from BGP-LS (see
or IGP-TE (see Section 5.1.3.9), or management tools, and then expose Section 5.1.3.10), IGP-TE (see Section 5.1.3.9), or management tools
the information to allow applications to determine 'where' to connect and then expose the information to allow applications to determine
based on network performance criteria. The ALTO WG is evaluating the "where" to connect based on network performance criteria. The ALTO
use of network TE properties while making application decisions for Working Group is evaluating the use of network TE properties while
new use cases such as Edge computing and Datacenter interconnect. making application decisions for new use cases such as edge computing
and data-center interconnect.
5.1.2.2. Network Virtualization and Abstraction 5.1.2.2. Network Virtualization and Abstraction
One of the main drivers for Software Defined Networking (SDN) One of the main drivers for SDN [RFC7149] is a decoupling of the
[RFC7149] is a decoupling of the network control plane from the data network control plane from the data plane. This separation has been
plane. This separation has been achieved for TE networks with the achieved for TE networks with the development of MPLS and GMPLS (see
development of MPLS/GMPLS (see Section 5.1.3.3 and Section 5.1.3.5) Sections 5.1.3.3 and 5.1.3.5, respectively) and the PCE (see
and the PCE (Section 5.1.3.11). One of the advantages of SDN is its Section 5.1.3.11). One of the advantages of SDN is its logically
logically centralized control regime that allows a full view of the centralized control regime that allows a full view of the underlying
underlying networks. Centralized control in SDN helps improve networks. Centralized control in SDN helps improve network resource
network resource utilization compared with distributed network utilization compared with distributed network control.
control.
Abstraction and Control of TE Networks (ACTN) [RFC8453] defines a Abstraction and Control of TE Networks (ACTN) [RFC8453] defines a
hierarchical SDN architecture which describes the functional entities hierarchical SDN architecture that describes the functional entities
and methods for the coordination of resources across multiple and methods for the coordination of resources across multiple
domains, to provide composite traffic-engineered services. ACTN domains, to provide composite traffic-engineered services. ACTN
facilitates composed, multi-domain connections and provides them to facilitates composed, multi-domain connections and provides them to
the user. ACTN is focused on: the user. ACTN is focused on:
* Abstraction of the underlying network resources and how they are * Abstraction of the underlying network resources and how they are
provided to higher-layer applications and customers. provided to higher-layer applications and customers.
* Virtualization of underlying resources for use by the customer, * Virtualization of underlying resources for use by the customer,
application, or service. The creation of a virtualized application, or service. The creation of a virtualized
environment allows operators to view and control multi-domain environment allows operators to view and control multi-domain
networks as a single virtualized network. networks as a single virtualized network.
* Presentation to customers of networks as a virtual network via * Presentation to customers of networks as a virtual network via
open and programmable interfaces. open and programmable interfaces.
The ACTN managed infrastructure is built from traffic-engineered The ACTN managed infrastructure is built from traffic-engineered
network resources, which may include statistical packet bandwidth, network resources, which may include statistical packet bandwidth,
physical forwarding plane sources (such as wavelengths and time physical forwarding-plane sources (such as wavelengths and time
slots), forwarding and cross-connect capabilities. The type of slots), and forwarding and cross-connect capabilities. The type of
network virtualization seen in ACTN allows customers and applications network virtualization seen in ACTN allows customers and applications
(tenants) to utilize and independently control allocated virtual (tenants) to utilize and independently control allocated virtual
network resources as if they were physically their own resource. The network resources as if they were physically their own resource. The
ACTN network is "sliced", with tenants being given a different ACTN network is sliced, with tenants being given a different partial
partial and abstracted topology view of the physical underlying and abstracted topology view of the physical underlying network.
network.
5.1.2.3. Network Slicing 5.1.2.3. Network Slicing
An IETF Network Slice is a logical network topology connecting a An IETF Network Slice is a logical network topology connecting a
number of endpoints using a set of shared or dedicated network number of endpoints using a set of shared or dedicated network
resources [I-D.ietf-teas-ietf-network-slices]. The resources are resources [NETWORK-SLICES]. The resources are used to satisfy
used to satisfy specific Service Level Objectives (SLOs) specified by specific SLOs specified by the consumer.
the consumer.
IETF network slices are not, of themselves, TE constructs. However, IETF Network Slices are not, of themselves, TE constructs. However,
a network operator that offers IETF network slices is likely to use a network operator that offers IETF Network Slices is likely to use
many TE tools in order to manage their network and provide the many TE tools in order to manage their network and provide the
services. services.
IETF Network Slices are defined such that they are independent of the IETF Network Slices are defined such that they are independent of the
underlying infrastructure connectivity and technologies used. From a underlying infrastructure connectivity and technologies used. From a
customer's perspective, an IETF Network Slice looks like a VPN customer's perspective, an IETF Network Slice looks like a VPN
connectivity matrix with additional information about the level of connectivity matrix with additional information about the level of
service that the customer requires between the endpoints. From an service that the customer requires between the endpoints. From an
operator's perspective, the IETF Network Slice looks like a set of operator's perspective, the IETF Network Slice looks like a set of
routing or tunneling instructions with the network resource routing or tunneling instructions with the network resource
reservations necessary to provide the required service levels as reservations necessary to provide the required service levels as
specified by the SLOs. The concept of an IETF network slice is specified by the SLOs. The concept of an IETF Network Slice is
consistent with an enhanced VPN (VPN+) [I-D.ietf-teas-enhanced-vpn]. consistent with an enhanced VPN [ENHANCED-VPN].
5.1.3. IETF Techniques Used by TE Mechanisms 5.1.3. IETF Techniques Used by TE Mechanisms
5.1.3.1. Constraint-Based Routing 5.1.3.1. Constraint-Based Routing
Constraint-based routing refers to a class of routing systems that Constraint-based routing refers to a class of routing systems that
compute routes through a network subject to the satisfaction of a set compute routes through a network subject to the satisfaction of a set
of constraints and requirements. In the most general case, of constraints and requirements. In the most general case,
constraint-based routing may also seek to optimize overall network constraint-based routing may also seek to optimize overall network
performance while minimizing costs. performance while minimizing costs.
The constraints and requirements may be imposed by the network itself The constraints and requirements may be imposed by the network itself
or by administrative policies. Constraints may include bandwidth, or by administrative policies. Constraints may include bandwidth,
hop count, delay, and policy instruments such as resource class hop count, delay, and policy instruments such as resource class
attributes. Constraints may also include domain-specific attributes attributes. Constraints may also include domain-specific attributes
of certain network technologies and contexts which impose of certain network technologies and contexts that impose restrictions
restrictions on the solution space of the routing function. Path on the solution space of the routing function. Path-oriented
oriented technologies such as MPLS have made constraint-based routing technologies such as MPLS have made constraint-based routing feasible
feasible and attractive in public IP networks. and attractive in public IP networks.
The concept of constraint-based routing within the context of MPLS TE The concept of constraint-based routing within the context of MPLS-TE
requirements in IP networks was first described in [RFC2702] and led requirements in IP networks was first described in [RFC2702] and led
to developments such as MPLS-TE [RFC3209] as described in to developments such as MPLS-TE [RFC3209] as described in
Section 5.1.3.3. Section 5.1.3.3.
Unlike QoS-based routing (for example, see [RFC2386], [MA], and Unlike QoS-based routing (for example, see [RFC2386], [MA], and
[I-D.ietf-idr-performance-routing]) which generally addresses the [PERFORMANCE-ROUTING]) that generally addresses the issue of routing
issue of routing individual traffic flows to satisfy prescribed flow- individual traffic flows to satisfy prescribed flow-based QoS
based QoS requirements subject to network resource availability, requirements subject to network resource availability, constraint-
constraint-based routing is applicable to traffic aggregates as well based routing is applicable to traffic aggregates as well as flows
as flows and may be subject to a wide variety of constraints which and may be subject to a wide variety of constraints that may include
may include policy restrictions. policy restrictions.
5.1.3.1.1. IGP Flexible Algorithms (Flex-Algos) 5.1.3.1.1. IGP Flexible Algorithms
The traditional approach to routing in an IGP network relies on the The normal approach to routing in an IGP network relies on the IGPs
IGPs deriving "shortest paths" over the network based solely on the deriving "shortest paths" over the network based solely on the IGP
IGP metric assigned to the links. Such an approach is often limited: metric assigned to the links. Such an approach is often limited:
traffic may tend to converge toward the destination, possibly causing traffic may tend to converge toward the destination, possibly causing
congestion; and it is not possible to steer traffic onto paths congestion, and it is not possible to steer traffic onto paths
depending on the end-to-end qualities demanded by the applications. depending on the end-to-end qualities demanded by the applications.
To overcome this limitation, various sorts of TE have been widely To overcome this limitation, various sorts of TE have been widely
deployed (as described in this document), where the TE component is deployed (as described in this document), where the TE component is
responsible for computing the path based on additional metrics and/or responsible for computing the path based on additional metrics and/or
constraints. Such paths (or tunnels) need to be installed in the constraints. Such paths (or tunnels) need to be installed in the
routers' forwarding tables in addition to, or as a replacement for routers' forwarding tables in addition to, or as a replacement for,
the original paths computed by IGPs. The main drawback of these TE the original paths computed by IGPs. The main drawbacks of these TE
approaches is the additional complexity of protocols and management, approaches are the additional complexity of protocols and management
and the state that may need to be maintained within the network. and the state that may need to be maintained within the network.
IGP flexible algorithms (flex-algos) [RFC9350] allow IGPs to IGP Flexible Algorithms [RFC9350] allow IGPs to construct constraint-
construct constraint-based paths over the network by computing based paths over the network by computing constraint-based next hops.
constraint- based next hops. The intent of flex-algos is to reduce The intent of Flexible Algorithms is to reduce TE complexity by
TE complexity by letting an IGP perform some basic TE computation letting an IGP perform some basic TE computation capabilities.
capabilities. Flex-algo includes a set of extensions to the IGPs Flexible Algorithm includes a set of extensions to the IGPs that
that enable a router to send TLVs that: enable a router to send TLVs that:
* describe a set of constraints on the topology * describe a set of constraints on the topology
* identify calculation-type * identify calculation-type
* describe a metric-type that is to be used to compute the best * describe a metric-type that is to be used to compute the best
paths through the constrained topology. paths through the constrained topology
A given combination of calculation-type, metric-type, and constraints A given combination of calculation-type, metric-type, and constraints
is known as a "Flexible Algorithm Definition" (or FAD). A router is known as a Flexible Algorithm Definition (FAD). A router that
that sends such a set of TLVs also assigns a specific identifier (the sends such a set of TLVs also assigns a specific identifier (the
Flexible Algorithm) to the specified combination of calculation-type, Flexible Algorithm) to the specified combination of calculation-type,
metric-type, and constraints. metric-type, and constraints.
There are two use cases for flex-algo: in IP networks There are two use cases for Flexible Algorithm: in IP networks
[I-D.ietf-lsr-ip-flexalgo] and in Segment Routing networks [RFC9350]. [RFC9502] and in SR networks [RFC9350]. In the first case, Flexible
In the first case, flex-algo computes paths to an IPv4 or IPv6 Algorithm computes paths to an IPv4 or IPv6 address; in the second
address, in the second case, flex-algo computes paths to a prefix SID case, Flexible Algorithms computes paths to a Prefix SID (see
(see Section 5.1.3.12). Section 5.1.3.12).
Examples of where flex-algo can be useful include: Examples of where Flexible Algorithms can be useful include:
* Expansion of the function of IP Performance metrics [RFC5664] * Expansion of the function of IP performance metrics [RFC5664]
where specific constraint-based routing (flex-algo) can be where specific constraint-based routing (Flexible Algorithm) can
instantiated within the network based on the results of be instantiated within the network based on the results of
performance measurement. performance measurement.
* The formation of an 'underlay' network using flex-algo, and the * The formation of an "underlay" network using Flexible Algorithms,
realization of an 'overlay' network using TE techniques. This and the realization of an "overlay" network using TE techniques.
approach can leverage the nested combination of flex-algo and TE This approach can leverage the nested combination of Flexible
extensions for IGP (see Section 5.1.3.9). Algorithm and TE extensions for IGP (see Section 5.1.3.9).
* Flex-algo in SR-MPLS (Section 5.1.3.12) can be used as a base to * Flexible Algorithms in SR-MPLS (Section 5.1.3.12) can be used as a
easily build a TE-like topology without TE components on routers base to easily build a TE-like topology without TE components on
or the use of a PCE (see Section 5.1.3.11). routers or the use of a PCE (see Section 5.1.3.11).
* The support for network slices [I-D.ietf-teas-ietf-network-slices] * The support for network slices [NETWORK-SLICES] where the SLOs of
where the SLOs of a particular IETF network slice can be a particular IETF Network Slice can be guaranteed by a Flexible
guaranteed by a flex-algo, or where a Filtered Topology Algorithm or where a Filtered Topology [NETWORK-SLICES] can be
[I-D.ietf-teas-ietf-network-slices] can be created as a TE-like created as a TE-like topology using a Flexible Algorithm.
topology using a flex-algo.
5.1.3.2. RSVP 5.1.3.2. RSVP
RSVP is a soft-state signaling protocol [RFC2205]. It supports RSVP is a soft-state signaling protocol [RFC2205]. It supports
receiver-initiated establishment of resource reservations for both receiver-initiated establishment of resource reservations for both
multicast and unicast flows. RSVP was originally developed as a multicast and unicast flows. RSVP was originally developed as a
signaling protocol within the Integrated Services framework (see signaling protocol within the Integrated Services framework (see
Section 5.1.1.1) for applications to communicate QoS requirements to Section 5.1.1.1) for applications to communicate QoS requirements to
the network and for the network to reserve relevant resources to the network and for the network to reserve relevant resources to
satisfy the QoS requirements [RFC2205]. satisfy the QoS requirements [RFC2205].
In RSVP, the traffic sender or source node sends a PATH message to In RSVP, the traffic sender or source node sends a Path message to
the traffic receiver with the same source and destination addresses the traffic receiver with the same source and destination addresses
as the traffic which the sender will generate. The PATH message as the traffic that the sender will generate. The Path message
contains: (1) a sender traffic specification describing the contains:
characteristics of the traffic, (2) a sender template specifying the
format of the traffic, and (3) an optional advertisement
specification which 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 which 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 was * 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- scalability. This was because reservations were required for micro-
flows, so that the amount of state maintained by network elements flows, so that the amount of state maintained by network elements
tended to increase linearly with the number of traffic flows. These tended to increase linearly with the number of traffic flows. These
issues are described in [RFC2961] which also modifies and extends issues are described in [RFC2961], which also modifies and extends
RSVP to mitigate the scaling problems to make RSVP a versatile RSVP to mitigate the scaling problems to make RSVP a versatile
signaling protocol for the Internet. For example, RSVP has been signaling protocol for the Internet. For example, RSVP has been
extended to reserve resources for aggregation of flows [RFC3175], to extended to reserve resources for aggregation of flows [RFC3175], to
set up MPLS explicit label switched paths (see Section 5.1.3.3), and set up MPLS explicit LSPs (see Section 5.1.3.3), and to perform other
to perform other signaling functions within the Internet. [RFC2961] signaling functions within the Internet. [RFC2961] also describes a
also describes a mechanism to reduce the amount of Refresh messages mechanism to reduce the amount of Refresh messages required to
required to maintain established RSVP sessions. maintain established RSVP sessions.
5.1.3.3. Multiprotocol Label Switching (MPLS) 5.1.3.3. MPLS
MPLS is a forwarding scheme which also includes extensions to MPLS is a forwarding scheme that also includes extensions to
conventional IP control plane protocols. MPLS extends the Internet conventional IP control plane protocols. MPLS extends the Internet
routing model and enhances packet forwarding and path control routing model and enhances packet forwarding and path control
[RFC3031]. [RFC3031].
At the ingress to an MPLS domain, Label Switching Routers (LSRs) At the ingress to an MPLS domain, LSRs classify IP packets into
classify IP packets into Forwarding Equivalence Classes (FECs) based Forwarding Equivalence Classes (FECs) based on a variety of factors,
on a variety of factors, including, e.g., a combination of the including, e.g., a combination of the information carried in the IP
information carried in the IP header of the packets and the local header of the packets and the local routing information maintained by
routing information maintained by the LSRs. An MPLS label stack the LSRs. An MPLS label stack entry is then prepended to each packet
entry is then prepended to each packet according to their forwarding according to their FECs. The MPLS label stack entry is 32 bits long
equivalence classes. The MPLS label stack entry is 32 bits long and and contains a 20-bit label field.
contains a 20-bit label field.
An LSR makes forwarding decisions by using the label prepended to An LSR makes forwarding decisions by using the label prepended to
packets as the index into a local next hop label forwarding entry packets as the index into a local Next Hop Label Forwarding Entry
(NHLFE). The packet is then processed as specified in the NHLFE. (NHLFE). The packet is then processed as specified in the NHLFE.
The incoming label may be replaced by an outgoing label (label swap), 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 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). A leaves an MPLS domain, its MPLS label may be removed (label pop). An
Label Switched Path (LSP) is the path between an ingress LSR and an LSP is the path between an ingress LSR and an egress LSR through
egress LSR through which a labeled packet traverses. The path of an which a labeled packet traverses. The path of an explicit LSP is
explicit LSP is defined at the originating (ingress) node of the LSP. defined at the originating (ingress) node of the LSP. MPLS can use a
MPLS can use a signaling protocol such as RSVP or the Label signaling protocol such as RSVP or the Label Distribution Protocol
Distribution Protocol (LDP) to set up LSPs. (LDP) to set up LSPs.
MPLS is a powerful technology for Internet TE because it supports MPLS is a powerful technology for Internet TE because it supports
explicit LSPs which allow constraint-based routing to be implemented explicit LSPs that allow constraint-based routing to be implemented
efficiently in IP networks [AWD2]. The requirements for TE over MPLS efficiently in IP networks [AWD2]. The requirements for TE over MPLS
are described in [RFC2702]. Extensions to RSVP to support are described in [RFC2702]. Extensions to RSVP to support
instantiation of explicit LSP are discussed in [RFC3209] and instantiation of explicit LSP are discussed in [RFC3209] and
Section 5.1.3.4. Section 5.1.3.4.
5.1.3.4. RSVP-TE 5.1.3.4. RSVP-TE
RSVP-TE is a protocol extension of RSVP (Section 5.1.3.2) for traffic 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 engineering. The base specification is found in [RFC3209]. RSVP-TE
enables the establishment of traffic-engineered MPLS LSPs (TE LSPs), enables the establishment of traffic-engineered MPLS LSPs (TE LSPs),
using loose or strict paths, and taking into consideration network using loose or strict paths and taking into consideration network
constraints such as available bandwidth. The extension supports constraints such as available bandwidth. The extension supports
signaling LSPs on explicit paths that could be administratively signaling LSPs on explicit paths that could be administratively
specified, or computed by a suitable entity (such as a PCE, specified or computed by a suitable entity (such as a PCE,
Section 5.1.3.11) based on QoS and policy requirements, taking into Section 5.1.3.11) based on QoS and policy requirements, taking into
consideration the prevailing network state as advertised by IGP consideration the prevailing network state as advertised by the IGP
extension for IS-IS in [RFC5305], for OSPFV2 in [RFC3630], and for extension for IS-IS in [RFC5305], for OSPFv2 in [RFC3630], and for
OSPFv3 in [RFC5329]. RSVP-TE enables the reservation of resources OSPFv3 in [RFC5329]. RSVP-TE enables the reservation of resources
(for example, bandwidth) along the path. (for example, bandwidth) along the path.
RSVP-TE includes the ability to preempt LSPs based on priorities, and RSVP-TE includes the ability to preempt LSPs based on priorities and
uses link affinities to include or exclude links from the LSPs. The uses link affinities to include or exclude links from the LSPs. The
protocol is further extended to support Fast Reroute (FRR) [RFC4090], protocol is further extended to support Fast Reroute (FRR) [RFC4090],
Diffserv [RFC4124], and bidirectional LSPs [RFC7551]. RSVP-TE Diffserv [RFC4124], and bidirectional LSPs [RFC7551]. RSVP-TE
extensions for support for GMPLS (see Section 5.1.3.5) are specified extensions for support for GMPLS (see Section 5.1.3.5) are specified
in [RFC3473]. in [RFC3473].
Requirements for point-to-multipoint (P2MP) MPLS TE LSPs are Requirements for point-to-multipoint (P2MP) MPLS-TE LSPs are
documented in [RFC4461], and signaling protocol extensions for documented in [RFC4461], and signaling protocol extensions for
setting up P2MP MPLS TE LSPs via RSVP-TE are defined in [RFC4875] setting up P2MP MPLS-TE LSPs via RSVP-TE are defined in [RFC4875],
where a P2MP LSP comprise multiple source-to-leaf (S2L) sub-LSPs. To where a P2MP LSP comprises multiple source-to-leaf (S2L) sub-LSPs.
determine the paths for P2MP LSPs, selection of the branch points To determine the paths for P2MP LSPs, selection of the branch points
(based on capabilities, network state, and policies) is key [RFC5671] (based on capabilities, network state, and policies) is key [RFC5671]
RSVP-TE has evolved to provide real time dynamic metrics for path RSVP-TE has evolved to provide real-time dynamic metrics for path
selection for low latency paths using extensions to IS-IS [RFC8570] selection for low-latency paths using extensions to IS-IS [RFC8570]
and OSPF [RFC7471] based on STAMP [RFC8972] and TWAMP [RFC5357] and OSPF [RFC7471] based on performance measurements for the Simple
performance measurements. 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, RSVP-TE has historically been used when bandwidth was constrained;
however, as bandwidth has increased, RSVP-TE has developed into a however, as bandwidth has increased, RSVP-TE has developed into a
bandwidth management tool to provide bandwidth efficiency and bandwidth management tool to provide bandwidth efficiency and
proactive resource management. proactive resource management.
5.1.3.5. Generalized MPLS (GMPLS) 5.1.3.5. Generalized MPLS (GMPLS)
GMPLS extends MPLS control protocols to encompass time-division GMPLS extends MPLS control protocols to encompass time-division
(e.g., Synchronous Optical Network / Synchronous Digital Hierarchy (e.g., Synchronous Optical Network / Synchronous Digital Hierarchy
(SONET/SDH), Plesiochronous Digital Hierarchy (PDH), Optical (SONET/SDH), Plesiochronous Digital Hierarchy (PDH), and Optical
Transport Network (OTN)), wavelength (lambdas), and spatial switching Transport Network (OTN)), wavelength (lambdas), and spatial switching
(e.g., incoming port or fiber to outgoing port or fiber) as well as (e.g., incoming port or fiber to outgoing port or fiber) and
continuing to support packet switching. GMPLS provides a common set continues to support packet switching. GMPLS provides a common set
of control protocols for all of these layers (including some of control protocols for all of these layers (including some
technology-specific extensions) each of which has a distinct data or technology-specific extensions), each of which has a distinct data or
forwarding plane. GMPLS covers both the signaling and the routing forwarding plane. GMPLS covers both the signaling and the routing
part of that control plane and is based on the TE extensions to MPLS part of that control plane and is based on the TE extensions to MPLS
(see Section 5.1.3.4). (see Section 5.1.3.4).
In GMPLS [RFC3945], the original MPLS architecture is extended to In GMPLS [RFC3945], the original MPLS architecture is extended to
include LSRs whose forwarding planes rely on circuit switching, and include LSRs whose forwarding planes rely on circuit switching and
therefore cannot forward data based on the information carried in therefore cannot forward data based on the information carried in
either packet or cell headers. Specifically, such LSRs include either packet or cell headers. Specifically, such LSRs include
devices where the switching is based on time slots, wavelengths, or devices where the switching is based on time slots, wavelengths, or
physical ports. These additions impact basic LSP properties: how physical ports. These additions impact basic LSP properties: how
labels are requested and communicated, the unidirectional nature of labels are requested and communicated, the unidirectional nature of
MPLS LSPs, how errors are propagated, and information provided for MPLS LSPs, how errors are propagated, and information provided for
synchronizing the ingress and egress LSRs [RFC3473]. synchronizing the ingress and egress LSRs [RFC3473].
5.1.3.6. IP Performance Metrics 5.1.3.6. IP Performance Metrics (IPPM)
The IETF IP Performance Metrics (IPPM) working group has developed a The IETF IP Performance Metrics (IPPM) Working Group has developed a
set of standard metrics that can be used to monitor the quality, set of standard metrics that can be used to monitor the quality,
performance, and reliability of Internet services. These metrics can performance, and reliability of Internet services. These metrics can
be applied by network operators, end-users, and independent testing be applied by network operators, end users, and independent testing
groups to provide users and service providers with a common groups to provide users and service providers with a common
understanding of the performance and reliability of the Internet understanding of the performance and reliability of the Internet
component 'clouds' they use/provide [RFC2330]. The criteria for component clouds they use/provide [RFC2330]. The criteria for
performance metrics developed by the IPPM working group are described performance metrics developed by the IPPM Working Group are described
in [RFC2330]. Examples of performance metrics include one-way packet in [RFC2330]. Examples of performance metrics include one-way packet
loss [RFC7680], one-way delay [RFC7679], and connectivity measures loss [RFC7680], one-way delay [RFC7679], and connectivity measures
between two nodes [RFC2678]. Other metrics include second-order between two nodes [RFC2678]. Other metrics include second-order
measures of packet loss and delay. measures of packet loss and delay.
Some of the performance metrics specified by the IPPM working group Some of the performance metrics specified by the IPPM Working Group
are useful for specifying SLAs. SLAs are sets of service level are useful for specifying SLAs. SLAs are sets of SLOs negotiated
objectives negotiated between users and service providers, wherein between users and service providers, wherein each objective is a
each objective is a combination of one or more performance metrics, combination of one or more performance metrics, possibly subject to
possibly subject to certain constraints. certain constraints.
The IPPM working group also designs measurement techniques and The IPPM Working Group also designs measurement techniques and
protocols to obtain thwse metrics. protocols to obtain these metrics.
5.1.3.7. Flow Measurement 5.1.3.7. Flow Measurement
The IETF Real Time Flow Measurement (RTFM) working group produced an The IETF Real Time Flow Measurement (RTFM) Working Group produced an
architecture that defines a method to specify traffic flows as well architecture that defines a method to specify traffic flows as well
as a number of components for flow measurement (meters, meter as a number of components for flow measurement (meters, meter
readers, manager) [RFC2722]. A flow measurement system enables readers, and managers) [RFC2722]. A flow measurement system enables
network traffic flows to be measured and analyzed at the flow level network traffic flows to be measured and analyzed at the flow level
for a variety of purposes. As noted in RFC 2722, a flow measurement for a variety of purposes. As noted in [RFC2722], a flow measurement
system can be very useful in the following contexts: system can be very useful in the following contexts:
* understanding the behavior of existing networks * understanding the behavior of existing networks
* planning for network development and expansion * planning for network development and expansion
* quantification of network performance * quantification of network performance
* verifying the quality of network service * verifying the quality of network service
* attribution of network usage to users. * attribution of network usage to users
A flow measurement system consists of meters, meter readers, and A flow measurement system consists of meters, meter readers, and
managers. A meter observes packets passing through a measurement managers. A meter observes packets passing through a measurement
point, classifies them into groups, accumulates usage data (such as point, classifies them into groups, accumulates usage data (such as
the number of packets and bytes for each group), and stores the usage 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 data in a flow table. A group may represent any collection of user
applications, hosts, networks, etc. A meter reader gathers usage applications, hosts, networks, etc. A meter reader gathers usage
data from various meters so it can be made available for analysis. A data from various meters so it can be made available for analysis. A
manager is responsible for configuring and controlling meters and manager is responsible for configuring and controlling meters and
meter readers. The instructions received by a meter from a manager meter readers. The instructions received by a meter from a manager
skipping to change at page 44, line 20 skipping to change at line 2034
techniques. The instructions received by a meter reader from a techniques. The instructions received by a meter reader from a
manager include the address of the meter whose data are to be manager include the address of the meter whose data are to be
collected, the frequency of data collection, and the types of flows collected, the frequency of data collection, and the types of flows
to be collected. to be collected.
IP Flow Information Export (IPFIX) [RFC5470] defines an architecture IP Flow Information Export (IPFIX) [RFC5470] defines an architecture
that is very similar to the RTFM architecture and includes Metering, that is very similar to the RTFM architecture and includes Metering,
Exporting, and Collecting Processes. [RFC5472] describes the Exporting, and Collecting Processes. [RFC5472] describes the
applicability of IPFIX and makes a comparison with RTFM, pointing out applicability of IPFIX and makes a comparison with RTFM, pointing out
that, architecturally, while RTM talks about devices, IPFIX deals that, architecturally, while RTM talks about devices, IPFIX deals
with processed to clarify that multiple of those processes may be co- with processes to clarify that multiple of those processes may be co-
located on the same machine. The IPFIX protocol [RFC7011] is widely located on the same machine. The IPFIX protocol [RFC7011] is widely
implemented. implemented.
5.1.3.8. Endpoint Congestion Management 5.1.3.8. Endpoint Congestion Management
[RFC3124] provides a set of congestion control mechanisms for the use [RFC3124] provides a set of congestion control mechanisms for the use
of transport protocols. It also allows the development of mechanisms of transport protocols. It also allows the development of mechanisms
for unifying congestion control across a subset of an endpoint's for unifying congestion control across a subset of an endpoint's
active unicast connections (called a congestion group). A congestion active unicast connections (called a "congestion group"). A
manager continuously monitors the state of the path for each congestion manager continuously monitors the state of the path for
congestion group under its control. The manager uses that each congestion group under its control. The manager uses that
information to instruct a scheduler on how to partition bandwidth information to instruct a scheduler on how to partition bandwidth
among the connections of that congestion group. among the connections of that congestion group.
The concepts described in [RFC3124] and the lessons that can be The concepts described in [RFC3124] and the lessons that can be
learned from that work found a home in HTTP/2 [RFC9113] and QUIC learned from that work found a home in HTTP/2 [RFC9113] and QUIC
[RFC9000], while [RFC9040] describes TCP control block [RFC9000], while [RFC9040] describes TCP control block
interdependence which is a core construct underpinning the congestion interdependence that is a core construct underpinning the congestion
manager defined in [RFC3124]. manager defined in [RFC3124].
5.1.3.9. TE Extensions to the IGPs 5.1.3.9. TE Extensions to the IGPs
[RFC5305] describes the extensions to the Intermediate System to [RFC5305] describes the extensions to the Intermediate System to
Intermediate System (IS-IS) protocol to support TE, similarly Intermediate System (IS-IS) protocol to support TE. Similarly,
[RFC3630] specifies TE extensions for OSPFv2, and [RFC5329] has the [RFC3630] specifies TE extensions for OSPFv2, and [RFC5329] has the
same description for OSPFv3. same description for OSPFv3.
IS-IS and OSPF share the common concept of TE extensions to IS-IS and OSPF share the common concept of TE extensions to
distribute TE parameters such as link type and ID, local and remote distribute TE parameters, such as link type and ID, local and remote
IP addresses, TE metric, maximum bandwidth, maximum reservable IP addresses, TE metric, maximum bandwidth, maximum reservable
bandwidth and unreserved bandwidth, and admin group. The information bandwidth, unreserved bandwidth, and admin group. The information
distributed by the IGPs in this way can be used to build a view of 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 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 The difference between IS-IS and OSPF is in the details of how they
encode and transmit the TE parameters: encode and transmit the TE parameters:
* IS-IS uses the Extended IS Reachability TLV (type 22), the * IS-IS uses the Extended IS Reachability TLV (type 22), the
Extended IP Reachability TLV (type 135), and the TE Router ID TLV Extended IP Reachability TLV (type 135), and the Traffic
(type 134). These TLVs use specific Sub-TLVs described in Engineering router ID TLV (type 134). These TLVs use specific
[RFC8570] to carry for the TE parameters. sub-TLVs described in [RFC8570] to carry the TE parameters.
* OSPFv2 uses Opaque LSA [RFC5250] type 10 and OSPFv3 uses the * OSPFv2 uses Opaque LSA [RFC5250] type 10, and OSPFv3 uses the
Intra-Area-TE-LSA. In both OSPF cases, two top-level TLVs are 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 used (Router Address and Link TLVs), and these use sub-TLVs to
carry the TE parameters (as defined in [RFC7471] for OSPFv2 and carry the TE parameters (as defined in [RFC7471] for OSPFv2 and
[RFC5329] for OSPFv3. [RFC5329] for OSPFv3).
5.1.3.10. BGP Link-State 5.1.3.10. BGP - Link State
In a number of environments, a component external to a network is In a number of environments, a component external to a network is
called upon to perform computations based on the network topology and called upon to perform computations based on the network topology and
current state of the connections within the network, including TE current state of the connections within the network, including TE
information. This is information typically distributed by IGP information. This is information typically distributed by IGP
routing protocols within the network (see Section 5.1.3.9). routing protocols within the network (see Section 5.1.3.9).
The Border Gateway Protocol (BGP) (see also Section 7) is one of the BGP (see also Section 7) is one of the essential routing protocols
essential routing protocols that glue the Internet together. BGP that glues the Internet together. BGP-LS [RFC9552] is a mechanism by
Link State (BGP-LS) [RFC7752] is a mechanism by which link-state and which link-state and TE information can be collected from networks
TE information can be collected from networks and shared with and shared with external components using the BGP routing protocol.
external components using the BGP routing protocol. The mechanism is The mechanism is applicable to physical and virtual IGP links and is
applicable to physical and virtual IGP links, and is subject to subject to policy control.
policy control.
Information collected by BGP-LS can be used, for example, to Information collected by BGP-LS can be used, for example, to
construct the TED (Section 5.1.3.14) for use by the Path Computation construct the TED (Section 5.1.3.14) for use by the PCE (see
Element (PCE, see Section 5.1.3.11), or may be used by Application- Section 5.1.3.11) or may be used by ALTO servers (see
Layer Traffic Optimization (ALTO) servers (see Section 5.1.2.1). Section 5.1.2.1).
5.1.3.11. Path Computation Element 5.1.3.11. Path Computation Element
Constraint-based path computation is a fundamental building block for Constraint-based path computation is a fundamental building block for
TE in MPLS and GMPLS networks. Path computation in large, multi- TE in MPLS and GMPLS networks. Path computation in large, multi-
domain networks is complex and may require special computational domain networks is complex and may require special computational
components and cooperation between the elements in different domains. components and cooperation between the elements in different domains.
The Path Computation Element (PCE) [RFC4655] is an entity (component, The PCE [RFC4655] is an entity (component, application, or network
application, or network node) that is capable of computing a network node) that is capable of computing a network path or route based on a
path or route based on a network graph and applying computational network graph and applying computational constraints.
constraints.
Thus, a PCE can provide a central component in a TE system operating Thus, a PCE can provide a central component in a TE system operating
on the TE Database (TED, see Section 5.1.3.14) with delegated on the TED (see Section 5.1.3.14) with delegated responsibility for
responsibility for determining paths in MPLS, GMPLS, or Segment determining paths in MPLS, GMPLS, or SR networks. The PCE uses the
Routing networks. The PCE uses the Path Computation Element Path Computation Element Communication Protocol (PCEP) [RFC5440] to
Communication Protocol (PCEP) [RFC5440] to communicate with Path communicate with Path Computation Clients (PCCs), such as MPLS LSRs,
Computation Clients (PCCs), such as MPLS LSRs, to answer their to answer their requests for computed paths or to instruct them to
requests for computed paths or to instruct them to initiate new paths initiate new paths [RFC8281] and maintain state about paths already
[RFC8281] and maintain state about paths already installed in the installed in the network [RFC8231].
network [RFC8231].
PCEs form key components of a number of TE systems. More information PCEs form key components of a number of TE systems. More information
about the applicability of PCE can be found in [RFC8051], while about the applicability of PCEs can be found in [RFC8051], while
[RFC6805] describes the application of PCE to determining paths [RFC6805] describes the application of PCEs to determining paths
across multiple domains. PCE also has potential use in Abstraction across multiple domains. PCEs also have potential uses in
and Control of TE Networks (ACTN) (see Section 5.1.2.2), Centralized Abstraction and Control of TE Networks (ACTN) (see Section 5.1.2.2),
Network Control [RFC8283], and Software Defined Networking (SDN) (see Centralized Network Control [RFC8283], and SDN (see Section 4.3.2).
Section 4.3.2).
5.1.3.12. Segment Routing 5.1.3.12. Segment Routing (SR)
The Segment Routing (SR) architecture [RFC8402] leverages the source The SR architecture [RFC8402] leverages the source routing and
routing and tunneling paradigms. The path a packet takes is defined tunneling paradigms. The path a packet takes is defined at the
at the ingress and the packet is tunneled to the egress. ingress, and the packet is tunneled to the egress.
In a protocol realization, an ingress node steers a packet using a In a protocol realization, an ingress node steers a packet using a
set of instructions, called segments, that are included in an SR set of instructions, called "segments", that are included in an SR
header prepended to the packet: a label stack in MPLS case, and a header prepended to the packet: a label stack in MPLS case, and a
series of 128-bit segment identifiers in the IPv6 case. series of 128-bit SIDs in the IPv6 case.
Segments are identified by Segment Identifiers (SIDs). There are Segments are identified by SIDs. There are four types of SIDs that
four types of SID that are relevant for TE. are relevant for TE.
* Prefix SID: A SID that is unique within the routing domain and is * Prefix SID: A SID that is unique within the routing domain and is
used to identify a prefix. used to identify a prefix.
* Node SID: A Prefix SID with the 'N' bit set to identify a node. * Node SID: A Prefix SID with the "N" bit set to identify a node.
* Adjacency SID: Identifies a unidirectional adjacency. * Adjacency SID: Identifies a unidirectional adjacency.
* Binding SID: A Binding SID has two purposes: * Binding SID: A Binding SID has two purposes:
1. To advertise the mappings of prefixes to SIDs/Labels. 1. To advertise the mappings of prefixes to SIDs/Labels
2. To advertise a path available for a Forwarding Equivalence 2. To advertise a path available for a Forwarding Equivalence
Class. Class (FEC)
A segment can represent any instruction, topological or service- A segment can represent any instruction, topological or service-
based. SIDs can be looked up in a global context (domain wide) as based. SIDs can be looked up in a global context (domain-wide) as
well as in some other context (see, for example, "context labels" in well as in some other contexts (see, for example, "context labels" in
Section 3 of [RFC5331]). Section 3 of [RFC5331]).
The application of "policy" to Segment Routing can make SR into a TE The application of policy to SR can make SR into a TE mechanism, as
mechanism as described in Section 5.1.1.3. described in Section 5.1.1.3.
5.1.3.13. Bit Index Explicit Replication Tree Engineering 5.1.3.13. Tree Engineering for Bit Index Explicit Replication
Bit Index Explicit Replication (BIER) [RFC8279] specifies an Bit Index Explicit Replication (BIER) [RFC8279] specifies an
encapsulation for multicast forwarding that can be used on MPLS or encapsulation for multicast forwarding that can be used on MPLS or
Ethernet transports. A mechanism known as Tree Engineering for Bit Ethernet transports. A mechanism known as Tree Engineering for Bit
Index Explicit Replication (BIER-TE) [RFC9262] provides a component Index Explicit Replication (BIER-TE) [RFC9262] provides a component
that could be used to build a traffic-engineered multicast system. that could be used to build a traffic-engineered multicast system.
BIER-TE does not of itself offer full traffic engineering, and the BIER-TE does not of itself offer full traffic engineering, and the
abbreviation "TE" does not, in this case, refer to traffic abbreviation "TE" does not, in this case, refer to traffic
engineering. engineering.
In BIER-TE, path steering is supported via the definition of a In BIER-TE, path steering is supported via the definition of a
bitstring attached to each packet that determines how the packet is bitstring attached to each packet that determines how the packet is
forwarded and replicated within the network. Thus, this bitstring forwarded and replicated within the network. Thus, this bitstring
steers the traffic within the network and forms an element of a steers the traffic within the network and forms an element of a
traffic engineering system. A central controller that is aware of traffic-engineering system. A central controller that is aware of
the capabilities and state of the network as well as the demands 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 the various traffic flows is able to select multicast paths that take
take account of the available resources and demands. This account of the available resources and demands. Therefore, this
controller, therefore, is responsible for the policy elements of controller is responsible for the policy elements of traffic
traffic engineering. engineering.
Resource management has implications for the forwarding plane beyond Resource management has implications for the forwarding plane beyond
the steering of packets defined for BIER-TE. These include the the steering of packets defined for BIER-TE. These include the
allocation of buffers to meet the requirements of admitted traffic, allocation of buffers to meet the requirements of admitted traffic
and may include policing and/or rate-shaping mechanisms achieved via and may include policing and/or rate-shaping mechanisms achieved via
various forms of queuing. This level of resource control, while various forms of queuing. This level of resource control, while
optional, is important in networks that wish to support congestion optional, is important in networks that wish to support congestion
management policies to control or regulate the offered traffic to management policies to control or regulate the offered traffic to
deliver different levels of service and alleviate congestion deliver different levels of service and alleviate congestion
problems, or those networks that wish to control latencies problems. It is also important in networks that wish to control
experienced by specific traffic flows. latencies experienced by specific traffic flows.
5.1.3.14. Network TE State Definition and Presentation 5.1.3.14. Network TE State Definition and Presentation
The network states that are relevant to TE need to be stored in the The network states that are relevant to TE need to be stored in the
system and presented to the user. The Traffic Engineering Database system and presented to the user. The TED is a collection of all TE
(TED) is a collection of all TE information about all TE nodes and TE information about all TE nodes and TE links in the network. It is an
links in the network. It is an essential component of a TE system, essential component of a TE system, such as MPLS-TE [RFC2702] or
such as MPLS-TE [RFC2702] or GMPLS [RFC3945]. In order to formally GMPLS [RFC3945]. In order to formally define the data in the TED and
define the data in the TED and to present the data to the user, the to present the data to the user, the data modeling language YANG
data modeling language YANG [RFC7950] can be used as described in [RFC7950] can be used as described in [RFC8795].
[RFC8795].
5.1.3.15. System Management and Control Interfaces 5.1.3.15. System Management and Control Interfaces
The TE control system needs to have a management interface that is The TE control system needs to have a management interface that is
human-friendly and a control interface that is programmable for human-friendly and a control interface that is programmable for
automation. The Network Configuration Protocol (NETCONF) [RFC6241] automation. The Network Configuration Protocol (NETCONF) [RFC6241]
or the RESTCONF Protocol [RFC8040] provide programmable interfaces and the RESTCONF protocol [RFC8040] provide programmable interfaces
that are also human-friendly. These protocols use XML or JSON that are also human-friendly. These protocols use XML- or JSON-
encoded messages. When message compactness or protocol bandwidth encoded messages. When message compactness or protocol bandwidth
consumption needs to be optimized for the control interface, other consumption needs to be optimized for the control interface, other
protocols, such as Group Communication for the Constrained protocols, such as Group Communication for the Constrained
Application Protocol (CoAP) [RFC7390] or gRPC [GRPC], are available, Application Protocol (CoAP) [RFC7390] or gRPC [GRPC], are available,
especially when the protocol messages are encoded in a binary format. especially when the protocol messages are encoded in a binary format.
Along with any of these protocols, the data modeling language YANG Along with any of these protocols, the data modeling language YANG
[RFC7950] can be used to formally and precisely define the interface [RFC7950] can be used to formally and precisely define the interface
data. data.
The Path Computation Element Communication Protocol (PCEP) [RFC5440] PCEP [RFC5440] is another protocol that has evolved to be an option
is another protocol that has evolved to be an option for the TE for the TE system control interface. PCEP messages are TLV based;
system control interface. The messages of PCEP are TLV-based, not they are not defined by a data-modeling language such as YANG.
defined by a data modeling language such as YANG.
5.2. Content Distribution 5.2. Content Distribution
The Internet is dominated by client-server interactions, principally The Internet is dominated by client-server interactions, principally
Web traffic and multimedia streams, although in the future, more web traffic and multimedia streams, although in the future, more
sophisticated media servers may become dominant. The location and sophisticated media servers may become dominant. The location and
performance of major information servers has a significant impact on performance of major information servers have a significant impact on
the traffic patterns within the Internet as well as on the perception the traffic patterns within the Internet as well as on the perception
of service quality by end users. of service quality by end users.
A number of dynamic load-balancing techniques have been devised to A number of dynamic load-balancing techniques have been devised to
improve the performance of replicated information servers. These improve the performance of replicated information servers. These
techniques can cause spatial traffic characteristics to become more techniques can cause spatial traffic characteristics to become more
dynamic in the Internet because information servers can be dynamic in the Internet because information servers can be
dynamically picked based upon the location of the clients, the dynamically picked based upon the location of the clients, the
location of the servers, the relative utilization of the servers, the location of the servers, the relative utilization of the servers, the
relative performance of different networks, and the relative relative performance of different networks, and the relative
performance of different parts of a network. This process of performance of different parts of a network. This process of
assignment of distributed servers to clients is called traffic assignment of distributed servers to clients is called "traffic
directing. It is an application layer function. directing". It is an application-layer function.
Traffic directing schemes that allocate servers in multiple Traffic-directing schemes that allocate servers in multiple
geographically dispersed locations to clients may require empirical geographically dispersed locations to clients may require empirical
network performance statistics to make more effective decisions. In network performance statistics to make more effective decisions. In
the future, network measurement systems may need to provide this type the future, network measurement systems may need to provide this type
of information. of information.
When congestion exists in the network, traffic directing and traffic When congestion exists in the network, traffic-directing and traffic-
engineering systems should act in a coordinated manner. This topic engineering systems should act in a coordinated manner. This topic
is for further study. is for further study.
The issues related to location and replication of information The issues related to location and replication of information
servers, particularly web servers, are important for Internet traffic servers, particularly web servers, are important for Internet traffic
engineering because these servers contribute a substantial proportion engineering because these servers contribute a substantial proportion
of Internet traffic. of Internet traffic.
6. Recommendations for Internet Traffic Engineering 6. Recommendations for Internet Traffic Engineering
This section describes high-level recommendations for traffic This section describes high-level recommendations for traffic
engineering in the Internet in general terms. engineering in the Internet in general terms.
The recommendations describe the capabilities needed to solve a TE The recommendations describe the capabilities needed to solve a TE
problem or to achieve a TE objective. Broadly speaking, these problem or to achieve a TE objective. Broadly speaking, these
recommendations can be categorized as either functional or non- recommendations can be categorized as either functional or non-
functional recommendations. functional recommendations:
* Functional recommendations describe the functions that a traffic * Functional recommendations describe the functions that a traffic-
engineering system should perform. These functions are needed to engineering system should perform. These functions are needed to
realize TE objectives by addressing traffic engineering problems. realize TE objectives by addressing traffic-engineering problems.
* Non-functional recommendations relate to the quality attributes or * Non-functional recommendations relate to the quality attributes or
state characteristics of a TE system. These recommendations may state characteristics of a TE system. These recommendations may
contain conflicting assertions and may sometimes be difficult to contain conflicting assertions and may sometimes be difficult to
quantify precisely. quantify precisely.
The subsections that follow first summarize the non-functional The subsections that follow first summarize the non-functional
requirements, and then detail the functional requirements. requirements and then detail the functional requirements.
6.1. Generic Non-functional Recommendations 6.1. Generic Non-functional Recommendations
The generic non-functional recommendations for Internet traffic The generic non-functional recommendations for Internet traffic
engineering are listed in the paragraphs that follow. In a given engineering are listed in the paragraphs that follow. In a given
context, some of these recommendations may be critical while others context, some of these recommendations may be critical while others
may be optional. Therefore, prioritization may be required during may be optional. Therefore, prioritization may be required during
the development phase of a TE system to tailor it to a specific the development phase of a TE system to tailor it to a specific
operational context. operational context.
skipping to change at page 50, line 38 skipping to change at line 2310
may additionally benefit from feedback from the network that may additionally benefit from feedback from the network that
indicates the state of network resources and the current load in indicates the state of network resources and the current load in
the network. Further, placing intelligence into components of the the network. Further, placing intelligence into components of the
TE system could enable automation to be more dynamic and TE system could enable automation to be more dynamic and
responsive to changes in the network. responsive to changes in the network.
Flexibility: A TE system should allow for changes in optimization Flexibility: A TE system should allow for changes in optimization
policy. In particular, a TE system should provide sufficient policy. In particular, a TE system should provide sufficient
configuration options so that a network administrator can tailor configuration options so that a network administrator can tailor
the system to a particular environment. It may also be desirable the system to a particular environment. It may also be desirable
to have both online and offline TE subsystems which can be to have both online and offline TE subsystems that can be
independently enabled and disabled. TE systems that are used in independently enabled and disabled. TE systems that are used in
multi-class networks should also have options to support class- multi-class networks should also have options to support class-
based performance evaluation and optimization. based performance evaluation and optimization.
Interoperability: Whenever feasible, TE systems and their components Interoperability: Whenever feasible, TE systems and their components
should be developed with open standards-based interfaces to allow should be developed with open standards-based interfaces to allow
interoperation with other systems and components. interoperation with other systems and components.
Scalability: Public networks continue to grow rapidly with respect Scalability: Public networks continue to grow rapidly with respect
to network size and traffic volume. Therefore, to remain to network size and traffic volume. Therefore, to remain
applicable as the network evolves, a TE system should be scalable. applicable as the network evolves, a TE system should be scalable.
In particular, a TE system should remain functional as the network In particular, a TE system should remain functional as the network
expands with regard to the number of routers and links, and with expands with regard to the number of routers and links and with
respect to the number of flows and the traffic volume. A TE respect to the number of flows and the traffic volume. A TE
system should have a scalable architecture, should not adversely system should have a scalable architecture, should not adversely
impair other functions and processes in a network element, and impair other functions and processes in a network element, and
should not consume too many network resources when collecting and should not consume too many network resources when collecting and
distributing state information, or when exerting control. distributing state information or when exerting control.
Security: Security is a critical consideration in TE systems. Such Security: Security is a critical consideration in TE systems. Such
systems typically exert control over functional aspects of the systems typically exert control over functional aspects of the
network to achieve the desired performance objectives. Therefore, network to achieve the desired performance objectives. Therefore,
adequate measures must be taken to safeguard the integrity of the adequate measures must be taken to safeguard the integrity of the
TE system. Adequate measures must also be taken to protect the TE system. Adequate measures must also be taken to protect the
network from vulnerabilities that originate from security breaches network from vulnerabilities that originate from security breaches
and other impairments within the TE system. and other impairments within the TE system.
Simplicity: A TE system should be as simple as possible. Simplicity Simplicity: A TE system should be as simple as possible. Simplicity
in user interface does not necessarily imply that the TE system in user interface does not necessarily imply that the TE system
will use naive algorithms. When complex algorithms and internal will use naive algorithms. When complex algorithms and internal
structures are used, the user interface should hide such structures are used, the user interface should hide such
complexities from the network administrator as much as possible. complexities from the network administrator as much as possible.
Stability: Stability refers to the resistance of the network to Stability: Stability refers to the resistance of the network to
oscillate (flap) in a disruptive manner from one state to another, oscillate (flap) in a disruptive manner from one state to another,
which may result in traffic being routed first one way and then which may result in traffic being routed first one way and then
another without satisfactory resolution of the underlying TE another without satisfactory resolution of the underlying TE
issues, and with continued changes that do not settle down. issues and with continued changes that do not settle down.
Stability is a very important consideration in TE systems that Stability is a very important consideration in TE systems that
respond to changes in the state of the network. State-dependent respond to changes in the state of the network. State-dependent
TE methodologies typically include a trade-off between TE methodologies typically include a trade-off between
responsiveness and stability. It is strongly recommended that responsiveness and stability. It is strongly recommended that
when a trade-off between responsiveness and stability is needed, when a trade-off between responsiveness and stability is needed,
it should be made in favor of stability (especially in public IP it should be made in favor of stability (especially in public IP
backbone networks). backbone networks).
Usability: Usability is a human aspect of TE systems. It refers to 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 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 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 deployed in an existing network. It is also desirable to have a
TE system that is easy to operate and maintain. TE system that is easy to operate and maintain.
Visibility: Mechanisms should exist as part of the TE system to Visibility: Mechanisms should exist as part of the TE system to
collect statistics from the network and to analyze these collect statistics from the network and to analyze these
statistics to determine how well the network is functioning. statistics to determine how well the network is functioning.
Derived statistics such as traffic matrices, link utilization, Derived statistics (such as traffic matrices, link utilization,
latency, packet loss, and other performance measures of interest latency, packet loss, and other performance measures of interest)
which are determined from network measurements can be used as that are determined from network measurements can be used as
indicators of prevailing network conditions. The capabilities of indicators of prevailing network conditions. The capabilities of
the various components of the routing system are other examples of the various components of the routing system are other examples of
status information which should be observable. status information that should be observable.
6.2. Routing Recommendations 6.2. Routing Recommendations
Routing control is a significant aspect of Internet traffic Routing control is a significant aspect of Internet traffic
engineering. Routing impacts many of the key performance measures engineering. Routing impacts many of the key performance measures
associated with networks, such as throughput, delay, and utilization. associated with networks, such as throughput, delay, and utilization.
Generally, it is very difficult to provide good service quality in a Generally, it is very difficult to provide good service quality in a
wide area network without effective routing control. A desirable TE wide area network without effective routing control. A desirable TE
routing system is one that takes traffic characteristics and network routing system is one that takes traffic characteristics and network
constraints into account during route selection while maintaining constraints into account during route selection while maintaining
stability. stability.
Shortest path first (SPF) IGPs are based on shortest path algorithms Shortest Path First (SPF) IGPs are based on shortest path algorithms
and have limited control capabilities for TE [RFC2702], [AWD2]. and have limited control capabilities for TE [RFC2702] [AWD2]. These
These limitations include: limitations include:
1. Pure SPF protocols do not take network constraints and traffic 1. Pure SPF protocols do not take network constraints and traffic
characteristics into account during route selection. For characteristics into account during route selection. For
example, IGPs always select the shortest paths based on link example, IGPs always select the shortest paths based on link
metrics assigned by administrators, so load sharing cannot be metrics assigned by administrators, so load sharing cannot be
performed across paths of different costs. Note that link performed across paths of different costs. Note that link
metrics are assigned following a range of operator-selected metrics are assigned following a range of operator-selected
policies that might reflect preference for the use of some links policies that might reflect preference for the use of some links
over others, and "shortest" might not, therefore, be purely a over others; therefore, "shortest" might not be purely a measure
measure of distance. Using shortest paths to forward traffic may of distance. Using shortest paths to forward traffic may cause
cause the following problems: the following problems:
* If traffic from a source to a destination exceeds the capacity * If traffic from a source to a destination exceeds the capacity
of a link along the shortest path, the link (and hence the of a link along the shortest path, the link (and hence the
shortest path) becomes congested while a longer path between shortest path) becomes congested while a longer path between
these two nodes may be under-utilized. these two nodes may be under-utilized.
* The shortest paths from different sources can overlap at some * The shortest paths from different sources can overlap at some
links. If the total traffic from the sources exceeds the links. If the total traffic from the sources exceeds the
capacity of any of these links, congestion will occur. capacity of any of these links, congestion will occur.
* Problems can also occur because traffic demand changes over * Problems can also occur because traffic demand changes over
time, but network topology and routing configuration cannot be time, but network topology and routing configuration cannot be
changed as rapidly. This causes the network topology and changed as rapidly. This causes the network topology and
routing configuration to become sub-optimal over time, which routing configuration to become sub-optimal over time, which
may result in persistent congestion problems. may result in persistent congestion problems.
2. The Equal-Cost Multi-Path (ECMP) capability of SPF IGPs supports 2. The Equal-Cost Multipath (ECMP) capability of SPF IGPs supports
sharing of traffic among equal-cost paths. However, ECMP sharing of traffic among equal-cost paths. However, ECMP
attempts to divide the traffic as equally as possible among the attempts to divide the traffic as equally as possible among the
equal-cost shortest paths. Generally, ECMP does not support equal-cost shortest paths. Generally, ECMP does not support
configurable load sharing ratios among equal cost paths. The configurable load-sharing ratios among equal-cost paths. The
result is that one of the paths may carry significantly more result is that one of the paths may carry significantly more
traffic than other paths because it may also carry traffic from traffic than other paths because it may also carry traffic from
other sources. This situation can result in congestion along the other sources. This situation can result in congestion along the
path that carries more traffic. Weighted ECMP (WECMP) (see, for path that carries more traffic. Weighted ECMP (WECMP) (see, for
example, [I-D.ietf-bess-evpn-unequal-lb]) provides some example, [EVPN-UNEQUAL-LB]) provides some mitigation.
mitigation.
3. Modifying IGP metrics to control traffic routing tends to have 3. Modifying IGP metrics to control traffic routing tends to have
network-wide effects. Consequently, undesirable and network-wide effects. Consequently, undesirable and
unanticipated traffic shifts can be triggered as a result. Work unanticipated traffic shifts can be triggered as a result. Work
described in Section 8 may be capable of better control [FT00], described in Section 8 may be capable of better control [FT00]
[FT01]. [FT01].
Because of these limitations, capabilities are needed to enhance the Because of these limitations, capabilities are needed to enhance the
routing function in IP networks. Some of these capabilities are routing function in IP networks. Some of these capabilities are
summarized below. summarized below:
* Constraint-based routing computes routes to fulfill requirements * Constraint-based routing computes routes to fulfill requirements
subject to constraints. This can be useful in public IP backbones subject to constraints. This can be useful in public IP backbones
with complex topologies. Constraints may include bandwidth, hop with complex topologies. Constraints may include bandwidth, hop
count, delay, and administrative policy instruments such as count, delay, and administrative policy instruments, such as
resource class attributes [RFC2702], [RFC2386]. This makes it resource class attributes [RFC2702] [RFC2386]. This makes it
possible to select routes that satisfy a given set of possible to select routes that satisfy a given set of
requirements. Routes computed by constraint-based routing are not requirements. Routes computed by constraint-based routing are not
necessarily the shortest paths. Constraint-based routing works necessarily the shortest paths. Constraint-based routing works
best with path-oriented technologies that support explicit best with path-oriented technologies that support explicit
routing, such as MPLS. routing, such as MPLS.
* Constraint-based routing can also be used as a way to distribute * Constraint-based routing can also be used as a way to distribute
traffic onto the infrastructure, including for best effort traffic onto the infrastructure, including for best-effort
traffic. For example, congestion problems caused by uneven traffic. For example, congestion problems caused by uneven
traffic distribution may be avoided or reduced by knowing the traffic distribution may be avoided or reduced by knowing the
reservable bandwidth attributes of the network links and by reservable bandwidth attributes of the network links and by
specifying the bandwidth requirements for path selection. specifying the bandwidth requirements for path selection.
* A number of enhancements to the link state IGPs allow them to * A number of enhancements to the link-state IGPs allow them to
distribute additional state information required for constraint- distribute additional state information required for constraint-
based routing. The extensions to OSPF are described in [RFC3630], based routing. The extensions to OSPF are described in [RFC3630],
and to IS-IS in [RFC5305]. Some of the additional topology state and the extensions to IS-IS are described in [RFC5305]. Some of
information includes link attributes such as reservable bandwidth the additional topology state information includes link
and link resource class attribute (an administratively specified attributes, such as reservable bandwidth and link resource class
property of the link). The resource class attribute concept is attribute (an administratively specified property of the link).
defined in [RFC2702]. The additional topology state information The resource class attribute concept is defined in [RFC2702]. The
is carried in new TLVs and sub-TLVs in IS-IS, or in the Opaque LSA additional topology state information is carried in new TLVs and
in OSPF [RFC5305], [RFC3630]. sub-TLVs in IS-IS [RFC5305] or in the Opaque LSA in OSPF
[RFC3630].
* An enhanced link-state IGP may flood information more frequently * An enhanced link-state IGP may flood information more frequently
than a normal IGP. This is because even without changes in than a normal IGP. This is because even without changes in
topology, changes in reservable bandwidth or link affinity can topology, changes in reservable bandwidth or link affinity can
trigger the enhanced IGP to initiate flooding. A trade-off trigger the enhanced IGP to initiate flooding. A trade-off
between the timeliness of the information flooded and the flooding between the timeliness of the information flooded and the flooding
frequency is typically implemented using a threshold based on the frequency is typically implemented using a threshold based on the
percentage change of the advertised resources to avoid excessive percentage change of the advertised resources to avoid excessive
consumption of link bandwidth and computational resources, and to consumption of link bandwidth and computational resources and to
avoid instability in the TED. avoid instability in the TED.
* In a TE system, it is also desirable for the routing subsystem to * In a TE system, it is also desirable for the routing subsystem to
make the load splitting ratio among multiple paths (with equal make the load-splitting ratio among multiple paths (with equal
cost or different cost) configurable. This capability gives cost or different cost) configurable. This capability gives
network administrators more flexibility in the control of traffic network administrators more flexibility in the control of traffic
distribution across the network. It can be very useful for distribution across the network. It can be very useful for
avoiding/relieving congestion in certain situations. Examples can avoiding/relieving congestion in certain situations. Examples can
be found in [XIAO] and [I-D.ietf-bess-evpn-unequal-lb]. be found in [XIAO] and [EVPN-UNEQUAL-LB].
* The routing system should also have the capability to control the * The routing system should also have the capability to control the
routes of subsets of traffic without affecting the routes of other routes of subsets of traffic without affecting the routes of other
traffic if sufficient resources exist for this purpose. This traffic if sufficient resources exist for this purpose. This
capability allows a more refined control over the distribution of capability allows a more refined control over the distribution of
traffic across the network. For example, the ability to move traffic across the network. For example, the ability to move
traffic away from its original path to another path (without traffic away from its original path to another path (without
affecting other traffic paths) allows the traffic to be moved from affecting other traffic paths) allows the traffic to be moved from
resource-poor network segments to resource-rich segments. Path resource-poor network segments to resource-rich segments. Path-
oriented technologies such as MPLS-TE inherently support this oriented technologies, such as MPLS-TE, inherently support this
capability as discussed in [AWD2]. capability as discussed in [AWD2].
* Additionally, the routing subsystem should be able to select * Additionally, the routing subsystem should be able to select
different paths for different classes of traffic (or for different different paths for different classes of traffic (or for different
traffic behavior aggregates) if the network supports multiple traffic behavior aggregates) if the network supports multiple
classes of service (different behavior aggregates). classes of service (different behavior aggregates).
6.3. Traffic Mapping Recommendations 6.3. Traffic Mapping Recommendations
Traffic mapping is the assignment of traffic workload onto (pre- Traffic mapping is the assignment of traffic workload onto (pre-
established) paths to meet certain requirements. Thus, while established) paths to meet certain requirements. Thus, while
constraint-based routing deals with path selection, traffic mapping constraint-based routing deals with path selection, traffic mapping
deals with the assignment of traffic to established paths which may deals with the assignment of traffic to established paths that may
have been generated by constraint-based routing or by some other have been generated by constraint-based routing or by some other
means. Traffic mapping can be performed by time-dependent or state- means. Traffic mapping can be performed by time-dependent or state-
dependent mechanisms, as described in Section 4.1. dependent mechanisms, as described in Section 4.1.
An important aspect of the traffic mapping function is the ability to Two important aspects of the traffic mapping function are the ability
establish multiple paths between an originating node and a to establish multiple paths between an originating node and a
destination node, and the capability to distribute the traffic destination node and the capability to distribute the traffic across
between the two nodes across the paths according to configured those paths according to configured policies. A precondition for
policies. A precondition for this scheme is the existence of this scheme is the existence of flexible mechanisms to partition
flexible mechanisms to partition traffic and then assign the traffic traffic and then assign the traffic partitions onto the parallel
partitions onto the parallel paths (described as "parallel traffic paths (described as "parallel traffic trunks" in [RFC2702]). When
trunks" in [RFC2702]). When traffic is assigned to multiple parallel traffic is assigned to multiple parallel paths, it is recommended
paths, it is recommended that special care should be taken to ensure that special care should be taken to ensure proper ordering of
proper ordering of packets belonging to the same application (or packets belonging to the same application (or traffic flow) at the
traffic flow) at the destination node of the parallel paths. destination node of the parallel paths.
Mechanisms that perform the traffic mapping functions should aim to Mechanisms that perform the traffic mapping functions should aim to
map the traffic onto the network infrastructure to minimize map the traffic onto the network infrastructure to minimize
congestion. If the total traffic load cannot be accommodated, or if congestion. If the total traffic load cannot be accommodated, or if
the routing and mapping functions cannot react fast enough to the routing and mapping functions cannot react fast enough to
changing traffic conditions, then a traffic mapping system may use changing traffic conditions, then a traffic mapping system may use
short timescale congestion control mechanisms (such as queue short timescale congestion control mechanisms (such as queue
management, scheduling, etc.) to mitigate congestion. Thus, management, scheduling, etc.) to mitigate congestion. Thus,
mechanisms that perform the traffic mapping functions complement mechanisms that perform the traffic mapping functions complement
existing congestion control mechanisms. In an operational network, existing congestion control mechanisms. In an operational network,
traffic should be mapped onto the infrastructure such that intra- traffic should be mapped onto the infrastructure such that intra-
class and inter-class resource contention are minimized (see class and inter-class resource contention are minimized (see
Section 2). Section 2).
When traffic mapping techniques that depend on dynamic state feedback When traffic mapping techniques that depend on dynamic state feedback
(e.g., MATE [MATE] and suchlike) are used, special care must be taken (e.g., MPLS Adaptive Traffic Engineering (MATE) [MATE] and suchlike)
to guarantee network stability. are used, special care must be taken to guarantee network stability.
6.4. Measurement Recommendations 6.4. Measurement Recommendations
The importance of measurement in TE has been discussed throughout The importance of measurement in TE has been discussed throughout
this document. A TE system should include mechanisms to measure and this document. A TE system should include mechanisms to measure and
collect statistics from the network to support the TE function. collect statistics from the network to support the TE function.
Additional capabilities may be needed to help in the analysis of the Additional capabilities may be needed to help in the analysis of the
statistics. The actions of these mechanisms should not adversely statistics. The actions of these mechanisms should not adversely
affect the accuracy and integrity of the statistics collected. The affect the accuracy and integrity of the statistics collected. The
mechanisms for statistical data acquisition should also be able to mechanisms for statistical data acquisition should also be able to
skipping to change at page 55, line 45 skipping to change at line 2558
Traffic statistics may be classified according to long-term or short- Traffic statistics may be classified according to long-term or short-
term timescales. Long-term traffic statistics are very useful for term timescales. Long-term traffic statistics are very useful for
traffic engineering. Long-term traffic statistics may periodically traffic engineering. Long-term traffic statistics may periodically
record network workload (such as hourly, daily, and weekly variations record network workload (such as hourly, daily, and weekly variations
in traffic profiles) as well as traffic trends. Aspects of the in traffic profiles) as well as traffic trends. Aspects of the
traffic statistics may also describe class of service characteristics traffic statistics may also describe class of service characteristics
for a network supporting multiple classes of service. Analysis of for a network supporting multiple classes of service. Analysis of
the long-term traffic statistics may yield other information such as the long-term traffic statistics may yield other information such as
busy-hour characteristics, traffic growth patterns, persistent busy-hour characteristics, traffic growth patterns, persistent
congestion problems, hot-spot, and imbalances in link utilization congestion problems, hotspots, and imbalances in link utilization
caused by routing anomalies. caused by routing anomalies.
A mechanism for constructing traffic matrices for both long-term and A mechanism for constructing traffic matrices for both long-term and
short-term traffic statistics should be in place. In multi-service short-term traffic statistics should be in place. In multi-service
IP networks, the traffic matrices may be constructed for different IP networks, the traffic matrices may be constructed for different
service classes. Each element of a traffic matrix represents a service classes. Each element of a traffic matrix represents a
statistic about the traffic flow between a pair of abstract nodes. statistic about the traffic flow between a pair of abstract nodes.
An abstract node may represent a router, a collection of routers, or An abstract node may represent a router, a collection of routers, or
a site in a VPN. a site in a VPN.
Traffic statistics should provide reasonable and reliable indicators Traffic statistics should provide reasonable and reliable indicators
of the current state of the network on the short-term scale. Some of the current state of the network on the short-term scale. Some
short term traffic statistics may reflect link utilization and link short-term traffic statistics may reflect link utilization and link
congestion status. Examples of congestion indicators include congestion status. Examples of congestion indicators include
excessive packet delay, packet loss, and high resource utilization. excessive packet delay, packet loss, and high resource utilization.
Examples of mechanisms for distributing this kind of information Examples of mechanisms for distributing this kind of information
include SNMP, probing tools, FTP, IGP link state advertisements, and include SNMP, probing tools, FTP, IGP link-state advertisements,
NETCONF/RESTCONF, etc. NETCONF/RESTCONF, etc.
6.5. Policing, Planning, and Access Control 6.5. Policing, Planning, and Access Control
The recommendations in Section 6.2 and Section 6.3 may be sub-optimal The recommendations in Sections 6.2 and 6.3 may be sub-optimal or
or even ineffective if the amount of traffic flowing on a route or even ineffective if the amount of traffic flowing on a route or path
path exceeds the capacity of the resource on that route or path. exceeds the capacity of the resource on that route or path. Several
Several approaches can be used to increase the performance of TE approaches can be used to increase the performance of TE systems:
systems.
* The fundamental approach is some form of planning where traffic is * The fundamental approach is some form of planning where traffic is
steered onto paths so that it is distributed across the available steered onto paths so that it is distributed across the available
resources. This planning may be centralized or distributed, and resources. This planning may be centralized or distributed and
must be aware of the planned traffic volumes and available must be aware of the planned traffic volumes and available
resources. However, this approach is only of value if the traffic resources. However, this approach is only of value if the traffic
that is presented conforms to the planned traffic volumes. that is presented conforms to the planned traffic volumes.
* Traffic flows may be policed at the edges of a network. This is a * Traffic flows may be policed at the edges of a network. This is a
simple way to ensure that the actual traffic volumes are simple way to ensure that the actual traffic volumes are
consistent with the planned volumes. Some form of measurement consistent with the planned volumes. Some form of measurement
(see Section 6.4) is used to determine the rate of arrival of (see Section 6.4) is used to determine the rate of arrival of
traffic, and excess traffic could be discarded. Alternatively, traffic, and excess traffic could be discarded. Alternatively,
excess traffic could be forwarded as best-effort within the excess traffic could be forwarded as best-effort within the
network. However, this approach is only completely effective if network. However, this approach is only completely effective if
the planning is stringent and network-wide, and if a harsh the planning is stringent and network-wide and if a harsh approach
approach is taken to disposing of excess traffic. is taken to disposing of excess traffic.
* Resource-based admission control is the process whereby network * Resource-based admission control is the process whereby network
nodes decide whether to grant access to resources. The basis for nodes decide whether to grant access to resources. The basis for
the decision on a packet-by-packet basis is the determination of the decision on a packet-by-packet basis is the determination of
the flow to which the packet belongs. This information is the flow to which the packet belongs. This information is
combined with policy instructions that have been locally combined with policy instructions that have been locally
configured, or installed through the management or control planes. configured or installed through the management or control planes.
The end result is that a packet may be allowed to access (or use) 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 specific resources on the node if, and only if, the flow to which
the packet belongs conforms to the policy. the packet belongs conforms to the policy.
Combining some element of all three of these measures is advisable to Combining some elements of all three of these measures is advisable
achieve a better TE system. to achieve a better TE system.
6.6. Network Survivability 6.6. Network Survivability
Network survivability refers to the capability of a network to Network survivability refers to the capability of a network to
maintain service continuity in the presence of faults. This can be maintain service continuity in the presence of faults. This can be
accomplished by promptly recovering from network impairments and accomplished by promptly recovering from network impairments and
maintaining the required QoS for existing services after recovery. maintaining the required QoS for existing services after recovery.
Survivability is an issue of great concern within the Internet Survivability is an issue of great concern within the Internet
community due to the demand to carry mission-critical traffic, real- community due to the demand to carry mission-critical traffic, real-
time traffic, and other high priority traffic over the Internet. time traffic, and other high-priority traffic over the Internet.
Survivability can be addressed at the device level by developing Survivability can be addressed at the device level by developing
network elements that are more reliable; and at the network level by network elements that are more reliable and at the network level by
incorporating redundancy into the architecture, design, and operation incorporating redundancy into the architecture, design, and operation
of networks. It is recommended that a philosophy of robustness and of networks. It is recommended that a philosophy of robustness and
survivability should be adopted in the architecture, design, and survivability should be adopted in the architecture, design, and
operation of TE used to control IP networks (especially public IP operation of TE used to control IP networks (especially public IP
networks). Because different contexts may demand different levels of networks). Because different contexts may demand different levels of
survivability, the mechanisms developed to support network survivability, the mechanisms developed to support network
survivability should be flexible so that they can be tailored to survivability should be flexible so that they can be tailored to
different needs. A number of tools and techniques have been different needs. A number of tools and techniques have been
developed to enable network survivability including MPLS Fast Reroute developed to enable network survivability, including MPLS Fast
[RFC4090], Topology Independent Loop-free Alternate Fast Re-route for Reroute [RFC4090], Topology Independent Loop-free Alternate Fast
Segment Routing [I-D.ietf-rtgwg-segment-routing-ti-lfa] RSVP-TE Reroute for Segment Routing [SR-TI-LFA], RSVP-TE Extensions in
Extensions in Support of End-to-End GMPLS Recovery [RFC4872], and Support of End-to-End GMPLS Recovery [RFC4872], and GMPLS Segment
GMPLS Segment Recovery [RFC4873]. Recovery [RFC4873].
The impact of service outages varies significantly for different The impact of service outages varies significantly for different
service classes depending on the duration of the outage which can service classes depending on the duration of the outage, which can
vary from milliseconds (with minor service impact) to seconds (with vary from milliseconds (with minor service impact) to seconds (with
possible call drops for IP telephony and session timeouts for possible call drops for IP telephony and session timeouts for
connection-oriented transactions) to minutes and hours (with connection-oriented transactions) to minutes and hours (with
potentially considerable social and business impact). Outages of potentially considerable social and business impact). Outages of
different durations have different impacts depending on the nature of different durations have different impacts depending on the nature of
the traffic flows that are interrupted. the traffic flows that are interrupted.
Failure protection and restoration capabilities are available in Failure protection and restoration capabilities are available in
multiple layers as network technologies have continued to evolve. multiple layers as network technologies have continued to evolve.
Optical networks are capable of providing dynamic ring and mesh Optical networks are capable of providing dynamic ring and mesh
restoration functionality at the wavelength level. At the SONET/SDH restoration functionality at the wavelength level. At the SONET/SDH
layer survivability capability is provided with Automatic Protection layer, survivability capability is provided with Automatic Protection
Switching (APS) as well as self-healing ring and mesh architectures. Switching (APS) as well as self-healing ring and mesh architectures.
Similar functionality is provided by layer 2 technologies such as Similar functionality is provided by Layer 2 technologies such as
Ethernet. Ethernet.
Rerouting is used at the IP layer to restore service following link 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 and node outages. Rerouting at the IP layer occurs after a period of
routing convergence which may require seconds to minutes to complete. routing convergence, which may require seconds to minutes to
Path-oriented technologies such as MPLS ([RFC3469]) can be used to complete. Path-oriented technologies such as MPLS [RFC3469] can be
enhance the survivability of IP networks in a potentially cost- used to enhance the survivability of IP networks in a potentially
effective manner. cost-effective manner.
An important aspect of multi-layer survivability is that technologies An important aspect of multi-layer survivability is that technologies
at different layers may provide protection and restoration at different layers may provide protection and restoration
capabilities at different granularities in terms of time scales and capabilities at different granularities in terms of timescales and at
at different bandwidth granularity (from the level of packets to that different bandwidth granularities (from the level of packets to that
of wavelengths). Protection and restoration capabilities can also be of wavelengths). Protection and restoration capabilities can also be
sensitive to different service classes and different network utility sensitive to different service classes and different network utility
models. Coordinating different protection and restoration models. Coordinating different protection and restoration
capabilities across multiple layers in a cohesive manner to ensure capabilities across multiple layers in a cohesive manner to ensure
network survivability is maintained at reasonable cost is a network survivability is maintained at reasonable cost is a
challenging task. Protection and restoration coordination across challenging task. Protection and restoration coordination across
layers may not always be feasible, because networks at different layers may not always be feasible, because networks at different
layers may belong to different administrative domains. layers may belong to different administrative domains.
The following paragraphs present some of the general recommendations Some of the general recommendations for protection and restoration
for protection and restoration coordination. coordination are as follows:
* Protection and restoration capabilities from different layers * Protection and restoration capabilities from different layers
should be coordinated to provide network survivability in a should be coordinated to provide network survivability in a
flexible and cost-effective manner. Avoiding duplication of flexible and cost-effective manner. Avoiding duplication of
functions in different layers is one way to achieve the functions in different layers is one way to achieve the
coordination. Escalation of alarms and other fault indicators coordination. Escalation of alarms and other fault indicators
from lower to higher layers may also be performed in a coordinated from lower to higher layers may also be performed in a coordinated
manner. The order of timing of restoration triggers from manner. The order of timing of restoration triggers from
different layers is another way to coordinate multi-layer different layers is another way to coordinate multi-layer
protection/restoration. protection/restoration.
* Network capacity reserved in one layer to provide protection and * Network capacity reserved in one layer to provide protection and
restoration is not available to carry traffic in a higher layer: restoration is not available to carry traffic in a higher layer:
it is not visible as spare capacity in the higher layer. Placing it is not visible as spare capacity in the higher layer. Placing
protection/restoration functions in many layers may increase protection/restoration functions in many layers may increase
redundancy and robustness, but it can result in significant redundancy and robustness, but it can result in significant
inefficiencies in network resource utilization. Careful planning inefficiencies in network resource utilization. Careful planning
is needed to balance the tradeoff between the desire for is needed to balance the trade-off between the desire for
survivability and the optimal use of resources. survivability and the optimal use of resources.
* It is generally desirable to have protection and restoration * It is generally desirable to have protection and restoration
schemes that are intrinsically bandwidth efficient. schemes that are intrinsically bandwidth efficient.
* Failure notifications throughout the network should be timely and * Failure notifications throughout the network should be timely and
reliable if they are to be acted on as triggers for effective reliable if they are to be acted on as triggers for effective
protection and restoration actions. protection and restoration actions.
* Alarms and other fault monitoring and reporting capabilities * Alarms and other fault monitoring and reporting capabilities
should be provided at the right network layers so that the should be provided at the right network layers so that the
protection and restoration actions can be taken in those layers. protection and restoration actions can be taken in those layers.
6.6.1. Survivability in MPLS Based Networks 6.6.1. Survivability in MPLS-Based Networks
Because MPLS is path-oriented, it has the potential to provide faster Because MPLS is path-oriented, it has the potential to provide faster
and more predictable protection and restoration capabilities than and more predictable protection and restoration capabilities than
conventional hop-by-hop routed IP systems. Protection types for MPLS conventional hop-by-hop routed IP systems. Protection types for MPLS
networks can be divided into four categories. networks can be divided into four categories:
* Link Protection: The objective of link protection is to protect an Link Protection: The objective of link protection is to protect an
LSP from the failure of a given link. Under link protection, a LSP from the failure of a given link. Under link protection, a
protection or backup LSP (the secondary LSP) follows a path that protection or backup LSP (the secondary LSP) follows a path that
is disjoint from the path of the working or operational LSP (the is disjoint from the path of the working or operational LSP (the
primary LSP) at the particular link where link protection is primary LSP) at the particular link where link protection is
required. When the protected link fails, traffic on the working required. When the protected link fails, traffic on the working
LSP is switched to the protection LSP at the head-end of the LSP is switched to the protection LSP at the headend of the failed
failed link. As a local repair method, link protection can be link. As a local repair method, link protection can be fast.
fast. This form of protection may be most appropriate in This form of protection may be most appropriate in situations
situations where some network elements along a given path are where some network elements along a given path are known to be
known to be less reliable than others. less reliable than others.
* Node Protection: The objective of node protection is to protect an Node Protection: The objective of node protection is to protect an
LSP from the failure of a given node. Under node protection, the 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 secondary LSP follows a path that is disjoint from the path of the
primary LSP at the particular node where node protection is primary LSP at the particular node where node protection is
required. The secondary LSP is also disjoint from the primary LSP required. The secondary LSP is also disjoint from the primary LSP
at all links attached to the node to be protected. When the at all links attached to the node to be protected. When the
protected node fails, traffic on the working LSP is switched over protected node fails, traffic on the working LSP is switched over
to the protection LSP at the upstream LSR directly connected to to the protection LSP at the upstream LSR directly connected to
the failed node. Node protection covers a slightly larger part of the failed node. Node protection covers a slightly larger part of
the network compared to link protection, but is otherwise the network compared to link protection but is otherwise
fundamentally the same. fundamentally the same.
* Path Protection: The goal of LSP path protection (or end-to-end Path Protection: The goal of LSP path protection (or end-to-end
protection) is to protect an LSP from any failure along its routed protection) is to protect an LSP from any failure along its routed
path. Under path protection, the path of the protection LSP is path. Under path protection, the path of the protection LSP is
completely disjoint from the path of the working LSP. The completely disjoint from the path of the working LSP. The
advantage of path protection is that the backup LSP protects the advantage of path protection is that the backup LSP protects the
working LSP from all possible link and node failures along the working LSP from all possible link and node failures along the
path, except for failures of ingress or egress LSR. Additionally, path, except for failures of ingress or egress LSR. Additionally,
path protection may be more efficient in terms of resource usage path protection may be more efficient in terms of resource usage
than link or node protection applied at every hop along the path. than link or node protection applied at every hop along the path.
However, path protection may be slower than link and node However, path protection may be slower than link and node
protection because the fault notifications have to be propagated protection because the fault notifications have to be propagated
further. further.
* Segment Protection: An MPLS domain may be partitioned into Segment Protection: An MPLS domain may be partitioned into multiple
multiple subdomains (protection domains). Path protection is subdomains (protection domains). Path protection is applied to
applied to the path of each LSP as it crosses the domain from its the path of each LSP as it crosses the domain from its ingress to
ingress to the domain to where it egresses the domain. In cases the domain to where it egresses the domain. In cases where an LSP
where an LSP traverses multiple protection domains, a protection traverses multiple protection domains, a protection mechanism
mechanism within a domain only needs to protect the segment of the within a domain only needs to protect the segment of the LSP that
LSP that lies within the domain. Segment protection will lies within the domain. Segment protection will generally be
generally be faster than end-to-end path protection because faster than end-to-end path protection because recovery generally
recovery generally occurs closer to the fault and the notification occurs closer to the fault, and the notification doesn't have to
doesn't have to propagate as far. propagate as far.
See [RFC3469] and [RFC6372] for a more comprehensive discussion of See [RFC3469] and [RFC6372] for a more comprehensive discussion of
MPLS based recovery. MPLS-based recovery.
6.6.2. Protection Options 6.6.2. Protection Options
Another issue to consider is the concept of protection options. We Another issue to consider is the concept of protection options. We
use notation such as "m:n protection", where m is the number of 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 protection LSPs used to protect n working LSPs. In all cases except
1+1 protection, the resources associated with the protection LSPs can 1+1 protection, the resources associated with the protection LSPs can
be used to carry preemptable best-effort traffic when the working LSP be used to carry preemptable best-effort traffic when the working LSP
is functioning correctly. is functioning correctly.
* 1:1 protection: One working LSP is protected/restored by one 1:1 protection: One working LSP is protected/restored by one
protection LSP. Traffic is sent only on the protected LSP until protection LSP. Traffic is sent only on the protected LSP until
the protection/restoration event switches the traffic to the the protection/restoration event switches the traffic to the
protection LSP. protection LSP.
* 1:n protection: One protection LSP is used to protect/restore n 1:n protection: One protection LSP is used to protect/restore n
working LSPs. Traffic is sent only on the n protected working working LSPs. Traffic is sent only on the n protected working
LSPs until the protection/restoration event switches the traffic LSPs until the protection/restoration event switches the traffic
from one failed LSP to the protection LSP. Only one failed LSP from one failed LSP to the protection LSP. Only one failed LSP
can be restored at any time. can be restored at any time.
* n:1 protection: One working LSP is protected/restored by n n:1 protection: One working LSP is protected/restored by n
protection LSPs, possibly with load splitting across the protection LSPs, possibly with load splitting across the
protection LSPs. This may be especially useful when it is not protection LSPs. This may be especially useful when it is not
feasible to find one path for the backup that can satisfy the feasible to find one path for the backup that can satisfy the
bandwidth requirement of the primary LSP. bandwidth requirement of the primary LSP.
* 1+1 protection: Traffic is sent concurrently on both the working 1+1 protection: Traffic is sent concurrently on both the working LSP
LSP and a protection LSP. The egress LSR selects one of the two and a protection LSP. The egress LSR selects one of the two LSPs
LSPs based on local policy (usually based on traffic integrity). based on local policy (usually based on traffic integrity). When
When a fault disrupts the traffic on one LSP, the egress switches a fault disrupts the traffic on one LSP, the egress switches to
to receive traffic from the other LSP. This approach is expensive receive traffic from the other LSP. This approach is expensive in
in how it consumes network but recovers from failures most how it consumes network but recovers from failures most rapidly.
rapidly.
6.7. Multi-Layer Traffic Engineering 6.7. Multi-Layer Traffic Engineering
Networks are often implemented as layers. A layer relationship may Networks are often implemented as layers. A layer relationship may
represent the interaction between technologies (for example, an IP represent the interaction between technologies (for example, an IP
network operated over an optical network), or the relationship network operated over an optical network) or the relationship between
between different network operators (for example, a customer network different network operators (for example, a customer network operated
operated over a service provider's network). Note that a multi-layer over a service provider's network). Note that a multi-layer network
network does not imply the use of multiple technologies, although does not imply the use of multiple technologies, although some form
some form of encapsulation is often applied. of encapsulation is often applied.
Multi-layer traffic engineering presents a number of challenges Multi-layer traffic engineering presents a number of challenges
associated with scalability and confidentiality. These issues are associated with scalability and confidentiality. These issues are
addressed in [RFC7926] which discusses the sharing of information addressed in [RFC7926], which discusses the sharing of information
between domains through policy filters, aggregation, abstraction, and between domains through policy filters, aggregation, abstraction, and
virtualization. That document also discusses how existing protocols virtualization. That document also discusses how existing protocols
can support this scenario with special reference to BGP-LS (see can support this scenario with special reference to BGP-LS (see
Section 5.1.3.10). Section 5.1.3.10).
PCE (see Section 5.1.3.11) is also a useful tool for multi-layer PCE (see Section 5.1.3.11) is also a useful tool for multi-layer
networks as described in [RFC6805], [RFC8685], and [RFC5623]. networks as described in [RFC6805], [RFC8685], and [RFC5623].
Signaling techniques for multi-layer TE are described in [RFC6107]. Signaling techniques for multi-layer TE are described in [RFC6107].
See also Section 6.6 for examination of multi-layer network See also Section 6.6 for examination of multi-layer network
survivability. survivability.
6.8. Traffic Engineering in Diffserv Environments 6.8. Traffic Engineering in Diffserv Environments
Increasing requirements to support multiple classes of traffic in the Increasing requirements to support multiple classes of traffic in the
Internet, such as best effort and mission critical data, call for IP Internet, such as best-effort and mission-critical data, call for IP
networks to differentiate traffic according to some criteria and to networks to differentiate traffic according to some criteria and to
give preferential treatment to certain types of traffic. Large give preferential treatment to certain types of traffic. Large
numbers of flows can be aggregated into a few behavior aggregates numbers of flows can be aggregated into a few behavior aggregates
based on some criteria based on common performance requirements in based on some criteria based on common performance requirements in
terms of packet loss ratio, delay, and jitter, or in terms of common terms of packet loss ratio, delay, and jitter or in terms of common
fields within the IP packet headers. fields within the IP packet headers.
Differentiated Services (Diffserv) [RFC2475] can be used to ensure Differentiated Services (Diffserv) [RFC2475] can be used to ensure
that SLAs defined to differentiate between traffic flows are met. that SLAs defined to differentiate between traffic flows are met.
Classes of service (CoS) can be supported in a Diffserv environment Classes of service can be supported in a Diffserv environment by
by concatenating per-hop behaviors (PHBs) along the routing path. A concatenating Per-Hop Behaviors (PHBs) along the routing path. A PHB
PHB is the forwarding behavior that a packet receives at a Diffserv- is the forwarding behavior that a packet receives at a Diffserv-
compliant node, and it can be configured at each router. PHBs are compliant node, and it can be configured at each router. PHBs are
delivered using buffer management and packet scheduling mechanisms delivered using buffer-management and packet-scheduling mechanisms
and require that the ingress nodes use traffic classification, and require that the ingress nodes use traffic classification,
marking, policing, and shaping. marking, policing, and shaping.
TE can complement Diffserv to improve utilization of network TE can complement Diffserv to improve utilization of network
resources. TE can be operated on an aggregated basis across all resources. TE can be operated on an aggregated basis across all
service classes [RFC3270], or on a per-service class basis. The service classes [RFC3270] or on a per-service-class basis. The
former is used to provide better distribution of the traffic load former is used to provide better distribution of the traffic load
over the network resources (see [RFC3270] for detailed mechanisms to over the network resources (see [RFC3270] for detailed mechanisms to
support aggregate TE). The latter case is discussed below since it support aggregate TE). The latter case is discussed below since it
is specific to the Diffserv environment, with so called Diffserv- is specific to the Diffserv environment, with so-called Diffserv-
aware traffic engineering [RFC4124]. aware traffic engineering [RFC4124].
For some Diffserv networks, it may be desirable to control the For some Diffserv networks, it may be desirable to control the
performance of some service classes by enforcing relationships performance of some service classes by enforcing relationships
between the traffic workload contributed by each service class and between the traffic workload contributed by each service class and
the amount of network resources allocated or provisioned for that the amount of network resources allocated or provisioned for that
service class. Such relationships between demand and resource service class. Such relationships between demand and resource
allocation can be enforced using a combination of, for example: allocation can be enforced using a combination of, for example:
* TE mechanisms on a per service class basis that enforce the * TE mechanisms on a per-service-class basis that enforce the
relationship between the amount of traffic contributed by a given relationship between the amount of traffic contributed by a given
service class and the resources allocated to that class. service class and the resources allocated to that class.
* Mechanisms that dynamically adjust the resources allocated to a * Mechanisms that dynamically adjust the resources allocated to a
given service class to relate to the amount of traffic contributed given service class to relate to the amount of traffic contributed
by that service class. by that service class.
It may also be desirable to limit the performance impact of high- It may also be desirable to limit the performance impact of high-
priority traffic on relatively low-priority traffic. This can be priority traffic on relatively low-priority traffic. This can be
achieved, for example, by controlling the percentage of high-priority achieved, for example, by controlling the percentage of high-priority
traffic that is routed through a given link. Another way to traffic that is routed through a given link. Another way to
accomplish this is to increase link capacities appropriately so that accomplish this is to increase link capacities appropriately so that
lower-priority traffic can still enjoy adequate service quality. lower-priority traffic can still enjoy adequate service quality.
When the ratio of traffic workload contributed by different service When the ratio of traffic workload contributed by different service
classes varies significantly from router to router, it may not be classes varies significantly from router to router, it may not be
enough to rely on conventional IGP routing protocols or on TE enough to rely on conventional IGP routing protocols or on TE
mechanisms that are not sensitive to different service classes. mechanisms that are not sensitive to different service classes.
Instead, it may be desirable to perform TE, especially routing Instead, it may be desirable to perform TE, especially routing
control and mapping functions, on a per-service class basis. One way control and mapping functions, on a per-service-class basis. One way
to accomplish this in a domain that supports both MPLS and Diffserv 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 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 onto one or more LSPs that correspond to that service class. An LSP
corresponding to a given service class can then be routed and corresponding to a given service class can then be routed and
protected/restored in a class-dependent manner, according to specific protected/restored in a class-dependent manner, according to specific
policies. policies.
Performing TE on a per-class basis may require per-class parameters Performing TE on a per-class basis may require per-class parameters
to be distributed. It is common to have some classes share some to be distributed. It is common to have some classes share some
aggregate constraints (e.g., maximum bandwidth requirement) without aggregate constraints (e.g., maximum bandwidth requirement) without
enforcing the constraint on each individual class. These classes can enforcing the constraint on each individual class. These classes can
be grouped into class-types, and per-class-type parameters can be be grouped into class types, and per-class-type parameters can be
distributed to improve scalability. This also allows better distributed to improve scalability. This also allows better
bandwidth sharing between classes in the same class-type. A class- bandwidth sharing between classes in the same class type. A class
type is a set of classes that satisfy the following two conditions: type is a set of classes that satisfy the following two conditions:
* Classes in the same class-type have common aggregate requirements * Classes in the same class type have common aggregate requirements
to satisfy required performance levels. to satisfy required performance levels.
* There is no requirement to be enforced at the level of an * There is no requirement to be enforced at the level of an
individual class in the class-type. Note that it is, individual class in the class type. Note that it is,
nevertheless, still possible to implement some priority policies nevertheless, still possible to implement some priority policies
for classes in the same class-type to permit preferential access for classes in the same class type to permit preferential access
to the class-type bandwidth through the use of preemption to the class type bandwidth through the use of preemption
priorities. priorities.
See [RFC4124] for detailed requirements on Diffserv-aware TE. See [RFC4124] for detailed requirements on Diffserv-aware TE.
6.9. Network Controllability 6.9. Network Controllability
Offline and online (see Section 4.2) TE considerations are of limited Offline and online (see Section 4.2) TE considerations are of limited
utility if the network cannot be controlled effectively to implement utility if the network cannot be controlled effectively to implement
the results of TE decisions and to achieve the desired network the results of TE decisions and to achieve the desired network
performance objectives. performance objectives.
Capacity augmentation is a coarse-grained solution to TE issues. Capacity augmentation is a coarse-grained solution to TE issues.
However, it is simple, may be applied through creating parallel links However, it is simple, may be applied through creating parallel links
that form part of an ECMP scheme, and may be advantageous if that form part of an ECMP scheme, and may be advantageous if
bandwidth is abundant and cheap. However, bandwidth is not always bandwidth is abundant and cheap. However, bandwidth is not always
abundant and cheap, and additional capacity might not always be the abundant and cheap, and additional capacity might not always be the
best solution. Adjustments of administrative weights and other best solution. Adjustments of administrative weights and other
parameters associated with routing protocols provide finer-grained parameters associated with routing protocols provide finer-grained
control, but this approach is difficult to use and imprecise because control, but this approach is difficult to use and imprecise because
of the way the routing protocols interactions occur across the of the way the routing protocols interact across the network.
network.
Control mechanisms can be manual (e.g., static configuration), Control mechanisms can be manual (e.g., static configuration),
partially-automated (e.g., scripts), or fully-automated (e.g., policy partially automated (e.g., scripts), or fully automated (e.g.,
based management systems). Automated mechanisms are particularly policy-based management systems). Automated mechanisms are
useful in large-scale networks. Multi-vendor interoperability can be particularly useful in large-scale networks. Multi-vendor
facilitated by standardized management tools (e.g., YANG models) to interoperability can be facilitated by standardized management tools
support the control functions required to address TE objectives. (e.g., YANG models) to support the control functions required to
address TE objectives.
Network control functions should be secure, reliable, and stable as Network control functions should be secure, reliable, and stable as
these are often needed to operate correctly in times of network these are often needed to operate correctly in times of network
impairments (e.g., during network congestion or attacks). impairments (e.g., during network congestion or attacks).
7. Inter-Domain Considerations 7. Inter-Domain Considerations
Inter-domain TE is concerned with performance optimization for Inter-domain TE is concerned with performance optimization for
traffic that originates in one administrative domain and terminates traffic that originates in one administrative domain and terminates
in a different one. in a different one.
BGP [RFC4271] is the standard exterior gateway protocol used to BGP [RFC4271] is the standard exterior gateway protocol used to
exchange routing information between autonomous systems (ASes) in the exchange routing information between ASes in the Internet. BGP
Internet. BGP includes a decision process that calculates the includes a decision process that calculates the preference for routes
preference for routes to a given destination network. There are two to a given destination network. There are two fundamental aspects to
fundamental aspects to inter-domain TE using BGP: inter-domain TE using BGP:
* Route Propagation: Controlling the import and export of routes Route Propagation: Controlling the import and export of routes
between ASes, and controlling the redistribution of routes between between ASes and controlling the redistribution of routes between
BGP and other protocols within an AS. BGP and other protocols within an AS.
* Best-path selection: Selecting the best path when there are Best-path selection: Selecting the best path when there are multiple
multiple candidate paths to a given destination network. This is candidate paths to a given destination network. This is performed
performed by the BGP decision process, selecting preferred exit by the BGP decision process, which selects the preferred exit
points out of an AS towards specific destination networks taking a points out of an AS toward specific destination networks by taking
number of different considerations into account. The BGP path a number of different considerations into account. The BGP path
selection process can be influenced by manipulating the attributes selection process can be influenced by manipulating the attributes
associated with the process, including NEXT_HOP, LOCAL_PREF, associated with the process, including NEXT_HOP, LOCAL_PREF,
AS_PATH, ORIGIN, MULTI_EXIT_DISC (MED), IGP metric, etc. AS_PATH, ORIGIN, MULTI_EXIT_DISC (MED), IGP metric, etc.
Most BGP implementations provide constructs that facilitate the Most BGP implementations provide constructs that facilitate the
implementation of complex BGP policies based on pre-configured implementation of complex BGP policies based on pre-configured
logical conditions. These can be used to control import and export logical conditions. These can be used to control import and export
of incoming and outgoing routes, control redistribution of routes of incoming and outgoing routes, control redistribution of routes
between BGP and other protocols, and influence the selection of best between BGP and other protocols, and influence the selection of best
paths by manipulating the attributes (either standardized, or local paths by manipulating the attributes (either standardized or local to
to the implementation) associated with the BGP decision process. the implementation) associated with the BGP decision process.
When considering inter-domain TE with BGP, note that the outbound When considering inter-domain TE with BGP, note that the outbound
traffic exit point is controllable, whereas the interconnection point traffic exit point is controllable, whereas the interconnection point
where inbound traffic is received typically is not. Therefore, it is where inbound traffic is received typically is not. Therefore, it is
up to each individual network to implement TE strategies that deal up to each individual network to implement TE strategies that deal
with the efficient delivery of outbound traffic from its customers to with the efficient delivery of outbound traffic from its customers to
its peering points. The vast majority of TE policy is based on a its peering points. The vast majority of TE policy is based on a
"closest exit" strategy, which offloads inter-domain traffic at the "closest exit" strategy, which offloads inter-domain traffic at the
nearest outbound peering point towards the destination AS. Most nearest outbound peering point towards the destination AS. Most
methods of manipulating the point at which inbound traffic enters are methods of manipulating the point at which inbound traffic enters are
either ineffective, or not accepted in the peering community. either ineffective or not accepted in the peering community.
Inter-domain TE with BGP is generally effective, but it is usually 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 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 has a view of the available network resources within one domain (an
AS in this case). A systematic approach for inter-domain TE requires AS in this case). A systematic approach for inter-domain TE requires
cooperation between the domains. Further, what may be considered a cooperation between the domains. Further, what may be considered a
good solution in one domain may not necessarily be a good solution in good solution in one domain may not necessarily be a good solution in
another. Moreover, it is generally considered inadvisable for one another. Moreover, it is generally considered inadvisable for one
domain to permit a control process from another domain to influence domain to permit a control process from another domain to influence
the routing and management of traffic in its network. the routing and management of traffic in its network.
MPLS TE-tunnels (LSPs) can add a degree of flexibility in the MPLS-TE tunnels (LSPs) can add a degree of flexibility in the
selection of exit points for inter-domain routing by applying the selection of exit points for inter-domain routing by applying the
concept of relative and absolute metrics. If BGP attributes are concept of relative and absolute metrics. If BGP attributes are
defined such that the BGP decision process depends on IGP metrics to defined such that the BGP decision process depends on IGP metrics to
select exit points for inter-domain traffic, then some inter-domain select exit points for inter-domain traffic, then some inter-domain
traffic destined to a given peer network can be made to prefer a traffic destined to a given peer network can be made to prefer a
specific exit point by establishing a TE-tunnel between the router specific exit point by establishing a TE tunnel between the router
making the selection and the peering point via a TE-tunnel and making the selection and the peering point via a TE tunnel and
assigning the TE-tunnel a metric which is smaller than the IGP cost assigning the TE tunnel a metric that is smaller than the IGP cost to
to all other peering points. RSVP-TE protocol extensions for inter- all other peering points. RSVP-TE protocol extensions for inter-
domain MPLS and GMPLS are described in [RFC5151]. domain MPLS and GMPLS are described in [RFC5151].
Similarly to intra-domain TE, inter-domain TE is best accomplished Similarly to intra-domain TE, inter-domain TE is best accomplished
when a traffic matrix can be derived to depict the volume of traffic when a traffic matrix can be derived to depict the volume of traffic
from one AS to another. from one AS to another.
Layer 4 multipath transport protocols are designed to move traffic Layer 4 multipath transport protocols are designed to move traffic
between domains and to allow some influence over the selection of the between domains and to allow some influence over the selection of the
paths. To be truly effective, these protocols would require paths. To be truly effective, these protocols would require
visibility of paths and network conditions in other domains, and that visibility of paths and network conditions in other domains, but that
information may not be available, might not be complete, and is not information may not be available, might not be complete, and is not
necessarily trustworthy. necessarily trustworthy.
8. Overview of Contemporary TE Practices in Operational IP Networks 8. Overview of Contemporary TE Practices in Operational IP Networks
This section provides an overview of some TE practices in IP This section provides an overview of some TE practices in IP
networks. The focus is on aspects of control of the routing function networks. The focus is on aspects of control of the routing function
in operational contexts. The intent here is to provide an overview in operational contexts. The intent here is to provide an overview
of the commonly used practices: the discussion is not intended to be of the commonly used practices; the discussion is not intended to be
exhaustive. exhaustive.
Service providers apply many of the TE mechanisms described in this Service providers apply many of the TE mechanisms described in this
document to optimize the performance of their IP networks, although document to optimize the performance of their IP networks, although
others choose to not use any of them. These techniques include others choose to not use any of them. These techniques include
capacity planning including adding ECMP options for long timescales; capacity planning, including adding ECMP options, for long
routing control using IGP metrics and MPLS, as well as path planning timescales; routing control using IGP metrics and MPLS, as well as
and path control using MPLS and Segment Routing for medium path planning and path control using MPLS and SR for medium
timescales; and traffic management mechanisms for short timescale. timescales; and traffic management mechanisms for short timescales.
* Capacity planning is an important component of how a service * Capacity planning is an important component of how a service
provider plans an effective IP network. These plans may take the provider plans an effective IP network. These plans may take the
following aspects into account: location of any new links or following aspects into account: location of any new links or
nodes, WECMP algorithms, existing and predicted traffic patterns, nodes, WECMP algorithms, existing and predicted traffic patterns,
costs, link capacity, topology, routing design, and survivability. costs, link capacity, topology, routing design, and survivability.
* Performance optimization of operational networks is usually an * Performance optimization of operational networks is usually an
ongoing process in which traffic statistics, performance ongoing process in which traffic statistics, performance
parameters, and fault indicators are continually collected from parameters, and fault indicators are continually collected from
the network. This empirical data is analyzed and used to trigger the network. This empirical data is analyzed and used to trigger
TE mechanisms. Tools that perform what-if analysis can also be TE mechanisms. Tools that perform what-if analysis can also be
used to assist the TE process by reviewing scenarios before a new used to assist the TE process by reviewing scenarios before a new
set of configurations are implemented in the operational network. set of configurations are implemented in the operational network.
* Real-time intra-domain TE using the IGP is done by increasing the * 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 OSPF or IS-IS metric of a congested link until enough traffic has
been diverted away from that link. This approach has some been diverted away from that link. This approach has some
limitations as discussed in Section 6.2. Intra-domain TE limitations as discussed in Section 6.2. Intra-domain TE
approaches ([RR94] [FT00] [FT01] [WANG]) take traffic matrix, approaches [RR94] [FT00] [FT01] [WANG] take traffic matrix,
network topology, and network performance objectives as input, and network topology, and network performance objectives as input and
produce link metrics and load-sharing ratios. These processes produce link metrics and load-sharing ratios. These processes
open the possibility for intra-domain TE with IGP to be done in a open the possibility for intra-domain TE with IGP to be done in a
more systematic way. more systematic way.
Administrators of MPLS-TE networks specify and configure link Administrators of MPLS-TE networks specify and configure link
attributes and resource constraints such as maximum reservable attributes and resource constraints such as maximum reservable
bandwidth and resource class attributes for the links in the domain. 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 A link-state IGP that supports TE extensions (IS-IS-TE or OSPF-TE) is
used to propagate information about network topology and link used to propagate information about network topology and link
attributes to all routers in the domain. Network administrators attributes to all routers in the domain. Network administrators
specify the LSPs that are to originate at each router. For each LSP, specify the LSPs that are to originate at each router. For each LSP,
the network administrator specifies the destination node and the the network administrator specifies the destination node and the
attributes of the LSP which indicate the requirements that are to be attributes of the LSP that indicate the requirements that are to be
satisfied during the path selection process. The attributes may satisfied during the path selection process. The attributes may
include an explicit path for the LSP to follow, or the originating include an explicit path for the LSP to follow, or the originating
router may use a local constraint-based routing process to compute 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 the path of the LSP. RSVP-TE is used as a signaling protocol to
instantiate the LSPs. By assigning proper bandwidth values to links instantiate the LSPs. By assigning proper bandwidth values to links
and LSPs, congestion caused by uneven traffic distribution can be and LSPs, congestion caused by uneven traffic distribution can be
avoided or mitigated. avoided or mitigated.
The bandwidth attributes of an LSP relate to the bandwidth The bandwidth attributes of an LSP relate to the bandwidth
requirements of traffic that flows through the LSP. The traffic requirements of traffic that flows through the LSP. The traffic
skipping to change at page 67, line 12 skipping to change at line 3090
alleviate the situation, or the network administrator can configure alleviate the situation, or the network administrator can configure
new LSPs to divert some traffic to alternative paths. The reservable new LSPs to divert some traffic to alternative paths. The reservable
bandwidth of the congested links can also be reduced to force some 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 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 domain can also be estimated by monitoring the traffic on LSPs. Such
traffic statistics can be used for a variety of purposes including traffic statistics can be used for a variety of purposes including
network planning and network optimization. network planning and network optimization.
Network management and planning systems have evolved and assumed a Network management and planning systems have evolved and assumed a
lot of the responsibility for determining traffic paths in TE lot of the responsibility for determining traffic paths in TE
networks. This allows a network-wide view of resources, and networks. This allows a network-wide view of resources and
facilitates coordination of the use of resources for all traffic facilitates coordination of the use of resources for all traffic
flows in the network. Initial solutions using a PCE to perform path flows in the network. Initial solutions using a PCE to perform path
computation on behalf of network routers have given way to an computation on behalf of network routers have given way to an
approach that follows the SDN architecture. A stateful PCE is able 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 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 make better use of the available resources. Such a PCE can form part
of a network orchestrator that uses PCEP or some other configuration of a network orchestrator that uses PCEP or some other configuration
and management interface to instruct the signaling protocol or and management interface to instruct the signaling protocol or
directly program the routers. directly program the routers.
Segment Routing leverages a centralized TE controller and either an SR leverages a centralized TE controller and either an MPLS or IPv6
MPLS or IPv6 forwarding plane, but does not need to use a signaling forwarding plane but does not need to use a signaling protocol or
protocol or management plane protocol to reserve resources in the management plane protocol to reserve resources in the routers. All
routers. All resource reservation is logical within the controller, resource reservation is logical within the controller and is not
and not distributed to the routers. Packets are steered through the distributed to the routers. Packets are steered through the network
network using Segment Routing, and this may have configuration and using SR, and this may have configuration and operational scaling
operational scaling benefits. benefits.
As mentioned in Section 7, there is usually no direct control over As mentioned in Section 7, there is usually no direct control over
the distribution of inbound traffic to a domain. Therefore, the main the distribution of inbound traffic to a domain. Therefore, the main
goal of inter-domain TE is to optimize the distribution of outbound goal of inter-domain TE is to optimize the distribution of outbound
traffic between multiple inter-domain links. When operating a traffic between multiple inter-domain links. When operating a
geographically widespread network (such as for a multi-national or geographically widespread network (such as for a multi-national or
global network provider), maintaining the ability to operate the global network provider), maintaining the ability to operate the
network in a regional fashion where desired, while continuing to take network in a regional fashion where desired, while continuing to take
advantage of the benefits of a globally interconnected network, also advantage of the benefits of a globally interconnected network, also
becomes an important objective. becomes an important objective.
Inter-domain TE with BGP begins with the placement of multiple Inter-domain TE with BGP begins with the placement of multiple
peering interconnection points that are in close proximity to traffic peering interconnection points that are in close proximity to traffic
sources/destination, and offer lowest-cost paths across the network sources/destinations and offer lowest-cost paths across the network
between the peering points and the sources/destinations. Some between the peering points and the sources/destinations. Some
location-decision problems that arise in association with inter- location-decision problems that arise in association with inter-
domain routing are discussed in [AWD5]. domain routing are discussed in [AWD5].
Once the locations of the peering interconnects have been determined Once the locations of the peering interconnects have been determined
and implemented, the network operator decides how best to handle the 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 advertised by the peer, as well as how to propagate the peer's
routes within their network. One way to engineer outbound traffic routes within their network. One way to engineer outbound traffic
flows in a network with many peering interconnects is to create a flows in a network with many peering interconnects is to create a
hierarchy of peers. Generally, the shortest AS paths will be chosen hierarchy of peers. Generally, the shortest AS paths will be chosen
to forward traffic but BGP metrics can be used to prefer some peers to forward traffic, but BGP metrics can be used to prefer some peers
and so favor particular paths. Preferred peers are those peers and so favor particular paths. Preferred peers are those peers
attached through peering interconnects with the most available attached through peering interconnects with the most available
capacity. Changes may be needed, for example, to deal with a capacity. Changes may be needed, for example, to deal with a
"problem peer" who is difficult to work with on upgrades or is "problem peer" who is difficult to work with on upgrades or is
charging high prices for connectivity to their network. In that charging high prices for connectivity to their network. In that
case, the peer may be given a reduced preference. This type of 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 change can affect a large amount of traffic and is only used after
other methods have failed to provide the desired results. other methods have failed to provide the desired results.
When there are multiple exit points toward a given peer, and only one 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 of them is congested, it is not necessary to shift traffic away from
the peer entirely, but only from the one congested connections. This the peer entirely, but only from the one congested connection. This
can be achieved by using passive IGP metrics, AS_PATH filtering, or can be achieved by using passive IGP metrics, AS_PATH filtering, or
prefix filtering. prefix filtering.
9. Security Considerations 9. Security Considerations
In general, TE mechanisms are security-neutral, and this document In general, TE mechanisms are security neutral, and this document
does not introduce new security issues. does not introduce new security issues.
Network security is, of course, an important issue, and TE mechanisms Network security is, of course, an important issue, and TE mechanisms
can have benefits and drawbacks. can have benefits and drawbacks:
* TE may use tunnels which can slightly help protect traffic from * TE may use tunnels that can slightly help protect traffic from
inspection and which, in some cases, can be secured using inspection and that, in some cases, can be secured using
encryption. encryption.
* TE puts traffic onto predictable paths within the network that may * TE puts traffic onto predictable paths within the network that may
make it easier to find and attack. make it easier to find and attack.
* TE often increases the complexity of operation and management of * TE often increases the complexity of operation and management of
the network which may lead to errors that compromise security. the network, which may lead to errors that compromise security.
* TE enables traffic to be steered onto more secure links or to more * TE enables traffic to be steered onto more secure links or to more
secure parts of the network. secure parts of the network.
* TE can be used to steer traffic through network nodes that are * TE can be used to steer traffic through network nodes that are
able to provide additional security functions. able to provide additional security functions.
The consequences of attacks on the control and management protocols The consequences of attacks on the control and management protocols
used to operate TE networks can be significant: traffic can be used to operate TE networks can be significant:
hijacked to pass through specific nodes that perform inspection, or
even to be delivered to the wrong place; traffic can be steered onto * Traffic can be hijacked to pass through specific nodes that
paths that deliver quality that is below the desired quality; and, perform inspection or even to be delivered to the wrong place.
networks can be congested or have resources on key links consumed.
* 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 Thus, it is important to use adequate protection mechanisms, such as
authentication, on all protocols used to deliver TE. authentication, on all protocols used to deliver TE.
Certain aspects of a network may be deduced from the details of the 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 TE paths that are used. For example, the link connectivity of the
network, and the quality and load on individual links may be inferred network and the quality and load on individual links may be inferred
from knowing the paths of traffic and the requirements they place on from knowing the paths of traffic and the requirements they place on
the network (for example, by seeing the control messages or through the network (for example, by seeing the control messages or through
path- trace techniques). Such knowledge can be used to launch path-trace techniques). Such knowledge can be used to launch
targeted attacks (for example, taking down critical links) or can targeted attacks (for example, taking down critical links) or can
reveal commercially sensitive information (for example, whether a reveal commercially sensitive information (for example, whether a
network is close to capacity). Network operators may, therefore, network is close to capacity). Therefore, network operators may
choose techniques that mask or hide information from within the choose techniques that mask or hide information from within the
network. network.
External control interfaces that are introduced to provide additional External control interfaces that are introduced to provide additional
control and management of TE systems (see Section 5.1.2) provide control and management of TE systems (see Section 5.1.2) provide
flexibility to management and to customers, but do so at the risk of flexibility to management and to customers, but they do so at the
exposing the internals of a network to potentially malicious actors. risk of exposing the internals of a network to potentially malicious
The protocols used at these interfaces must be secured to protect actors. The protocols used at these interfaces must be secured to
against snooping and modification, and use of the interfaces must be protect against snooping and modification, and use of the interfaces
authenticated. must be authenticated.
10. IANA Considerations 10. IANA Considerations
This draft makes no requests for IANA action. This document has no IANA actions.
11. Acknowledgments
Much of the text in this document is derived from RFC 3272. 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 versus
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 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 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).
12. 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
13. Informative References 11. Informative References
[AFD03] Pan, R., Breslau, L., Prabhakar, B., and S. Shenker, [AFD03] Pan, R., Breslau, L., Prabhakar, B., and S. Shenker,
"Approximate fairness through differential dropping", "Approximate fairness through differential dropping", ACM
Article ACM SIGCOMM Computer Communication Review, Volume SIGCOMM Computer Communication Review, Volume 33, Issue 2,
33, Issue 2, April 2003, pp 23-39, 2003, Pages 23-39, DOI 10.1145/956981.956985, April 2003,
<https://dl.acm.org/doi/10.1145/956981.956985>. <https://dl.acm.org/doi/10.1145/956981.956985>.
[AJ19] Adekitan, A., Abolade, J., and O. Shobayo, "Data mining [AJ19] Adekitan, A., Abolade, J., and O. Shobayo, "Data mining
approach for predicting the daily Internet data traffic of approach for predicting the daily Internet data traffic of
a smart university", Article Journal of Big Data, 2019, a smart university", Journal of Big Data, Volume 6, Number
Volume 6, Number 1, Page 1, 1998, 1, Page 1, DOI 10.1186/s40537-019-0176-5, February 2019,
<https://journalofbigdata.springeropen.com/track/ <https://journalofbigdata.springeropen.com/track/
pdf/10.1186/s40537-019-0176-5.pdf>. pdf/10.1186/s40537-019-0176-5.pdf>.
[ATSSS] "Study on access traffic steering, switch and splitting [ATSSS] 3GPP, "Study on access traffic steering, switch and
support in the 5G System (5GS) architecture", splitting support in the 5G System (5GS) architecture",
Specification 3GPP Technical Report 23.793 Release 16, Release 16, 3GPP TR 23.793, December 2018,
December 2018, <https://www.3gpp.org/ftp//Specs/ <https://www.3gpp.org/ftp//Specs/
archive/23_series/23.793/23793-g00.zip>. archive/23_series/23.793/23793-g00.zip>.
[AWD2] Awduche, D., "MPLS and Traffic Engineering in IP [AWD2] Awduche, D., "MPLS and traffic engineering in IP
Networks", Article IEEE Communications Magazine, December networks", IEEE Communications Magazine, Volume 37, Issue
1999, <https://ieeexplore.ieee.org/document/809383>. 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 [AWD5] Awduche, D., "An approach to optimal peering between
Autonomous Systems in the Internet", Paper International autonomous systems in the Internet", Proceedings 7th
Conference on Computer Communications and Networks International Conference on Computer Communications and
(ICCCN'98), October 1998, Networks (Cat. No. 98EX226),
DOI 10.1109/ICCCN.1998.998795, October 1998,
<https://ieeexplore.ieee.org/document/998795>. <https://ieeexplore.ieee.org/document/998795>.
[E.360.1] International Telecommunication Union - Telecommunication [E.360.1] ITU-T, "Framework for QoS routing and related traffic
Standardization Sector, "E.360.1: Framework for QoS engineering methods for IP-, ATM-, and TDM-based
routing and related traffic engineering methods for IP-, multiservice networks", ITU-T Recommendation E.360.1, May
ATM-, and TDM-based multiservice networks", 2002, <https://www.itu.int/rec/T-REC-E.360.1-200205-I/en>.
Recommendation ITU-T Recommendation E.360.1, 16 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 [FLJA93] Floyd, S. and V. Jacobson, "Random Early Detection
Gateways for Congestion Avoidance", Article IEEE/ACM Gateways for Congestion Avoidance", IEEE/ACM Transactions
Transactions on Networking, Vol. 1, p. 387-413, November on Networking, Volume 1, Issue 4, Pages 397-413,
1993, DOI 10.1109/90.251892, August 1993,
<https://www.icir.org/floyd/papers/early.twocolumn.pdf>. <https://www.icir.org/floyd/papers/early.twocolumn.pdf>.
[FT00] Fortz, B. and M. Thorup, "Internet Traffic Engineering by [FT00] Fortz, B. and M. Thorup, "Internet Traffic Engineering by
Optimizing OSPF Weights", Article IEEE INFOCOM 2000, March Optimizing OSPF Weights", Proceedings IEEE INFOCOM 2000,
2000, <https://www.cs.cornell.edu/courses/cs619/2004fa/ DOI 10.1109/INFCOM.2000.832225, March 2000,
<https://www.cs.cornell.edu/courses/cs619/2004fa/
documents/ospf_opt.pdf>. documents/ospf_opt.pdf>.
[FT01] Fortz, B. and M. Thorup, "Optimizing OSPF/IS-IS Weights in [FT01] Fortz, B. and M. Thorup, "Optimizing OSPF/IS-IS Weights in
a Changing World", n.d., a Changing World", IEEE Journal on Selected Areas in
<http://www.research.att.com/~mthorup/PAPERS/papers.html>. Communications, DOI 10.1109/JSAC.2002.1003042, May 2002,
<https://ieeexplore.ieee.org/document/1003042>.
[GRPC] Cloud Native Computing Foundation, "gPPC: A high [GRPC] gRPC Authors, "gRPC: A high performance, open source
performance, open source universal RPC framework", n.d., universal RPC framework", <https://grpc.io>.
<https://grpc.io>.
[I-D.ietf-bess-evpn-unequal-lb] [KELLY] Kelly, F., "Notes on effective bandwidths", Oxford
Malhotra, N., Sajassi, A., Rabadan, J., Drake, J., University Press, 1996.
Lingala, A., and S. Thoria, "Weighted Multi-Path
Procedures for EVPN Multi-Homing", Work in Progress, [MA] Ma, Q., "Quality-of-Service Routing in Integrated Services
Internet-Draft, draft-ietf-bess-evpn-unequal-lb-18, 1 June 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- 2023, <https://datatracker.ietf.org/doc/html/draft-ietf-
bess-evpn-unequal-lb-18>. tsvwg-multipath-dccp-11>.
[I-D.ietf-idr-performance-routing] [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. Xu, X., Hegde, S., Talaulikar, K., Boucadair, M., and C.
Jacquenet, "Performance-based BGP Routing Mechanism", Work Jacquenet, "Performance-based BGP Routing Mechanism", Work
in Progress, Internet-Draft, draft-ietf-idr-performance- in Progress, Internet-Draft, draft-ietf-idr-performance-
routing-03, 22 December 2020, routing-03, 22 December 2020,
<https://datatracker.ietf.org/doc/html/draft-ietf-idr- <https://datatracker.ietf.org/doc/html/draft-ietf-idr-
performance-routing-03>. performance-routing-03>.
[I-D.ietf-idr-segment-routing-te-policy] [QUIC-MULTIPATH]
Previdi, S., Filsfils, C., Talaulikar, K., Mattes, P., and Liu, Y., Ed., Ma, Y., Ed., De Coninck, Q., Ed.,
D. Jain, "Advertising Segment Routing Policies in BGP", Bonaventure, O., Huitema, C., and M. Kühlewind, Ed.,
Work in Progress, Internet-Draft, draft-ietf-idr-segment- "Multipath Extension for QUIC", Work in Progress,
routing-te-policy-23, 25 July 2023, Internet-Draft, draft-ietf-quic-multipath-06, 23 October
<https://datatracker.ietf.org/doc/html/draft-ietf-idr- 2023, <https://datatracker.ietf.org/doc/html/draft-ietf-
segment-routing-te-policy-23>. quic-multipath-06>.
[I-D.ietf-lsr-ip-flexalgo]
Britto, W., Hegde, S., Kaneriya, P., Shetty, R., Bonica,
R., and P. Psenak, "IGP Flexible Algorithms (Flex-
Algorithm) In IP Networks", Work in Progress, Internet-
Draft, draft-ietf-lsr-ip-flexalgo-17, 24 July 2023,
<https://datatracker.ietf.org/doc/html/draft-ietf-lsr-ip-
flexalgo-17>.
[I-D.ietf-quic-multipath]
Liu, Y., Ma, Y., De Coninck, Q., Bonaventure, O., Huitema,
C., and M. Kühlewind, "Multipath Extension for QUIC", Work
in Progress, Internet-Draft, draft-ietf-quic-multipath-05,
10 July 2023, <https://datatracker.ietf.org/doc/html/
draft-ietf-quic-multipath-05>.
[I-D.ietf-rtgwg-segment-routing-ti-lfa]
Litkowski, S., Bashandy, A., 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-
11, 30 June 2023, <https://datatracker.ietf.org/doc/html/
draft-ietf-rtgwg-segment-routing-ti-lfa-11>.
[I-D.ietf-teas-enhanced-vpn]
Dong, J., Bryant, S., Li, Z., Miyasaka, T., and Y. Lee, "A
Framework for Enhanced Virtual Private Network (VPN+)",
Work in Progress, Internet-Draft, draft-ietf-teas-
enhanced-vpn-14, 28 July 2023,
<https://datatracker.ietf.org/doc/html/draft-ietf-teas-
enhanced-vpn-14>.
[I-D.ietf-teas-ietf-network-slices]
Farrel, A., Drake, J., Rokui, R., Homma, S., Makhijani,
K., Contreras, L. M., and J. Tantsura, "A Framework for
IETF Network Slices", Work in Progress, Internet-Draft,
draft-ietf-teas-ietf-network-slices-22, 24 July 2023,
<https://datatracker.ietf.org/doc/html/draft-ietf-teas-
ietf-network-slices-22>.
[I-D.ietf-tewg-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, 15 October
2001, <https://datatracker.ietf.org/doc/html/draft-ietf-
tewg-qos-routing-04>.
[I-D.ietf-tsvwg-multipath-dccp]
Amend, M., 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-10, 26 July 2023,
<https://datatracker.ietf.org/doc/html/draft-ietf-tsvwg-
multipath-dccp-10>.
[KELLY] Kelly, F., "Notes on effective bandwidths. In Stochastic
Networks: Theory and Applications", Book Oxford University
Press, 1996.
[MA] Ma, Q., "Quality of Service Routing in Integrated Services
Networks", Ph.D. PhD Dissertation, CMU-CS-98-138, CMU,
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 INFOCOM'01, April 2001,
<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", Proceedings Globecom'99, December 1999,
<https://ieeexplore.ieee.org/document/830281>.
[RFC0791] Postel, J., "Internet Protocol", STD 5, RFC 791, [RFC0791] Postel, J., "Internet Protocol", STD 5, RFC 791,
DOI 10.17487/RFC0791, September 1981, DOI 10.17487/RFC0791, September 1981,
<https://www.rfc-editor.org/info/rfc791>. <https://www.rfc-editor.org/info/rfc791>.
[RFC1102] Clark, D., "Policy routing in Internet protocols", [RFC1102] Clark, D., "Policy routing in Internet protocols",
RFC 1102, DOI 10.17487/RFC1102, May 1989, RFC 1102, DOI 10.17487/RFC1102, May 1989,
<https://www.rfc-editor.org/info/rfc1102>. <https://www.rfc-editor.org/info/rfc1102>.
[RFC1104] Braun, H., "Models of policy based routing", RFC 1104, [RFC1104] Braun, H., "Models of policy based routing", RFC 1104,
skipping to change at page 84, line 15 skipping to change at line 3726
[RFC7679] Almes, G., Kalidindi, S., Zekauskas, M., and A. Morton, [RFC7679] Almes, G., Kalidindi, S., Zekauskas, M., and A. Morton,
Ed., "A One-Way Delay Metric for IP Performance Metrics Ed., "A One-Way Delay Metric for IP Performance Metrics
(IPPM)", STD 81, RFC 7679, DOI 10.17487/RFC7679, January (IPPM)", STD 81, RFC 7679, DOI 10.17487/RFC7679, January
2016, <https://www.rfc-editor.org/info/rfc7679>. 2016, <https://www.rfc-editor.org/info/rfc7679>.
[RFC7680] Almes, G., Kalidindi, S., Zekauskas, M., and A. Morton, [RFC7680] Almes, G., Kalidindi, S., Zekauskas, M., and A. Morton,
Ed., "A One-Way Loss Metric for IP Performance Metrics Ed., "A One-Way Loss Metric for IP Performance Metrics
(IPPM)", STD 82, RFC 7680, DOI 10.17487/RFC7680, January (IPPM)", STD 82, RFC 7680, DOI 10.17487/RFC7680, January
2016, <https://www.rfc-editor.org/info/rfc7680>. 2016, <https://www.rfc-editor.org/info/rfc7680>.
[RFC7752] Gredler, H., Ed., Medved, J., Previdi, S., Farrel, A., and
S. Ray, "North-Bound Distribution of Link-State and
Traffic Engineering (TE) Information Using BGP", RFC 7752,
DOI 10.17487/RFC7752, March 2016,
<https://www.rfc-editor.org/info/rfc7752>.
[RFC7923] Voit, E., Clemm, A., and A. Gonzalez Prieto, "Requirements [RFC7923] Voit, E., Clemm, A., and A. Gonzalez Prieto, "Requirements
for Subscription to YANG Datastores", RFC 7923, for Subscription to YANG Datastores", RFC 7923,
DOI 10.17487/RFC7923, June 2016, DOI 10.17487/RFC7923, June 2016,
<https://www.rfc-editor.org/info/rfc7923>. <https://www.rfc-editor.org/info/rfc7923>.
[RFC7926] Farrel, A., Ed., Drake, J., Bitar, N., Swallow, G., [RFC7926] Farrel, A., Ed., Drake, J., Bitar, N., Swallow, G.,
Ceccarelli, D., and X. Zhang, "Problem Statement and Ceccarelli, D., and X. Zhang, "Problem Statement and
Architecture for Information Exchange between Architecture for Information Exchange between
Interconnected Traffic-Engineered Networks", BCP 206, Interconnected Traffic-Engineered Networks", BCP 206,
RFC 7926, DOI 10.17487/RFC7926, July 2016, RFC 7926, DOI 10.17487/RFC7926, July 2016,
skipping to change at page 88, line 45 skipping to change at line 3934
and A. Gulko, "IGP Flexible Algorithm", RFC 9350, and A. Gulko, "IGP Flexible Algorithm", RFC 9350,
DOI 10.17487/RFC9350, February 2023, DOI 10.17487/RFC9350, February 2023,
<https://www.rfc-editor.org/info/rfc9350>. <https://www.rfc-editor.org/info/rfc9350>.
[RFC9439] Wu, Q., Yang, Y., Lee, Y., Dhody, D., Randriamasy, S., and [RFC9439] Wu, Q., Yang, Y., Lee, Y., Dhody, D., Randriamasy, S., and
L. Contreras, "Application-Layer Traffic Optimization L. Contreras, "Application-Layer Traffic Optimization
(ALTO) Performance Cost Metrics", RFC 9439, (ALTO) Performance Cost Metrics", RFC 9439,
DOI 10.17487/RFC9439, August 2023, DOI 10.17487/RFC9439, August 2023,
<https://www.rfc-editor.org/info/rfc9439>. <https://www.rfc-editor.org/info/rfc9439>.
[RR94] Rodrigues, M.A. and K.G. Ramakrishnan, "Optimal Routing in [RFC9502] Britto, W., Hegde, S., Kaneriya, P., Shetty, R., Bonica,
Shortest Path Data Networks", Proceedings ITS'94, Rio de R., and P. Psenak, "IGP Flexible Algorithm in IP
Janeiro, Brazil, 1994, 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/ <https://onlinelibrary.wiley.com/doi/abs/10.1002/
bltj.2267>. bltj.2267>.
[SLDC98] Suter, B., Lakshman, T., Stiliadis, D., and A. Choudhury, [SLDC98] Suter, B., Lakshman, T.V., Stiliadis, D., and A.K.
"Design Considerations for Supporting TCP with Per-flow Choudhury, "Design considerations for supporting TCP with
Queueing", Proceedings INFOCOM'98, p. 299-306, 1998, per-flow queueing", Proceedings IEEE INFOCOM '98,
DOI 10.1109/INFCOM.1998.659666, April 1998,
<https://ieeexplore.ieee.org/document/659666>. <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 [WANG] Wang, Y., Wang, Z., and L. Zhang, "Internet traffic
engineering without full mesh overlaying", engineering without full mesh overlaying", Proceedings
Proceedings INFOCOM'2001, April 2001, IEEE INFOCOM 2001, DOI 10.1109/INFCOM.2001.916782, April
<https://ieeexplore.ieee.org/document/916782>. 2001, <https://ieeexplore.ieee.org/document/916782>.
[XIAO] Xiao, X., Hannan, A., Bailey, B., and L. Ni, "Traffic [XIAO] Xiao, X., Hannan, A., Bailey, B., and L. Ni, "Traffic
Engineering with MPLS in the Internet", Article IEEE Engineering with MPLS in the Internet", IEEE Network,
Network Magazine, March 2000, Volume 14, Issue 2, Pages 28-33, DOI 10.1109/65.826369,
March 2000,
<https://courses.cs.washington.edu/courses/cse561/02au/ <https://courses.cs.washington.edu/courses/cse561/02au/
papers/xiao-mpls-net00.pdf>. papers/xiao-mpls-net00.pdf>.
[YARE95] Yang, C. and A. Reddy, "A Taxonomy for Congestion Control [YARE95] Yang, C. and A. Reddy, "A Taxonomy for Congestion Control
Algorithms in Packet Switching Networks", Article IEEE Algorithms in Packet Switching Networks", IEEE Network,
Network Magazine, p. 34-45, 1995, Pages 34-45, DOI 10.1109/65.397042, August 1995,
<http://www.cs.uccs.edu/~zbo/teaching/CS522/Projects/ <https://ieeexplore.ieee.org/document/397042>.
Taxonomy_Network1995.pdf>.
Appendix A. Summary of Changes Since RFC 3272 Appendix A. Summary of Changes since RFC 3272
The changes to this document since RFC 3272 are substantial and not The changes to this document since [RFC3272] are substantial and not
easily summarized as section-by-section changes. The material in the easily summarized as section-by-section changes. The material in the
document has been moved around considerably, some of it removed, and document has been moved around considerably, some of it removed, and
new text added. new text added.
The approach taken here is to list the table of content of both the The approach taken here is to list the contents of both [RFC3272] and
previous RFC and this document saying, respectively, where the text this document saying, respectively, where the text has been placed
has been placed and where the text came from. and where the text came from.
A.1. RFC 3272 A.1. RFC 3272
1.0 Introduction: Edited in place in Section 1. * Section 1.0 ("Introduction"): Edited in place in Section 1.
1.1 What is Internet Traffic Engineering?: Edited in place in - Section 1.1 ("What is Internet Traffic Engineering?"): Edited
Section 1.1. in place in Section 1.1.
1.2 Scope: Moved to Section 1.3. - Section 1.2 ("Scope"): Moved to Section 1.3.
1.3 Terminology: Moved to Section 1.4 with some obsolete terms - Section 1.3 ("Terminology"): Moved to Section 1.4 with some
removed and a little editing. obsolete terms removed and a little editing.
2.0 Background: Retained as Section 2 with some text removed. * Section 2.0 ("Background"): Retained as Section 2 with some text
removed.
2.1 Context of Internet Traffic Engineering: Retained as - Section 2.1 ("Context of Internet Traffic Engineering"):
Section 2.1. Retained as Section 2.1.
2.2 Network Context: Rewritten as Section 2.2. - Section 2.2 ("Network Context"): Rewritten as Section 2.2.
2.3 Problem Context: Rewritten as Section 2.3. - Section 2.3 ("Problem Context"): Rewritten as Section 2.3.
2.3.1 Congestion and its Ramifications: Retained as o Section 2.3.1 ("Congestion and its Ramifications"): Retained
Section 2.3.1. as Section 2.3.1.
2.4 Solution Context: Edited as Section 2.4. - Section 2.4 ("Solution Context"): Edited as Section 2.4.
2.4.1 Combating the Congestion Problem: Reformatted as o Section 2.4.1 ("Combating the Congestion Problem"):
Section 2.4.1. Reformatted as Section 2.4.1.
2.5 Implementation and Operational Context: Retained as - Section 2.5 ("Implementation and Operational Context"):
Section 2.5. Retained as Section 2.5.
3.0 Traffic Engineering Process Model: Retained as Section 3. * Section 3.0 ("Traffic Engineering Process Model"): Retained as
Section 3.
3.1 Components of the Traffic Engineering Process Model: Retained - Section 3.1 ("Components of the Traffic Engineering Process
as Section 3.1. Model"): Retained as Section 3.1.
3.2 Measurement: Merged into Section 3.1. - Section 3.2 ("Measurement"): Merged into Section 3.1.
3.3 Modeling, Analysis, and Simulation: Merged into Section 3.1. - Section 3.3 ("Modeling, Analysis, and Simulation"): Merged into
Section 3.1.
3.4 Optimization: Merged into Section 3.1. - Section 3.4 ("Optimization"): Merged into Section 3.1.
4.0 Historical Review and Recent Developments: Retained as * Section 4.0 ("Historical Review and Recent Developments"):
Section 5, but the very historic aspects have been deleted. Retained as Section 5, but the very historic aspects have been
deleted.
4.1 Traffic Engineering in Classical Telephone Networks: Deleted. - Section 4.1 ("Traffic Engineering in Classical Telephone
Networks"): Deleted.
4.2 Evolution of Traffic Engineering in the Internet: Deleted. - Section 4.2 ("Evolution of Traffic Engineering in the
Internet"): Deleted.
4.3 Overlay Model: Deleted. - Section 4.3 ("Overlay Model"): Deleted.
4.4 Constraint-Based Routing: Retained as Section 5.1.3.1, but - Section 4.4 ("Constraint-Based Routing"): Retained as
moved into Section 5.1. Section 5.1.3.1, but moved into Section 5.1.
4.5 Overview of Other IETF Projects Related to Traffic - Section 4.5 ("Overview of Other IETF Projects Related to
Engineering: Retained as Section 5.1 with many new subsections. Traffic Engineering"): Retained as Section 5.1 with many new
subsections.
4.5.1 Integrated Services: Retained as Section 5.1.1.1. o Section 4.5.1 ("Integrated Services"): Retained as
Section 5.1.1.1.
4.5.2 RSVP: Retained as Section 5.1.3.2 with some edits. o Section 4.5.2 ("RSVP"): Retained as Section 5.1.3.2 with
some edits.
4.5.3 Differentiated Services: Retained as Section 5.1.1.2. o Section 4.5.3 ("Differentiated Services"): Retained as
Section 5.1.1.2.
4.5.4 MPLS: Retained as Section 5.1.3.3. o Section 4.5.4 ("MPLS"): Retained as Section 5.1.3.3.
4.5.5 IP Performance Metrics: Retained as Section 5.1.3.6. o Section 4.5.5 ("IP Performance Metrics"): Retained as
Section 5.1.3.6.
4.5.6 Flow Measurement: Retained as Section 5.1.3.7 with some o Section 4.5.6 ("Flow Measurement"): Retained as
reformatting. Section 5.1.3.7 with some reformatting.
4.5.7 Endpoint Congestion Management: Retained as o Section 4.5.7 ("Endpoint Congestion Management"): Retained
Section 5.1.3.8. as Section 5.1.3.8.
4.6 Overview of ITU Activities Related to Traffic Engineering: De - Section 4.6 ("Overview of ITU Activities Related to Traffic
leted. Engineering"): Deleted.
4.7 Content Distribution: Retained as Section 5.2. - Section 4.7 ("Content Distribution"): Retained as Section 5.2.
5.0 Taxonomy of Traffic Engineering Systems: Retained as Section 4. * Section 5.0 ("Taxonomy of Traffic Engineering Systems"): Retained
as Section 4.
5.1 Time-Dependent Versus State-Dependent: Retained as - Section 5.1 ("Time-Dependent Versus State-Dependent"): Retained
Section 4.1. as Section 4.1.
5.2 Offline Versus Online: Retained as Section 4.2. - Section 5.2 ("Offline Versus Online"): Retained as Section 4.2.
5.3 Centralized Versus Distributed: Retained as Section 4.3 with - Section 5.3 ("Centralized Versus Distributed"): Retained as
additions. Section 4.3 with additions.
5.4 Local Versus Global: Retained as Section 4.4. - Section 5.4 ("Local Versus Global"): Retained as Section 4.4.
5.5 Prescriptive Versus Descriptive: Retained as Section 4.5 with - Section 5.5 ("Prescriptive Versus Descriptive"): Retained as
additions. Section 4.5 with additions.
5.6 Open-Loop Versus Closed-Loop: Retained as Section 4.6. - Section 5.6 ("Open-Loop Versus Closed-Loop"): Retained as
Section 4.6.
5.7 Tactical vs Strategic: Retained as Section 4.7. - Section 5.7 ("Tactical vs Strategic"): Retained as Section 4.7.
6.0 Recommendations for Internet Traffic Engineering: Retained as * Section 6.0 ("Recommendations for Internet Traffic Engineering"):
Section 6. Retained as Section 6.
6.1 Generic Non-functional Recommendations: Retained as - Section 6.1 ("Generic Non-functional Recommendations"):
Section 6.1. Retained as Section 6.1.
6.2 Routing Recommendations: Retained as Section 6.2 with edits. - Section 6.2 ("Routing Recommendations"): Retained as
Section 6.2 with edits.
6.3 Traffic Mapping Recommendations: Retained as Section 6.3. - Section 6.3 ("Traffic Mapping Recommendations"): Retained as
Section 6.3.
6.4 Measurement Recommendations: Retained as Section 6.4. - Section 6.4 ("Measurement Recommendations"): Retained as
Section 6.4.
6.5 Network Survivability: Retained as Section 6.6. - Section 6.5 ("Network Survivability"): Retained as Section 6.6.
6.5.1 Survivability in MPLS Based Networks: Retained as o Section 6.5.1 ("Survivability in MPLS Based Networks"):
Section 6.6.1. Retained as Section 6.6.1.
6.5.2 Protection Option: Retained as Section 6.6.2. o Section 6.5.2 ("Protection Option"): Retained as
Section 6.6.2.
6.6 Traffic Engineering in Diffserv Environments: Retained as - Section 6.6 ("Traffic Engineering in Diffserv Environments"):
Section 6.8 with edits. Retained as Section 6.8 with edits.
6.7 Network Controllability: Retained as Section 6.9. - Section 6.7 ("Network Controllability"): Retained as
Section 6.9.
7.0 Inter-Domain Considerations: Retained as Section 7. * Section 7.0 ("Inter-Domain Considerations"): Retained as
Section 7.
8.0 Overview of Contemporary TE Practices in Operational IP * Section 8.0 ("Overview of Contemporary TE Practices in Operational
Networks: Retained as Section 8. IP Networks"): Retained as Section 8.
9.0 Conclusion: Removed. * Section 9.0 ("Conclusion"): Removed.
10.0 Security Considerations: Retained as Section 9 with * Section 10.0 ("Security Considerations"): Retained as Section 9
considerable new text. with considerable new text.
A.2. This Document A.2. This Document
* Section 1: Based on Section 1 of RFC 3272. * Section 1: Based on Section 1 of [RFC3272].
- Section 1.1: Based on Section 1.1 of RFC 3272. - Section 1.1: Based on Section 1.1 of [RFC3272].
- Section 1.2: New for this document. - Section 1.2: New for this document.
- Section 1.3: Based on Section 1.2 of RFC 3272. - Section 1.3: Based on Section 1.2 of [RFC3272].
- Section 1.4: Based on Section 1.3 of RFC 3272. - Section 1.4: Based on Section 1.3 of [RFC3272].
* Section 2: Based on Section 2. of RFC 3272. * Section 2: Based on Section 2 of [RFC3272].
- Section 2.1: Based on Section 2.1 of RFC 3272. - Section 2.1: Based on Section 2.1 of [RFC3272].
- Section 2.2: Based on Section 2.2 of RFC 3272. - Section 2.2: Based on Section 2.2 of [RFC3272].
- Section 2.3: Based on Section 2.3 of RFC 3272. - Section 2.3: Based on Section 2.3 of [RFC3272].
o Section 2.3.1: Based on Section 2.3.1 of RFC 3272. o Section 2.3.1: Based on Section 2.3.1 of [RFC3272].
- Section 2.4: Based on Section 2.4 of RFC 3272. - Section 2.4: Based on Section 2.4 of [RFC3272].
o Section 2.4.1: Based on Section 2.4.1 of RFC 327 o Section 2.4.1: Based on Section 2.4.1 of [RFC3272].
- Section 2.5: Based on Section 2.5 of RFC 3272. - Section 2.5: Based on Section 2.5 of [RFC3272].
* Section 3: Based on Section 3 of RFC 3272. * Section 3: Based on Section 3 of [RFC3272].
- Section 3.1: Based on Sections 3.1, 3.2, 3.3, and 3.4 of RFC - Section 3.1: Based on Sections 3.1, 3.2, 3.3, and 3.4 of
3272. [RFC3272].
* Section 4: Based on Section 5 of RFC 3272. * Section 4: Based on Section 5 of [RFC3272].
- Section 4.1: Based on Section 5.1 of RFC 3272. - Section 4.1: Based on Section 5.1 of [RFC3272].
- Section 4.2: Based on Section 5.2 of RFC 3272. - Section 4.2: Based on Section 5.2 of [RFC3272].
- Section 4.3: Based on Section 5.3 of RFC 3272. - Section 4.3: Based on Section 5.3 of [RFC3272].
o Section 4.3.1: New for this document. o Section 4.3.1: New for this document.
o Section 4.3.2: New for this document. o Section 4.3.2: New for this document.
- Section 4.4: Based on Section 5.4 of RFC 3272. - Section 4.4: Based on Section 5.4 of [RFC3272].
- Section 4.5: Based on Section 5.5 of RFC 3272. - Section 4.5: Based on Section 5.5 of [RFC3272].
o Section 4.5.1: New for this document. o Section 4.5.1: New for this document.
- Section 4.6: Based on Section 5.6 of RFC 3272. - Section 4.6: Based on Section 5.6 of [RFC3272].
- Section 4.7: Based on Section 5.7 of RFC 3272. - Section 4.7: Based on Section 5.7 of [RFC3272].
* Section 5: Based on Section 4 of RFC 3272. * Section 5: Based on Section 4 of [RFC3272].
- Section 5.1: Based on Section 4.5 of RFC 3272. - Section 5.1: Based on Section 4.5 of [RFC3272].
o Section 5.1.1.1: Based on Section 4.5.1 of RFC 3272. 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 RFC 3272. 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.3: New for this document.
o Section 5.1.1.4: 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.1.5: New for this document.
o Section 5.1.2.1: 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.2: New for this document.
o Section 5.1.2.3: 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 RFC 3272. o Section 5.1.3.1: Based on Section 4.4 of [RFC3272].
+ Section 5.1.3.1.1: New for this document. + Section 5.1.3.1.1: New for this document.
o Section 5.1.3.2: Based on Section 4.5.2 of RFC 3272. 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 RFC 3272. 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.4: New for this document.
o Section 5.1.3.5: 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 RFC 3272. 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 RFC 3272. 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 RFC 3272. 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.9: New for this document.
o Section 5.1.3.10: 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.11: New for this document.
o Section 5.1.3.12: 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.13: New for this document.
o Section 5.1.3.14: New for this document. o Section 5.1.3.14: New for this document.
o Section 5.1.3.15: New for this document. o Section 5.1.3.15: New for this document.
- Section 5.2: Based on Section 4.7 of RFC 3272. - Section 5.2: Based on Section 4.7 of [RFC3272].
* Section 6: Based on Section 6 of RFC 3272. * Section 6: Based on Section 6 of [RFC3272].
- Section 6.1: Based on Section 6.1 of RFC 3272. - Section 6.1: Based on Section 6.1 of [RFC3272].
- Section 6.2: Based on Section 6.2 of RFC 3272. - Section 6.2: Based on Section 6.2 of [RFC3272].
- Section 6.3: Based on Section 6.3 of RFC 3272. - Section 6.3: Based on Section 6.3 of [RFC3272].
- Section 6.4: Based on Section 6.4 of RFC 3272. - Section 6.4: Based on Section 6.4 of [RFC3272].
- Section 6.5: New for this document. - Section 6.5: New for this document.
- Section 6.6: Based on Section 6.5 of RFC 3272. - Section 6.6: Based on Section 6.5 of [RFC3272].
o Section 6.6.1: Based on Section 6.5.1 of RFC 3272. 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 RFC 3272. o Section 6.6.2: Based on Section 6.5.2 of [RFC3272].
- Section 6.7: New for this document. - Section 6.7: New for this document.
- Section 6.8: Based on Section 6.6. of RFC 3272. - Section 6.8: Based on Section 6.6 of [RFC3272].
- Section 6.9: Based on Section 6.7 of RFC 3272. - Section 6.9: Based on Section 6.7 of [RFC3272].
* Section 7: Based on Section 7 of RFC 3272. * Section 7: Based on Section 7 of [RFC3272].
* Section 8: Based on Section 8 of RFC 3272. * Section 8: Based on Section 8 of [RFC3272].
* Section 9: Based on Section 10 of RFC 3272. * 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 Author's Address
Adrian Farrel (editor) Adrian Farrel (editor)
Old Dog Consulting Old Dog Consulting
Email: adrian@olddog.co.uk Email: adrian@olddog.co.uk
 End of changes. 526 change blocks. 
1357 lines changed or deleted 1385 lines changed or added

This html diff was produced by rfcdiff 1.48.