idnits 2.17.1 draft-dt-teas-rfc3272bis-08.txt: Checking boilerplate required by RFC 5378 and the IETF Trust (see https://trustee.ietf.org/license-info): ---------------------------------------------------------------------------- No issues found here. Checking nits according to https://www.ietf.org/id-info/1id-guidelines.txt: ---------------------------------------------------------------------------- No issues found here. Checking nits according to https://www.ietf.org/id-info/checklist : ---------------------------------------------------------------------------- No issues found here. Miscellaneous warnings: ---------------------------------------------------------------------------- == The copyright year in the IETF Trust and authors Copyright Line does not match the current year -- The document date (March 7, 2020) is 1510 days in the past. Is this intentional? Checking references for intended status: Informational ---------------------------------------------------------------------------- -- Obsolete informational reference (is this intentional?): RFC 3272 (Obsoleted by RFC 9522) -- Obsolete informational reference (is this intentional?): RFC 7752 (Obsoleted by RFC 9552) Summary: 0 errors (**), 0 flaws (~~), 1 warning (==), 3 comments (--). Run idnits with the --verbose option for more detailed information about the items above. -------------------------------------------------------------------------------- 2 TEAS Working Group A. Farrel, Ed. 3 Internet-Draft Old Dog Consulting 4 Obsoletes: 3272 (if approved) March 7, 2020 5 Intended status: Informational 6 Expires: September 8, 2020 8 Overview and Principles of Internet Traffic Engineering 9 draft-dt-teas-rfc3272bis-08 11 Abstract 13 This document describes the principles of Traffic Engineering (TE) in 14 the Internet. The document is intended to promote better 15 understanding of the issues surrounding traffic engineering in IP 16 networks and the networks that support IP networking, and to provide 17 a common basis for the development of traffic engineering 18 capabilities for the Internet. The principles, architectures, and 19 methodologies for performance evaluation and performance optimization 20 of operational networks are discussed throughout this document. 22 This work was first published as RFC 3272 in May 2002. This document 23 obsoletes RFC 3272 by making a complete update to bring the text in 24 line with current best practices for Internet traffic engineering and 25 to include references to the latest relevant work in the IETF. 27 Status of This Memo 29 This Internet-Draft is submitted in full conformance with the 30 provisions of BCP 78 and BCP 79. 32 Internet-Drafts are working documents of the Internet Engineering 33 Task Force (IETF). Note that other groups may also distribute 34 working documents as Internet-Drafts. The list of current Internet- 35 Drafts is at https://datatracker.ietf.org/drafts/current/. 37 Internet-Drafts are draft documents valid for a maximum of six months 38 and may be updated, replaced, or obsoleted by other documents at any 39 time. It is inappropriate to use Internet-Drafts as reference 40 material or to cite them other than as "work in progress." 42 This Internet-Draft will expire on September 8, 2020. 44 Copyright Notice 46 Copyright (c) 2020 IETF Trust and the persons identified as the 47 document authors. All rights reserved. 49 This document is subject to BCP 78 and the IETF Trust's Legal 50 Provisions Relating to IETF Documents 51 (https://trustee.ietf.org/license-info) in effect on the date of 52 publication of this document. Please review these documents 53 carefully, as they describe your rights and restrictions with respect 54 to this document. Code Components extracted from this document must 55 include Simplified BSD License text as described in Section 4.e of 56 the Trust Legal Provisions and are provided without warranty as 57 described in the Simplified BSD License. 59 Table of Contents 61 1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . 4 62 1.1. What is Internet Traffic Engineering? . . . . . . . . . . 4 63 1.2. Scope . . . . . . . . . . . . . . . . . . . . . . . . . . 6 64 1.3. Terminology . . . . . . . . . . . . . . . . . . . . . . . 7 65 2. Background . . . . . . . . . . . . . . . . . . . . . . . . . 10 66 2.1. Context of Internet Traffic Engineering . . . . . . . . . 10 67 2.2. Network Context . . . . . . . . . . . . . . . . . . . . . 11 68 2.3. Problem Context . . . . . . . . . . . . . . . . . . . . . 13 69 2.3.1. Congestion and its Ramifications . . . . . . . . . . 14 70 2.4. Solution Context . . . . . . . . . . . . . . . . . . . . 14 71 2.4.1. Combating the Congestion Problem . . . . . . . . . . 16 72 2.5. Implementation and Operational Context . . . . . . . . . 19 73 2.6. High-Level Objectives . . . . . . . . . . . . . . . . . . 20 74 3. Traffic Engineering Process Models . . . . . . . . . . . . . 22 75 3.1. Components of the Traffic Engineering Process Model . . . 22 76 4. Review of TE Techniques . . . . . . . . . . . . . . . . . . . 23 77 4.1. Overview of IETF Projects Related to Traffic Engineering 23 78 4.1.1. Constraint-Based Routing . . . . . . . . . . . . . . 24 79 4.1.2. Integrated Services . . . . . . . . . . . . . . . . . 24 80 4.1.3. RSVP . . . . . . . . . . . . . . . . . . . . . . . . 25 81 4.1.4. Differentiated Services . . . . . . . . . . . . . . . 26 82 4.1.5. MPLS . . . . . . . . . . . . . . . . . . . . . . . . 27 83 4.1.6. Generalized MPLS . . . . . . . . . . . . . . . . . . 28 84 4.1.7. IP Performance Metrics . . . . . . . . . . . . . . . 28 85 4.1.8. Flow Measurement . . . . . . . . . . . . . . . . . . 28 86 4.1.9. Endpoint Congestion Management . . . . . . . . . . . 29 87 4.1.10. TE Extensions to the IGPs . . . . . . . . . . . . . . 29 88 4.1.11. Link-State BGP . . . . . . . . . . . . . . . . . . . 29 89 4.1.12. Path Computation Element . . . . . . . . . . . . . . 30 90 4.1.13. Application-Layer Traffic Optimization . . . . . . . 30 91 4.1.14. Segment Routing with MPLS encapsuation (SR-MPLS) . . 31 92 4.1.15. Network Virtualization and Abstraction . . . . . . . 32 93 4.1.16. Deterministic Networking . . . . . . . . . . . . . . 33 94 4.1.17. Network TE State Definition and Presentation . . . . 33 95 4.1.18. System Management and Control Interfaces . . . . . . 33 96 4.2. Content Distribution . . . . . . . . . . . . . . . . . . 33 98 5. Taxonomy of Traffic Engineering Systems . . . . . . . . . . . 34 99 5.1. Time-Dependent Versus State-Dependent Versus Event 100 Dependent . . . . . . . . . . . . . . . . . . . . . . . . 35 101 5.2. Offline Versus Online . . . . . . . . . . . . . . . . . . 36 102 5.3. Centralized Versus Distributed . . . . . . . . . . . . . 36 103 5.3.1. Hybrid Systems . . . . . . . . . . . . . . . . . . . 37 104 5.3.2. Considerations for Software Defined Networking . . . 37 105 5.4. Local Versus Global . . . . . . . . . . . . . . . . . . . 37 106 5.5. Prescriptive Versus Descriptive . . . . . . . . . . . . . 37 107 5.5.1. Intent-Based Networking . . . . . . . . . . . . . . . 37 108 5.6. Open-Loop Versus Closed-Loop . . . . . . . . . . . . . . 38 109 5.7. Tactical vs Strategic . . . . . . . . . . . . . . . . . . 38 110 6. Objectives for Internet Traffic Engineering . . . . . . . . . 38 111 6.1. Routing . . . . . . . . . . . . . . . . . . . . . . . . . 39 112 6.2. Traffic Mapping . . . . . . . . . . . . . . . . . . . . . 41 113 6.3. Measurement . . . . . . . . . . . . . . . . . . . . . . . 42 114 6.4. Network Survivability . . . . . . . . . . . . . . . . . . 43 115 6.4.1. Survivability in MPLS Based Networks . . . . . . . . 45 116 6.4.2. Protection Option . . . . . . . . . . . . . . . . . . 46 117 6.5. Traffic Engineering in Diffserv Environments . . . . . . 47 118 6.6. Network Controllability . . . . . . . . . . . . . . . . . 49 119 7. Inter-Domain Considerations . . . . . . . . . . . . . . . . . 50 120 8. Overview of Contemporary TE Practices in Operational IP 121 Networks . . . . . . . . . . . . . . . . . . . . . . . . . . 52 122 9. Conclusion . . . . . . . . . . . . . . . . . . . . . . . . . 56 123 10. Security Considerations . . . . . . . . . . . . . . . . . . . 56 124 11. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 56 125 12. Acknowledgments . . . . . . . . . . . . . . . . . . . . . . . 56 126 13. Contributors . . . . . . . . . . . . . . . . . . . . . . . . 57 127 14. Informative References . . . . . . . . . . . . . . . . . . . 60 128 Appendix A. Historic Overview . . . . . . . . . . . . . . . . . 67 129 A.1. Traffic Engineering in Classical Telephone Networks . . . 67 130 A.2. Evolution of Traffic Engineering in Packet Networks . . . 68 131 A.2.1. Adaptive Routing in the ARPANET . . . . . . . . . . . 69 132 A.2.2. Dynamic Routing in the Internet . . . . . . . . . . . 69 133 A.2.3. ToS Routing . . . . . . . . . . . . . . . . . . . . . 70 134 A.2.4. Equal Cost Multi-Path . . . . . . . . . . . . . . . . 70 135 A.2.5. Nimrod . . . . . . . . . . . . . . . . . . . . . . . 71 136 A.3. Development of Internet Traffic Engineering . . . . . . . 71 137 A.3.1. Overlay Model . . . . . . . . . . . . . . . . . . . . 71 138 Appendix B. Overview of Traffic Engineering Related Work in 139 Other SDOs . . . . . . . . . . . . . . . . . . . . . 72 140 B.1. Overview of ITU Activities Related to Traffic Engineering 72 141 Author's Address . . . . . . . . . . . . . . . . . . . . . . . . 73 143 1. Introduction 145 This memo describes the principles of Internet traffic engineering. 146 The objective of the document is to articulate the general issues and 147 principles for Internet traffic engineering; and where appropriate to 148 provide recommendations, guidelines, and options for the development 149 of online and offline Internet traffic engineering capabilities and 150 support systems. 152 This document can aid service providers in devising and implementing 153 traffic engineering solutions for their networks. Networking 154 hardware and software vendors will also find this document helpful in 155 the development of mechanisms and support systems for the Internet 156 environment that support the traffic engineering function. 158 This document provides a terminology for describing and understanding 159 common Internet traffic engineering concepts. This document also 160 provides a taxonomy of known traffic engineering styles. In this 161 context, a traffic engineering style abstracts important aspects from 162 a traffic engineering methodology. Traffic engineering styles can be 163 viewed in different ways depending upon the specific context in which 164 they are used and the specific purpose which they serve. The 165 combination of styles and views results in a natural taxonomy of 166 traffic engineering systems. 168 Even though Internet traffic engineering is most effective when 169 applied end-to-end, the focus of this document document is traffic 170 engineering within a given autonomous system. However, because a 171 preponderance of Internet traffic tends to be originating in one 172 autonomous system and terminating in another, this document provides 173 an overview of aspects pertaining to inter-domain traffic 174 engineering. 176 This work was first published as [RFC3272] in May 2002. This 177 document obsoletes [RFC3272] by making a complete update to bring the 178 text in line with current best practices for Internet traffic 179 engineering and to include references to the latest relevant work in 180 the IETF. 182 1.1. What is Internet Traffic Engineering? 184 The Internet exists in order to transfer information from source 185 nodes to destination nodes. Accordingly, one of the most significant 186 functions performed by the Internet is the routing of traffic from 187 ingress nodes to egress nodes. Therefore, one of the most 188 distinctive functions performed by Internet traffic engineering is 189 the control and optimization of the routing function, to steer 190 traffic through the network. 192 Internet traffic engineering is defined as that aspect of Internet 193 network engineering dealing with the issue of performance evaluation 194 and performance optimization of operational IP networks. Traffic 195 Engineering encompasses the application of technology and scientific 196 principles to the measurement, characterization, modeling, and 197 control of Internet traffic [RFC2702], [AWD2]. 199 Ultimately, it is the performance of the network as seen by end users 200 of network services that is truly paramount. The characteristics 201 visible to end users are the emergent properties of the network, 202 which are the characteristics of the network when viewed as a whole. 203 A central goal of the service provider, therefore, is to enhance the 204 emergent properties of the network while taking economic 205 considerations into account. This is accomplished by addressing 206 traffic oriented performance requirements, while utilizing network 207 resources economically and reliably. Traffic oriented performance 208 measures include delay, delay variation, packet loss, and throughput. 210 Internet traffic engineering responds to network events. Aspects of 211 capacity management respond at intervals ranging from days to years. 212 Routing control functions operate at intervals ranging from 213 milliseconds to days. Packet level processing functions operate at 214 very fine levels of temporal resolution, ranging from picoseconds to 215 milliseconds while responding to the real-time statistical behavior 216 of traffic. 218 Thus, the optimization aspects of traffic engineering can be viewed 219 from a control perspective and can be pro-active and/or reactive. In 220 the pro-active case, the traffic engineering control system takes 221 preventive action to obviate predicted unfavorable future network 222 states such as e.g. engineering a backup path. It may also take 223 perfective action to induce a more desirable state in the future. In 224 the reactive case, the control system responds correctively and 225 perhaps adaptively to events that have already transpired in the 226 network, such as routing after failure. 228 Another important objective of Internet traffic engineering is to 229 facilitate reliable network operations [RFC2702]. Reliable network 230 operations can be facilitated by providing mechanisms that enhance 231 network integrity and by embracing policies emphasizing network 232 survivability. This results in a minimization of the vulnerability 233 of the network to service outages arising from errors, faults, and 234 failures occurring within the infrastructure. 236 The optimization aspects of traffic engineering can be achieved 237 through capacity management and traffic management. As used in this 238 document, capacity management includes capacity planning, routing 239 control, and resource management. Network resources of particular 240 interest include link bandwidth, buffer space, and computational 241 resources. Likewise, as used in this document, traffic management 242 includes (1) nodal traffic control functions such as traffic 243 conditioning, queue management, scheduling, and (2) other functions 244 that regulate traffic flow through the network or that arbitrate 245 access to network resources between different packets or between 246 different traffic streams. 248 One major challenge of Internet traffic engineering is the 249 realization of automated control capabilities that adapt quickly and 250 cost effectively to significant changes in a network's state, while 251 still maintaining stability of the network. Results from performance 252 evaluation assessing the effectiveness of traffic engineering methods 253 can be used to identify existing problems, guide network re- 254 optimization, and aid in the prediction of potential future problems. 255 However this process can also time consuming and may not be suitable 256 to act on sudden, ephemeral changes in the network. 258 Performance evaluation can be achieved in many different ways. The 259 most notable techniques include analytical methods, simulation, and 260 empirical methods based on measurements. 262 In genaral, traffic engineering comes in two flavours. Either as a 263 background process that constantly monitors traffic and optimize the 264 usage of resources to improve performance, or in form of a pre- 265 planned optimized traffic distribution that is considered optimal. 266 In the later case, any deviation from the optimum distribution (e.g., 267 caused by a fiber cut) is reverted upon repair without further 268 optimization. However, this form of traffic engineering heavily 269 relies upon the notion that the planned state of the network is 270 indeed optimal. Hence, in such a mode there are two levels of 271 traffic engineering: the TE-planning task to enable an optimum 272 traffic distribution, and the routing task keeping traffic flows 273 attached to the pre-planned distribution 275 As a general rule, traffic engineering concepts and mechanisms must 276 be sufficiently specific and well defined to address known 277 requirements, but simultaneously flexible and extensible to 278 accommodate unforeseen future demands. Optimizing the wrong measures 279 may achieve certain local objectives, but may have disastrous 280 consequences on the emergent properties of the network. 282 1.2. Scope 284 The scope of this document is intra-domain traffic engineering; that 285 is, traffic engineering within a given autonomous system in the 286 Internet. This document will discuss concepts pertaining to intra- 287 domain traffic control, including such issues as routing control, 288 micro and macro resource allocation, and the control coordination 289 problems that arise consequently. 291 This document will describe and characterize techniques already in 292 use or in advanced development for Internet traffic engineering. The 293 way these techniques fit together will be discussed and scenarios in 294 which they are useful will be identified. 296 While this document considers various intra-domain traffic 297 engineering approaches, it focuses more on traffic engineering with 298 MPLS and GMPLS. Traffic engineering based upon manipulation of IGP 299 metrics is not addressed in detail. This topic may be addressed by 300 other working group document(s). 302 Although the emphasis is on intra-domain traffic engineering, in 303 Section 7, an overview of the high level considerations pertaining to 304 inter-domain traffic engineering will be provided. Inter-domain 305 Internet traffic engineering is crucial to the performance 306 enhancement of the global Internet infrastructure. 308 Whenever possible, relevant requirements from existing IETF documents 309 and other sources will be incorporated by reference. 311 1.3. Terminology 313 This subsection provides terminology which is useful for Internet 314 traffic engineering. The definitions presented apply to this 315 document. These terms may have other meanings elsewhere. 317 Baseline analysis: A study conducted to serve as a baseline for 318 comparison to the actual behavior of the network. 320 Busy hour: A one hour period within a specified interval of time 321 (typically 24 hours) in which the traffic load in a network or 322 sub-network is greatest. 324 Bottleneck: A network element whose input traffic rate tends to be 325 greater than its output rate. 327 Congestion: A state of a network resource in which the traffic 328 incident on the resource exceeds its output capacity over an 329 interval of time. 331 Congestion avoidance: An approach to congestion management that 332 attempts to obviate the occurrence of congestion. 334 Congestion control: An approach to congestion management that 335 attempts to remedy congestion problems that have already occurred. 337 Constraint-based routing: A class of routing protocols that take 338 specified traffic attributes, network constraints, and policy 339 constraints into account when making routing decisions. 340 Constraint-based routing is applicable to traffic aggregates as 341 well as flows. It is a generalization of QoS routing. 343 Demand side congestion management: A congestion management scheme 344 that addresses congestion problems by regulating or conditioning 345 offered load. 347 Effective bandwidth: The minimum amount of bandwidth that can be 348 assigned to a flow or traffic aggregate in order to deliver 349 'acceptable service quality' to the flow or traffic aggregate. 351 Egress traffic: Traffic exiting a network or network element. 353 Hot-spot: A network element or subsystem which is in a state of 354 congestion. 356 Ingress traffic: Traffic entering a network or network element. 358 Inter-domain traffic: Traffic that originates in one Autonomous 359 system and terminates in another. 361 Loss network: A network that does not provide adequate buffering for 362 traffic, so that traffic entering a busy resource within the 363 network will be dropped rather than queued. 365 Metric: A parameter defined in terms of standard units of 366 measurement. 368 Measurement methodology: A repeatable measurement technique used to 369 derive one or more metrics of interest. 371 Network survivability: The capability to provide a prescribed level 372 of QoS for existing services after a given number of failures 373 occur within the network. 375 Offline traffic engineering: A traffic engineering system that 376 exists outside of the network. 378 Online traffic engineering: A traffic engineering system that exists 379 within the network, typically implemented on or as adjuncts to 380 operational network elements. 382 Performance measures: Metrics that provide quantitative or 383 qualitative measures of the performance of systems or subsystems 384 of interest. 386 Performance management: A systematic approach to improving 387 effectiveness in the accomplishment of specific networking goals 388 related to performance improvement. 390 Performance metric: A performance parameter defined in terms of 391 standard units of measurement. 393 Provisioning: The process of assigning or configuring network 394 resources to meet certain requests. 396 QoS routing: Class of routing systems that selects paths to be used 397 by a flow based on the QoS requirements of the flow. 399 Service Level Agreement (SLA): A contract between a provider and a 400 customer that guarantees specific levels of performance and 401 reliability at a certain cost. 403 Stability: An operational state in which a network does not 404 oscillate in a disruptive manner from one mode to another mode. 406 Supply side congestion management: A congestion management scheme 407 that provisions additional network resources to address existing 408 and/or anticipated congestion problems. 410 Transit traffic: Traffic whose origin and destination are both 411 outside of the network under consideration. 413 Traffic characteristic: A description of the temporal behavior or a 414 description of the attributes of a given traffic flow or traffic 415 aggregate. 417 Traffic engineering system: A collection of objects, mechanisms, and 418 protocols that are used conjunctively to accomplish traffic 419 engineering objectives. 421 Traffic flow: A stream of packets between two end-points that can be 422 characterized in a certain way. A micro-flow has a more specific 423 definition A micro-flow is a stream of packets with the same 424 source and destination addresses, source and destination ports, 425 and protocol ID. 427 Traffic intensity: A measure of traffic loading with respect to a 428 resource capacity over a specified period of time. In classical 429 telephony systems, traffic intensity is measured in units of 430 Erlang. 432 Traffic matrix: A representation of the traffic demand between a set 433 of origin and destination abstract nodes. An abstract node can 434 consist of one or more network elements. 436 Traffic monitoring: The process of observing traffic characteristics 437 at a given point in a network and collecting the traffic 438 information for analysis and further action. 440 Traffic trunk: An aggregation of traffic flows belonging to the same 441 class which are forwarded through a common path. A traffic trunk 442 may be characterized by an ingress and egress node, and a set of 443 attributes which determine its behavioral characteristics and 444 requirements from the network. 446 2. Background 448 The Internet must convey IP packets from ingress nodes to egress 449 nodes efficiently, expeditiously, and economically. Furthermore, in 450 a multiclass service environment (e.g., Diffserv capable networks), 451 the resource sharing parameters of the network must be appropriately 452 determined and configured according to prevailing policies and 453 service models to resolve resource contention issues arising from 454 mutual interference between packets traversing through the network. 455 Thus, consideration must be given to resolving competition for 456 network resources between traffic streams belonging to the same 457 service class (intra-class contention resolution) and traffic streams 458 belonging to different classes (inter-class contention resolution). 460 2.1. Context of Internet Traffic Engineering 462 The context of Internet traffic engineering pertains to the scenarios 463 where traffic engineering is used. A traffic engineering methodology 464 establishes appropriate rules to resolve traffic performance issues 465 occurring in a specific context. The context of Internet traffic 466 engineering includes: 468 1. A network context defining the universe of discourse, and in 469 particular the situations in which the traffic engineering 470 problems occur. The network context includes network structure, 471 network policies, network characteristics, network constraints, 472 network quality attributes, and network optimization criteria. 474 2. A problem context defining the general and concrete issues that 475 traffic engineering addresses. The problem context includes 476 identification, abstraction of relevant features, representation, 477 formulation, specification of the requirements on the solution 478 space, and specification of the desirable features of acceptable 479 solutions. 481 3. A solution context suggesting how to address the issues 482 identified by the problem context. The solution context includes 483 analysis, evaluation of alternatives, prescription, and 484 resolution. 486 4. An implementation and operational context in which the solutions 487 are methodologically instantiated. The implementation and 488 operational context includes planning, organization, and 489 execution. 491 The context of Internet traffic engineering and the different problem 492 scenarios are discussed in the following subsections. 494 2.2. Network Context 496 IP networks range in size from small clusters of routers situated 497 within a given location, to thousands of interconnected routers, 498 switches, and other components distributed all over the world. 500 Conceptually, at the most basic level of abstraction, an IP network 501 can be represented as a distributed dynamical system consisting of: 502 (1) a set of interconnected resources which provide transport 503 services for IP traffic subject to certain constraints, (2) a demand 504 system representing the offered load to be transported through the 505 network, and (3) a response system consisting of network processes, 506 protocols, and related mechanisms which facilitate the movement of 507 traffic through the network (see also [AWD2]). 509 The network elements and resources may have specific characteristics 510 restricting the manner in which the demand is handled. Additionally, 511 network resources may be equipped with traffic control mechanisms 512 superintending the way in which the demand is serviced. Traffic 513 control mechanisms may, for example, be used to control various 514 packet processing activities within a given resource, arbitrate 515 contention for access to the resource by different packets, and 516 regulate traffic behavior through the resource. A configuration 517 management and provisioning system may allow the settings of the 518 traffic control mechanisms to be manipulated by external or internal 519 entities in order to exercise control over the way in which the 520 network elements respond to internal and external stimuli. 522 The details of how the network provides transport services for 523 packets are specified in the policies of the network administrators 524 and are installed through network configuration management and policy 525 based provisioning systems. Generally, the types of services 526 provided by the network also depends upon the technology and 527 characteristics of the network elements and protocols, the prevailing 528 service and utility models, and the ability of the network 529 administrators to translate policies into network configurations. 531 Contemporary Internet networks have three significant 532 characteristics: (1) they provide real-time services, (2) they have 533 become mission critical, and (3) their operating environments are 534 very dynamic. The dynamic characteristics of IP networks can be 535 attributed in part to fluctuations in demand, to the interaction 536 between various network protocols and processes, to the rapid 537 evolution of the infrastructure which demands the constant inclusion 538 of new technologies and new network elements, and to transient and 539 persistent impairments which occur within the system. 541 Packets contend for the use of network resources as they are conveyed 542 through the network. A network resource is considered to be 543 congested if the arrival rate of packets exceed the output capacity 544 of the resource over an interval of time. Congestion may result in 545 some of the arrival packets being delayed or even dropped. 547 Congestion increases transit delays, delay variation, packet loss, 548 and reduces the predictability of network services. Clearly, 549 congestion is a highly undesirable phenomenon. 551 Combating congestion at a reasonable cost is a major objective of 552 Internet traffic engineering. 554 Efficient sharing of network resources by multiple traffic streams is 555 a basic economic premise for packet switched networks in general and 556 for the Internet in particular. A fundamental challenge in network 557 operation, especially in a large scale public IP network, is to 558 increase the efficiency of resource utilization while minimizing the 559 possibility of congestion. 561 Increasingly, the Internet will have to function in the presence of 562 different classes of traffic with different service requirements. 563 The advent of Differentiated Services [RFC2475] makes this 564 requirement particularly acute. Thus, packets may be grouped into 565 behavior aggregates such that each behavior aggregate may have a 566 common set of behavioral characteristics or a common set of delivery 567 requirements. In practice, the delivery requirements of a specific 568 set of packets may be specified explicitly or implicitly. Two of the 569 most important traffic delivery requirements are capacity constraints 570 and QoS constraints. 572 Capacity constraints can be expressed statistically as peak rates, 573 mean rates, burst sizes, or as some deterministic notion of effective 574 bandwidth. QoS requirements can be expressed in terms of (1) 575 integrity constraints such as packet loss and (2) in terms of 576 temporal constraints such as timing restrictions for the delivery of 577 each packet (delay) and timing restrictions for the delivery of 578 consecutive packets belonging to the same traffic stream (delay 579 variation). 581 2.3. Problem Context 583 Fundamental problems exist in association with the operation of a 584 network described by the simple model of the previous subsection. 585 This subsection reviews the problem context in relation to the 586 traffic engineering function. 588 The identification, abstraction, representation, and measurement of 589 network features relevant to traffic engineering is a significant 590 issue. 592 One particularly important class of problems concerns how to 593 explicitly formulate the problems that traffic engineering attempts 594 to solve, how to identify the requirements on the solution space, how 595 to specify the desirable features of good solutions, how to actually 596 solve the problems, and how to measure and characterize the 597 effectiveness of the solutions. 599 Another class of problems concerns how to measure and estimate 600 relevant network state parameters. Effective traffic engineering 601 relies on a good estimate of the offered traffic load as well as a 602 view of the underlying topology and associated resource constraints. 603 A network-wide view of the topology is also a must for offline 604 planning. 606 Still another class of problems concerns how to characterize the 607 state of the network and how to evaluate its performance under a 608 variety of scenarios. The performance evaluation problem is two- 609 fold. One aspect of this problem relates to the evaluation of the 610 system level performance of the network. The other aspect relates to 611 the evaluation of the resource level performance, which restricts 612 attention to the performance analysis of individual network 613 resources. In this memo, we refer to the system level 614 characteristics of the network as the "macro-states" and the resource 615 level characteristics as the "micro-states." The system level 616 characteristics are also known as the emergent properties of the 617 network as noted earlier. Correspondingly, we shall refer to the 618 traffic engineering schemes dealing with network performance 619 optimization at the systems level as "macro-TE" and the schemes that 620 optimize at the individual resource level as "micro-TE." Under 621 certain circumstances, the system level performance can be derived 622 from the resource level performance using appropriate rules of 623 composition, depending upon the particular performance measures of 624 interest. 626 Another fundamental class of problems concerns how to effectively 627 optimize network performance. Performance optimization may entail 628 translating solutions to specific traffic engineering problems into 629 network configurations. Optimization may also entail some degree of 630 resource management control, routing control, and/or capacity 631 augmentation. 633 As noted previously, congestion is an undesirable phenomena in 634 operational networks. Therefore, the next subsection addresses the 635 issue of congestion and its ramifications within the problem context 636 of Internet traffic engineering. 638 2.3.1. Congestion and its Ramifications 640 Congestion is one of the most significant problems in an operational 641 IP context. A network element is said to be congested if it 642 experiences sustained overload over an interval of time. Congestion 643 almost always results in degradation of service quality to end users. 644 Congestion control schemes can include demand side policies and 645 supply side policies. Demand side policies may restrict access to 646 congested resources and/or dynamically regulate the demand to 647 alleviate the overload situation. Supply side policies may expand or 648 augment network capacity to better accommodate offered traffic. 649 Supply side policies may also re-allocate network resources by 650 redistributing traffic over the infrastructure. Traffic 651 redistribution and resource re-allocation serve to increase the 652 'effective capacity' seen by the demand. 654 The emphasis of this memo is primarily on congestion management 655 schemes falling within the scope of the network, rather than on 656 congestion management systems dependent upon sensitivity and 657 adaptivity from end-systems. That is, the aspects that are 658 considered in this memo with respect to congestion management are 659 those solutions that can be provided by control entities operating on 660 the network and by the actions of network administrators and network 661 operations systems. 663 2.4. Solution Context 665 The solution context for Internet traffic engineering involves 666 analysis, evaluation of alternatives, and choice between alternative 667 courses of action. Generally the solution context is predicated on 668 making reasonable inferences about the current or future state of the 669 network, and subsequently making appropriate decisions that may 670 involve a preference between alternative sets of action. More 671 specifically, the solution context demands reasonable estimates of 672 traffic workload, characterization of network state, deriving 673 solutions to traffic engineering problems which may be implicitly or 674 explicitly formulated, and possibly instantiating a set of control 675 actions. Control actions may involve the manipulation of parameters 676 associated with routing, control over tactical capacity acquisition, 677 and control over the traffic management functions. 679 The following list of instruments may be applicable to the solution 680 context of Internet traffic engineering. 682 1. A set of policies, objectives, and requirements (which may be 683 context dependent) for network performance evaluation and 684 performance optimization. 686 2. A collection of online and possibly offline tools and mechanisms 687 for measurement, characterization, modeling, and control of 688 Internet traffic and control over the placement and allocation of 689 network resources, as well as control over the mapping or 690 distribution of traffic onto the infrastructure. 692 3. A set of constraints on the operating environment, the network 693 protocols, and the traffic engineering system itself. 695 4. A set of quantitative and qualitative techniques and 696 methodologies for abstracting, formulating, and solving traffic 697 engineering problems. 699 5. A set of administrative control parameters which may be 700 manipulated through a Configuration Management (CM) system. The 701 CM system itself may include a configuration control subsystem, a 702 configuration repository, a configuration accounting subsystem, 703 and a configuration auditing subsystem. 705 6. A set of guidelines for network performance evaluation, 706 performance optimization, and performance improvement. 708 Derivation of traffic characteristics through measurement and/or 709 estimation is very useful within the realm of the solution space for 710 traffic engineering. Traffic estimates can be derived from customer 711 subscription information, traffic projections, traffic models, and 712 from actual empirical measurements. The empirical measurements may 713 be performed at the traffic aggregate level or at the flow level in 714 order to derive traffic statistics at various levels of detail. 715 Measurements at the flow level or on small traffic aggregates may be 716 performed at edge nodes, where traffic enters and leaves the network. 717 Measurements at large traffic aggregate levels may be performed 718 within the core of the network where potentially numerous traffic 719 flows may be in transit concurrently. 721 To conduct performance studies and to support planning of existing 722 and future networks, a routing analysis may be performed to determine 723 the path(s) the routing protocols will choose for various traffic 724 demands, and to ascertain the utilization of network resources as 725 traffic is routed through the network. The routing analysis should 726 capture the selection of paths through the network, the assignment of 727 traffic across multiple feasible routes, and the multiplexing of IP 728 traffic over traffic trunks (if such constructs exists) and over the 729 underlying network infrastructure. A network topology model is a 730 necessity for routing analysis. A network topology model may be 731 extracted from network architecture documents, from network designs, 732 from information contained in router configuration files, from 733 routing databases, from routing tables, or from automated tools that 734 discover and depict network topology information. Topology 735 information may also be derived from servers that monitor network 736 state, and from servers that perform provisioning functions. 738 Routing in operational IP networks can be administratively controlled 739 at various levels of abstraction including the manipulation of BGP 740 attributes and manipulation of IGP metrics. For path oriented 741 technologies such as MPLS, routing can be further controlled by the 742 manipulation of relevant traffic engineering parameters, resource 743 parameters, and administrative policy constraints. Within the 744 context of MPLS, the path of an explicit label switched path (LSP) 745 can be computed and established in various ways including: (1) 746 manually, (2) automatically online using constraint-based routing 747 processes implemented on label switching routers, and (3) 748 automatically offline using constraint-based routing entities 749 implemented on external traffic engineering support systems. 751 2.4.1. Combating the Congestion Problem 753 Minimizing congestion is a significant aspect of Internet traffic 754 engineering. This subsection gives an overview of the general 755 approaches that have been used or proposed to combat congestion 756 problems. 758 Congestion management policies can be categorized based upon the 759 following criteria (see e.g., [YARE95] for a more detailed taxonomy 760 of congestion control schemes): (1) Response time scale which can be 761 characterized as long, medium, or short; (2) reactive versus 762 preventive which relates to congestion control and congestion 763 avoidance; and (3) supply side versus demand side congestion 764 management schemes. These aspects are discussed in the following 765 paragraphs. 767 1. Congestion Management based on Response Time Scales 769 * Long (weeks to months): Capacity planning works over a 770 relatively long time scale to expand network capacity based on 771 estimates or forecasts of future traffic demand and traffic 772 distribution. Since router and link provisioning take time 773 and are generally expensive, these upgrades are typically 774 carried out in the weeks-to-months or even years time scale. 776 * Medium (minutes to days): Several control policies fall within 777 the medium time scale category. Examples include: (1) 778 Adjusting IGP and/or BGP parameters to route traffic away or 779 towards certain segments of the network; (2) Setting up and/or 780 adjusting some explicitly routed label switched paths (ER- 781 LSPs) in MPLS networks to route some traffic trunks away from 782 possibly congested resources or towards possibly more 783 favorable routes; (3) re-configuring the logical topology of 784 the network to make it correlate more closely with the spatial 785 traffic distribution using for example some underlying path- 786 oriented technology such as MPLS LSPs, ATM PVCs, or optical 787 channel trails. Many of these adaptive medium time scale 788 response schemes rely on a measurement system that monitors 789 changes in traffic distribution, traffic shifts, and network 790 resource utilization and subsequently provides feedback to the 791 online and/or offline traffic engineering mechanisms and tools 792 which employ this feedback information to trigger certain 793 control actions to occur within the network. The traffic 794 engineering mechanisms and tools can be implemented in a 795 distributed fashion or in a centralized fashion, and may have 796 a hierarchical structure or a flat structure. The comparative 797 merits of distributed and centralized control structures for 798 networks are well known. A centralized scheme may have global 799 visibility into the network state and may produce potentially 800 more optimal solutions. However, centralized schemes are 801 prone to single points of failure and may not scale as well as 802 distributed schemes. Moreover, the information utilized by a 803 centralized scheme may be stale and may not reflect the actual 804 state of the network. It is not an objective of this memo to 805 make a recommendation between distributed and centralized 806 schemes. This is a choice that network administrators must 807 make based on their specific needs. 809 * Short (picoseconds to minutes): This category includes packet 810 level processing functions and events on the order of several 811 round trip times. It includes router mechanisms such as 812 passive and active buffer management. These mechanisms are 813 used to control congestion and/or signal congestion to end 814 systems so that they can adaptively regulate the rate at which 815 traffic is injected into the network. One of the most popular 816 active queue management schemes, especially for TCP traffic, 817 is Random Early Detection (RED) [FLJA93], which supports 818 congestion avoidance by controlling the average queue size. 819 During congestion (but before the queue is filled), the RED 820 scheme chooses arriving packets to "mark" according to a 821 probabilistic algorithm which takes into account the average 822 queue size. For a router that does not utilize explicit 823 congestion notification (ECN) see e.g., [FLOY94], the marked 824 packets can simply be dropped to signal the inception of 825 congestion to end systems. On the other hand, if the router 826 supports ECN, then it can set the ECN field in the packet 827 header. Several variations of RED have been proposed to 828 support different drop precedence levels in multi-class 829 environments [RFC2597], e.g., RED with In and Out (RIO) and 830 Weighted RED. There is general consensus that RED provides 831 congestion avoidance performance which is not worse than 832 traditional Tail-Drop (TD) queue management (drop arriving 833 packets only when the queue is full). Importantly, however, 834 RED reduces the possibility of global synchronization and 835 improves fairness among different TCP sessions. However, RED 836 by itself can not prevent congestion and unfairness caused by 837 sources unresponsive to RED, e.g., UDP traffic and some 838 misbehaved greedy connections. Other schemes have been 839 proposed to improve the performance and fairness in the 840 presence of unresponsive traffic. Some of these schemes were 841 proposed as theoretical frameworks and are typically not 842 available in existing commercial products. Two such schemes 843 are Longest Queue Drop (LQD) and Dynamic Soft Partitioning 844 with Random Drop (RND) [SLDC98]. 846 2. Congestion Management: Reactive versus Preventive Schemes 848 * Reactive: reactive (recovery) congestion management policies 849 react to existing congestion problems to improve it. All the 850 policies described in the long and medium time scales above 851 can be categorized as being reactive especially if the 852 policies are based on monitoring and identifying existing 853 congestion problems, and on the initiation of relevant actions 854 to ease a situation. 856 * Preventive: preventive (predictive/avoidance) policies take 857 proactive action to prevent congestion based on estimates and 858 predictions of future potential congestion problems. Some of 859 the policies described in the long and medium time scales fall 860 into this category. They do not necessarily respond 861 immediately to existing congestion problems. Instead 862 forecasts of traffic demand and workload distribution are 863 considered and action may be taken to prevent potential 864 congestion problems in the future. The schemes described in 865 the short time scale (e.g., RED and its variations, ECN, LQD, 866 and RND) are also used for congestion avoidance since dropping 867 or marking packets before queues actually overflow would 868 trigger corresponding TCP sources to slow down. 870 3. Congestion Management: Supply Side versus Demand Side Schemes 872 * Supply side: supply side congestion management policies 873 increase the effective capacity available to traffic in order 874 to control or obviate congestion. This can be accomplished by 875 augmenting capacity. Another way to accomplish this is to 876 minimize congestion by having a relatively balanced 877 distribution of traffic over the network. For example, 878 capacity planning should aim to provide a physical topology 879 and associated link bandwidths that match estimated traffic 880 workload and traffic distribution based on forecasting 881 (subject to budgetary and other constraints). However, if 882 actual traffic distribution does not match the topology 883 derived from capacity panning (due to forecasting errors or 884 facility constraints for example), then the traffic can be 885 mapped onto the existing topology using routing control 886 mechanisms, using path oriented technologies (e.g., MPLS LSPs 887 and optical channel trails) to modify the logical topology, or 888 by using some other load redistribution mechanisms. 890 * Demand side: demand side congestion management policies 891 control or regulate the offered traffic to alleviate 892 congestion problems. For example, some of the short time 893 scale mechanisms described earlier (such as RED and its 894 variations, ECN, LQD, and RND) as well as policing and rate 895 shaping mechanisms attempt to regulate the offered load in 896 various ways. Tariffs may also be applied as a demand side 897 instrument. To date, however, tariffs have not been used as a 898 means of demand side congestion management within the 899 Internet. 901 In summary, a variety of mechanisms can be used to address congestion 902 problems in IP networks. These mechanisms may operate at multiple 903 time-scales. 905 2.5. Implementation and Operational Context 907 The operational context of Internet traffic engineering is 908 characterized by constant change which occur at multiple levels of 909 abstraction. The implementation context demands effective planning, 910 organization, and execution. The planning aspects may involve 911 determining prior sets of actions to achieve desired objectives. 912 Organizing involves arranging and assigning responsibility to the 913 various components of the traffic engineering system and coordinating 914 the activities to accomplish the desired TE objectives. Execution 915 involves measuring and applying corrective or perfective actions to 916 attain and maintain desired TE goals. 918 2.6. High-Level Objectives 920 The high-level objectives for Internet traffic engineering include: 921 usability, automation, scalability, stability, visibility, 922 simplicity, efficiency, reliability, correctness, maintainability, 923 extensibility, interoperability, and security. In a given context, 924 some of these recommendations may be critical while others may be 925 optional. Therefore, prioritization may be required during the 926 development phase of a traffic engineering system (or components 927 thereof) to tailor it to a specific operational context. 929 In the following paragraphs, some of the aspects of the high-level 930 objectives for Internet traffic engineering are summarized. 932 Usability: Usability is a human factor aspect of traffic engineering 933 systems. Usability refers to the ease with which a traffic 934 engineering system can be deployed and operated. In general, it is 935 desirable to have a TE system that can be readily deployed in an 936 existing network. It is also desirable to have a TE system that is 937 easy to operate and maintain. 939 Automation: Whenever feasible, a traffic engineering system should 940 automate as many traffic engineering functions as possible to 941 minimize the amount of human effort needed to control and analyze 942 operational networks. Automation is particularly imperative in large 943 scale public networks because of the high cost of the human aspects 944 of network operations and the high risk of network problems caused by 945 human errors. Automation may entail the incorporation of automatic 946 feedback and intelligence into some components of the traffic 947 engineering system. 949 Scalability: Contemporary public networks are growing very fast with 950 respect to network size and traffic volume. Therefore, a TE system 951 should be scalable to remain applicable as the network evolves. In 952 particular, a TE system should remain functional as the network 953 expands with regard to the number of routers and links, and with 954 respect to the traffic volume. A TE system should have a scalable 955 architecture, should not adversely impair other functions and 956 processes in a network element, and should not consume too much 957 network resources when collecting and distributing state information 958 or when exerting control. 960 Stability: Stability is a very important consideration in traffic 961 engineering systems that respond to changes in the state of the 962 network. State-dependent traffic engineering methodologies typically 963 mandate a tradeoff between responsiveness and stability. It is 964 strongly recommended that when tradeoffs are warranted between 965 responsiveness and stability, that the tradeoff should be made in 966 favor of stability (especially in public IP backbone networks). 968 Flexibility: A TE system should be flexible to allow for changes in 969 optimization policy. In particular, a TE system should provide 970 sufficient configuration options so that a network administrator can 971 tailor the TE system to a particular environment. It may also be 972 desirable to have both online and offline TE subsystems which can be 973 independently enabled and disabled. TE systems that are used in 974 multi-class networks should also have options to support class based 975 performance evaluation and optimization. 977 Visibility: As part of the TE system, mechanisms should exist to 978 collect statistics from the network and to analyze these statistics 979 to determine how well the network is functioning. Derived statistics 980 such as traffic matrices, link utilization, latency, packet loss, and 981 other performance measures of interest which are determined from 982 network measurements can be used as indicators of prevailing network 983 conditions. Other examples of status information which should be 984 observed include existing functional routing information 985 (additionally, in the context of MPLS existing LSP routes), etc. 987 Simplicity: Generally, a TE system should be as simple as possible. 988 More importantly, the TE system should be relatively easy to use 989 (i.e., clean, convenient, and intuitive user interfaces). Simplicity 990 in user interface does not necessarily imply that the TE system will 991 use naive algorithms. When complex algorithms and internal 992 structures are used, such complexities should be hidden as much as 993 possible from the network administrator through the user interface. 995 Interoperability: Whenever feasible, traffic engineering systems and 996 their components should be developed with open standards based 997 interfaces to allow interoperation with other systems and components. 999 Security: Security is a critical consideration in traffic engineering 1000 systems. Such traffic engineering systems typically exert control 1001 over certain functional aspects of the network to achieve the desired 1002 performance objectives. Therefore, adequate measures must be taken 1003 to safeguard the integrity of the traffic engineering system. 1004 Adequate measures must also be taken to protect the network from 1005 vulnerabilities that originate from security breaches and other 1006 impairments within the traffic engineering system. 1008 The remainder of this section will focus on some of the high level 1009 functional recommendations for traffic engineering. 1011 3. Traffic Engineering Process Models 1013 This section describes a generic process model that captures the high 1014 level practical aspects of Internet traffic engineering in an 1015 operational context. The process model is described as a sequence of 1016 actions that a traffic engineer, or more generally a traffic 1017 engineering system, must perform to optimize the performance of an 1018 operational network (see also [RFC2702], AWD2]). This process model 1019 may be enacted explicitly or implicitly, by an automaton and/or by a 1020 human. 1022 The traffic engineering process model is iterative [AWD2]. The four 1023 phases of the process model described below are repeated continually. 1025 1. Define the relevant control policies that govern the operation of 1026 the network. 1028 2. A feedback mechanism involving the acquisition of measurement 1029 data from the operational network. 1031 3. Analyze the network state and to characterize traffic workload. 1032 Performance analysis may be proactive and/or reactive. Proactive 1033 performance analysis identifies potential problems that do not 1034 exist, but could manifest in the future. Reactive performance 1035 analysis identifies existing problems, determines their cause 1036 through diagnosis, and valuates alternative approaches to remedy 1037 the problem, if necessary. 1039 4. Performance optimization of the network. It involves a decision 1040 process which selects and implements a set of actions from a set 1041 of alternatives. Optimization actions may include the use of 1042 appropriate techniques to either control the offered traffic or 1043 to control the distribution of traffic across the network. 1045 3.1. Components of the Traffic Engineering Process Model 1047 The key components of the traffic engineering process model are: 1049 1. Measurement is crucial to the traffic engineering function. The 1050 operational state of a network can be conclusively determined 1051 only through measurement. Measurement is also critical to the 1052 optimization function because it provides feedback data which is 1053 used by traffic engineering control subsystems. This data is 1054 used to adaptively optimize network performance in response to 1055 events and stimuli originating within and outside the network. 1057 Measurement in support of the TE function can occur at different 1058 levels of abstraction. For example, measurement can be used to 1059 derive packet level characteristics, flow level characteristics, 1060 user or customer level characteristics, traffic aggregate 1061 characteristics, component level characteristics, and network 1062 wide characteristics. 1064 2. Modeling, analysis, and simulation are important aspects of 1065 Internet traffic engineering. Modeling involves constructing an 1066 abstract or physical representation which depicts relevant 1067 traffic characteristics and network attributes. A network model 1068 is an abstract representation of the network which captures 1069 relevant network features, attributes, and characteristic. 1070 Network simulation tools are extremely useful for traffic 1071 engineering. Because of the complexity of realistic quantitative 1072 analysis of network behavior, certain aspects of network 1073 performance studies can only be conducted effectively using 1074 simulation. 1076 3. Network performance optimization involves resolving network 1077 issues by transforming such issues into concepts that enable a 1078 solution, identification of a solution, and implementation of the 1079 solution. Network performance optimization can be corrective or 1080 perfective. In corrective optimization, the goal is to remedy a 1081 problem that has occurred or that is incipient. In perfective 1082 optimization, the goal is to improve network performance even 1083 when explicit problems do not exist and are not anticipated. 1085 4. Review of TE Techniques 1087 This section briefly reviews different traffic engineering approaches 1088 proposed and implemented in telecommunications and computer networks. 1089 The discussion is not intended to be comprehensive. It is primarily 1090 intended to illuminate pre-existing perspectives and prior art 1091 concerning traffic engineering in the Internet and in legacy 1092 telecommunications networks. A historic overview is provided in 1093 Appendix A. 1095 4.1. Overview of IETF Projects Related to Traffic Engineering 1097 This subsection reviews a number of IETF activities pertinent to 1098 Internet traffic engineering. These activities are primarily 1099 intended to evolve the IP architecture to support new service 1100 definitions which allow preferential or differentiated treatment to 1101 be accorded to certain types of traffic. 1103 4.1.1. Constraint-Based Routing 1105 Constraint-based routing refers to a class of routing systems that 1106 compute routes through a network subject to the satisfaction of a set 1107 of constraints and requirements. In the most general setting, 1108 constraint-based routing may also seek to optimize overall network 1109 performance while minimizing costs. 1111 The constraints and requirements may be imposed by the network itself 1112 or by administrative policies. Constraints may include bandwidth, 1113 hop count, delay, and policy instruments such as resource class 1114 attributes. Constraints may also include domain specific attributes 1115 of certain network technologies and contexts which impose 1116 restrictions on the solution space of the routing function. Path 1117 oriented technologies such as MPLS have made constraint-based routing 1118 feasible and attractive in public IP networks. 1120 The concept of constraint-based routing within the context of MPLS 1121 traffic engineering requirements in IP networks was first described 1122 in [RFC2702] and led to developments such as MPLS-TE [RFC3209] as 1123 described in Section 4.1.5. 1125 Unlike QoS routing (for example, see [RFC2386] and [MA]) which 1126 generally addresses the issue of routing individual traffic flows to 1127 satisfy prescribed flow based QoS requirements subject to network 1128 resource availability, constraint-based routing is applicable to 1129 traffic aggregates as well as flows and may be subject to a wide 1130 variety of constraints which may include policy restrictions. 1132 4.1.2. Integrated Services 1134 The IETF Integrated Services working group developed the integrated 1135 services (Intserv) model. This model requires resources, such as 1136 bandwidth and buffers, to be reserved a priori for a given traffic 1137 flow to ensure that the quality of service requested by the traffic 1138 flow is satisfied. The integrated services model includes additional 1139 components beyond those used in the best-effort model such as packet 1140 classifiers, packet schedulers, and admission control. A packet 1141 classifier is used to identify flows that are to receive a certain 1142 level of service. A packet scheduler handles the scheduling of 1143 service to different packet flows to ensure that QoS commitments are 1144 met. Admission control is used to determine whether a router has the 1145 necessary resources to accept a new flow. 1147 The main issue with the Integrated Services model has been 1148 scalability [RFC2998], especially in large public IP networks which 1149 may potentially have millions of active micro-flows in transit 1150 concurrently. 1152 A notable feature of the Integrated Services model is that it 1153 requires explicit signaling of QoS requirements from end systems to 1154 routers [RFC2753]. The Resource Reservation Protocol (RSVP) performs 1155 this signaling function and is a critical component of the Integrated 1156 Services model. RSVP is described next. 1158 4.1.3. RSVP 1160 RSVP is a soft state signaling protocol [RFC2205]. It supports 1161 receiver initiated establishment of resource reservations for both 1162 multicast and unicast flows. RSVP was originally developed as a 1163 signaling protocol within the integrated services framework for 1164 applications to communicate QoS requirements to the network and for 1165 the network to reserve relevant resources to satisfy the QoS 1166 requirements [RFC2205]. 1168 Under RSVP, the sender or source node sends a PATH message to the 1169 receiver with the same source and destination addresses as the 1170 traffic which the sender will generate. The PATH message contains: 1171 (1) a sender Tspec specifying the characteristics of the traffic, (2) 1172 a sender Template specifying the format of the traffic, and (3) an 1173 optional Adspec which is used to support the concept of one pass with 1174 advertising (OPWA) [RFC2205]. Every intermediate router along the 1175 path forwards the PATH Message to the next hop determined by the 1176 routing protocol. Upon receiving a PATH Message, the receiver 1177 responds with a RESV message which includes a flow descriptor used to 1178 request resource reservations. The RESV message travels to the 1179 sender or source node in the opposite direction along the path that 1180 the PATH message traversed. Every intermediate router along the path 1181 can reject or accept the reservation request of the RESV message. If 1182 the request is rejected, the rejecting router will send an error 1183 message to the receiver and the signaling process will terminate. If 1184 the request is accepted, link bandwidth and buffer space are 1185 allocated for the flow and the related flow state information is 1186 installed in the router. 1188 One of the issues with the original RSVP specification was 1189 Scalability. This is because reservations were required for micro- 1190 flows, so that the amount of state maintained by network elements 1191 tends to increase linearly with the number of micro-flows. These 1192 issues are described in [RFC2961]. 1194 Recently, RSVP has been modified and extended in several ways to 1195 mitigate the scaling problems. As a result, it is becoming a 1196 versatile signaling protocol for the Internet. For example, RSVP has 1197 been extended to reserve resources for aggregation of flows, to set 1198 up MPLS explicit label switched paths, and to perform other signaling 1199 functions within the Internet. There are also a number of proposals 1200 to reduce the amount of refresh messages required to maintain 1201 established RSVP sessions [RFC2961]. 1203 A number of IETF working groups have been engaged in activities 1204 related to the RSVP protocol. These include the original RSVP 1205 working group, the MPLS working group, the Resource Allocation 1206 Protocol working group, and the Policy Framework working group. 1208 4.1.4. Differentiated Services 1210 The goal of the Differentiated Services (Diffserv) effort within the 1211 IETF is to devise scalable mechanisms for categorization of traffic 1212 into behavior aggregates, which ultimately allows each behavior 1213 aggregate to be treated differently, especially when there is a 1214 shortage of resources such as link bandwidth and buffer space 1215 [RFC2475]. One of the primary motivations for the Diffserv effort 1216 was to devise alternative mechanisms for service differentiation in 1217 the Internet that mitigate the scalability issues encountered with 1218 the Intserv model. 1220 The IETF Diffserv working group has defined a Differentiated Services 1221 field in the IP header (DS field). The DS field consists of six bits 1222 of the part of the IP header formerly known as TOS octet. The DS 1223 field is used to indicate the forwarding treatment that a packet 1224 should receive at a node [RFC2474]. The Diffserv working group has 1225 also standardized a number of Per-Hop Behavior (PHB) groups. Using 1226 the PHBs, several classes of services can be defined using different 1227 classification, policing, shaping, and scheduling rules. 1229 For an end-user of network services to receive Differentiated 1230 Services from its Internet Service Provider (ISP), it may be 1231 necessary for the user to have a Service Level Agreement (SLA) with 1232 the ISP. An SLA may explicitly or implicitly specify a Traffic 1233 Conditioning Agreement (TCA) which defines classifier rules as well 1234 as metering, marking, discarding, and shaping rules. 1236 Packets are classified, and possibly policed and shaped at the 1237 ingress to a Diffserv network. When a packet traverses the boundary 1238 between different Diffserv domains, the DS field of the packet may be 1239 re-marked according to existing agreements between the domains. 1241 Differentiated Services allows only a finite number of service 1242 classes to be indicated by the DS field. The main advantage of the 1243 Diffserv approach relative to the Intserv model is scalability. 1244 Resources are allocated on a per-class basis and the amount of state 1245 information is proportional to the number of classes rather than to 1246 the number of application flows. 1248 It should be obvious from the previous discussion that the Diffserv 1249 model essentially deals with traffic management issues on a per hop 1250 basis. The Diffserv control model consists of a collection of micro- 1251 TE control mechanisms. Other traffic engineering capabilities, such 1252 as capacity management (including routing control), are also required 1253 in order to deliver acceptable service quality in Diffserv networks. 1254 The concept of Per Domain Behaviors has been introduced to better 1255 capture the notion of differentiated services across a complete 1256 domain [RFC3086]. 1258 4.1.5. MPLS 1260 MPLS is an advanced forwarding scheme which also includes extensions 1261 to conventional IP control plane protocols. MPLS extends the 1262 Internet routing model and enhances packet forwarding and path 1263 control [RFC3031]. 1265 At the ingress to an MPLS domain, Label Switching Routers (LSRs) 1266 classify IP packets into forwarding equivalence classes (FECs) based 1267 on a variety of factors, including, e.g., a combination of the 1268 information carried in the IP header of the packets and the local 1269 routing information maintained by the LSRs. An MPLS label stack 1270 entry is then prepended to each packet according to their forwarding 1271 equivalence classes. The MPLS label stack entry is 32 bits long and 1272 contains a 20-bit label field. 1274 An LSR makes forwarding decisions by using the label prepended to 1275 packets as the index into a local next hop label forwarding entry 1276 (NHLFE). The packet is then processed as specified in the NHLFE. 1277 The incoming label may be replaced by an outgoing label (label swap), 1278 and the packet may be forwarded to the next LSR. Before a packet 1279 leaves an MPLS domain, its MPLS label may be removed (label pop). A 1280 Label Switched Path (LSP) is the path between an ingress LSRs and an 1281 egress LSRs through which a labeled packet traverses. The path of an 1282 explicit LSP is defined at the originating (ingress) node of the LSP. 1283 MPLS can use a signaling protocol such as RSVP or LDP to set up LSPs. 1285 MPLS is a very powerful technology for Internet traffic engineering 1286 because it supports explicit LSPs which allow constraint-based 1287 routing to be implemented efficiently in IP networks [AWD2]. The 1288 requirements for traffic engineering over MPLS are described in 1289 [RFC2702]. Extensions to RSVP to support instantiation of explicit 1290 LSP are discussed in [RFC3209]. 1292 4.1.6. Generalized MPLS 1294 GMPLS extends MPLS control protocols to encompass time-division 1295 (e.g., SONET/SDH, PDH, G.709), wavelength (lambdas), and spatial 1296 switching (e.g., incoming port or fiber to outgoing port or fiber) as 1297 well as continuing to support packet switching. GMPLS provides a 1298 common set of control protocols for all of these layers (including 1299 some technology-specific extensions) each of which has a diverse data 1300 or forwarding plane. GMPLS covers both the signaling and the routing 1301 part of that control plane and is based on the Traffic Engineering 1302 extensions to MPLS (see Section 4.1.5). 1304 In GMPLS, the original MPLS architecture is extended to include LSRs 1305 whose forwarding planes rely on circuit switching, and therefore 1306 cannot forward data based on the information carried in either packet 1307 or cell headers. Specifically, such LSRs include devices where the 1308 switching is based on time slots, wavelengths, or physical ports. 1309 These additions impact basic LSP properties: how labels are requested 1310 and communicated, the unidirectional nature of MPLS LSPs, how errors 1311 are propagated, and information provided for synchronizing the 1312 ingress and egress LSRs. 1314 4.1.7. IP Performance Metrics 1316 The IETF IP Performance Metrics (IPPM) working group has been 1317 developing a set of standard metrics that can be used to monitor the 1318 quality, performance, and reliability of Internet services. These 1319 metrics can be applied by network operators, end-users, and 1320 independent testing groups to provide users and service providers 1321 with a common understanding of the performance and reliability of the 1322 Internet component 'clouds' they use/provide [RFC2330]. The criteria 1323 for performance metrics developed by the IPPM WG are described in 1324 [RFC2330]. Examples of performance metrics include one-way packet 1325 loss [RFC7680], one-way delay [RFC7679], and connectivity measures 1326 between two nodes [RFC2678]. Other metrics include second-order 1327 measures of packet loss and delay. 1329 Some of the performance metrics specified by the IPPM WG are useful 1330 for specifying Service Level Agreements (SLAs). SLAs are sets of 1331 service level objectives negotiated between users and service 1332 providers, wherein each objective is a combination of one or more 1333 performance metrics, possibly subject to certain constraints. 1335 4.1.8. Flow Measurement 1337 The IETF Real Time Flow Measurement (RTFM) working group has produced 1338 an architecture document defining a method to specify traffic flows 1339 as well as a number of components for flow measurement (meters, meter 1340 readers, manager) [RFC2722]. A flow measurement system enables 1341 network traffic flows to be measured and analyzed at the flow level 1342 for a variety of purposes. As noted in RFC 2722, a flow measurement 1343 system can be very useful in the following contexts: (1) 1344 understanding the behavior of existing networks, (2) planning for 1345 network development and expansion, (3) quantification of network 1346 performance, (4) verifying the quality of network service, and (5) 1347 attribution of network usage to users. 1349 A flow measurement system consists of meters, meter readers, and 1350 managers. A meter observes packets passing through a measurement 1351 point, classifies them into certain groups, accumulates certain usage 1352 data (such as the number of packets and bytes for each group), and 1353 stores the usage data in a flow table. A group may represent a user 1354 application, a host, a network, a group of networks, etc. A meter 1355 reader gathers usage data from various meters so it can be made 1356 available for analysis. A manager is responsible for configuring and 1357 controlling meters and meter readers. The instructions received by a 1358 meter from a manager include flow specification, meter control 1359 parameters, and sampling techniques. The instructions received by a 1360 meter reader from a manager include the address of the meter whose 1361 date is to be collected, the frequency of data collection, and the 1362 types of flows to be collected. 1364 4.1.9. Endpoint Congestion Management 1366 [RFC3124] is intended to provide a set of congestion control 1367 mechanisms that transport protocols can use. It is also intended to 1368 develop mechanisms for unifying congestion control across a subset of 1369 an endpoint's active unicast connections (called a congestion group). 1370 A congestion manager continuously monitors the state of the path for 1371 each congestion group under its control. The manager uses that 1372 information to instruct a scheduler on how to partition bandwidth 1373 among the connections of that congestion group. 1375 4.1.10. TE Extensions to the IGPs 1377 TBD 1379 4.1.11. Link-State BGP 1381 In a number of environments, a component external to a network is 1382 called upon to perform computations based on the network topology and 1383 current state of the connections within the network, including 1384 traffic engineering information. This is information typically 1385 distributed by IGP routing protocols within the network (see 1386 Section 4.1.10. 1388 The Border Gateway Protocol (BGP) Section 7 is one of the essential 1389 routing protocols that glue the Internet together. BGP Link State 1390 (BGP-LS) [RFC7752] is a mechanism by which link-state and traffic 1391 engineering information can be collected from networks and shared 1392 with external components using the BGP routing protocol. The 1393 mechanism is applicable to physical and virtual IGP links, and is 1394 subject to policy control. 1396 Information collected by BGP-LS can be used to construct the Traffic 1397 Engineering Database (TED, see Section 4.1.17) for use by the Path 1398 Computation Element (PCE, see Section 4.1.12), or may be used by 1399 Application-Layer Traffic Optimization (ALTO) servers (see 1400 Section 4.1.13). 1402 4.1.12. Path Computation Element 1404 Constraint-based path computation is a fundamental building block for 1405 traffic engineering in MPLS and GMPLS networks. Path computation in 1406 large, multi-domain networks is complex and may require special 1407 computational components and cooperation between the elements in 1408 different domains. The Path Computation Element (PCE) [RFC4655] is 1409 an entity (component, application, or network node) that is capable 1410 of computing a network path or route based on a network graph and 1411 applying computational constraints. 1413 Thus, a PCE can provide a central component in a traffic engineering 1414 system operating on the Traffic Engineering Database (TED, see 1415 Section 4.1.17) with delegated responsibility for determining paths 1416 in MPLS, GMPLS, or Segment Routing networks. The PCE uses the Path 1417 Computation Element Communication Protocol (PCEP) [RFC5440] to 1418 communicate with Path Computation Clients (PCCs), such as MPLS LSRs, 1419 to answer their requests for computed paths or to instruct them to 1420 initiate new paths [RFC8281] and maintain state about paths already 1421 installed in the network [RFC8231] 1423 PCEs form key components of a number of traffic engineering systems, 1424 such as the Application of the Path Computation Element Architecture 1425 [RFC6805], the Applicability of a Stateful Path Computation Element 1426 [RFC8051], Abstraction and Control of TE Networks (ACTN) 1427 Section 4.1.15, Centralized Network Control [RFC8283], and Software 1428 Defined Networking (SDN) Section 5.3.2 1430 4.1.13. Application-Layer Traffic Optimization 1432 TBD 1434 4.1.14. Segment Routing with MPLS encapsuation (SR-MPLS) 1436 Segment Routing (SR) leverages the source routing and tunneling 1437 paradigms: The path packet takes is defined at the ingress and 1438 tunneled to the egress. 1440 A node steers a packet through a controlled set of instructions, 1441 called segments, by prepending the packet with an SR header, label 1442 stack in MPLS case. 1444 A segment can represent any instruction, topological or service- 1445 based, thanks to the MPLS architecture [RFC3031]. Labels cand be 1446 looked up in a global context (platform wide) as well as in some 1447 other context (see "context labels" in section 3 of [RFC5331]). 1449 4.1.14.1. Base Segment Routing Identifier Types 1451 Segments are identified by Segment Identifiers (SIDs). There are 1452 four types of SID that are relevant for traffic engineering. 1454 Prefix SID: Uses SR Global Block (SRGB), must be unique within the 1455 routing domain SRGB, and is advertised by an IGP. The Prefix-SID 1456 can be configured as an absolute value or an index. 1458 Node SID: A Node SID is a prefix SID with the 'N' (node) bit set, it 1459 is associated with a host prefix (/32 or /128) that identifies the 1460 node. More than 1 Node SID can be configured per node. 1462 Adjacency SID: An Adjacency SID is locally significant (by default). 1463 It can be made globally significant through use of the 'L' flag. 1464 It identifies unidirectional adjacency. In most implementations 1465 Adjacency SIDs are automatically allocated for each adjacency. 1466 They are always encoded as an absolute (not indexed) value. 1468 Binding SID: A Binding SID has two purposes 1470 1. Mapping Server in ISIS 1472 ISIS:The SID/Label Binding TLV is used to advertise 1473 prefixes to SID/Label mappings. This functionality is 1474 called the Segment Routing Mapping Server (SRMS). The 1475 behavior of the SRMS is defined in [RFC8661] 1477 2. Cross-connect (label to FEC mapping) 1479 This is fundamental for multi-domain/multi-layer operation. 1480 The Binding SID identifies a new (could be SR or 1481 hierarchical, at another OSI Layer) path available at the 1482 anchor point. Is always local to the originator (must not 1483 be at the top of the stack), must be looked up in the 1484 context of the nodal SID. It could be provisioned through 1485 Netconf/Restconf, PCEP, BGP, or the CLI. 1487 4.1.15. Network Virtualization and Abstraction 1489 One of the main drivers for Software-Defined Networking (SDN) 1490 [RFC7149] is a decoupling of the network control plane from the data 1491 plane. This separation has been achieved for TE networks with the 1492 development of MPLS/GMPLS [RFC3945] and the Path Computation Element 1493 (PCE) [RFC4655]. One of the advantages of SDN is its logically 1494 centralized control regime that allows a global view of the 1495 underlying networks. Centralized control in SDN helps improve 1496 network resource utilization compared with distributed network 1497 control. 1499 Abstraction and Control of TE networks (ACTN) [RFC8453] defines an 1500 hierarchical SDN architecture which describes the functional entities 1501 and methods for the coordination of resources across multiple 1502 domains, to provide end-to-end traffic engineered services. ACTN 1503 facilitates end-to-end connections and provides them to the user. 1504 ACTN is focused on aspects like abstraction, virtualization and 1505 presentation. In particular it deals with: 1507 o Abstraction of the underlying network resources and how they are 1508 provided to higher-layer applications and customers 1510 o Virtualization of underlying resources, whose selection criterion 1511 is the allocation of those resources for the customer, 1512 application, or service. The creation of a virtualized 1513 environment allowis operators to view and control multi-domain 1514 networks as a single virtualized network. 1516 o Presentation to customers of networks as a virtual network via 1517 open and programmable interfaces. 1519 The ACTN managed infrastructure are traffic engineered network 1520 resources, which may include statistical packet bandwidth, physical 1521 forwarding plane sources (such as wavelengths and time slots), 1522 forwarding and cross connect capabilities. The ACTN type of network 1523 virtualization provides customers and applications (tenants) to 1524 utilise and independently control allocated virtual network resources 1525 as if resources as if they were physically their own resource. The 1526 ACTN network is "sliced", with tenants being given a different 1527 partial and abstracted topology view of the physical underlying 1528 network. 1530 4.1.16. Deterministic Networking 1532 TBD 1534 4.1.17. Network TE State Definition and Presentation 1536 The network states that are relevant to the traffic engineering need 1537 to be stored in the system and presented to the user. The Traffic 1538 Engineering Database (TED) is a collection of all TE information 1539 about all TE nodes and TE links in the network, which is an essential 1540 component of a TE system, such as MPLS-TE [RFC2702] and GMPLS 1541 [RFC3945]. In order to formally define the data in the TED and to 1542 present the data to the user with high usability, the data modeling 1543 language YANG [RFC7950] can be used as described in 1544 [I-D.ietf-teas-yang-te-topo]. 1546 4.1.18. System Management and Control Interfaces 1548 The traffic engineering control system needs to have a management 1549 interface that is human-friendly and a control interfaces that is 1550 programable for automation. The Network Configuration Protocol 1551 (NETCONF) [RFC6241] or the RESTCONF Protocol [RFC8040] provide 1552 programmable interfaces that are also human-friendly. These 1553 protocols use XML or JSON encoded messages. When message compactness 1554 or protocol bandwidth consumption needs to be optimized for the 1555 control interface, other protocols, such as Group Communication for 1556 the Constrained Application Protocol (CoAP) [RFC7390] or gRPC, are 1557 available, especially when the protocol messages are encoded in a 1558 binary format. Along with any of these protocols, the data modeling 1559 language YANG [RFC7950] can be used to formally and precisely define 1560 the interface data. 1562 The Path Computation Element Communication Protocol (PCEP) [RFC5440] 1563 is another protocol that has evolved to be an option for the TE 1564 system control interface. The messages of PCEP are TLV-based, not 1565 defined by a data modeling language such as YANG. 1567 4.2. Content Distribution 1569 The Internet is dominated by client-server interactions, especially 1570 Web traffic (in the future, more sophisticated media servers may 1571 become dominant). The location and performance of major information 1572 servers has a significant impact on the traffic patterns within the 1573 Internet as well as on the perception of service quality by end 1574 users. 1576 A number of dynamic load balancing techniques have been devised to 1577 improve the performance of replicated information servers. These 1578 techniques can cause spatial traffic characteristics to become more 1579 dynamic in the Internet because information servers can be 1580 dynamically picked based upon the location of the clients, the 1581 location of the servers, the relative utilization of the servers, the 1582 relative performance of different networks, and the relative 1583 performance of different parts of a network. This process of 1584 assignment of distributed servers to clients is called Traffic 1585 Directing. It functions at the application layer. 1587 Traffic Directing schemes that allocate servers in multiple 1588 geographically dispersed locations to clients may require empirical 1589 network performance statistics to make more effective decisions. In 1590 the future, network measurement systems may need to provide this type 1591 of information. The exact parameters needed are not yet defined. 1593 When congestion exists in the network, Traffic Directing and Traffic 1594 Engineering systems should act in a coordinated manner. This topic 1595 is for further study. 1597 The issues related to location and replication of information 1598 servers, particularly web servers, are important for Internet traffic 1599 engineering because these servers contribute a substantial proportion 1600 of Internet traffic. 1602 5. Taxonomy of Traffic Engineering Systems 1604 This section presents a short taxonomy of traffic engineering 1605 systems. A taxonomy of traffic engineering systems can be 1606 constructed based on traffic engineering styles and views as listed 1607 below: 1609 o Time-dependent vs State-dependent vs Event-dependent 1611 o Offline vs Online 1613 o Centralized vs Distributed 1615 o Local vs Global Information 1617 o Prescriptive vs Descriptive 1619 o Open Loop vs Closed Loop 1621 o Tactical vs Strategic 1623 These classification systems are described in greater detail in the 1624 following subsections of this document. 1626 5.1. Time-Dependent Versus State-Dependent Versus Event Dependent 1628 Traffic engineering methodologies can be classified as time- 1629 dependent, or state-dependent, or event-dependent. All TE schemes 1630 are considered to be dynamic in this document. Static TE implies 1631 that no traffic engineering methodology or algorithm is being 1632 applied. 1634 In the time-dependent TE, historical information based on periodic 1635 variations in traffic, (such as time of day), is used to pre-program 1636 routing plans and other TE control mechanisms. Additionally, 1637 customer subscription or traffic projection may be used. Pre- 1638 programmed routing plans typically change on a relatively long time 1639 scale (e.g., diurnal). Time-dependent algorithms do not attempt to 1640 adapt to random variations in traffic or changing network conditions. 1641 An example of a time-dependent algorithm is a global centralized 1642 optimizer where the input to the system is a traffic matrix and 1643 multi-class QoS requirements as described [MR99]. 1645 State-dependent TE adapts the routing plans for packets based on the 1646 current state of the network. The current state of the network 1647 provides additional information on variations in actual traffic 1648 (i.e., perturbations from regular variations) that could not be 1649 predicted using historical information. Constraint-based routing is 1650 an example of state-dependent TE operating in a relatively long time 1651 scale. An example operating in a relatively short time scale is a 1652 load-balancing algorithm described in [MATE]. 1654 The state of the network can be based on parameters such as 1655 utilization, packet delay, packet loss, etc. These parameters can be 1656 obtained in several ways. For example, each router may flood these 1657 parameters periodically or by means of some kind of trigger to other 1658 routers. Another approach is for a particular router performing 1659 adaptive TE to send probe packets along a path to gather the state of 1660 that path. Still another approach is for a management system to 1661 gather relevant information from network elements. 1663 Expeditious and accurate gathering and distribution of state 1664 information is critical for adaptive TE due to the dynamic nature of 1665 network conditions. State-dependent algorithms may be applied to 1666 increase network efficiency and resilience. Time-dependent 1667 algorithms are more suitable for predictable traffic variations. On 1668 the other hand, state-dependent algorithms are more suitable for 1669 adapting to the prevailing network state. 1671 Event-dependent TE methods can also be used for TE path selection. 1672 Event-dependent TE methods are distinct from time-dependent and 1673 state-dependent TE methods in the manner in which paths are selected. 1675 These algorithms are adaptive and distributed in nature and typically 1676 use learning models to find good paths for TE in a network. While 1677 state-dependent TE models typically use available-link-bandwidth 1678 (ALB) flooding for TE path selection, event-dependent TE methods do 1679 not require ALB flooding. Rather, event-dependent TE methods 1680 typically search out capacity by learning models, as in the success- 1681 to-the-top (STT) method. ALB flooding can be resource intensive, 1682 since it requires link bandwidth to carry LSAs, processor capacity to 1683 process LSAs, and the overhead can limit area/autonomous system (AS) 1684 size. Modeling results suggest that event-dependent TE methods could 1685 lead to a reduction in ALB flooding overhead without loss of network 1686 throughput performance [I-D.ietf-tewg-qos-routing]. 1688 5.2. Offline Versus Online 1690 Traffic engineering requires the computation of routing plans. The 1691 computation may be performed offline or online. The computation can 1692 be done offline for scenarios where routing plans need not be 1693 executed in real-time. For example, routing plans computed from 1694 forecast information may be computed offline. Typically, offline 1695 computation is also used to perform extensive searches on multi- 1696 dimensional solution spaces. 1698 Online computation is required when the routing plans must adapt to 1699 changing network conditions as in state-dependent algorithms. Unlike 1700 offline computation (which can be computationally demanding), online 1701 computation is geared toward relative simple and fast calculations to 1702 select routes, fine-tune the allocations of resources, and perform 1703 load balancing. 1705 5.3. Centralized Versus Distributed 1707 Centralized control has a central authority which determines routing 1708 plans and perhaps other TE control parameters on behalf of each 1709 router. The central authority collects the network-state information 1710 from all routers periodically and returns the routing information to 1711 the routers. The routing update cycle is a critical parameter 1712 directly impacting the performance of the network being controlled. 1713 Centralized control may need high processing power and high bandwidth 1714 control channels. 1716 Distributed control determines route selection by each router 1717 autonomously based on the routers view of the state of the network. 1718 The network state information may be obtained by the router using a 1719 probing method or distributed by other routers on a periodic basis 1720 using link state advertisements. Network state information may also 1721 be disseminated under exceptional conditions. 1723 5.3.1. Hybrid Systems 1725 TBD 1727 5.3.2. Considerations for Software Defined Networking 1729 TBD 1731 5.4. Local Versus Global 1733 Traffic engineering algorithms may require local or global network- 1734 state information. 1736 Local information pertains to the state of a portion of the domain. 1737 Examples include the bandwidth and packet loss rate of a particular 1738 path. Local state information may be sufficient for certain 1739 instances of distributed-controlled TEs. 1741 Global information pertains to the state of the entire domain 1742 undergoing traffic engineering. Examples include a global traffic 1743 matrix and loading information on each link throughout the domain of 1744 interest. Global state information is typically required with 1745 centralized control. Distributed TE systems may also need global 1746 information in some cases. 1748 5.5. Prescriptive Versus Descriptive 1750 TE systems may also be classified as prescriptive or descriptive. 1752 Prescriptive traffic engineering evaluates alternatives and 1753 recommends a course of action. Prescriptive traffic engineering can 1754 be further categorized as either corrective or perfective. 1755 Corrective TE prescribes a course of action to address an existing or 1756 predicted anomaly. Perfective TE prescribes a course of action to 1757 evolve and improve network performance even when no anomalies are 1758 evident. 1760 Descriptive traffic engineering, on the other hand, characterizes the 1761 state of the network and assesses the impact of various policies 1762 without recommending any particular course of action. 1764 5.5.1. Intent-Based Networking 1766 TBD 1768 5.6. Open-Loop Versus Closed-Loop 1770 Open-loop traffic engineering control is where control action does 1771 not use feedback information from the current network state. The 1772 control action may use its own local information for accounting 1773 purposes, however. 1775 Closed-loop traffic engineering control is where control action 1776 utilizes feedback information from the network state. The feedback 1777 information may be in the form of historical information or current 1778 measurement. 1780 5.7. Tactical vs Strategic 1782 Tactical traffic engineering aims to address specific performance 1783 problems (such as hot-spots) that occur in the network from a 1784 tactical perspective, without consideration of overall strategic 1785 imperatives. Without proper planning and insights, tactical TE tends 1786 to be ad hoc in nature. 1788 Strategic traffic engineering approaches the TE problem from a more 1789 organized and systematic perspective, taking into consideration the 1790 immediate and longer term consequences of specific policies and 1791 actions. 1793 6. Objectives for Internet Traffic Engineering 1795 This section describes high-level objectives for traffic engineering 1796 in the Internet. These objectives are presented in general terms and 1797 some advice is given as to how to meet the objectives. 1799 Broadly speaking, these objectives can be categorized as either 1800 functional or non-functional. 1802 Functional objectives for Internet traffic engineering describe the 1803 functions that a traffic engineering system should perform. These 1804 functions are needed to realize traffic engineering objectives by 1805 addressing traffic engineering problems. 1807 Non-functional objectives for Internet traffic engineering relate to 1808 the quality attributes or state characteristics of a traffic 1809 engineering system. These objectives may contain conflicting 1810 assertions and may sometimes be difficult to quantify precisely. 1812 6.1. Routing 1814 Routing control is a significant aspect of Internet traffic 1815 engineering. Routing impacts many of the key performance measures 1816 associated with networks, such as throughput, delay, and utilization. 1817 Generally, it is very difficult to provide good service quality in a 1818 wide area network without effective routing control. A desirable 1819 routing system is one that takes traffic characteristics and network 1820 constraints into account during route selection while maintaining 1821 stability. 1823 Traditional shortest path first (SPF) interior gateway protocols are 1824 based on shortest path algorithms and have limited control 1825 capabilities for traffic engineering [RFC2702], [AWD2]. These 1826 limitations include : 1828 1. The well known issues with pure SPF protocols, which do not take 1829 network constraints and traffic characteristics into account 1830 during route selection. For example, since IGPs always use the 1831 shortest paths (based on administratively assigned link metrics) 1832 to forward traffic, load sharing cannot be accomplished among 1833 paths of different costs. Using shortest paths to forward 1834 traffic conserves network resources, but may cause the following 1835 problems: 1) If traffic from a source to a destination exceeds 1836 the capacity of a link along the shortest path, the link (hence 1837 the shortest path) becomes congested while a longer path between 1838 these two nodes may be under-utilized; 2) the shortest paths from 1839 different sources can overlap at some links. If the total 1840 traffic from the sources exceeds the capacity of any of these 1841 links, congestion will occur. Problems can also occur because 1842 traffic demand changes over time but network topology and routing 1843 configuration cannot be changed as rapidly. This causes the 1844 network topology and routing configuration to become sub-optimal 1845 over time, which may result in persistent congestion problems. 1847 2. The Equal-Cost Multi-Path (ECMP) capability of SPF IGPs supports 1848 sharing of traffic among equal cost paths between two nodes. 1849 However, ECMP attempts to divide the traffic as equally as 1850 possible among the equal cost shortest paths. Generally, ECMP 1851 does not support configurable load sharing ratios among equal 1852 cost paths. The result is that one of the paths may carry 1853 significantly more traffic than other paths because it may also 1854 carry traffic from other sources. This situation can result in 1855 congestion along the path that carries more traffic. 1857 3. Modifying IGP metrics to control traffic routing tends to have 1858 network-wide effect. Consequently, undesirable and unanticipated 1859 traffic shifts can be triggered as a result. Recent work 1860 described in Section 8 may be capable of better control [FT00], 1861 [FT01]. 1863 Because of these limitations, new capabilities are needed to enhance 1864 the routing function in IP networks. Some of these capabilities have 1865 been described elsewhere and are summarized below. 1867 Constraint-based routing is desirable to evolve the routing 1868 architecture of IP networks, especially public IP backbones with 1869 complex topologies [RFC2702]. Constraint-based routing computes 1870 routes to fulfill requirements subject to constraints. Constraints 1871 may include bandwidth, hop count, delay, and administrative policy 1872 instruments such as resource class attributes [RFC2702], [RFC2386]. 1873 This makes it possible to select routes that satisfy a given set of 1874 requirements subject to network and administrative policy 1875 constraints. Routes computed through constraint-based routing are 1876 not necessarily the shortest paths. Constraint-based routing works 1877 best with path oriented technologies that support explicit routing, 1878 such as MPLS. 1880 Constraint-based routing can also be used as a way to redistribute 1881 traffic onto the infrastructure (even for best effort traffic). For 1882 example, if the bandwidth requirements for path selection and 1883 reservable bandwidth attributes of network links are appropriately 1884 defined and configured, then congestion problems caused by uneven 1885 traffic distribution may be avoided or reduced. In this way, the 1886 performance and efficiency of the network can be improved. 1888 A number of enhancements are needed to conventional link state IGPs, 1889 such as OSPF and IS-IS, to allow them to distribute additional state 1890 information required for constraint-based routing. These extensions 1891 to OSPF were described in [RFC3630] and to IS-IS in [RFC5305]. 1892 Essentially, these enhancements require the propagation of additional 1893 information in link state advertisements. Specifically, in addition 1894 to normal link-state information, an enhanced IGP is required to 1895 propagate topology state information needed for constraint-based 1896 routing. Some of the additional topology state information include 1897 link attributes such as reservable bandwidth and link resource class 1898 attribute (an administratively specified property of the link). The 1899 resource class attribute concept was defined in [RFC2702]. The 1900 additional topology state information is carried in new TLVs and sub- 1901 TLVs in IS-IS, or in the Opaque LSA in OSPF [RFC5305], [RFC3630]. 1903 An enhanced link-state IGP may flood information more frequently than 1904 a normal IGP. This is because even without changes in topology, 1905 changes in reservable bandwidth or link affinity can trigger the 1906 enhanced IGP to initiate flooding. A tradeoff is typically required 1907 between the timeliness of the information flooded and the flooding 1908 frequency to avoid excessive consumption of link bandwidth and 1909 computational resources, and more importantly, to avoid instability. 1911 In a TE system, it is also desirable for the routing subsystem to 1912 make the load splitting ratio among multiple paths (with equal cost 1913 or different cost) configurable. This capability gives network 1914 administrators more flexibility in the control of traffic 1915 distribution across the network. It can be very useful for avoiding/ 1916 relieving congestion in certain situations. Examples can be found in 1917 [XIAO]. 1919 The routing system should also have the capability to control the 1920 routes of subsets of traffic without affecting the routes of other 1921 traffic if sufficient resources exist for this purpose. This 1922 capability allows a more refined control over the distribution of 1923 traffic across the network. For example, the ability to move traffic 1924 from a source to a destination away from its original path to another 1925 path (without affecting other traffic paths) allows traffic to be 1926 moved from resource-poor network segments to resource-rich segments. 1927 Path oriented technologies such as MPLS inherently support this 1928 capability as discussed in [AWD2]. 1930 Additionally, the routing subsystem should be able to select 1931 different paths for different classes of traffic (or for different 1932 traffic behavior aggregates) if the network supports multiple classes 1933 of service (different behavior aggregates). 1935 6.2. Traffic Mapping 1937 Traffic mapping pertains to the assignment of traffic workload onto 1938 pre-established paths to meet certain requirements. Thus, while 1939 constraint-based routing deals with path selection, traffic mapping 1940 deals with the assignment of traffic to established paths which may 1941 have been selected by constraint-based routing or by some other 1942 means. Traffic mapping can be performed by time-dependent or state- 1943 dependent mechanisms, as described in Section 5.1. 1945 An important aspect of the traffic mapping function is the ability to 1946 establish multiple paths between an originating node and a 1947 destination node, and the capability to distribute the traffic 1948 between the two nodes across the paths according to some policies. A 1949 pre-condition for this scheme is the existence of flexible mechanisms 1950 to partition traffic and then assign the traffic partitions onto the 1951 parallel paths. This requirement was noted in [RFC2702]. When 1952 traffic is assigned to multiple parallel paths, it is recommended 1953 that special care should be taken to ensure proper ordering of 1954 packets belonging to the same application (or micro-flow) at the 1955 destination node of the parallel paths. 1957 As a general rule, mechanisms that perform the traffic mapping 1958 functions should aim to map the traffic onto the network 1959 infrastructure to minimize congestion. If the total traffic load 1960 cannot be accommodated, or if the routing and mapping functions 1961 cannot react fast enough to changing traffic conditions, then a 1962 traffic mapping system may rely on short time scale congestion 1963 control mechanisms (such as queue management, scheduling, etc.) to 1964 mitigate congestion. Thus, mechanisms that perform the traffic 1965 mapping functions should complement existing congestion control 1966 mechanisms. In an operational network, it is generally desirable to 1967 map the traffic onto the infrastructure such that intra-class and 1968 inter-class resource contention are minimized. 1970 When traffic mapping techniques that depend on dynamic state feedback 1971 (e.g., MATE and such like) are used, special care must be taken to 1972 guarantee network stability. 1974 6.3. Measurement 1976 The importance of measurement in traffic engineering has been 1977 discussed throughout this document. Mechanisms should be provided to 1978 measure and collect statistics from the network to support the 1979 traffic engineering function. Additional capabilities may be needed 1980 to help in the analysis of the statistics. The actions of these 1981 mechanisms should not adversely affect the accuracy and integrity of 1982 the statistics collected. The mechanisms for statistical data 1983 acquisition should also be able to scale as the network evolves. 1985 Traffic statistics may be classified according to long-term or short- 1986 term time scales. Long-term time scale traffic statistics are very 1987 useful for traffic engineering. Long-term time scale traffic 1988 statistics may capture or reflect periodicity in network workload 1989 (such as hourly, daily, and weekly variations in traffic profiles) as 1990 well as traffic trends. Aspects of the monitored traffic statistics 1991 may also depict class of service characteristics for a network 1992 supporting multiple classes of service. Analysis of the long-term 1993 traffic statistics may yield secondary statistics such as busy hour 1994 characteristics, traffic growth patterns, persistent congestion 1995 problems, hot-spot, and imbalances in link utilization caused by 1996 routing anomalies. 1998 A mechanism for constructing traffic matrices for both long-term and 1999 short-term traffic statistics should be in place. In multi-service 2000 IP networks, the traffic matrices may be constructed for different 2001 service classes. Each element of a traffic matrix represents a 2002 statistic of traffic flow between a pair of abstract nodes. An 2003 abstract node may represent a router, a collection of routers, or a 2004 site in a VPN. 2006 Measured traffic statistics should provide reasonable and reliable 2007 indicators of the current state of the network on the short-term 2008 scale. Some short term traffic statistics may reflect link 2009 utilization and link congestion status. Examples of congestion 2010 indicators include excessive packet delay, packet loss, and high 2011 resource utilization. Examples of mechanisms for distributing this 2012 kind of information include SNMP, probing techniques, FTP, IGP link 2013 state advertisements, etc. 2015 6.4. Network Survivability 2017 Network survivability refers to the capability of a network to 2018 maintain service continuity in the presence of faults. This can be 2019 accomplished by promptly recovering from network impairments and 2020 maintaining the required QoS for existing services after recovery. 2021 Survivability has become an issue of great concern within the 2022 Internet community due to the increasing demands to carry mission 2023 critical traffic, real-time traffic, and other high priority traffic 2024 over the Internet. Survivability can be addressed at the device 2025 level by developing network elements that are more reliable; and at 2026 the network level by incorporating redundancy into the architecture, 2027 design, and operation of networks. It is recommended that a 2028 philosophy of robustness and survivability should be adopted in the 2029 architecture, design, and operation of traffic engineering that 2030 control IP networks (especially public IP networks). Because 2031 different contexts may demand different levels of survivability, the 2032 mechanisms developed to support network survivability should be 2033 flexible so that they can be tailored to different needs. A number 2034 of tools and techniques have been developed to enable network 2035 survivability including MPLS Fast Reroute [RFC4090], RSVP-TE 2036 Extensions in Support of End-to-End Generalized Multi-Protocol Label 2037 Switching (GMPLS) Recovery [RFC4872], and GMPLS Segment Recovery 2038 [RFC4873]. 2040 Failure protection and restoration capabilities have become available 2041 from multiple layers as network technologies have continued to 2042 improve. At the bottom of the layered stack, optical networks are 2043 now capable of providing dynamic ring and mesh restoration 2044 functionality at the wavelength level as well as traditional 2045 protection functionality. At the SONET/SDH layer survivability 2046 capability is provided with Automatic Protection Switching (APS) as 2047 well as self-healing ring and mesh architectures. Similar 2048 functionality is provided by layer 2 technologies such as ATM 2049 (generally with slower mean restoration times). Rerouting is 2050 traditionally used at the IP layer to restore service following link 2051 and node outages. Rerouting at the IP layer occurs after a period of 2052 routing convergence which may require seconds to minutes to complete. 2054 Some new developments in the MPLS context make it possible to achieve 2055 recovery at the IP layer prior to convergence [RFC3469]. 2057 To support advanced survivability requirements, path-oriented 2058 technologies such a MPLS can be used to enhance the survivability of 2059 IP networks in a potentially cost effective manner. The advantages 2060 of path oriented technologies such as MPLS for IP restoration becomes 2061 even more evident when class based protection and restoration 2062 capabilities are required. 2064 Recently, a common suite of control plane protocols has been proposed 2065 for both MPLS and optical transport networks under the acronym Multi- 2066 protocol Lambda Switching [AWD1]. This new paradigm of Multi- 2067 protocol Lambda Switching will support even more sophisticated mesh 2068 restoration capabilities at the optical layer for the emerging IP 2069 over WDM network architectures. 2071 Another important aspect regarding multi-layer survivability is that 2072 technologies at different layers provide protection and restoration 2073 capabilities at different temporal granularities (in terms of time 2074 scales) and at different bandwidth granularity (from packet-level to 2075 wavelength level). Protection and restoration capabilities can also 2076 be sensitive to different service classes and different network 2077 utility models. 2079 The impact of service outages varies significantly for different 2080 service classes depending upon the effective duration of the outage. 2081 The duration of an outage can vary from milliseconds (with minor 2082 service impact) to seconds (with possible call drops for IP telephony 2083 and session time-outs for connection oriented transactions) to 2084 minutes and hours (with potentially considerable social and business 2085 impact). 2087 Coordinating different protection and restoration capabilities across 2088 multiple layers in a cohesive manner to ensure network survivability 2089 is maintained at reasonable cost is a challenging task. Protection 2090 and restoration coordination across layers may not always be 2091 feasible, because networks at different layers may belong to 2092 different administrative domains. 2094 The following paragraphs present some of the general recommendations 2095 for protection and restoration coordination. 2097 o Protection and restoration capabilities from different layers 2098 should be coordinated whenever feasible and appropriate to provide 2099 network survivability in a flexible and cost effective manner. 2100 Minimization of function duplication across layers is one way to 2101 achieve the coordination. Escalation of alarms and other fault 2102 indicators from lower to higher layers may also be performed in a 2103 coordinated manner. A temporal order of restoration trigger 2104 timing at different layers is another way to coordinate multi- 2105 layer protection/restoration. 2107 o Spare capacity at higher layers is often regarded as working 2108 traffic at lower layers. Placing protection/restoration functions 2109 in many layers may increase redundancy and robustness, but it 2110 should not result in significant and avoidable inefficiencies in 2111 network resource utilization. 2113 o It is generally desirable to have protection and restoration 2114 schemes that are bandwidth efficient. 2116 o Failure notification throughout the network should be timely and 2117 reliable. 2119 o Alarms and other fault monitoring and reporting capabilities 2120 should be provided at appropriate layers. 2122 6.4.1. Survivability in MPLS Based Networks 2124 MPLS is an important emerging technology that enhances IP networks in 2125 terms of features, capabilities, and services. Because MPLS is path- 2126 oriented, it can potentially provide faster and more predictable 2127 protection and restoration capabilities than conventional hop by hop 2128 routed IP systems. This subsection describes some of the basic 2129 aspects and recommendations for MPLS networks regarding protection 2130 and restoration. See [RFC3469] for a more comprehensive discussion 2131 on MPLS based recovery. 2133 Protection types for MPLS networks can be categorized as link 2134 protection, node protection, path protection, and segment protection. 2136 o Link Protection: The objective for link protection is to protect 2137 an LSP from a given link failure. Under link protection, the path 2138 of the protection or backup LSP (the secondary LSP) is disjoint 2139 from the path of the working or operational LSP at the particular 2140 link over which protection is required. When the protected link 2141 fails, traffic on the working LSP is switched over to the 2142 protection LSP at the head-end of the failed link. This is a 2143 local repair method which can be fast. It might be more 2144 appropriate in situations where some network elements along a 2145 given path are less reliable than others. 2147 o Node Protection: The objective of LSP node protection is to 2148 protect an LSP from a given node failure. Under node protection, 2149 the path of the protection LSP is disjoint from the path of the 2150 working LSP at the particular node to be protected. The secondary 2151 path is also disjoint from the primary path at all links 2152 associated with the node to be protected. When the node fails, 2153 traffic on the working LSP is switched over to the protection LSP 2154 at the upstream LSR directly connected to the failed node. 2156 o Path Protection: The goal of LSP path protection is to protect an 2157 LSP from failure at any point along its routed path. Under path 2158 protection, the path of the protection LSP is completely disjoint 2159 from the path of the working LSP. The advantage of path 2160 protection is that the backup LSP protects the working LSP from 2161 all possible link and node failures along the path, except for 2162 failures that might occur at the ingress and egress LSRs, or for 2163 correlated failures that might impact both working and backup 2164 paths simultaneously. Additionally, since the path selection is 2165 end-to-end, path protection might be more efficient in terms of 2166 resource usage than link or node protection. However, path 2167 protection may be slower than link and node protection in general. 2169 o Segment Protection: An MPLS domain may be partitioned into 2170 multiple protection domains whereby a failure in a protection 2171 domain is rectified within that domain. In cases where an LSP 2172 traverses multiple protection domains, a protection mechanism 2173 within a domain only needs to protect the segment of the LSP that 2174 lies within the domain. Segment protection will generally be 2175 faster than path protection because recovery generally occurs 2176 closer to the fault. 2178 6.4.2. Protection Option 2180 Another issue to consider is the concept of protection options. The 2181 protection option uses the notation m:n protection, where m is the 2182 number of protection LSPs used to protect n working LSPs. Feasible 2183 protection options follow. 2185 o 1:1: one working LSP is protected/restored by one protection LSP. 2187 o 1:n: one protection LSP is used to protect/restore n working LSPs. 2189 o n:1: one working LSP is protected/restored by n protection LSPs, 2190 possibly with configurable load splitting ratio. When more than 2191 one protection LSP is used, it may be desirable to share the 2192 traffic across the protection LSPs when the working LSP fails to 2193 satisfy the bandwidth requirement of the traffic trunk associated 2194 with the working LSP. This may be especially useful when it is 2195 not feasible to find one path that can satisfy the bandwidth 2196 requirement of the primary LSP. 2198 o 1+1: traffic is sent concurrently on both the working LSP and the 2199 protection LSP. In this case, the egress LSR selects one of the 2200 two LSPs based on a local traffic integrity decision process, 2201 which compares the traffic received from both the working and the 2202 protection LSP and identifies discrepancies. It is unlikely that 2203 this option would be used extensively in IP networks due to its 2204 resource utilization inefficiency. However, if bandwidth becomes 2205 plentiful and cheap, then this option might become quite viable 2206 and attractive in IP networks. 2208 6.5. Traffic Engineering in Diffserv Environments 2210 This section provides an overview of the traffic engineering features 2211 and recommendations that are specifically pertinent to Differentiated 2212 Services (Diffserv) [RFC2475] capable IP networks. 2214 Increasing requirements to support multiple classes of traffic, such 2215 as best effort and mission critical data, in the Internet calls for 2216 IP networks to differentiate traffic according to some criteria, and 2217 to accord preferential treatment to certain types of traffic. Large 2218 numbers of flows can be aggregated into a few behavior aggregates 2219 based on some criteria in terms of common performance requirements in 2220 terms of packet loss ratio, delay, and jitter; or in terms of common 2221 fields within the IP packet headers. 2223 As Diffserv evolves and becomes deployed in operational networks, 2224 traffic engineering will be critical to ensuring that SLAs defined 2225 within a given Diffserv service model are met. Classes of service 2226 (CoS) can be supported in a Diffserv environment by concatenating 2227 per-hop behaviors (PHBs) along the routing path, using service 2228 provisioning mechanisms, and by appropriately configuring edge 2229 functionality such as traffic classification, marking, policing, and 2230 shaping. PHB is the forwarding behavior that a packet receives at a 2231 DS node (a Diffserv-compliant node). This is accomplished by means 2232 of buffer management and packet scheduling mechanisms. In this 2233 context, packets belonging to a class are those that are members of a 2234 corresponding ordering aggregate. 2236 Traffic engineering can be used as a compliment to Diffserv 2237 mechanisms to improve utilization of network resources, but not as a 2238 necessary element in general. When traffic engineering is used, it 2239 can be operated on an aggregated basis across all service classes 2240 [RFC3270] or on a per service class basis. The former is used to 2241 provide better distribution of the aggregate traffic load over the 2242 network resources. (See [RFC3270] for detailed mechanisms to support 2243 aggregate traffic engineering.) The latter case is discussed below 2244 since it is specific to the Diffserv environment, with so called 2245 Diffserv-aware traffic engineering [RFC4124]. 2247 For some Diffserv networks, it may be desirable to control the 2248 performance of some service classes by enforcing certain 2249 relationships between the traffic workload contributed by each 2250 service class and the amount of network resources allocated or 2251 provisioned for that service class. Such relationships between 2252 demand and resource allocation can be enforced using a combination 2253 of, for example: (1) traffic engineering mechanisms on a per service 2254 class basis that enforce the desired relationship between the amount 2255 of traffic contributed by a given service class and the resources 2256 allocated to that class, and (2) mechanisms that dynamically adjust 2257 the resources allocated to a given service class to relate to the 2258 amount of traffic contributed by that service class. 2260 It may also be desirable to limit the performance impact of high 2261 priority traffic on relatively low priority traffic. This can be 2262 achieved by, for example, controlling the percentage of high priority 2263 traffic that is routed through a given link. Another way to 2264 accomplish this is to increase link capacities appropriately so that 2265 lower priority traffic can still enjoy adequate service quality. 2266 When the ratio of traffic workload contributed by different service 2267 classes vary significantly from router to router, it may not suffice 2268 to rely exclusively on conventional IGP routing protocols or on 2269 traffic engineering mechanisms that are insensitive to different 2270 service classes. Instead, it may be desirable to perform traffic 2271 engineering, especially routing control and mapping functions, on a 2272 per service class basis. One way to accomplish this in a domain that 2273 supports both MPLS and Diffserv is to define class specific LSPs and 2274 to map traffic from each class onto one or more LSPs that correspond 2275 to that service class. An LSP corresponding to a given service class 2276 can then be routed and protected/restored in a class dependent 2277 manner, according to specific policies. 2279 Performing traffic engineering on a per class basis may require 2280 certain per-class parameters to be distributed. Note that it is 2281 common to have some classes share some aggregate constraint (e.g., 2282 maximum bandwidth requirement) without enforcing the constraint on 2283 each individual class. These classes then can be grouped into a 2284 class-type and per-class-type parameters can be distributed instead 2285 to improve scalability. It also allows better bandwidth sharing 2286 between classes in the same class-type. A class-type is a set of 2287 classes that satisfy the following two conditions: 2289 1) Classes in the same class-type have common aggregate requirements 2290 to satisfy required performance levels. 2292 2) There is no requirement to be enforced at the level of individual 2293 class in the class-type. Note that it is still possible, 2294 nevertheless, to implement some priority policies for classes in the 2295 same class-type to permit preferential access to the class-type 2296 bandwidth through the use of preemption priorities. 2298 An example of the class-type can be a low-loss class-type that 2299 includes both AF1-based and AF2-based Ordering Aggregates. With such 2300 a class-type, one may implement some priority policy which assigns 2301 higher preemption priority to AF1-based traffic trunks over AF2-based 2302 ones, vice versa, or the same priority. 2304 See [RFC4124] for detailed requirements on Diffserv-aware traffic 2305 engineering. 2307 6.6. Network Controllability 2309 Off-line (and on-line) traffic engineering considerations would be of 2310 limited utility if the network could not be controlled effectively to 2311 implement the results of TE decisions and to achieve desired network 2312 performance objectives. Capacity augmentation is a coarse grained 2313 solution to traffic engineering issues. However, it is simple and 2314 may be advantageous if bandwidth is abundant and cheap or if the 2315 current or expected network workload demands it. However, bandwidth 2316 is not always abundant and cheap, and the workload may not always 2317 demand additional capacity. Adjustments of administrative weights 2318 and other parameters associated with routing protocols provide finer 2319 grained control, but is difficult to use and imprecise because of the 2320 routing interactions that occur across the network. In certain 2321 network contexts, more flexible, finer grained approaches which 2322 provide more precise control over the mapping of traffic to routes 2323 and over the selection and placement of routes may be appropriate and 2324 useful. 2326 Control mechanisms can be manual (e.g., administrative 2327 configuration), partially-automated (e.g., scripts) or fully- 2328 automated (e.g., policy based management systems). Automated 2329 mechanisms are particularly required in large scale networks. Multi- 2330 vendor interoperability can be facilitated by developing and 2331 deploying standardized management systems (e.g., standard MIBs) and 2332 policies (PIBs) to support the control functions required to address 2333 traffic engineering objectives such as load distribution and 2334 protection/restoration. 2336 Network control functions should be secure, reliable, and stable as 2337 these are often needed to operate correctly in times of network 2338 impairments (e.g., during network congestion or security attacks). 2340 7. Inter-Domain Considerations 2342 Inter-domain traffic engineering is concerned with the performance 2343 optimization for traffic that originates in one administrative domain 2344 and terminates in a different one. 2346 Traffic exchange between autonomous systems in the Internet occurs 2347 through exterior gateway protocols. Currently, BGP [RFC4271] is the 2348 standard exterior gateway protocol for the Internet. BGP provides a 2349 number of attributes and capabilities (e.g., route filtering) that 2350 can be used for inter-domain traffic engineering. More specifically, 2351 BGP permits the control of routing information and traffic exchange 2352 between Autonomous Systems (AS's) in the Internet. BGP incorporates 2353 a sequential decision process which calculates the degree of 2354 preference for various routes to a given destination network. There 2355 are two fundamental aspects to inter-domain traffic engineering using 2356 BGP: 2358 o Route Redistribution: controlling the import and export of routes 2359 between AS's, and controlling the redistribution of routes between 2360 BGP and other protocols within an AS. 2362 o Best path selection: selecting the best path when there are 2363 multiple candidate paths to a given destination network. Best 2364 path selection is performed by the BGP decision process based on a 2365 sequential procedure, taking a number of different considerations 2366 into account. Ultimately, best path selection under BGP boils 2367 down to selecting preferred exit points out of an AS towards 2368 specific destination networks. The BGP path selection process can 2369 be influenced by manipulating the attributes associated with the 2370 BGP decision process. These attributes include: NEXT-HOP, WEIGHT 2371 (Cisco proprietary which is also implemented by some other 2372 vendors), LOCAL-PREFERENCE, AS-PATH, ROUTE-ORIGIN, MULTI-EXIT- 2373 DESCRIMINATOR (MED), IGP METRIC, etc. 2375 Route-maps provide the flexibility to implement complex BGP policies 2376 based on pre-configured logical conditions. In particular, Route- 2377 maps can be used to control import and export policies for incoming 2378 and outgoing routes, control the redistribution of routes between BGP 2379 and other protocols, and influence the selection of best paths by 2380 manipulating the attributes associated with the BGP decision process. 2381 Very complex logical expressions that implement various types of 2382 policies can be implemented using a combination of Route-maps, BGP- 2383 attributes, Access-lists, and Community attributes. 2385 When looking at possible strategies for inter-domain TE with BGP, it 2386 must be noted that the outbound traffic exit point is controllable, 2387 whereas the interconnection point where inbound traffic is received 2388 from an EBGP peer typically is not, unless a special arrangement is 2389 made with the peer sending the traffic. Therefore, it is up to each 2390 individual network to implement sound TE strategies that deal with 2391 the efficient delivery of outbound traffic from one's customers to 2392 one's peering points. The vast majority of TE policy is based upon a 2393 "closest exit" strategy, which offloads interdomain traffic at the 2394 nearest outbound peer point towards the destination autonomous 2395 system. Most methods of manipulating the point at which inbound 2396 traffic enters a network from an EBGP peer (inconsistent route 2397 announcements between peering points, AS pre-pending, and sending 2398 MEDs) are either ineffective, or not accepted in the peering 2399 community. 2401 Inter-domain TE with BGP is generally effective, but it is usually 2402 applied in a trial-and-error fashion. A systematic approach for 2403 inter-domain traffic engineering is yet to be devised. 2405 Inter-domain TE is inherently more difficult than intra-domain TE 2406 under the current Internet architecture. The reasons for this are 2407 both technical and administrative. Technically, while topology and 2408 link state information are helpful for mapping traffic more 2409 effectively, BGP does not propagate such information across domain 2410 boundaries for stability and scalability reasons. Administratively, 2411 there are differences in operating costs and network capacities 2412 between domains. Generally, what may be considered a good solution 2413 in one domain may not necessarily be a good solution in another 2414 domain. Moreover, it would generally be considered inadvisable for 2415 one domain to permit another domain to influence the routing and 2416 management of traffic in its network. 2418 MPLS TE-tunnels (explicit LSPs) can potentially add a degree of 2419 flexibility in the selection of exit points for inter-domain routing. 2420 The concept of relative and absolute metrics can be applied to this 2421 purpose. The idea is that if BGP attributes are defined such that 2422 the BGP decision process depends on IGP metrics to select exit points 2423 for inter-domain traffic, then some inter-domain traffic destined to 2424 a given peer network can be made to prefer a specific exit point by 2425 establishing a TE-tunnel between the router making the selection to 2426 the peering point via a TE-tunnel and assigning the TE-tunnel a 2427 metric which is smaller than the IGP cost to all other peering 2428 points. If a peer accepts and processes MEDs, then a similar MPLS 2429 TE-tunnel based scheme can be applied to cause certain entrance 2430 points to be preferred by setting MED to be an IGP cost, which has 2431 been modified by the tunnel metric. 2433 Similar to intra-domain TE, inter-domain TE is best accomplished when 2434 a traffic matrix can be derived to depict the volume of traffic from 2435 one autonomous system to another. 2437 Generally, redistribution of inter-domain traffic requires 2438 coordination between peering partners. An export policy in one 2439 domain that results in load redistribution across peer points with 2440 another domain can significantly affect the local traffic matrix 2441 inside the domain of the peering partner. This, in turn, will affect 2442 the intra-domain TE due to changes in the spatial distribution of 2443 traffic. Therefore, it is mutually beneficial for peering partners 2444 to coordinate with each other before attempting any policy changes 2445 that may result in significant shifts in inter-domain traffic. In 2446 certain contexts, this coordination can be quite challenging due to 2447 technical and non- technical reasons. 2449 It is a matter of speculation as to whether MPLS, or similar 2450 technologies, can be extended to allow selection of constrained paths 2451 across domain boundaries. 2453 8. Overview of Contemporary TE Practices in Operational IP Networks 2455 This section provides an overview of some contemporary traffic 2456 engineering practices in IP networks. The focus is primarily on the 2457 aspects that pertain to the control of the routing function in 2458 operational contexts. The intent here is to provide an overview of 2459 the commonly used practices. The discussion is not intended to be 2460 exhaustive. 2462 Currently, service providers apply many of the traffic engineering 2463 mechanisms discussed in this document to optimize the performance of 2464 their IP networks. These techniques include capacity planning for 2465 long time scales, routing control using IGP metrics and MPLS for 2466 medium time scales, the overlay model also for medium time scales, 2467 and traffic management mechanisms for short time scale. 2469 When a service provider plans to build an IP network, or expand the 2470 capacity of an existing network, effective capacity planning should 2471 be an important component of the process. Such plans may take the 2472 following aspects into account: location of new nodes if any, 2473 existing and predicted traffic patterns, costs, link capacity, 2474 topology, routing design, and survivability. 2476 Performance optimization of operational networks is usually an 2477 ongoing process in which traffic statistics, performance parameters, 2478 and fault indicators are continually collected from the network. 2479 This empirical data is then analyzed and used to trigger various 2480 traffic engineering mechanisms. Tools that perform what-if analysis 2481 can also be used to assist the TE process by allowing various 2482 scenarios to be reviewed before a new set of configurations are 2483 implemented in the operational network. 2485 Traditionally, intra-domain real-time TE with IGP is done by 2486 increasing the OSPF or IS-IS metric of a congested link until enough 2487 traffic has been diverted from that link. This approach has some 2488 limitations as discussed in Section 6.1. Recently, some new intra- 2489 domain TE approaches/tools have been proposed [RR94] [FT00] [FT01] 2490 [WANG]. Such approaches/tools take traffic matrix, network topology, 2491 and network performance objective(s) as input, and produce some link 2492 metrics and possibly some unequal load-sharing ratios to be set at 2493 the head-end routers of some ECMPs as output. These new progresses 2494 open new possibility for intra-domain TE with IGP to be done in a 2495 more systematic way. 2497 The overlay model (IP over ATM, or IP over Frame Relay) is another 2498 approach which was commonly used [AWD2], but has been replaced by 2499 MPLS and router hardware technology. 2501 Deployment of MPLS for traffic engineering applications has commenced 2502 in some service provider networks. One operational scenario is to 2503 deploy MPLS in conjunction with an IGP (IS-IS-TE or OSPF-TE) that 2504 supports the traffic engineering extensions, in conjunction with 2505 constraint-based routing for explicit route computations, and a 2506 signaling protocol (e.g., RSVP-TE) for LSP instantiation. 2508 In contemporary MPLS traffic engineering contexts, network 2509 administrators specify and configure link attributes and resource 2510 constraints such as maximum reservable bandwidth and resource class 2511 attributes for links (interfaces) within the MPLS domain. A link 2512 state protocol that supports TE extensions (IS-IS-TE or OSPF-TE) is 2513 used to propagate information about network topology and link 2514 attribute to all routers in the routing area. Network administrators 2515 also specify all the LSPs that are to originate each router. For 2516 each LSP, the network administrator specifies the destination node 2517 and the attributes of the LSP which indicate the requirements that to 2518 be satisfied during the path selection process. Each router then 2519 uses a local constraint-based routing process to compute explicit 2520 paths for all LSPs originating from it. Subsequently, a signaling 2521 protocol is used to instantiate the LSPs. By assigning proper 2522 bandwidth values to links and LSPs, congestion caused by uneven 2523 traffic distribution can generally be avoided or mitigated. 2525 The bandwidth attributes of LSPs used for traffic engineering can be 2526 updated periodically. The basic concept is that the bandwidth 2527 assigned to an LSP should relate in some manner to the bandwidth 2528 requirements of traffic that actually flows through the LSP. The 2529 traffic attribute of an LSP can be modified to accommodate traffic 2530 growth and persistent traffic shifts. If network congestion occurs 2531 due to some unexpected events, existing LSPs can be rerouted to 2532 alleviate the situation or network administrator can configure new 2533 LSPs to divert some traffic to alternative paths. The reservable 2534 bandwidth of the congested links can also be reduced to force some 2535 LSPs to be rerouted to other paths. 2537 In an MPLS domain, a traffic matrix can also be estimated by 2538 monitoring the traffic on LSPs. Such traffic statistics can be used 2539 for a variety of purposes including network planning and network 2540 optimization. Current practice suggests that deploying an MPLS 2541 network consisting of hundreds of routers and thousands of LSPs is 2542 feasible. In summary, recent deployment experience suggests that 2543 MPLS approach is very effective for traffic engineering in IP 2544 networks [XIAO]. 2546 As mentioned previously in Section 7, one usually has no direct 2547 control over the distribution of inbound traffic. Therefore, the 2548 main goal of contemporary inter-domain TE is to optimize the 2549 distribution of outbound traffic between multiple inter-domain links. 2550 When operating a global network, maintaining the ability to operate 2551 the network in a regional fashion where desired, while continuing to 2552 take advantage of the benefits of a global network, also becomes an 2553 important objective. 2555 Inter-domain TE with BGP usually begins with the placement of 2556 multiple peering interconnection points in locations that have high 2557 peer density, are in close proximity to originating/terminating 2558 traffic locations on one's own network, and are lowest in cost. 2559 There are generally several locations in each region of the world 2560 where the vast majority of major networks congregate and 2561 interconnect. Some location-decision problems that arise in 2562 association with inter-domain routing are discussed in [AWD5]. 2564 Once the locations of the interconnects are determined, and circuits 2565 are implemented, one decides how best to handle the routes heard from 2566 the peer, as well as how to propagate the peers' routes within one's 2567 own network. One way to engineer outbound traffic flows on a network 2568 with many EBGP peers is to create a hierarchy of peers. Generally, 2569 the Local Preferences of all peers are set to the same value so that 2570 the shortest AS paths will be chosen to forward traffic. Then, by 2571 over-writing the inbound MED metric (Multi-exit-discriminator metric, 2572 also referred to as "BGP metric". Both terms are used 2573 interchangeably in this document) with BGP metrics to routes received 2574 at different peers, the hierarchy can be formed. For example, all 2575 Local Preferences can be set to 200, preferred private peers can be 2576 assigned a BGP metric of 50, the rest of the private peers can be 2577 assigned a BGP metric of 100, and public peers can be assigned a BGP 2578 metric of 600. "Preferred" peers might be defined as those peers 2579 with whom the most available capacity exists, whose customer base is 2580 larger in comparison to other peers, whose interconnection costs are 2581 the lowest, and with whom upgrading existing capacity is the easiest. 2582 In a network with low utilization at the edge, this works well. The 2583 same concept could be applied to a network with higher edge 2584 utilization by creating more levels of BGP metrics between peers, 2585 allowing for more granularity in selecting the exit points for 2586 traffic bound for a dual homed customer on a peer's network. 2588 By only replacing inbound MED metrics with BGP metrics, only equal 2589 AS-Path length routes' exit points are being changed. (The BGP 2590 decision considers Local Preference first, then AS-Path length, and 2591 then BGP metric). For example, assume a network has two possible 2592 egress points, peer A and peer B. Each peer has 40% of the 2593 Internet's routes exclusively on its network, while the remaining 20% 2594 of the Internet's routes are from customers who dual home between A 2595 and B. Assume that both peers have a Local Preference of 200 and a 2596 BGP metric of 100. If the link to peer A is congested, increasing 2597 its BGP metric while leaving the Local Preference at 200 will ensure 2598 that the 20% of total routes belonging to dual homed customers will 2599 prefer peer B as the exit point. The previous example would be used 2600 in a situation where all exit points to a given peer were close to 2601 congestion levels, and traffic needed to be shifted away from that 2602 peer entirely. 2604 When there are multiple exit points to a given peer, and only one of 2605 them is congested, it is not necessary to shift traffic away from the 2606 peer entirely, but only from the one congested circuit. This can be 2607 achieved by using passive IGP-metrics, AS-path filtering, or prefix 2608 filtering. 2610 Occasionally, more drastic changes are needed, for example, in 2611 dealing with a "problem peer" who is difficult to work with on 2612 upgrades or is charging high prices for connectivity to their 2613 network. In that case, the Local Preference to that peer can be 2614 reduced below the level of other peers. This effectively reduces the 2615 amount of traffic sent to that peer to only originating traffic 2616 (assuming no transit providers are involved). This type of change 2617 can affect a large amount of traffic, and is only used after other 2618 methods have failed to provide the desired results. 2620 Although it is not much of an issue in regional networks, the 2621 propagation of a peer's routes back through the network must be 2622 considered when a network is peering on a global scale. Sometimes, 2623 business considerations can influence the choice of BGP policies in a 2624 given context. For example, it may be imprudent, from a business 2625 perspective, to operate a global network and provide full access to 2626 the global customer base to a small network in a particular country. 2627 However, for the purpose of providing one's own customers with 2628 quality service in a particular region, good connectivity to that in- 2629 country network may still be necessary. This can be achieved by 2630 assigning a set of communities at the edge of the network, which have 2631 a known behavior when routes tagged with those communities are 2632 propagating back through the core. Routes heard from local peers 2633 will be prevented from propagating back to the global network, 2634 whereas routes learned from larger peers may be allowed to propagate 2635 freely throughout the entire global network. By implementing a 2636 flexible community strategy, the benefits of using a single global AS 2637 Number (ASN) can be realized, while the benefits of operating 2638 regional networks can also be taken advantage of. An alternative to 2639 doing this is to use different ASNs in different regions, with the 2640 consequence that the AS path length for routes announced by that 2641 service provider will increase. 2643 9. Conclusion 2645 This document described principles for traffic engineering in the 2646 Internet. It presented an overview of some of the basic issues 2647 surrounding traffic engineering in IP networks. The context of TE 2648 was described, a TE process models and a taxonomy of TE styles were 2649 presented. A brief historical review of pertinent developments 2650 related to traffic engineering was provided. A survey of 2651 contemporary TE techniques in operational networks was presented. 2652 Additionally, the document specified a set of generic requirements, 2653 recommendations, and options for Internet traffic engineering. 2655 10. Security Considerations 2657 This document does not introduce new security issues. 2659 11. IANA Considerations 2661 This draft makes no requests for IANA action. 2663 12. Acknowledgments 2665 The acknowledgements in RFC3272 were as below. All people who helped 2666 in the production of that document also need to be thanked for the 2667 carry-over into this new document. 2669 The authors would like to thank Jim Boyle for inputs on the 2670 recommendations section, Francois Le Faucheur for inputs on Diffserv 2671 aspects, Blaine Christian for inputs on measurement, Gerald Ash for 2672 inputs on routing in telephone networks and for text on event- 2673 dependent TE methods, Steven Wright for inputs on network 2674 controllability, and Jonathan Aufderheide for inputs on inter-domain 2675 TE with BGP. Special thanks to Randy Bush for proposing the TE 2676 taxonomy based on "tactical vs strategic" methods. The subsection 2677 describing an "Overview of ITU Activities Related to Traffic 2678 Engineering" was adapted from a contribution by Waisum Lai. Useful 2679 feedback and pointers to relevant materials were provided by J. Noel 2680 Chiappa. Additional comments were provided by Glenn Grotefeld during 2681 the working last call process. Finally, the authors would like to 2682 thank Ed Kern, the TEWG co-chair, for his comments and support. 2684 The production of this document include a fix to the original text 2685 resulting from an Errata Report by Jean-Michel Grimaldi. 2687 The authors of this document would also like to thank TBD. 2689 13. Contributors 2691 Much of the text in this document is derived from RFC 3272. The 2692 authors of this document would like to express their gratitude to all 2693 involved in that work. Although the source text has been edited in 2694 the production of this document, the orginal authors should be 2695 considered as Contributors to this work. They were: 2697 Daniel O. Awduche 2698 Movaz Networks 2699 7926 Jones Branch Drive, Suite 615 2700 McLean, VA 22102 2702 Phone: 703-298-5291 2703 EMail: awduche@movaz.com 2705 Angela Chiu 2706 Celion Networks 2707 1 Sheila Dr., Suite 2 2708 Tinton Falls, NJ 07724 2710 Phone: 732-747-9987 2711 EMail: angela.chiu@celion.com 2713 Anwar Elwalid 2714 Lucent Technologies 2715 Murray Hill, NJ 07974 2717 Phone: 908 582-7589 2718 EMail: anwar@lucent.com 2720 Indra Widjaja 2721 Bell Labs, Lucent Technologies 2722 600 Mountain Avenue 2723 Murray Hill, NJ 07974 2725 Phone: 908 582-0435 2726 EMail: iwidjaja@research.bell-labs.com 2728 XiPeng Xiao 2729 Redback Networks 2730 300 Holger Way 2731 San Jose, CA 95134 2733 Phone: 408-750-5217 2734 EMail: xipeng@redback.com 2736 The first version of this document was produced by the TEAS Working 2737 Group's RFC3272bis Design Team. The team members are all 2738 Contributors to this document. The full list of contributors to this 2739 document is: 2741 Acee Lindem 2742 EMail: acee@cisco.com 2743 Adrian Farrel 2744 EMail: adrian@olddog.co.uk 2746 Aijun Wang 2747 EMail: wangaijun@tsinghua.org.cn 2749 Daniele Ceccarelli 2750 EMail: daniele.ceccarelli@ericsson.com 2752 Dieter Beller 2753 EMail: dieter.beller@nokia.com 2755 Jeff Tantsura 2756 EMail: jefftant.ietf@gmail.com 2758 Julien Meuric 2759 EMail: julien.meuric@orange.com 2761 Liu Hua 2762 EMail: hliu@ciena.com 2764 Loa Andersson 2765 EMail: loa@pi.nu 2767 Luis Miguel Contreras 2768 EMail: luismiguel.contrerasmurillo@telefonica.com 2770 Martin Horneffer 2771 EMail: Martin.Horneffer@telekom.de 2773 Tarek Saad 2774 EMail: tsaad@cisco.com 2776 Xufeng Liu 2777 EMail: xufeng.liu.ietf@gmail.com 2779 Gert Grammel 2780 EMail: ggrammel@juniper.net 2782 14. Informative References 2784 [ASH2] Ash, J., "Dynamic Routing in Telecommunications Networks", 2785 Book McGraw Hill, 1998. 2787 [AWD1] Awduche, D. and Y. Rekhter, "Multiprocotol Lambda 2788 Switching - Combining MPLS Traffic Engineering Control 2789 with Optical Crossconnects", Article IEEE Communications 2790 Magazine, March 2001. 2792 [AWD2] Awduche, D., "MPLS and Traffic Engineering in IP 2793 Networks", Article IEEE Communications Magazine, December 2794 1999. 2796 [AWD5] Awduche, D., "An Approach to Optimal Peering Between 2797 Autonomous Systems in the Internet", Paper International 2798 Conference on Computer Communications and Networks 2799 (ICCCN'98), October 1998. 2801 [FLJA93] Floyd, S. and V. Jacobson, "Random Early Detection 2802 Gateways for Congestion Avoidance", Article IEEE/ACM 2803 Transactions on Networking, Vol. 1, p. 387-413, November 2804 1993. 2806 [FLOY94] Floyd, S., "TCP and Explicit Congestion Notification", 2807 Article ACM Computer Communication Review, V. 24, No. 5, 2808 p. 10-23, October 1994. 2810 [FT00] Fortz, B. and M. Thorup, "Internet Traffic Engineering by 2811 Optimizing OSPF Weights", Article IEEE INFOCOM 2000, March 2812 2000. 2814 [FT01] Fortz, B. and M. Thorup, "Optimizing OSPF/IS-IS Weights in 2815 a Changing World", n.d., 2816 . 2818 [HUSS87] Hurley, B., Seidl, C., and W. Sewel, "A Survey of Dynamic 2819 Routing Methods for Circuit-Switched Traffic", 2820 Article IEEE Communication Magazine, September 1987. 2822 [I-D.ietf-teas-yang-te-topo] 2823 Liu, X., Bryskin, I., Beeram, V., Saad, T., Shah, H., and 2824 O. Dios, "YANG Data Model for Traffic Engineering (TE) 2825 Topologies", draft-ietf-teas-yang-te-topo-22 (work in 2826 progress), June 2019. 2828 [I-D.ietf-tewg-qos-routing] 2829 Ash, G., "Traffic Engineering & QoS Methods for IP-, ATM-, 2830 & Based Multiservice Networks", draft-ietf-tewg-qos- 2831 routing-04 (work in progress), October 2001. 2833 [ITU-E600] 2834 "Terms and Definitions of Traffic Engineering", 2835 Recommendation ITU-T Recommendation E.600, March 1993. 2837 [ITU-E701] 2838 "Reference Connections for Traffic Engineering", 2839 Recommendation ITU-T Recommendation E.701, October 1993. 2841 [ITU-E801] 2842 "Framework for Service Quality Agreement", 2843 Recommendation ITU-T Recommendation E.801, October 1996. 2845 [MA] Ma, Q., "Quality of Service Routing in Integrated Services 2846 Networks", Ph.D. PhD Dissertation, CMU-CS-98-138, CMU, 2847 1998. 2849 [MATE] Elwalid, A., Jin, C., Low, S., and I. Widjaja, "MATE - 2850 MPLS Adaptive Traffic Engineering", 2851 Proceedings INFOCOM'01, April 2001. 2853 [MCQ80] McQuillan, J., Richer, I., and E. Rosen, "The New Routing 2854 Algorithm for the ARPANET", Transaction IEEE Transactions 2855 on Communications, vol. 28, no. 5, p. 711-719, May 1980. 2857 [MR99] Mitra, D. and K. Ramakrishnan, "A Case Study of 2858 Multiservice, Multipriority Traffic Engineering Design for 2859 Data Networks", Proceedings Globecom'99, December 1999. 2861 [RFC1992] Castineyra, I., Chiappa, N., and M. Steenstrup, "The 2862 Nimrod Routing Architecture", RFC 1992, 2863 DOI 10.17487/RFC1992, August 1996, 2864 . 2866 [RFC2205] Braden, R., Ed., Zhang, L., Berson, S., Herzog, S., and S. 2867 Jamin, "Resource ReSerVation Protocol (RSVP) -- Version 1 2868 Functional Specification", RFC 2205, DOI 10.17487/RFC2205, 2869 September 1997, . 2871 [RFC2328] Moy, J., "OSPF Version 2", STD 54, RFC 2328, 2872 DOI 10.17487/RFC2328, April 1998, 2873 . 2875 [RFC2330] Paxson, V., Almes, G., Mahdavi, J., and M. Mathis, 2876 "Framework for IP Performance Metrics", RFC 2330, 2877 DOI 10.17487/RFC2330, May 1998, 2878 . 2880 [RFC2386] Crawley, E., Nair, R., Rajagopalan, B., and H. Sandick, "A 2881 Framework for QoS-based Routing in the Internet", 2882 RFC 2386, DOI 10.17487/RFC2386, August 1998, 2883 . 2885 [RFC2474] Nichols, K., Blake, S., Baker, F., and D. Black, 2886 "Definition of the Differentiated Services Field (DS 2887 Field) in the IPv4 and IPv6 Headers", RFC 2474, 2888 DOI 10.17487/RFC2474, December 1998, 2889 . 2891 [RFC2475] Blake, S., Black, D., Carlson, M., Davies, E., Wang, Z., 2892 and W. Weiss, "An Architecture for Differentiated 2893 Services", RFC 2475, DOI 10.17487/RFC2475, December 1998, 2894 . 2896 [RFC2597] Heinanen, J., Baker, F., Weiss, W., and J. Wroclawski, 2897 "Assured Forwarding PHB Group", RFC 2597, 2898 DOI 10.17487/RFC2597, June 1999, 2899 . 2901 [RFC2678] Mahdavi, J. and V. Paxson, "IPPM Metrics for Measuring 2902 Connectivity", RFC 2678, DOI 10.17487/RFC2678, September 2903 1999, . 2905 [RFC2702] Awduche, D., Malcolm, J., Agogbua, J., O'Dell, M., and J. 2906 McManus, "Requirements for Traffic Engineering Over MPLS", 2907 RFC 2702, DOI 10.17487/RFC2702, September 1999, 2908 . 2910 [RFC2722] Brownlee, N., Mills, C., and G. Ruth, "Traffic Flow 2911 Measurement: Architecture", RFC 2722, 2912 DOI 10.17487/RFC2722, October 1999, 2913 . 2915 [RFC2753] Yavatkar, R., Pendarakis, D., and R. Guerin, "A Framework 2916 for Policy-based Admission Control", RFC 2753, 2917 DOI 10.17487/RFC2753, January 2000, 2918 . 2920 [RFC2961] Berger, L., Gan, D., Swallow, G., Pan, P., Tommasi, F., 2921 and S. Molendini, "RSVP Refresh Overhead Reduction 2922 Extensions", RFC 2961, DOI 10.17487/RFC2961, April 2001, 2923 . 2925 [RFC2998] Bernet, Y., Ford, P., Yavatkar, R., Baker, F., Zhang, L., 2926 Speer, M., Braden, R., Davie, B., Wroclawski, J., and E. 2927 Felstaine, "A Framework for Integrated Services Operation 2928 over Diffserv Networks", RFC 2998, DOI 10.17487/RFC2998, 2929 November 2000, . 2931 [RFC3031] Rosen, E., Viswanathan, A., and R. Callon, "Multiprotocol 2932 Label Switching Architecture", RFC 3031, 2933 DOI 10.17487/RFC3031, January 2001, 2934 . 2936 [RFC3086] Nichols, K. and B. Carpenter, "Definition of 2937 Differentiated Services Per Domain Behaviors and Rules for 2938 their Specification", RFC 3086, DOI 10.17487/RFC3086, 2939 April 2001, . 2941 [RFC3124] Balakrishnan, H. and S. Seshan, "The Congestion Manager", 2942 RFC 3124, DOI 10.17487/RFC3124, June 2001, 2943 . 2945 [RFC3209] Awduche, D., Berger, L., Gan, D., Li, T., Srinivasan, V., 2946 and G. Swallow, "RSVP-TE: Extensions to RSVP for LSP 2947 Tunnels", RFC 3209, DOI 10.17487/RFC3209, December 2001, 2948 . 2950 [RFC3270] Le Faucheur, F., Wu, L., Davie, B., Davari, S., Vaananen, 2951 P., Krishnan, R., Cheval, P., and J. Heinanen, "Multi- 2952 Protocol Label Switching (MPLS) Support of Differentiated 2953 Services", RFC 3270, DOI 10.17487/RFC3270, May 2002, 2954 . 2956 [RFC3272] Awduche, D., Chiu, A., Elwalid, A., Widjaja, I., and X. 2957 Xiao, "Overview and Principles of Internet Traffic 2958 Engineering", RFC 3272, DOI 10.17487/RFC3272, May 2002, 2959 . 2961 [RFC3469] Sharma, V., Ed. and F. Hellstrand, Ed., "Framework for 2962 Multi-Protocol Label Switching (MPLS)-based Recovery", 2963 RFC 3469, DOI 10.17487/RFC3469, February 2003, 2964 . 2966 [RFC3630] Katz, D., Kompella, K., and D. Yeung, "Traffic Engineering 2967 (TE) Extensions to OSPF Version 2", RFC 3630, 2968 DOI 10.17487/RFC3630, September 2003, 2969 . 2971 [RFC3945] Mannie, E., Ed., "Generalized Multi-Protocol Label 2972 Switching (GMPLS) Architecture", RFC 3945, 2973 DOI 10.17487/RFC3945, October 2004, 2974 . 2976 [RFC4090] Pan, P., Ed., Swallow, G., Ed., and A. Atlas, Ed., "Fast 2977 Reroute Extensions to RSVP-TE for LSP Tunnels", RFC 4090, 2978 DOI 10.17487/RFC4090, May 2005, 2979 . 2981 [RFC4124] Le Faucheur, F., Ed., "Protocol Extensions for Support of 2982 Diffserv-aware MPLS Traffic Engineering", RFC 4124, 2983 DOI 10.17487/RFC4124, June 2005, 2984 . 2986 [RFC4271] Rekhter, Y., Ed., Li, T., Ed., and S. Hares, Ed., "A 2987 Border Gateway Protocol 4 (BGP-4)", RFC 4271, 2988 DOI 10.17487/RFC4271, January 2006, 2989 . 2991 [RFC4655] Farrel, A., Vasseur, J., and J. Ash, "A Path Computation 2992 Element (PCE)-Based Architecture", RFC 4655, 2993 DOI 10.17487/RFC4655, August 2006, 2994 . 2996 [RFC4872] Lang, J., Ed., Rekhter, Y., Ed., and D. Papadimitriou, 2997 Ed., "RSVP-TE Extensions in Support of End-to-End 2998 Generalized Multi-Protocol Label Switching (GMPLS) 2999 Recovery", RFC 4872, DOI 10.17487/RFC4872, May 2007, 3000 . 3002 [RFC4873] Berger, L., Bryskin, I., Papadimitriou, D., and A. Farrel, 3003 "GMPLS Segment Recovery", RFC 4873, DOI 10.17487/RFC4873, 3004 May 2007, . 3006 [RFC5305] Li, T. and H. Smit, "IS-IS Extensions for Traffic 3007 Engineering", RFC 5305, DOI 10.17487/RFC5305, October 3008 2008, . 3010 [RFC5331] Aggarwal, R., Rekhter, Y., and E. Rosen, "MPLS Upstream 3011 Label Assignment and Context-Specific Label Space", 3012 RFC 5331, DOI 10.17487/RFC5331, August 2008, 3013 . 3015 [RFC5440] Vasseur, JP., Ed. and JL. Le Roux, Ed., "Path Computation 3016 Element (PCE) Communication Protocol (PCEP)", RFC 5440, 3017 DOI 10.17487/RFC5440, March 2009, 3018 . 3020 [RFC6241] Enns, R., Ed., Bjorklund, M., Ed., Schoenwaelder, J., Ed., 3021 and A. Bierman, Ed., "Network Configuration Protocol 3022 (NETCONF)", RFC 6241, DOI 10.17487/RFC6241, June 2011, 3023 . 3025 [RFC6805] King, D., Ed. and A. Farrel, Ed., "The Application of the 3026 Path Computation Element Architecture to the Determination 3027 of a Sequence of Domains in MPLS and GMPLS", RFC 6805, 3028 DOI 10.17487/RFC6805, November 2012, 3029 . 3031 [RFC7149] Boucadair, M. and C. Jacquenet, "Software-Defined 3032 Networking: A Perspective from within a Service Provider 3033 Environment", RFC 7149, DOI 10.17487/RFC7149, March 2014, 3034 . 3036 [RFC7390] Rahman, A., Ed. and E. Dijk, Ed., "Group Communication for 3037 the Constrained Application Protocol (CoAP)", RFC 7390, 3038 DOI 10.17487/RFC7390, October 2014, 3039 . 3041 [RFC7679] Almes, G., Kalidindi, S., Zekauskas, M., and A. Morton, 3042 Ed., "A One-Way Delay Metric for IP Performance Metrics 3043 (IPPM)", STD 81, RFC 7679, DOI 10.17487/RFC7679, January 3044 2016, . 3046 [RFC7680] Almes, G., Kalidindi, S., Zekauskas, M., and A. Morton, 3047 Ed., "A One-Way Loss Metric for IP Performance Metrics 3048 (IPPM)", STD 82, RFC 7680, DOI 10.17487/RFC7680, January 3049 2016, . 3051 [RFC7752] Gredler, H., Ed., Medved, J., Previdi, S., Farrel, A., and 3052 S. Ray, "North-Bound Distribution of Link-State and 3053 Traffic Engineering (TE) Information Using BGP", RFC 7752, 3054 DOI 10.17487/RFC7752, March 2016, 3055 . 3057 [RFC7950] Bjorklund, M., Ed., "The YANG 1.1 Data Modeling Language", 3058 RFC 7950, DOI 10.17487/RFC7950, August 2016, 3059 . 3061 [RFC8040] Bierman, A., Bjorklund, M., and K. Watsen, "RESTCONF 3062 Protocol", RFC 8040, DOI 10.17487/RFC8040, January 2017, 3063 . 3065 [RFC8051] Zhang, X., Ed. and I. Minei, Ed., "Applicability of a 3066 Stateful Path Computation Element (PCE)", RFC 8051, 3067 DOI 10.17487/RFC8051, January 2017, 3068 . 3070 [RFC8231] Crabbe, E., Minei, I., Medved, J., and R. Varga, "Path 3071 Computation Element Communication Protocol (PCEP) 3072 Extensions for Stateful PCE", RFC 8231, 3073 DOI 10.17487/RFC8231, September 2017, 3074 . 3076 [RFC8281] Crabbe, E., Minei, I., Sivabalan, S., and R. Varga, "Path 3077 Computation Element Communication Protocol (PCEP) 3078 Extensions for PCE-Initiated LSP Setup in a Stateful PCE 3079 Model", RFC 8281, DOI 10.17487/RFC8281, December 2017, 3080 . 3082 [RFC8283] Farrel, A., Ed., Zhao, Q., Ed., Li, Z., and C. Zhou, "An 3083 Architecture for Use of PCE and the PCE Communication 3084 Protocol (PCEP) in a Network with Central Control", 3085 RFC 8283, DOI 10.17487/RFC8283, December 2017, 3086 . 3088 [RFC8453] Ceccarelli, D., Ed. and Y. Lee, Ed., "Framework for 3089 Abstraction and Control of TE Networks (ACTN)", RFC 8453, 3090 DOI 10.17487/RFC8453, August 2018, 3091 . 3093 [RFC8661] Bashandy, A., Ed., Filsfils, C., Ed., Previdi, S., 3094 Decraene, B., and S. Litkowski, "Segment Routing MPLS 3095 Interworking with LDP", RFC 8661, DOI 10.17487/RFC8661, 3096 December 2019, . 3098 [RR94] Rodrigues, M. and K. Ramakrishnan, "Optimal Routing in 3099 Shortest Path Networks", Proceedings ITS'94, Rio de 3100 Janeiro, Brazil, 1994. 3102 [SLDC98] Suter, B., Lakshman, T., Stiliadis, D., and A. Choudhury, 3103 "Design Considerations for Supporting TCP with Per-flow 3104 Queueing", Proceedings INFOCOM'98, p. 299-306, 1998. 3106 [WANG] Wang, Y., Wang, Z., and L. Zhang, "Internet traffic 3107 engineering without full mesh overlaying", 3108 Proceedings INFOCOM'2001, April 2001. 3110 [XIAO] Xiao, X., Hannan, A., Bailey, B., and L. Ni, "Traffic 3111 Engineering with MPLS in the Internet", Article IEEE 3112 Network Magazine, March 2000. 3114 [YARE95] Yang, C. and A. Reddy, "A Taxonomy for Congestion Control 3115 Algorithms in Packet Switching Networks", Article IEEE 3116 Network Magazine, p. 34-45, 1995. 3118 Appendix A. Historic Overview 3120 A.1. Traffic Engineering in Classical Telephone Networks 3122 This subsection presents a brief overview of traffic engineering in 3123 telephone networks which often relates to the way user traffic is 3124 steered from an originating node to the terminating node. This 3125 subsection presents a brief overview of this topic. A detailed 3126 description of the various routing strategies applied in telephone 3127 networks is included in the book by G. Ash [ASH2]. 3129 The early telephone network relied on static hierarchical routing, 3130 whereby routing patterns remained fixed independent of the state of 3131 the network or time of day. The hierarchy was intended to 3132 accommodate overflow traffic, improve network reliability via 3133 alternate routes, and prevent call looping by employing strict 3134 hierarchical rules. The network was typically over-provisioned since 3135 a given fixed route had to be dimensioned so that it could carry user 3136 traffic during a busy hour of any busy day. Hierarchical routing in 3137 the telephony network was found to be too rigid upon the advent of 3138 digital switches and stored program control which were able to manage 3139 more complicated traffic engineering rules. 3141 Dynamic routing was introduced to alleviate the routing inflexibility 3142 in the static hierarchical routing so that the network would operate 3143 more efficiently. This resulted in significant economic gains 3144 [HUSS87]. Dynamic routing typically reduces the overall loss 3145 probability by 10 to 20 percent (compared to static hierarchical 3146 routing). Dynamic routing can also improve network resilience by 3147 recalculating routes on a per-call basis and periodically updating 3148 routes. 3150 There are three main types of dynamic routing in the telephone 3151 network. They are time-dependent routing, state-dependent routing 3152 (SDR), and event dependent routing (EDR). 3154 In time-dependent routing, regular variations in traffic loads (such 3155 as time of day or day of week) are exploited in pre-planned routing 3156 tables. In state-dependent routing, routing tables are updated 3157 online according to the current state of the network (e.g., traffic 3158 demand, utilization, etc.). In event dependent routing, routing 3159 changes are incepted by events (such as call setups encountering 3160 congested or blocked links) whereupon new paths are searched out 3161 using learning models. EDR methods are real-time adaptive, but they 3162 do not require global state information as does SDR. Examples of EDR 3163 schemes include the dynamic alternate routing (DAR) from BT, the 3164 state-and-time dependent routing (STR) from NTT, and the success-to- 3165 the-top (STT) routing from AT&T. 3167 Dynamic non-hierarchical routing (DNHR) is an example of dynamic 3168 routing that was introduced in the AT&T toll network in the 1980's to 3169 respond to time-dependent information such as regular load variations 3170 as a function of time. Time-dependent information in terms of load 3171 may be divided into three time scales: hourly, weekly, and yearly. 3172 Correspondingly, three algorithms are defined to pre-plan the routing 3173 tables. The network design algorithm operates over a year-long 3174 interval while the demand servicing algorithm operates on a weekly 3175 basis to fine tune link sizes and routing tables to correct forecast 3176 errors on the yearly basis. At the smallest time scale, the routing 3177 algorithm is used to make limited adjustments based on daily traffic 3178 variations. Network design and demand servicing are computed using 3179 offline calculations. Typically, the calculations require extensive 3180 searches on possible routes. On the other hand, routing may need 3181 online calculations to handle crankback. DNHR adopts a "two-link" 3182 approach whereby a path can consist of two links at most. The 3183 routing algorithm presents an ordered list of route choices between 3184 an originating switch and a terminating switch. If a call overflows, 3185 a via switch (a tandem exchange between the originating switch and 3186 the terminating switch) would send a crankback signal to the 3187 originating switch. This switch would then select the next route, 3188 and so on, until there are no alternative routes available in which 3189 the call is blocked. 3191 A.2. Evolution of Traffic Engineering in Packet Networks 3193 This subsection reviews related prior work that was intended to 3194 improve the performance of data networks. Indeed, optimization of 3195 the performance of data networks started in the early days of the 3196 ARPANET. Other early commercial networks such as SNA also recognized 3197 the importance of performance optimization and service 3198 differentiation. 3200 In terms of traffic management, the Internet has been a best effort 3201 service environment until recently. In particular, very limited 3202 traffic management capabilities existed in IP networks to provide 3203 differentiated queue management and scheduling services to packets 3204 belonging to different classes. 3206 In terms of routing control, the Internet has employed distributed 3207 protocols for intra-domain routing. These protocols are highly 3208 scalable and resilient. However, they are based on simple algorithms 3209 for path selection which have very limited functionality to allow 3210 flexible control of the path selection process. 3212 In the following subsections, the evolution of practical traffic 3213 engineering mechanisms in IP networks and its predecessors are 3214 reviewed. 3216 A.2.1. Adaptive Routing in the ARPANET 3218 The early ARPANET recognized the importance of adaptive routing where 3219 routing decisions were based on the current state of the network 3220 [MCQ80]. Early minimum delay routing approaches forwarded each 3221 packet to its destination along a path for which the total estimated 3222 transit time was the smallest. Each node maintained a table of 3223 network delays, representing the estimated delay that a packet would 3224 experience along a given path toward its destination. The minimum 3225 delay table was periodically transmitted by a node to its neighbors. 3226 The shortest path, in terms of hop count, was also propagated to give 3227 the connectivity information. 3229 One drawback to this approach is that dynamic link metrics tend to 3230 create "traffic magnets" causing congestion to be shifted from one 3231 location of a network to another location, resulting in oscillation 3232 and network instability. 3234 A.2.2. Dynamic Routing in the Internet 3236 The Internet evolved from the ARPANET and adopted dynamic routing 3237 algorithms with distributed control to determine the paths that 3238 packets should take en-route to their destinations. The routing 3239 algorithms are adaptations of shortest path algorithms where costs 3240 are based on link metrics. The link metric can be based on static or 3241 dynamic quantities. The link metric based on static quantities may 3242 be assigned administratively according to local criteria. The link 3243 metric based on dynamic quantities may be a function of a network 3244 congestion measure such as delay or packet loss. 3246 It was apparent early that static link metric assignment was 3247 inadequate because it can easily lead to unfavorable scenarios in 3248 which some links become congested while others remain lightly loaded. 3249 One of the many reasons for the inadequacy of static link metrics is 3250 that link metric assignment was often done without considering the 3251 traffic matrix in the network. Also, the routing protocols did not 3252 take traffic attributes and capacity constraints into account when 3253 making routing decisions. This results in traffic concentration 3254 being localized in subsets of the network infrastructure and 3255 potentially causing congestion. Even if link metrics are assigned in 3256 accordance with the traffic matrix, unbalanced loads in the network 3257 can still occur due to a number factors including: 3259 o Resources may not be deployed in the most optimal locations from a 3260 routing perspective. 3262 o Forecasting errors in traffic volume and/or traffic distribution. 3264 o Dynamics in traffic matrix due to the temporal nature of traffic 3265 patterns, BGP policy change from peers, etc. 3267 The inadequacy of the legacy Internet interior gateway routing system 3268 is one of the factors motivating the interest in path oriented 3269 technology with explicit routing and constraint-based routing 3270 capability such as MPLS. 3272 A.2.3. ToS Routing 3274 Type-of-Service (ToS) routing involves different routes going to the 3275 same destination with selection dependent upon the ToS field of an IP 3276 packet [RFC2474]. The ToS classes may be classified as low delay and 3277 high throughput. Each link is associated with multiple link costs 3278 and each link cost is used to compute routes for a particular ToS. A 3279 separate shortest path tree is computed for each ToS. The shortest 3280 path algorithm must be run for each ToS resulting in very expensive 3281 computation. Classical ToS-based routing is now outdated as the IP 3282 header field has been replaced by a Diffserv field. Effective 3283 traffic engineering is difficult to perform in classical ToS-based 3284 routing because each class still relies exclusively on shortest path 3285 routing which results in localization of traffic concentration within 3286 the network. 3288 A.2.4. Equal Cost Multi-Path 3290 Equal Cost Multi-Path (ECMP) is another technique that attempts to 3291 address the deficiency in the Shortest Path First (SPF) interior 3292 gateway routing systems [RFC2328]. In the classical SPF algorithm, 3293 if two or more shortest paths exist to a given destination, the 3294 algorithm will choose one of them. The algorithm is modified 3295 slightly in ECMP so that if two or more equal cost shortest paths 3296 exist between two nodes, the traffic between the nodes is distributed 3297 among the multiple equal-cost paths. Traffic distribution across the 3298 equal-cost paths is usually performed in one of two ways: (1) packet- 3299 based in a round-robin fashion, or (2) flow-based using hashing on 3300 source and destination IP addresses and possibly other fields of the 3301 IP header. The first approach can easily cause out- of-order packets 3302 while the second approach is dependent upon the number and 3303 distribution of flows. Flow-based load sharing may be unpredictable 3304 in an enterprise network where the number of flows is relatively 3305 small and less heterogeneous (for example, hashing may not be 3306 uniform), but it is generally effective in core public networks where 3307 the number of flows is large and heterogeneous. 3309 In ECMP, link costs are static and bandwidth constraints are not 3310 considered, so ECMP attempts to distribute the traffic as equally as 3311 possible among the equal-cost paths independent of the congestion 3312 status of each path. As a result, given two equal-cost paths, it is 3313 possible that one of the paths will be more congested than the other. 3314 Another drawback of ECMP is that load sharing cannot be achieved on 3315 multiple paths which have non-identical costs. 3317 A.2.5. Nimrod 3319 Nimrod was a routing system developed to provide heterogeneous 3320 service specific routing in the Internet, while taking multiple 3321 constraints into account [RFC1992]. Essentially, Nimrod was a link 3322 state routing protocol to support path oriented packet forwarding. 3323 It used the concept of maps to represent network connectivity and 3324 services at multiple levels of abstraction. Mechanisms allowed 3325 restriction of the distribution of routing information. 3327 Even though Nimrod did not enjoy deployment in the public Internet, a 3328 number of key concepts incorporated into the Nimrod architecture, 3329 such as explicit routing which allows selection of paths at 3330 originating nodes, are beginning to find applications in some recent 3331 constraint-based routing initiatives. 3333 A.3. Development of Internet Traffic Engineering 3335 A.3.1. Overlay Model 3337 In the overlay model, a virtual-circuit network, such as Sonet/SDH, 3338 OTN, or WDM, provides virtual-circuit connectivity between routers 3339 that are located at the edges of a virtual-circuit cloud. In this 3340 mode, two routers that are connected through a virtual circuit see a 3341 direct adjacency between themselves independent of the physical route 3342 taken by the virtual circuit through the ATM, frame relay, or WDM 3343 network. Thus, the overlay model essentially decouples the logical 3344 topology that routers see from the physical topology that the ATM, 3345 frame relay, or WDM network manages. The overlay model based on ATM 3346 or frame relay enables a network administrator or an automaton to 3347 employ traffic engineering concepts to perform path optimization by 3348 re-configuring or rearranging the virtual circuits so that a virtual 3349 circuit on a congested or sub-optimal physical link can be re-routed 3350 to a less congested or more optimal one. In the overlay model, 3351 traffic engineering is also employed to establish relationships 3352 between the traffic management parameters (e.g., PCR, SCR, and MBS 3353 for ATM) of the virtual-circuit technology and the actual traffic 3354 that traverses each circuit. These relationships can be established 3355 based upon known or projected traffic profiles, and some other 3356 factors. 3358 Appendix B. Overview of Traffic Engineering Related Work in Other SDOs 3360 B.1. Overview of ITU Activities Related to Traffic Engineering 3362 This section provides an overview of prior work within the ITU-T 3363 pertaining to traffic engineering in traditional telecommunications 3364 networks. 3366 ITU-T Recommendations E.600 [ITU-E600], E.701 [ITU-E701], and E.801 3367 [ITU-E801] address traffic engineering issues in traditional 3368 telecommunications networks. Recommendation E.600 provides a 3369 vocabulary for describing traffic engineering concepts, while E.701 3370 defines reference connections, Grade of Service (GOS), and traffic 3371 parameters for ISDN. Recommendation E.701 uses the concept of a 3372 reference connection to identify representative cases of different 3373 types of connections without describing the specifics of their actual 3374 realizations by different physical means. As defined in 3375 Recommendation E.600, "a connection is an association of resources 3376 providing means for communication between two or more devices in, or 3377 attached to, a telecommunication network." Also, E.600 defines "a 3378 resource as any set of physically or conceptually identifiable 3379 entities within a telecommunication network, the use of which can be 3380 unambiguously determined" [ITU-E600]. There can be different types 3381 of connections as the number and types of resources in a connection 3382 may vary. 3384 Typically, different network segments are involved in the path of a 3385 connection. For example, a connection may be local, national, or 3386 international. The purposes of reference connections are to clarify 3387 and specify traffic performance issues at various interfaces between 3388 different network domains. Each domain may consist of one or more 3389 service provider networks. 3391 Reference connections provide a basis to define grade of service 3392 (GoS) parameters related to traffic engineering within the ITU-T 3393 framework. As defined in E.600, "GoS refers to a number of traffic 3394 engineering variables which are used to provide a measure of the 3395 adequacy of a group of resources under specified conditions." These 3396 GoS variables may be probability of loss, dial tone, delay, etc. 3398 They are essential for network internal design and operation as well 3399 as for component performance specification. 3401 GoS is different from quality of service (QoS) in the ITU framework. 3402 QoS is the performance perceivable by a telecommunication service 3403 user and expresses the user's degree of satisfaction of the service. 3404 QoS parameters focus on performance aspects observable at the service 3405 access points and network interfaces, rather than their causes within 3406 the network. GoS, on the other hand, is a set of network oriented 3407 measures which characterize the adequacy of a group of resources 3408 under specified conditions. For a network to be effective in serving 3409 its users, the values of both GoS and QoS parameters must be related, 3410 with GoS parameters typically making a major contribution to the QoS. 3412 Recommendation E.600 stipulates that a set of GoS parameters must be 3413 selected and defined on an end-to-end basis for each major service 3414 category provided by a network to assist the network provider with 3415 improving efficiency and effectiveness of the network. Based on a 3416 selected set of reference connections, suitable target values are 3417 assigned to the selected GoS parameters under normal and high load 3418 conditions. These end-to-end GoS target values are then apportioned 3419 to individual resource components of the reference connections for 3420 dimensioning purposes. 3422 Author's Address 3424 Adrian Farrel (editor) 3425 Old Dog Consulting 3427 Email: adrian@olddog.co.uk