| 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. | ||||