<?xml version="1.0" encoding="utf-8"?>
  <?xml-stylesheet type="text/xsl" href="rfc2629.xslt" ?>

<?rfc toc="yes"?>
<?rfc sortrefs="yes"?>
<?rfc symrefs="yes"?>
<?rfc comments="yes"?>

<!DOCTYPE rfc SYSTEM "rfc2629.dtd" [
<!ENTITY RFC0791 SYSTEM "http://xml.resource.org/public/rfc/bibxml/reference.RFC.0791.xml">
<!ENTITY RFC1102 SYSTEM "http://xml.resource.org/public/rfc/bibxml/reference.RFC.1102.xml">
<!ENTITY RFC1104 SYSTEM "http://xml.resource.org/public/rfc/bibxml/reference.RFC.1104.xml">
<!ENTITY RFC1992 SYSTEM "http://xml.resource.org/public/rfc/bibxml/reference.RFC.1992.xml">
<!ENTITY RFC2205 SYSTEM "http://xml.resource.org/public/rfc/bibxml/reference.RFC.2205.xml">
<!ENTITY RFC2328 SYSTEM "http://xml.resource.org/public/rfc/bibxml/reference.RFC.2328.xml">
<!ENTITY RFC2330 SYSTEM "http://xml.resource.org/public/rfc/bibxml/reference.RFC.2330.xml">
<!ENTITY RFC2386 SYSTEM "http://xml.resource.org/public/rfc/bibxml/reference.RFC.2386.xml">
<!ENTITY RFC2474 SYSTEM "http://xml.resource.org/public/rfc/bibxml/reference.RFC.2474.xml">
<!ENTITY RFC2475 SYSTEM "http://xml.resource.org/public/rfc/bibxml/reference.RFC.2475.xml">
<!ENTITY RFC2597 SYSTEM "http://xml.resource.org/public/rfc/bibxml/reference.RFC.2597.xml">
<!ENTITY RFC2678 SYSTEM "http://xml.resource.org/public/rfc/bibxml/reference.RFC.2678.xml">
<!ENTITY RFC2702 SYSTEM "http://xml.resource.org/public/rfc/bibxml/reference.RFC.2702.xml">
<!ENTITY RFC2722 SYSTEM "http://xml.resource.org/public/rfc/bibxml/reference.RFC.2722.xml">
<!ENTITY RFC2753 SYSTEM "http://xml.resource.org/public/rfc/bibxml/reference.RFC.2753.xml">
<!ENTITY RFC2961 SYSTEM "http://xml.resource.org/public/rfc/bibxml/reference.RFC.2961.xml">
<!ENTITY RFC2998 SYSTEM "http://xml.resource.org/public/rfc/bibxml/reference.RFC.2998.xml">
<!ENTITY RFC3031 SYSTEM "http://xml.resource.org/public/rfc/bibxml/reference.RFC.3031.xml">
<!ENTITY RFC3086 SYSTEM "http://xml.resource.org/public/rfc/bibxml/reference.RFC.3086.xml">
<!ENTITY RFC3124 SYSTEM "http://xml.resource.org/public/rfc/bibxml/reference.RFC.3124.xml">
<!ENTITY RFC3209 SYSTEM "http://xml.resource.org/public/rfc/bibxml/reference.RFC.3209.xml">
<!ENTITY RFC3270 SYSTEM "http://xml.resource.org/public/rfc/bibxml/reference.RFC.3270.xml">
<!ENTITY RFC3272 SYSTEM "http://xml.resource.org/public/rfc/bibxml/reference.RFC.3272.xml">
<!ENTITY RFC3469 SYSTEM "http://xml.resource.org/public/rfc/bibxml/reference.RFC.3469.xml">
<!ENTITY RFC3630 SYSTEM "http://xml.resource.org/public/rfc/bibxml/reference.RFC.3630.xml">
<!ENTITY RFC3945 SYSTEM "http://xml.resource.org/public/rfc/bibxml/reference.RFC.3945.xml">
<!ENTITY RFC4090 SYSTEM "http://xml.resource.org/public/rfc/bibxml/reference.RFC.4090.xml">
<!ENTITY RFC4124 SYSTEM "http://xml.resource.org/public/rfc/bibxml/reference.RFC.4124.xml">
<!ENTITY RFC4203 SYSTEM "http://xml.resource.org/public/rfc/bibxml/reference.RFC.4203.xml">
<!ENTITY RFC4271 SYSTEM "http://xml.resource.org/public/rfc/bibxml/reference.RFC.4271.xml">
<!ENTITY RFC4594 SYSTEM "http://xml.resource.org/public/rfc/bibxml/reference.RFC.4594.xml">
<!ENTITY RFC4655 SYSTEM "http://xml.resource.org/public/rfc/bibxml/reference.RFC.4655.xml">
<!ENTITY RFC4872 SYSTEM "http://xml.resource.org/public/rfc/bibxml/reference.RFC.4872.xml">
<!ENTITY RFC4873 SYSTEM "http://xml.resource.org/public/rfc/bibxml/reference.RFC.4873.xml">
<!ENTITY RFC5305 SYSTEM "http://xml.resource.org/public/rfc/bibxml/reference.RFC.5305.xml">
<!ENTITY RFC5331 SYSTEM "http://xml.resource.org/public/rfc/bibxml/reference.RFC.5331.xml">
<!ENTITY RFC5394 SYSTEM "http://xml.resource.org/public/rfc/bibxml/reference.RFC.5394.xml">
<!ENTITY RFC5440 SYSTEM "http://xml.resource.org/public/rfc/bibxml/reference.RFC.5440.xml">
<!ENTITY RFC6119 SYSTEM "http://xml.resource.org/public/rfc/bibxml/reference.RFC.6119.xml">
<!ENTITY RFC6241 SYSTEM "http://xml.resource.org/public/rfc/bibxml/reference.RFC.6241.xml">
<!ENTITY RFC6374 SYSTEM "http://xml.resource.org/public/rfc/bibxml/reference.RFC.6374.xml">
<!ENTITY RFC6805 SYSTEM "http://xml.resource.org/public/rfc/bibxml/reference.RFC.6805.xml">
<!ENTITY RFC7149 SYSTEM "http://xml.resource.org/public/rfc/bibxml/reference.RFC.7149.xml">
<!ENTITY RFC7390 SYSTEM "http://xml.resource.org/public/rfc/bibxml/reference.RFC.7390.xml">
<!ENTITY RFC7471 SYSTEM "http://xml.resource.org/public/rfc/bibxml/reference.RFC.7471.xml">
<!ENTITY RFC7679 SYSTEM "http://xml.resource.org/public/rfc/bibxml/reference.RFC.7679.xml">
<!ENTITY RFC7680 SYSTEM "http://xml.resource.org/public/rfc/bibxml/reference.RFC.7680.xml">
<!ENTITY RFC7752 SYSTEM "http://xml.resource.org/public/rfc/bibxml/reference.RFC.7752.xml">
<!ENTITY RFC7923 SYSTEM "http://xml.resource.org/public/rfc/bibxml/reference.RFC.7923.xml">
<!ENTITY RFC7950 SYSTEM "http://xml.resource.org/public/rfc/bibxml/reference.RFC.7950.xml">
<!ENTITY RFC8040 SYSTEM "http://xml.resource.org/public/rfc/bibxml/reference.RFC.8040.xml">
<!ENTITY RFC8051 SYSTEM "http://xml.resource.org/public/rfc/bibxml/reference.RFC.8051.xml">
<!ENTITY RFC8231 SYSTEM "http://xml.resource.org/public/rfc/bibxml/reference.RFC.8231.xml">
<!ENTITY RFC8281 SYSTEM "http://xml.resource.org/public/rfc/bibxml/reference.RFC.8281.xml">
<!ENTITY RFC8283 SYSTEM "http://xml.resource.org/public/rfc/bibxml/reference.RFC.8283.xml">
<!ENTITY RFC8402 SYSTEM "http://xml.resource.org/public/rfc/bibxml/reference.RFC.8402.xml">
<!ENTITY RFC8453 SYSTEM "http://xml.resource.org/public/rfc/bibxml/reference.RFC.8453.xml">
<!ENTITY RFC8570 SYSTEM "http://xml.resource.org/public/rfc/bibxml/reference.RFC.8570.xml">
<!ENTITY RFC8571 SYSTEM "http://xml.resource.org/public/rfc/bibxml/reference.RFC.8571.xml">
<!ENTITY RFC8661 SYSTEM "http://xml.resource.org/public/rfc/bibxml/reference.RFC.8661.xml">
<!ENTITY RFC8795 SYSTEM "http://xml.resource.org/public/rfc/bibxml/reference.RFC.8795.xml">
]>

<rfc docName="draft-ietf-teas-rfc3272bis-03" category="info" obsoletes="3272">

<front>

<title abbrev="Overview and Principles of Internet TE">Overview and Principles of Internet Traffic Engineering</title>

<author initials="A." surname="Farrel" fullname="Adrian Farrel" role="editor">
  <organization>Old Dog Consulting</organization>
  <address>
    <email>adrian@olddog.co.uk</email>
  </address>
</author>

<date year="2020" />

<workgroup>TEAS Working Group</workgroup>

<abstract>

  <t>This document describes the principles of traffic engineering (TE) in the
     Internet.  The document is intended to promote better understanding
     of the issues surrounding traffic engineering in IP networks and the networks
     that support IP networking, and to provide a common basis for the development
     of traffic engineering capabilities for the Internet.  The principles,
     architectures, and methodologies for performance evaluation and performance
     optimization of operational networks are also discussed.</t>

  <t>This work was first published as RFC 3272 in May 2002.  This document
     obsoletes RFC 3272 by making a complete update to bring the text in line
     with best current practices for Internet traffic engineering and to
     include references to the latest relevant work in the IETF.</t>

</abstract>

</front>

<middle>

<section anchor="INTRO" title="Introduction">

  <t>This document describes the principles of Internet traffic engineering (TE).
     The objective of the document is to articulate the general issues and
     principles for Internet traffic engineering, and where appropriate to
     provide recommendations, guidelines, and options for the development
     of online and offline Internet traffic engineering capabilities and
     support systems.</t>

  <t>This document provides a terminology and taxonomy for describing and
     understanding common Internet traffic engineering concepts.</t>

  <t>Even though Internet traffic engineering is most effective when
     applied end-to-end, the focus of this document is traffic engineering
     within a given domain (such as an autonomous system).  However, because
     a preponderance of Internet traffic tends to originate in one autonomous
     system and terminate in another, this document also provides an overview of
     aspects pertaining to inter-domain traffic engineering.</t>

  <t>This work was first published as <xref target="RFC3272"/> in May 2002.
     This document obsoletes <xref target="RFC3272"/> by making a complete
     update to bring the text in line with best current practices for Internet
     traffic engineering and to include references to the latest relevant work
     in the IETF.  It is worth noting around three fifths of the RFCs referenced
     in this document post-date the publication of RFC 3272.  <xref target="CHANGES" />
     provides a summary of changes between RFC 3272 and this document.</t>

  <section anchor="WHATTE" title="What is Internet Traffic Engineering?">

    <t>One of the most significant functions performed by the Internet is the
       routing of traffic from ingress nodes to egress nodes.  Therefore, one
       of the most distinctive functions performed by Internet traffic
       engineering is the control and optimization of the routing function, to
       steer traffic through the network.</t>

    <t>Internet traffic engineering is defined as that aspect of Internet
       network engineering dealing with the issues of performance evaluation
       and performance optimization of operational IP networks.  Traffic
       engineering encompasses the application of technology and scientific
       principles to the measurement, characterization, modeling, and
       control of Internet traffic <xref target="RFC2702"/>, <xref target="AWD2"/>.</t>

    <t>It is the performance of the network as seen by end users of network
       services that is paramount.  The characteristics visible to end users
       are the emergent properties of the network, which are the characteristics
       of the network when viewed as a whole.  A central goal of the service
       provider, therefore, is to enhance the emergent properties of the network
       while taking economic considerations into account.  This is accomplished
       by addressing traffic oriented performance requirements while utilizing
       network resources economically and reliably.  Traffic oriented performance
       measures include delay, delay variation, packet loss, and throughput.</t>

    <t>Internet traffic engineering responds to network events.  Aspects of
       capacity management respond at intervals ranging from days to years.
       Routing control functions operate at intervals ranging from milliseconds
       to days.  Packet level processing functions operate at very fine levels
       of temporal resolution, ranging from picoseconds to milliseconds while
       reacting to the real-time statistical behavior of traffic.</t>

    <t>Thus, the optimization aspects of traffic engineering can be viewed
       from a control perspective, and can be both pro-active and reactive.
       In the pro-active case, the traffic engineering control system takes
       preventive action to protect against predicted unfavorable future
       network states, for example, by engineering backup paths.  It may
       also take action that will lead to a more desirable future network
       state.  In the reactive case, the control system responds to correct
       issues and adapt to network events, such as routing after failure.</t>

    <t>Another important objective of Internet traffic engineering is to
       facilitate reliable network operations <xref target="RFC2702"/>.
       Reliable network operations can be facilitated by providing mechanisms
       that enhance network integrity and by embracing policies emphasizing
       network survivability.  This reduces the vulnerability of services
       to outages arising from errors, faults, and failures occurring within
       the network infrastructure.</t>

    <t>The optimization aspects of traffic engineering can be achieved
       through capacity management and traffic management.  In this
       document, capacity management includes capacity planning, routing
       control, and resource management.  Network resources of particular
       interest include link bandwidth, buffer space, and computational
       resources.  In this document, traffic management includes:
       <list style="numbers">
         <t>nodal traffic control functions such as traffic conditioning,
            queue management, scheduling</t>
         <t>other functions that regulate traffic flow through the network
            or that arbitrate access to network resources between different
            packets or between different traffic streams.</t>
       </list></t>

    <t>One major challenge of Internet traffic engineering is the
       realization of automated control capabilities that adapt quickly and
       cost effectively to significant changes in network state, while
       still maintaining stability of the network.  Performance evaluation
       can assess the effectiveness of traffic engineering methods, and the
       results of this evaluation can be used to identify existing problems,
       guide network re-optimization, and aid in the prediction of potential
       future problems.  However, this process can also be time consuming and may
       not be suitable to act on short-lived changes in the network.</t>

    <t>Performance evaluation can be achieved in many different ways.  The
       most notable techniques include analytical methods, simulation, and
       empirical methods based on measurements.</t>

    <t>Traffic engineering comes in two flavors: either a background process that
       constantly monitors traffic and optimizes the use of resources to improve
       performance; or a form of a pre-planned optimized traffic distribution that
       is considered optimal.  In the later case, any deviation from the optimum
       distribution (e.g., caused by a fiber cut) is reverted upon repair without
       further optimization.  However, this form of traffic engineering relies
       upon the notion that the planned state of the network is optimal.  Hence,
       in such a mode there are two levels of traffic engineering: the TE-planning
       task to enable optimum traffic distribution, and the routing task keeping
       traffic flows attached to the pre-planned distribution.</t>

    <t>As a general rule, traffic engineering concepts and mechanisms must be
       sufficiently specific and well-defined to address known requirements, but
       simultaneously flexible and extensible to accommodate unforeseen future
       demands.</t>

  </section>

  <section anchor="COMPONENTS" title="Components of Traffic Engineering">

    <t>As mentioned in <xref target="WHATTE" />, Internet traffic engineering provides
       performance optimization of operational IP networks while utilizing network
       resources economically and reliably.  Such optimization is supported at
       the control/controller level and within the data/forwarding plane.</t>

    <t>The key elements required in any TE solution are as follows:
       <list style="numbers">
          <t>Policy</t>
          <t>Path steering</t>
          <t>Resource management</t>
       </list></t>

    <t>Some TE solutions rely on these elements to a lesser or greater extent.
       Debate remains about whether a solution can truly be called traffic engineering
       if it does not include all of these elements.  For the sake of this document,
       we assert that all TE solutions must include some aspects of all of these
       elements.  Other solutions can be classed as "partial TE" and also fall in
       scope of this document.</t>

    <t>Policy allows for the selection of next hops and paths based on
       information beyond basic reachability.  Early definitions of routing
       policy, e.g., <xref target="RFC1102" /> and <xref target="RFC1104" />,
       discuss routing policy being applied to restrict access to network
       resources at an aggregate level.  BGP is an example of a commonly used
       mechanism for applying such policies, see <xref target="RFC4271" /> and
       <xref target="I-D.ietf-idr-rfc5575bis" />.  In the traffic engineering
       context, policy decisions are made within the control plane or by
       controllers, and govern the selection of paths.  Examples can be found in
       <xref target="RFC4655" /> and <xref target="RFC5394" />.  Standard TE
       solutions may cover the mechanisms to distribute and/or enforce polices,
       but specific policy definition is generally unspecified.</t>

    <t>Path steering is the ability to forward packets using more information
       than just knowledge of the next hop.  Examples of path steering include
       IPv4 source routes <xref target="RFC0791" />, RSVP-TE explicit routes
       <xref target="RFC3209" />, and Segment Routing <xref target="RFC8402" />.
       Path steering for TE can be supported via control plane protocols, by
       encoding in the data plane headers, or by a combination of the two.  This
       includes when control is provided by a controller using a southbound (i.e.,
       controller to router) control protocol.</t>

    <t>Resource management provides resource aware control and forwarding.
       Examples of resources are bandwidth, buffers, and queues, all of which can
       be managed to control loss and latency.
       <list style="none">
         <t>Resource reservation is the control aspect of resource management.
            It provides for domain-wide consensus about which network resources
            are used by a particular flow.  This determination may be made at a
            very course or very fine level.  Note that this consensus exists
            at the network control or controller level, not within the data plane.
            It may be composed purely of accounting/bookkeeping, but it typically
            includes an ability to admit, reject, or reclassify a flow based on
            policy.  Such accounting can be done based on any combination of a
            static understanding of resource requirements, and the use of dynamic
            mechanisms to collect requirements (e.g., via <xref target="RFC3209" />)
            and resource availability (e.g., via <xref target="RFC4203" />).</t>

        <t>Resource allocation is the data plane aspect of resource management.  It
           provides for the allocation of specific node and link resources to
           specific flows.  Example resources include buffers, policing, and
           rate-shaping mechanisms that are typically supported via queuing.  It
           also includes the matching of a flow (i.e., flow classification) to a
           particular set of allocated resources.  The method of flow classification
           and granularity of resource management is technology specific.  Examples
           include DiffServ with dropping and remarking <xref target="RFC4594" />,
           MPLS-TE <xref target="RFC3209" />, and GMPLS based label switched paths
           <xref target="RFC3945" />, as well as controller-based solutions
           <xref target="RFC8453" />.  This level of resource control, while optional,
           is important in networks that wish to support congestion management policies
           to control or regulate the offered traffic to deliver different levels of
           service and alleviate congestion problems, or those networks that wish to
           control latencies experienced by specific traffic flows.</t>
       </list></t>

  </section>

  <section anchor="SCOPE" title="Scope">

    <t>The scope of this document is intra-domain traffic engineering.  That
       is, traffic engineering within a given autonomous system in the
       Internet.  This document discusses concepts pertaining to intra-
       domain traffic control, including such issues as routing control,
       micro and macro resource allocation, and the control coordination
       problems that arise consequently.</t>

    <t>This document describes and characterizes techniques already in
       use or in advanced development for Internet traffic engineering.  The
       way these techniques fit together is discussed and scenarios in which
       they are useful will be identified.</t>

    <t>Although the emphasis in this document is on intra-domain traffic
       engineering, in <xref target="INTER"/>, an overview of the high level
       considerations pertaining to inter-domain traffic engineering will be
       provided.  Inter-domain Internet traffic engineering is crucial to the
       performance enhancement of the global Internet infrastructure.</t>

    <t>Whenever possible, relevant requirements from existing IETF documents
       and other sources are incorporated by reference.</t>

  </section>

  <section anchor="TERMS" title="Terminology">

    <t>This section provides terminology which is useful for Internet
       traffic engineering.  The definitions presented apply to this
       document.  These terms may have other meanings elsewhere.</t>

    <t><list style="hanging">
         <t hangText='Busy hour:'>
           A one hour period within a specified interval of time
           (typically 24 hours) in which the traffic load in a network
           or sub-network is greatest.</t>
         <t hangText='Congestion:'>
           A state of a network resource in which the traffic incident
           on the resource exceeds its output capacity over an interval
           of time.</t>
         <t hangText='Congestion avoidance:'>
           An approach to congestion management that attempts to
           obviate the occurrence of congestion.</t>
         <t hangText='Congestion control:'>
           An approach to congestion management that attempts to remedy
           congestion problems that have already occurred.</t>
         <t hangText='Constraint-based routing:'>
           A class of routing protocols that take specified traffic
           attributes, network constraints, and policy constraints into
           account when making routing decisions.  Constraint-based
           routing is applicable to traffic aggregates as well as
           flows.  It is a generalization of QoS routing.</t>
         <t hangText='Demand side congestion management:'>
           A congestion management scheme that addresses congestion
           problems by regulating or conditioning offered load.</t>
         <t hangText='Effective bandwidth:'>
           The minimum amount of bandwidth that can be assigned to a
           flow or traffic aggregate in order to deliver &apos;acceptable
           service quality&apos; to the flow or traffic aggregate.</t>
         <t hangText='Hot-spot:'>
           A network element or subsystem which is in a state of
           congestion.</t>
         <t hangText='Inter-domain traffic:'>
           Traffic that originates in one Autonomous system and
           terminates in another.</t>
         <t hangText='Metric:'>
           A parameter defined in terms of standard units of
           measurement.</t>
         <t hangText='Measurement methodology:'>
           A repeatable measurement technique used to derive one or
           more metrics of interest.</t>
         <t hangText='Network survivability:'>
           The capability to provide a prescribed level of QoS for
           existing services after a given number of failures occur
           within the network.</t>
         <t hangText='Offline traffic engineering:'>
           A traffic engineering system that exists outside of the
           network.</t>
         <t hangText='Online traffic engineering:'>
           A traffic engineering system that exists within the network,
           typically implemented on or as adjuncts to operational
           network elements.</t>
         <t hangText='Performance measures:'>
           Metrics that provide quantitative or qualitative measures of
           the performance of systems or subsystems of interest.</t>
         <t hangText='Performance metric:'>
           A performance parameter defined in terms of standard units
           of measurement.</t>
         <t hangText='Provisioning:'>
           The process of assigning or configuring network resources to
           meet certain requests.</t>
         <t hangText='QoS routing:'>
           Class of routing systems that selects paths to be used by a
           flow based on the QoS requirements of the flow.</t>
         <t hangText='Service Level Agreement (SLA):'>
           A contract between a provider and a customer that guarantees
           specific levels of performance and reliability at a certain
           cost.</t>
         <t hangText='Service Level Objective (SLO):'>
           A key element of an SLA between a provider and a customer.  SLOs
           are agreed upon as a means of measuring the performance of the
           Service Provider and are outlined as a way of avoiding disputes
           between the two parties based on misunderstanding.</t>
         <t hangText='Stability:'>
           An operational state in which a network does not oscillate
           in a disruptive manner from one mode to another mode.</t>
         <t hangText='Supply-side congestion management:'>
           A congestion management scheme that provisions additional
           network resources to address existing and/or anticipated
           congestion problems.</t>
         <t hangText='Traffic characteristic:'>
           A description of the temporal behavior or a description of
           the attributes of a given traffic flow or traffic aggregate.</t>
         <t hangText='Traffic engineering system:'>
           A collection of objects, mechanisms, and protocols that are
           used conjunctively to accomplish traffic engineering
           objectives.</t>
         <t hangText='Traffic flow:'>
           A stream of packets between two end-points that can be
           characterized in a certain way.  A micro-flow has a more
           specific definition A micro-flow is a stream of packets
           with the same source and destination addresses, source and
           destination ports, and protocol ID.</t>
         <t hangText='Traffic matrix:'>
           A representation of the traffic demand between a set of
           origin and destination abstract nodes.  An abstract node can
           consist of one or more network elements.</t>
         <t hangText='Traffic monitoring:'>
           The process of observing traffic characteristics at a given
           point in a network and collecting the traffic information
           for analysis and further action.</t>
         <t hangText='Traffic trunk:'>
           An aggregation of traffic flows belonging to the same class
           which are forwarded through a common path.  A traffic trunk
           may be characterized by an ingress and egress node, and a
           set of attributes which determine its behavioral
           characteristics and requirements from the network.</t>
       </list></t>

  </section>

</section>

<section anchor="BG" title="Background">

  <t>The Internet must convey IP packets from ingress nodes to egress nodes
     efficiently, expeditiously, and economically.  Furthermore, in a
     multiclass service environment (e.g., Diffserv capable networks - see
     <xref target="DIFFSERV" />), the resource sharing parameters of the
     network must be appropriately determined and configured according to
     prevailing policies and service models to resolve resource contention
     issues arising from mutual interference between packets traversing
     through the network.  Thus, consideration must be given to resolving
     competition for network resources between traffic streams belonging to
     the same service class (intra-class contention resolution) and traffic
     streams belonging to different classes (inter-class contention
     resolution).</t>

  <section anchor="CONTEXT" title="Context of Internet Traffic Engineering">

    <t>The context of Internet traffic engineering includes:</t>

     <t><list style="numbers">
         <t>A network domain context that defines the scope under consideration,
            and in particular the situations in which the traffic engineering
            problems occur.  The network domain context includes network
            structure, network policies, network characteristics,
            network constraints, network quality attributes, and network
            optimization criteria.</t>
         <t>A problem context defining the general and concrete issues
            that traffic engineering addresses.  The problem context
            includes identification, abstraction of relevant features,
            representation, formulation, specification of the
            requirements on the solution space, and specification of the
            desirable features of acceptable solutions.</t>
         <t>A solution context suggesting how to address the issues
            identified by the problem context.  The solution context
            includes analysis, evaluation of alternatives, prescription,
            and resolution.</t>
         <t>An implementation and operational context in which the
            solutions are instantiated.  The implementation and operational
            context includes planning, organization, and execution.</t>
     </list></t>

    <t>The context of Internet traffic engineering and the different problem
       scenarios are discussed in the following subsections.</t>

  </section>

  <section anchor="NWCTXT" title="Network Domain Context">

    <t>IP networks range in size from small clusters of routers situated
       within a given location, to thousands of interconnected routers,
       switches, and other components distributed all over the world.</t>

    <t>At the most basic level of abstraction, an IP network can be represented
       as a distributed dynamic system consisting of:
       <list style="symbols">
         <t>a set of interconnected resources which provide transport
            services for IP traffic subject to certain constraints</t>
         <t>a demand system representing the offered load to be transported
            through the network</t>
         <t>a response system consisting of network processes, protocols,
            and related mechanisms which facilitate the movement of
            traffic through the network (see also <xref target="AWD2"/>).</t>
       </list></t>

    <t>The network elements and resources may have specific characteristics
       restricting the manner in which the traffic demand is handled.  Additionally,
       network resources may be equipped with traffic control mechanisms managing
       the way in which the demand is serviced.  Traffic control mechanisms may be
       used to:
       <list style="symbols">
         <t>control packet processing activities within a given resource</t>
         <t>arbitrate contention for access to the resource by different
            packets</t>
         <t>regulate traffic behavior through the resource.</t>
       </list></t>

    <t>A configuration management and provisioning system may allow the
       settings of the traffic control mechanisms to be manipulated by
       external or internal entities in order to exercise control over the
       way in which the network elements respond to internal and external
       stimuli.</t>

    <t>The details of how the network carries packets are specified in the
       policies of the network administrators and are installed through
       network configuration management and policy based provisioning systems.
       Generally, the types of service provided by the network also depend
       upon the technology and characteristics of the network elements and
       protocols, the prevailing service and utility models, and the ability
       of the network administrators to translate policies into network
       configurations.</t>

    <t>Internet networks have three significant characteristics:
       <list style="symbols">
         <t>they provide real-time services</t>
         <t>they are mission critical</t>
         <t>their operating environments are very dynamic.</t>
       </list></t>

    <t>The dynamic characteristics of IP and IP/MPLS networks can be attributed in part
       to fluctuations in demand, to the interaction between various network
       protocols and processes, to the rapid evolution of the infrastructure
       which demands the constant inclusion of new technologies and new network
       elements, and to transient and persistent faults which occur within
       the system.</t>

    <t>Packets contend for the use of network resources as they are conveyed
       through the network.  A network resource is considered to be
       congested if, for an interval of time, the arrival rate of packets
       exceed the output capacity of the resource.  Congestion may result in
       some of the arriving packets being delayed or even dropped.</t>

    <t>Congestion increases transit delay, delay variation, may lead to packet loss,
       and reduces the predictability of network services.  Clearly, congestion is
       highly undesirable.  Combating congestion at a reasonable cost is a major
       objective of Internet traffic engineering.</t>

    <t>Efficient sharing of network resources by multiple traffic streams is
       a basic operational premise for the Internet.  A fundamental challenge
       in network operation is to increase resource utilization while minimizing
       the possibility of congestion.</t>

    <t>The Internet has to function in the presence of different classes of
       traffic with different service requirements.  RFC 2475 provides an
       architecture for Differentiated Services (DiffServ) and makes this
       requirement clear <xref target="RFC2475"/>.  The RFC allows packets to
       be grouped into behavior aggregates such that each aggregate has a
       common set of behavioral characteristics or a common set of delivery
       requirements.  Delivery requirements of a specific set of packets may
       be specified explicitly or implicitly.  Two of the most important
       traffic delivery requirements are capacity constraints and QoS
       constraints.</t>

    <t>Capacity constraints can be expressed statistically as peak rates,
       mean rates, burst sizes, or as some deterministic notion of effective
       bandwidth.  QoS requirements can be expressed in terms of:
       <list style="symbols">
         <t>integrity constraints such as packet loss</t>
         <t>temporal constraints such as timing restrictions for the delivery
            of each packet (delay) and timing restrictions for the delivery of
            consecutive packets belonging to the same traffic stream (delay
            variation).</t>
       </list></t>

  </section>

  <section anchor="PRBCTXT" title="Problem Context">

    <t>There are several large problems associated with operating a
       network described in the previous section.  This section analyzes
       the problem context in relation to traffic engineering.  The
       identification, abstraction, representation, and measurement of
       network features relevant to traffic engineering are significant
       issues.</t>

    <t>A particular challenge is to formulate the problems that traffic
       engineering attempts to solve.  For example:
       <list style="symbols">
         <t>how to identify the requirements on the solution space</t>
         <t>how to specify the desirable features of solutions</t>
         <t>how to actually solve the problems</t>
         <t>how to measure and characterize the effectiveness of
            solutions.</t>
       </list></t>

    <t>Another class of problems is how to measure and estimate
       relevant network state parameters.  Effective traffic engineering
       relies on a good estimate of the offered traffic load as well as a
       view of the underlying topology and associated resource constraints.
       A network-wide view of the topology is also a must for offline
       planning.</t>

    <t>Still another class of problem is how to characterize the
       state of the network and how to evaluate its performance.  The
       performance evaluation problem is two-fold: one aspect relates to
       the evaluation of the system-level performance of the network; the
       other aspect relates to the evaluation of resource-level performance,
       which restricts attention to the performance analysis of individual
       network resources.</t>

    <t>In this document, we refer to the system-level characteristics of the
       network as the "macro-states" and the resource-level characteristics
       as the "micro-states."  The system-level characteristics are also known
       as the emergent properties of the network.  Correspondingly, we refer
       to the traffic engineering schemes dealing with network performance
       optimization at the systems level as "macro-TE" and the schemes that
       optimize at the individual resource level as "micro-TE."  Under
       certain circumstances, the system-level performance can be derived
       from the resource-level performance using appropriate rules of
       composition, depending upon the particular performance measures of
       interest.</t>

    <t>Another fundamental class of problem concerns how to effectively
       optimize network performance.  Performance optimization may entail
       translating solutions for specific traffic engineering problems into
       network configurations.  Optimization may also entail some degree of
       resource management control, routing control, and capacity
       augmentation.</t>

    <section anchor="CONGEST" title="Congestion and its Ramifications">

      <t>Congestion is one of the most significant problems in an operational
         IP context.  A network element is said to be congested if it
         experiences sustained overload over an interval of time.  Congestion
         almost always results in degradation of service quality to end users.
         Congestion control schemes can include demand-side policies and
         supply-side policies.  Demand-side policies may restrict access to
         congested resources or dynamically regulate the demand to alleviate
         the overload situation.  Supply-side policies may expand or augment
         network capacity to better accommodate offered traffic.  Supply-side
         policies may also re-allocate network resources by redistributing
         traffic over the infrastructure.  Traffic redistribution and resource
         re-allocation serve to increase the 'effective capacity' of the network.</t>

      <t>The emphasis of this document is primarily on congestion management
         schemes falling within the scope of the network, rather than on
         congestion management systems dependent upon sensitivity and
         adaptivity from end-systems.  That is, the aspects that are
         considered in this document with respect to congestion management are
         those solutions that can be provided by control entities operating on
         the network and by the actions of network administrators and network
         operations systems.</t>

    </section>

  </section>

  <section anchor="SLNCTXT" title="Solution Context">

    <t>The solution context for Internet traffic engineering involves
       analysis, evaluation of alternatives, and choice between alternative
       courses of action.  Generally the solution context is based on
       making reasonable inferences about the current or future state of the
       network, and making decisions that may involve a preference between
       alternative sets of action.  More specifically, the solution context
       demands reasonable estimates of traffic workload, characterization of
       network state, derivation of solutions which may be implicitly or
       explicitly formulated, and possibly instantiating a set of control
       actions.  Control actions may involve the manipulation of parameters
       associated with routing, control over tactical capacity acquisition,
       and control over the traffic management functions.</t>

    <t>The following list of instruments may be applicable to the solution
       context of Internet traffic engineering.</t>

    <t><list style="symbols">
        <t>A set of policies, objectives, and requirements (which may
           be context dependent) for network performance evaluation and
           performance optimization.</t>
        <t>A collection of online and possibly offline tools and mechanisms
           for measurement, characterization, modeling, and control traffic,
           and control over the placement and allocation of network resources,
           as well as control over the mapping or distribution of traffic onto
           the infrastructure.</t>
        <t>A set of constraints on the operating environment, the network
           protocols, and the traffic engineering system itself.</t>
        <t>A set of quantitative and qualitative techniques and methodologies
           for abstracting, formulating, and solving traffic engineering
           problems.</t>
        <t>A set of administrative control parameters which may be
           manipulated through a Configuration Management (CM) system.  The
           CM system itself may include a configuration control subsystem,
           a configuration repository, a configuration accounting subsystem,
           and a configuration auditing subsystem.</t>
        <t>A set of guidelines for network performance evaluation,
           performance optimization, and performance improvement.</t>
    </list></t>

    <t>Determining traffic characteristics through measurement or
       estimation is very useful within the realm the traffic engineering
       solution space.  Traffic estimates can be derived from customer
       subscription information, traffic projections, traffic models, and
       from actual measurements.  The measurements may be performed at
       different levels, e.g., at the traffic-aggregate level or at the flow
       level.  Measurements at the flow level or on small traffic aggregates
       may be performed at edge nodes, when traffic enters and leaves the
       network.  Measurements for large traffic-aggregates may be performed
       within the core of the network.</t>

    <t>To conduct performance studies and to support planning of existing
       and future networks, a routing analysis may be performed to determine
       the paths the routing protocols will choose for various traffic
       demands, and to ascertain the utilization of network resources as
       traffic is routed through the network.  Routing analysis captures the
       selection of paths through the network, the assignment of traffic across
       multiple feasible routes, and the multiplexing of IP traffic over traffic
       trunks (if such constructs exist) and over the underlying network
       infrastructure.  A model of network topology is necessary to perform
       routing analysis.  A network topology model may be extracted from:
       <list style="symbols">
         <t>network architecture documents</t>
         <t>network designs</t>
         <t>information contained in router configuration files</t>
         <t>routing databases</t>
         <t>routing tables</t>
         <t>automated tools that discover and collate network topology
            information.</t>
       </list></t>

    <t>Topology information may also be derived from servers that monitor
       network state, and from servers that perform provisioning functions.</t>

    <t>Routing in operational IP networks can be administratively controlled
       at various levels of abstraction including the manipulation of BGP
       attributes and IGP metrics.  For path oriented technologies such as
       MPLS, routing can be further controlled by the manipulation of relevant
       traffic engineering parameters, resource parameters, and administrative
       policy constraints.  Within the context of MPLS, the path of an explicitly
       routed label switched path (LSP) can be computed and established in various
       ways including:
       <list style="symbols">
         <t>manually</t>
         <t>automatically, online using constraint-based routing processes
            implemented on label switching routers</t>
         <t>automatically, offline using constraint-based routing entities
            implemented on external traffic engineering support systems.</t>
       </list></t>

    <section anchor="COMBAT" title="Combating the Congestion Problem">

      <t>Minimizing congestion is a significant aspect of Internet traffic
         engineering.  This subsection gives an overview of the general
         approaches that have been used or proposed to combat congestion.</t>

      <t>Congestion management policies can be categorized based upon the
         following criteria (see <xref target="YARE95"/> for a more
         detailed taxonomy of congestion control schemes):

         <list style="numbers">
           <t>Congestion Management based on Response Time Scales
              <list style="symbols">

                <t>Long (weeks to months): Expanding network capacity by adding new
                   equipement, routers, and links takes time and is comparatively
                   costly.  Capacity planning needs to take this into consideration.
                   Network capacity is expanded based on estimates or forcasts of
                   future traffic development and traffic distribution.  These
                   upgrades are typically carried out over weeks or months, or maybe
                   even years.</t>

                <t>Medium (minutes to days): Several control policies fall within the
                   medium timescale category.  Examples include:
                   <list style="letters">
                     <t>Adjusting routing protocol parameters to route traffic away or
                        towards certain segments of the network.</t>
                     <t>Setting up or adjusting explicitly routed LSPs in MPLS
                        networks to route traffic trunks away from possibly
                        congested resources or toward possibly more favorable routes.</t>
                     <t>Re-configuring the logical topology of the network to make it
                        correlate more closely with the spatial traffic distribution
                        using, for example, an underlying path-oriented technology such
                        as MPLS LSPs or optical channel trails.</t>
                   </list>
                   Many of these adaptive schemes rely on measurement systems.  A measurement
                   system monitors changes in traffic distribution, traffic loads, and network
                   resource utilization and then provides feedback to the online or offline
                   traffic engineering mechanisms and tools so that they can trigger control
                   actions within the network.  The traffic engineering mechanisms and tools
                   can be implemented in a distributed or centralized fashion.  A centralized
                   scheme may have global visibility into the network state and may produce
                   more optimal solutions.  However, centralized schemes are prone to single
                   points of failure and may not scale as well as distributed schemes.  Moreover,
                   the information utilized by a centralized scheme may be stale and might not
                   reflect the actual state of the network.  It is not an objective of this
                   document to make a recommendation between distributed and centralized
                   schemes: that is a choice that network administrators must make based on
                   their specific needs.</t>

                <t>Short (picoseconds to minutes): This category includes packet level
                   processing functions and events that are recorded on the order of several
                   round trip times.  It also includes router mechanisms such as passive and
                   active buffer management.  All of these mechanisms are used to control
                   congestion or signal congestion to end systems so that they can adaptively
                   regulate the rate at which traffic is injected into the network.  One
                   of the most popular active queue management schemes, especially for
                   TCP traffic, is Random Early Detection (RED) <xref target="FLJA93"/>.
                   During congestion (but before the queue is filled), the RED scheme chooses
                   arriving packets to "mark" according to a probabilistic algorithm
                   which takes into account the average queue size.  A router that does not
                   utilize explicit congestion notification (ECN) <xref target="FLOY94" /> can
                   simply drop marked packets to aleviate congestion and implicitly notify the
                   receiver about the congestion.  On the other hand, if the router supports ECN,
                   it can set the ECN field in the packet header.  Several variations of RED have
                   been proposed to support different drop precedence levels in multi-class
                   environments <xref target="RFC2597"/>.  RED provides congestion avoidance
                   which is not worse than traditional Tail-Drop (TD) queue management (drop
                   arriving packets only when the queue is full).  Importantly, RED reduces the
                   possibility of global synchronization where retransmission burst become
                   synchronized across the whole network, and improves fairness among different
                   TCP sessions.  However, RED by itself cannot prevent congestion and unfairness
                   caused by sources unresponsive to RED, e.g., UDP traffic and some misbehaved
                   greedy connections.  Other schemes have been proposed to improve the performance
                   and fairness in the presence of unresponsive traffic.  Some of those schemes
                   (such as Longest Queue Drop (LQD) and Dynamic Soft Partitioning with Random Drop
                   (RND) <xref target="SLDC98"/>) were proposed as theoretical frameworks and are
                   typically not available in existing commercial products.</t>
              </list></t>

           <t>Congestion Management: Reactive Versus Preventive Schemes
              <list style="symbols">
                <t>Reactive: Reactive (recovery) congestion management policies react
                   to existing congestion problems.  All the policies described above for
                   the long and medium time scales can be categorized as being reactive.
                   They are based on monitoring and identifying congestion problems that
                   exist in the network, and on the initiation of relevant actions to ease
                   a situation.</t>

                <t>Preventive: Preventive (predictive/avoidance) policies take proactive
                   action to prevent congestion based on estimates and predictions of future
                   congestion problems.  Some of the policies described for the long and medium
                   time scales fall into this category.  Preventive policies do not necessarily
                   respond immediately to existing congestion problems.  Instead, forecasts of
                   traffic demand and workload distribution are considered, and action may be
                   taken to prevent potential future congestion problems.  The schemes described
                   for the short time scale can also be used for congestion avoidance because
                   dropping or marking packets before queues actually overflow would trigger
                   corresponding TCP sources to slow down.</t>
              </list></t>

           <t>Congestion Management: Supply-Side Versus Demand-Side Schemes
              <list style="symbols">
                <t>Supply-side: Supply-side congestion management policies increase
                   the effective capacity available to traffic in order to control or
                   reduce congestion.  This can be accomplished by increasing capacity
                   or by balancing distribution of traffic over the network.  Capacity
                   planning aims to provide a physical topology and associated link
                   bandwidths that match or exceed estimated traffic workload and traffic
                   distribution subject to traffic forecasts and budgetary or other
                   constraints.  If the actual traffic distribution does not fit the
                   topology derived from capacity panning, then the traffic can be mapped
                   onto the topology by using routing control mechanisms, by applying path
                   oriented technologies (e.g., MPLS LSPs and optical channel trails) to
                   modify the logical topology, or by employing some other load redistribution
                   mechanisms.</t>

                <t>Demand-side: Demand-side congestion management policies control or
                   regulate the offered traffic to alleviate congestion problems.  For
                   example, some of the short time scale mechanisms described earlier
                   as well as policing and rate-shaping mechanisms attempt to regulate the
                   offered load in various ways.</t>
              </list></t>
         </list></t>

    </section>

  </section>

  <section anchor="IMPCTXT" title="Implementation and Operational Context">

    <t>The operational context of Internet traffic engineering is
       characterized by constant changes that occur at multiple levels of
       abstraction.  The implementation context demands effective planning,
       organization, and execution.  The planning aspects may involve
       determining prior sets of actions to achieve desired objectives.
       Organizing involves arranging and assigning responsibility to the
       various components of the traffic engineering system and coordinating
       the activities to accomplish the desired TE objectives.  Execution
       involves measuring and applying corrective or perfective actions to
       attain and maintain desired TE goals.</t>

  </section>

</section>

<section anchor="TEPROC" title="Traffic Engineering Process Models">

  <t>This section describes a generic process model that captures the
     high-level practical aspects of Internet traffic engineering in an
     operational context.  The process model is described as a sequence
     of actions that must be carried out to optimize the performance of an
     operational network (see also <xref target="RFC2702" />,
     <xref target="AWD2"/>).  This process model may be enacted explicitly
     or implicitly, by a software process or by a human.</t>

  <t>The traffic engineering process model is iterative [AWD2].  The four
     phases of the process model described below are repeated as a continual
     sequence.

     <list style="symbols">

        <t>Define the relevant control policies that govern the operation
           of the network.</t>

        <t>Acquire measurement data from the operational network.</t>

        <t>Analyze the network state and characterize the traffic workload.
           Proactive analysis identifies potential problems that could
           manifest in the future.  Reactive analysis identifies
           existing problems and determines their causes.</t>

        <t>Optimizate the performance of the network.  This involves a decision
           process which selects and implements a set of actions from a set
           of alternatives given the results of the three previous steps.
           Optimization actions may include the use of techniques to control the
           offered traffic and to control the distribution of traffic across the
           network.</t>

      </list></t>

  <section anchor="COMPONENT" title="Components of the Traffic Engineering Process Model">

     <t>The key components of the traffic engineering process model are as follows.

        <list style="numbers">

           <t>Measurement is crucial to the traffic engineering function.  The
              operational state of a network can only be conclusively determined
              through measurement.  Measurement is also critical to the
              optimization function because it provides feedback data which is
              used by traffic engineering control subsystems.  This data is
              used to adaptively optimize network performance in response to
              events and stimuli originating within and outside the network.
              Measurement in support of the TE function can occur at different
              levels of abstraction.  For example, measurement can be used to
              derive packet level characteristics, flow level characteristics,
              user or customer level characteristics, traffic aggregate
              characteristics, component level characteristics, and network wide
              characteristics.</t>

           <t>Modeling, analysis, and simulation are important aspects of
              Internet traffic engineering.  Modeling involves constructing an
              abstract or physical representation which depicts relevant traffic
              characteristics and network attributes.  A network model is an
              abstract representation of the network which captures relevant
              network features, attributes, and characteristic.  Network
              simulation tools are extremely useful for traffic engineering.
              Because of the complexity of realistic quantitative analysis of
              network behavior, certain aspects of network performance studies
              can only be conducted effectively using simulation.</t>

           <t>Network performance optimization involves resolving network
              issues by transforming such issues into concepts that enable a
              solution, identification of a solution, and implementation of the
              solution.  Network performance optimization can be corrective or
              perfective.  In corrective optimization, the goal is to remedy a
              problem that has occurred or that is incipient.  In perfective
              optimization, the goal is to improve network performance even
              when explicit problems do not exist and are not anticipated.</t>

        </list></t>

  </section>

</section>

<section anchor="REVIEW" title="Review of TE Techniques">

  <t>This section briefly reviews different traffic engineering approaches
     proposed and implemented in telecommunications and computer networks
     using IETF protocols and architectures.  The discussion is not intended
     to be comprehensive.  It is primarily intended to illuminate existing
     approaches to traffic engineering in the Internet.  A historic overview
     of traffic engineering in telecommunications networks is provided in
     <xref target="HIST" />, while <xref target="SDO" /> describes approaches
     in other standards bodies.</t>

  <section anchor="OTHER" title="Overview of IETF Projects Related to Traffic Engineering">

    <t>This subsection reviews a number of IETF activities pertinent to
       Internet traffic engineering.</t>

    <section anchor="CSPF" title="Constraint-Based Routing">

      <t>Constraint-based routing refers to a class of routing systems that
         compute routes through a network subject to the satisfaction of a set
         of constraints and requirements.  In the most general case,
         constraint-based routing may also seek to optimize overall network
         performance while minimizing costs.</t>

      <t>The constraints and requirements may be imposed by the network itself
         or by administrative policies.  Constraints may include bandwidth,
         hop count, delay, and policy instruments such as resource class
         attributes.  Constraints may also include domain specific attributes
         of certain network technologies and contexts which impose
         restrictions on the solution space of the routing function.  Path
         oriented technologies such as MPLS have made constraint-based routing
         feasible and attractive in public IP networks.</t>

      <t>The concept of constraint-based routing within the context of MPLS
         traffic engineering requirements in IP networks was first described in
         <xref target="RFC2702"/> and led to developments such as MPLS-TE
         <xref target="RFC3209"/> as described in <xref target="MPLS"/>.</t>

      <t>Unlike QoS routing (for example, see <xref target="RFC2386"/> and <xref target="MA"/>) which
         generally addresses the issue of routing individual traffic flows to
         satisfy prescribed flow-based QoS requirements subject to network
         resource availability, constraint-based routing is applicable to
         traffic aggregates as well as flows and may be subject to a wide
         variety of constraints which may include policy restrictions.</t>

    </section>

    <section anchor="INTSERV" title="Integrated Services">

      <t>The IETF developed the Integrated Services (Intserv) model that requires
         resources, such as bandwidth and buffers, to be reserved a priori for a
         given traffic flow to ensure that the quality of service requested by the
         traffic flow is satisfied.  The Integrated Services model includes additional
         components beyond those used in the best-effort model such as packet
         classifiers, packet schedulers, and admission control.  A packet classifier
         is used to identify flows that are to receive a certain level of service.  A
         packet scheduler handles the scheduling of service to different packet flows
         to ensure that QoS commitments are met.  Admission control is used to determine
         whether a router has the necessary resources to accept a new flow.</t>

      <t>The main issue with the Integrated Services model has been scalability
         <xref target="RFC2998"/>, especially in large public IP networks which may
         potentially have millions of active micro-flows in transit concurrently.</t>

      <t>A notable feature of the Integrated Services model is that it
         requires explicit signaling of QoS requirements from end systems to
         routers <xref target="RFC2753"/>.  The Resource Reservation Protocol (RSVP)
         performs this signaling function and is a critical component of the
         Integrated Services model.  RSVP is described in <xref target="RSVP" />.</t>

    </section>

    <section anchor="RSVP" title="RSVP">

      <t>RSVP is a soft state signaling protocol <xref target="RFC2205"/>.  It supports
         receiver initiated establishment of resource reservations for both
         multicast and unicast flows.  RSVP was originally developed as a
         signaling protocol within the Integrated Services framework (see
         <xref target="INTSERV" />) for applications to communicate QoS requirements
         to the network and for the network to reserve relevant resources to satisfy
         the QoS requirements <xref target="RFC2205"/>.</t>

      <t>In RSVP, the traffic sender or source node sends a PATH message to the
         traffic receiver with the same source and destination addresses as the
         traffic which the sender will generate.  The PATH message contains:
         (1) a sender traffic specification describing the characteristics of the
         traffic, (2) a sender template specifying the format of the traffic, and
         (3) an optional advertisement specification which is used to support the
         concept of One Pass With Advertising (OPWA) <xref target="RFC2205"/>.
         Every intermediate router along the path forwards the PATH message to the
         next hop determined by the routing protocol.  Upon receiving a PATH message,
         the receiver responds with a RESV message which includes a flow descriptor
         used to request resource reservations.  The RESV message travels to the
         sender or source node in the opposite direction along the path that
         the PATH message traversed.  Every intermediate router along the path
         can reject or accept the reservation request of the RESV message.  If
         the request is rejected, the rejecting router will send an error
         message to the receiver and the signaling process will terminate.  If
         the request is accepted, link bandwidth and buffer space are
         allocated for the flow and the related flow state information is
         installed in the router.</t>

      <t>One of the issues with the original RSVP specification was
         Scalability.  This is because reservations were required for micro-
         flows, so that the amount of state maintained by network elements
         tends to increase linearly with the number of micro-flows.  These
         issues are described in <xref target="RFC2961"/> which also modifies
         and extendeds RSVP to mitigate the scaling problems to make RSVP a
         versatile signaling protocol for the Internet.  For example, RSVP has
         been extended to reserve resources for aggregation of flows, to set
         up MPLS explicit label switched paths (see <xref target="MPLS" />),
         and to perform other signaling functions within the Internet.
         <xref target="RFC2961"/> also describes a mechanism to reduce the
         amount of Refresh messages required to maintain established RSVP
         sessions.</t>

    </section>

    <section anchor="DIFFSERV" title="Differentiated Services">

      <t>The goal of Differentiated Services (Diffserv) within the IETF was
         to devise scalable mechanisms for categorization of traffic into
         behavior aggregates, which ultimately allows each behavior aggregate
         to be treated differently, especially when there is a shortage of
         resources such as link bandwidth and buffer space <xref target="RFC2475"/>.
         One of the primary motivations for Diffserv was to devise alternative
         mechanisms for service differentiation in the Internet that mitigate
         the scalability issues encountered with the Intserv model.</t>

      <t>Diffserv uses the Differentiated Services field in the IP header (the
         DS field) consisting of six bits in what was formerly known as the Type
         of Service (TOS) octet.  The DS field is used to indicate the forwarding
         treatment that a packet should receive at a transit node <xref target="RFC2474"/>.
         Diffserv includes the concept of Per-Hop Behavior (PHB) groups.  Using
         the PHBs, several classes of services can be defined using different
         classification, policing, shaping, and scheduling rules.</t>

      <t>For an end-user of network services to utilize Differentiated
         Services provided by its Internet Service Provider (ISP), it may be
         necessary for the user to have an SLA with the ISP.  An SLA may
         explicitly or implicitly specify a Traffic Conditioning Agreement
         (TCA) which defines classifier rules as well as metering, marking,
         discarding, and shaping rules.</t>

      <t>Packets are classified, and possibly policed and shaped at the
         ingress to a Diffserv network.  When a packet traverses the boundary
         between different Diffserv domains, the DS field of the packet may be
         re-marked according to existing agreements between the domains.</t>

      <t>Differentiated Services allows only a finite number of service
         classes to be specified by the DS field.  The main advantage of the
         Diffserv approach relative to the Intserv model is scalability.
         Resources are allocated on a per-class basis and the amount of state
         information is proportional to the number of classes rather than to
         the number of application flows.</t>

      <t>The Diffserv model deals with traffic management issues on a per hop
         basis.  The Diffserv control model consists of a collection of
         micro-TE control mechanisms.  Other traffic engineering capabilities,
         such as capacity management (including routing control), are also
         required in order to deliver acceptable service quality in Diffserv
         networks.  The concept of Per Domain Behaviors has been introduced to
         better capture the notion of Differentiated Services across a
         complete domain <xref target="RFC3086"/>.</t>

    </section>

    <section anchor="QUIC" title="QUIC">

      <t>TBD</t>

    </section>

    <section anchor="MPLS" title="Multiprotocol Label Switching (MPLS)">

      <t>MPLS is an advanced forwarding scheme which also includes extensions
         to conventional IP control plane protocols.  MPLS extends the
         Internet routing model and enhances packet forwarding and path
         control <xref target="RFC3031"/>.</t>

      <t>At the ingress to an MPLS domain, Label Switching Routers (LSRs)
         classify IP packets into Forwarding Equivalence Classes (FECs) based
         on a variety of factors, including, e.g., a combination of the
         information carried in the IP header of the packets and the local
         routing information maintained by the LSRs.  An MPLS label stack entry
         is then prepended to each packet according to their forwarding equivalence
         classes.  The MPLS label stack entry is 32 bits long and contains a 20-bit
         label field.</t>

      <t>An LSR makes forwarding decisions by using the label prepended to
         packets as the index into a local next hop label forwarding entry
         (NHLFE).  The packet is then processed as specified in the NHLFE.
         The incoming label may be replaced by an outgoing label (label swap),
         and the packet may be forwarded to the next LSR.  Before a packet
         leaves an MPLS domain, its MPLS label may be removed (label pop).  A
         Label Switched Path (LSP) is the path between an ingress LSRs and an
         egress LSRs through which a labeled packet traverses.  The path of an
         explicit LSP is defined at the originating (ingress) node of the LSP.
         MPLS can use a signaling protocol such as RSVP or LDP to set up LSPs.</t>

      <t>MPLS is a very powerful technology for Internet traffic engineering
         because it supports explicit LSPs which allow constraint-based
         routing to be implemented efficiently in IP networks <xref target="AWD2"/>.  The
         requirements for traffic engineering over MPLS are described in
         <xref target="RFC2702"/>.  Extensions to RSVP to support instantiation of explicit
         LSP are discussed in <xref target="RFC3209"/>.</t>

    </section>

    <section anchor="GMPLS" title="Generalized MPLS">

      <t>GMPLS extends MPLS control protocols to encompass time-division (e.g.,
         SONET/SDH, PDH, G.709), wavelength (lambdas), and spatial switching (e.g.,
         incoming port or fiber to outgoing port or fiber) as well as continuing to
         support packet switching.  GMPLS provides a common set of control protocols
         for all of these layers (including some technology-specific extensions)
         each of which has a diverse data or forwarding plane.  GMPLS covers both the
         signaling and the routing part of that control plane and is based on the
         Traffic Engineering extensions to MPLS (see <xref target="MPLS"/>).</t>

      <t>In GMPLS, the original MPLS architecture is extended to include LSRs whose
         forwarding planes rely on circuit switching, and therefore cannot forward
         data based on the information carried in either packet or cell headers.
         Specifically, such LSRs include devices where the switching is based on
         time slots, wavelengths, or physical ports.  These additions impact
         basic LSP properties: how labels are requested and communicated, the
         unidirectional nature of MPLS LSPs, how errors are propagated, and
         information provided for synchronizing the ingress and egress LSRs.</t>

    </section>

    <section anchor="IPPM" title="IP Performance Metrics">

      <t>The IETF IP Performance Metrics (IPPM) working group has developed a set
         of standard metrics that can be used to monitor the quality, performance,
         and reliability of Internet services.  These metrics can be applied by
         network operators, end-users, and independent testing groups to provide
         users and service providers with a common understanding of the performance
         and reliability of the Internet component &apos;clouds&apos; they use/provide
         <xref target="RFC2330"/>.  The criteria for performance metrics developed by
         the IPPM working group are described in <xref target="RFC2330"/>.  Examples
         of performance metrics include one-way packet loss <xref target="RFC7680"/>,
         one-way delay <xref target="RFC7679"/>, and connectivity measures between
         two nodes <xref target="RFC2678"/>.  Other metrics include second-order
         measures of packet loss and delay.</t>

      <t>Some of the performance metrics specified by the IPPM working group are useful
         for specifying SLAs.  SLAs are sets of service level objectives negotiated
         between users and service providers, wherein each objective is a combination
         of one or more performance metrics, possibly subject to certain constraints.</t>

    </section>

    <section anchor="RTFM" title="Flow Measurement">

      <t>The IETF Real Time Flow Measurement (RTFM) working group produced
         an architecture that defines a method to specify traffic flows
         as well as a number of components for flow measurement (meters, meter
         readers, manager) <xref target="RFC2722"/>.  A flow measurement system enables
         network traffic flows to be measured and analyzed at the flow level
         for a variety of purposes.  As noted in RFC 2722, a flow measurement
         system can be very useful in the following contexts:
         <list style="symbols">
           <t>understanding the behavior of existing networks</t>
           <t>planning for network development and expansion</t>
           <t>quantification of network performance</t>
           <t>verifying the quality of network service</t>
           <t>attribution of network usage to users.</t>
         </list></t>

      <t>A flow measurement system consists of meters, meter readers, and
         managers.  A meter observes packets passing through a measurement
         point, classifies them into groups, accumulates usage data (such as
         the number of packets and bytes for each group), and stores the usage
         data in a flow table.  A group may represent any collection of user
         applications, hosts, networks, etc.  A meter reader gathers usage data
         from various meters so it can be made available for analysis.  A manager
         is responsible for configuring and controlling meters and meter readers.
         The instructions received by a meter from a manager include flow
         specifications, meter control parameters, and sampling techniques.  The
         instructions received by a meter reader from a manager include the address
         of the meter whose date is to be collected, the frequency of data collection,
         and the types of flows to be collected.</t>

    </section>

    <section anchor="ECM" title="Endpoint Congestion Management">

      <t><xref target="RFC3124"/> provides a set of congestion control mechanisms for the
         use of transport protocols.  It is also allows the development of mechanisms for
         unifying congestion control across a subset of an endpoint&apos;s active unicast
         connections (called a congestion group).  A congestion manager continuously
         monitors the state of the path for each congestion group under its control.  The
         manager uses that information to instruct a scheduler on how to partition bandwidth
         among the connections of that congestion group.</t>

    </section>

    <section anchor="IGPTE" title="TE Extensions to the IGPs">

       <t>TBD</t>

    </section>

    <section anchor="BGPLS" title="Link-State BGP">

       <t>In a number of environments, a component external to a network is called
          upon to perform computations based on the network topology and current
          state of the connections within the network, including traffic engineering
          information.  This is information typically distributed by IGP routing
          protocols within the network (see <xref target="IGPTE" />.</t>

       <t>The Border Gateway Protocol (BGP) <xref target="INTER" /> is one of the
          essential routing protocols that glue the Internet together.  BGP Link
          State (BGP-LS) <xref target="RFC7752" /> is a mechanism by which
          link-state and traffic engineering information can be collected from
          networks and shared with external components using the BGP routing
          protocol.  The mechanism is applicable to physical and virtual IGP
          links, and is subject to policy control.</t>

       <t>Information collected by BGP-LS can be used to construct the Traffic
          Engineering Database (TED, see <xref target="STATE" />) for use by the
          Path Computation Element (PCE, see <xref target="PCE" />), or may be used
          by Application-Layer Traffic Optimization (ALTO) servers (see
          <xref target="ALTO" />).</t>

    </section>

    <section anchor="PCE" title="Path Computation Element">

       <t>Constraint-based path computation is a fundamental building block for
          traffic engineering in MPLS and GMPLS networks.  Path computation in
          large, multi-domain networks is complex and may require special
          computational components and cooperation between the elements in
          different domains.  The Path Computation Element (PCE) <xref target="RFC4655"/>
          is an entity (component, application, or network node) that is capable of
          computing a network path or route based on a network graph and applying
          computational constraints.</t>

       <t>Thus, a PCE can provide a central component in a traffic engineering system
          operating on the Traffic Engineering Database (TED, see <xref target="STATE" />)
          with delegated responsibility for determining paths in MPLS, GMPLS, or
          Segment Routing networks.  The PCE uses the Path Computation Element Communication
          Protocol (PCEP) <xref target="RFC5440" /> to communicate with Path Computation
          Clients (PCCs), such as MPLS LSRs, to answer their requests for computed paths
          or to instruct them to initiate new paths <xref target="RFC8281" /> and maintain
          state about paths already installed in the network <xref target="RFC8231" />.</t>

       <t>PCEs form key components of a number of traffic engineering systems, such as
          the Application of the Path Computation Element Architecture <xref target="RFC6805" />,
          the Applicability of a Stateful Path Computation Element <xref target="RFC8051"/>,
          Abstraction and Control of TE Networks (ACTN) <xref target="ACTN" />, Centralized
          Network Control <xref target="RFC8283" />, and Software Defined Networking (SDN)
          <xref target="SDN" />.</t>
    </section>

    <section anchor="ALTO" title="Application-Layer Traffic Optimization">

       <t>TBD</t>

    </section>

    <section anchor="SR" title="Segment Routing with MPLS encapsuation (SR-MPLS)">

       <t>Segment Routing (SR) leverages the source routing and tunneling paradigms.
          The path a packet takes is defined at the ingress and the packet is tunneled
          to the egress.  A node steers a packet through a controlled set of instructions,
          called segments, by prepending the packet with an SR header: a label stack in MPLS
          case.</t>

       <t>A segment can represent any instruction, topological or service-based, thanks to
          the MPLS architecture <xref target="RFC3031" />.  Labels can be looked up in a
          global context (platform wide) as well as in some other context (see "context labels"
          in Section 3 of <xref target="RFC5331" />).</t>

       <section anchor="SIDtyoes" title="Base Segment Routing Identifier Types">

          <t>Segments are identified by Segment Identifiers (SIDs).  There are four types
             of SID that are relevant for traffic engineering.

             <list style="hanging">
                <t hangText='Prefix SID:'>Uses the SR Global Block (SRGB), must be unique within
                  the routing domain SRGB, and is advertised by an IGP.  The Prefix-SID can
                  be configured as an absolute value or an index.</t>
                <t hangText='Node SID:'>A Prefix SID with the 'N' (node) bit set. It is associated
                  with a host prefix (/32 or /128) that identifies the node.  More than 1 Node SID
                  can be configured per node.</t>
                <t hangText='Adjacency SID:'>Locally significant by default, an Adjacency SID can
                  be made globally significant through use of the 'L' flag.  It identifies a
                  unidirectional adjacency.  In most implementations Adjacency SIDs are
                  automatically allocated for each adjacency.  They are always encoded as an
                  absolute (not indexed) value.</t>
                <t hangText='Binding SID:'>A Binding SID has two purposes:
                  <list style="numbers">
                    <t>Mapping Server in ISIS
                       <list style="empty">
                         <t>The SID/Label Binding TLV is used to advertise the mappings of prefixes to
                            SIDs/Labels.  This functionality is called the Segment Routing Mapping
                            Server (SRMS).  The behavior of the SRMS is defined in
                            <xref target="RFC8661"/></t>
                       </list></t>
                    <t>Cross-connect (label to FEC mapping)
                       <list style="empty">
                         <t>This is fundamental for multi-domain/multi-layer operation.  The
                            Binding SID identifies a new path available at the anchor point.  It is
                            always local to the originator, must not be present at the top of the stack,
                            and must be looked up in the context of the Node SID.  It could be
                            provisioned through Netconf/Restconf, PCEP, BGP, or the CLI.</t>
                       </list></t>
                  </list></t>
             </list></t>

        </section>

    </section>

    <section anchor="ACTN" title="Network Virtualization and Abstraction">

       <t>One of the main drivers for Software Defined Networking (SDN)
          <xref target="RFC7149" /> is a decoupling of the network control
          plane from the data plane.  This separation has been achieved for
          TE networks with the development of MPLS/GMPLS <xref target="MPLS" />
          <xref target="GMPLS" /> and the Path Computation Element (PCE)
          <xref target="PCE" />.  One of the advantages of SDN is its logically
          centralized control regime that allows a global view of the underlying
          networks.  Centralized control in SDN helps improve network resource
          utilization compared with distributed network control.</t>

       <t>Abstraction and Control of TE Networks (ACTN) <xref target="RFC8453" />
          defines a hierarchical SDN architecture which describes the functional
          entities and methods for the coordination of resources across multiple
          domains, to provide end-to-end traffic engineered services.  ACTN
          facilitates end-to-end connections and provides them to the user.  ACTN
          is focused on:
          <list style="symbols">
            <t>Abstraction of the underlying network resources and how they are
               provided to higher-layer applications and customers.</t>
            <t>Virtualization of underlying resources for use by the customer,
               application, or service.  The creation of a virtualized environment
               allows operators to view and control multi-domain networks as a single
               virtualized network.</t>
            <t>Presentation to customers of networks as a virtual network via
               open and programmable interfaces.</t>
          </list></t>

       <t>The ACTN managed infrastructure is built from traffic engineered network
          resources, which may include statistical packet bandwidth, physical
          forwarding plane sources (such as wavelengths and time slots), forwarding
          and cross-connect capabilities.  The type of network virtualization seen in
          ACTN allows customers and applications (tenants) to utilise and independently
          control allocated virtual network resources as if resources as if they were
          physically their own resource.  The ACTN network is "sliced", with tenants
          being given a different partial and abstracted topology view of the physical
          underlying network.</t>

    </section>

    <section anchor="SLICE" title="Network Slicing">

       <t>TBD</t>

    </section>

    <section anchor="DETNET" title="Deterministic Networking">

       <t>TBD</t>

    </section>

    <section anchor="STATE" title="Network TE State Definition and Presentation">

      <t>The network states that are relevant to the traffic engineering need to be
         stored in the system and presented to the user.  The Traffic
         Engineering Database (TED) is a collection of all TE information
         about all TE nodes and TE links in the network, which is
         an essential component of a TE system, such as MPLS-TE <xref target="RFC2702" />
         and GMPLS <xref target ="RFC3945" />.  In order to formally define the data
         in the TED and to present the data to the user with high usability, the data
         modeling language YANG <xref target="RFC7950" /> can be used as described in
         <xref target="RFC8795" />.</t>

    </section>

    <section anchor="SYSMAN" title="System Management and Control Interfaces">

      <t>The traffic engineering control system needs to have a management
         interface that is human-friendly and a control interfaces that is
         programable for automation.  The Network Configuration Protocol (NETCONF)
         <xref target="RFC6241" /> or the RESTCONF Protocol <xref target="RFC8040" />
         provide programmable interfaces that are also human-friendly.  These
         protocols use XML or JSON encoded messages.  When message compactness or
         protocol bandwidth consumption needs to be optimized for the control
         interface, other protocols, such as Group Communication for the Constrained
         Application Protocol (CoAP) <xref target="RFC7390" /> or gRPC, are available,
         especially when the protocol messages are encoded in a binary format.  Along
         with any of these protocols, the data modeling language YANG
         <xref target="RFC7950" /> can be used to formally and precisely define the
         interface data.</t>

      <t>The Path Computation Element Communication Protocol (PCEP)
         <xref target="RFC5440" /> is another protocol that has evolved to be an option
         for the TE system control interface.  The messages of PCEP are TLV-based,
         not defined by a data modeling language such as YANG.</t>

    </section>

  </section>

  <section anchor="CDN" title="Content Distribution">

    <t>The Internet is dominated by client-server interactions, principally
       Web traffic although in the future, more sophisticated media servers may
       become dominant.  The location and performance of major information
       servers has a significant impact on the traffic patterns within the
       Internet as well as on the perception of service quality by end
       users.</t>

    <t>A number of dynamic load balancing techniques have been devised to
       improve the performance of replicated information servers.  These
       techniques can cause spatial traffic characteristics to become more
       dynamic in the Internet because information servers can be
       dynamically picked based upon the location of the clients, the
       location of the servers, the relative utilization of the servers, the
       relative performance of different networks, and the relative
       performance of different parts of a network.  This process of
       assignment of distributed servers to clients is called traffic
       directing.  It is an application layer function.</t>

    <t>Traffic directing schemes that allocate servers in multiple
       geographically dispersed locations to clients may require empirical
       network performance statistics to make more effective decisions.  In
       the future, network measurement systems may need to provide this type
       of information.</t>

    <t>When congestion exists in the network, traffic directing and traffic
       engineering systems should act in a coordinated manner.  This topic
       is for further study.</t>

    <t>The issues related to location and replication of information
       servers, particularly web servers, are important for Internet traffic
       engineering because these servers contribute a substantial proportion
       of Internet traffic.</t>

  </section>

</section>

<section anchor="TAXI" title="Taxonomy of Traffic Engineering Systems">

  <t>This section presents a short taxonomy of traffic engineering
     systems constructed based on traffic engineering styles and views
     as listed below and described in greater detail in the following
     subsections of this document.</t>

  <t><list style="symbols">
       <t>Time-dependent versus State-dependent versus Event-dependent</t>
       <t>Offline versus Online</t>
       <t>Centralized versus Distributed</t>
       <t>Local versus Global Information</t>
       <t>Prescriptive versus Descriptive</t>
       <t>Open Loop versus Closed Loop</t>
       <t>Tactical versus Strategic</t>
     </list></t>

  <section anchor="TIME" title="Time-Dependent Versus State-Dependent Versus Event Dependent">

    <t>Traffic engineering methodologies can be classified as time-
       dependent, state-dependent, or event-dependent.  All TE schemes
       are considered to be dynamic in this document.  Static TE implies
       that no traffic engineering methodology or algorithm is being
       applied - it is a feature of network planning, but lacks the
       reactive and flexible nature of traffic engineering.</t>

    <t>In time-dependent TE, historical information based on periodic
       variations in traffic (such as time of day) is used to pre-program
       routing and other TE control mechanisms.  Additionally, customer
       subscription or traffic projection may be used.  Pre-programmed
       routing plans typically change on a relatively long time
       scale (e.g., daily).  Time-dependent algorithms do not attempt to
       adapt to short-term variations in traffic or changing network conditions.
       An example of a time-dependent algorithm is a global centralized
       optimizer where the input to the system is a traffic matrix and
       multi-class QoS requirements as described <xref target="MR99"/>.
       Another example of such a methodology is the application of data mining
       to Internet traffic <xref target="AJ19"/> which enables the
       use of various machine learning algorithms to identify patterns
       within historically collected datasets about Internet traffic, and to
       extract information in order to guide decision-making, and to improve
       efficiency and productivity of operational processes.</t>

    <t>State-dependent TE adapts the routing plans based on the current
       state of the network which provides additional information on
       variations in actual traffic (i.e., perturbations from regular
       variations) that could not be predicted using historical information.
       Constraint-based routing is an example of state-dependent TE operating
       in a relatively long time scale.  An example operating in a relatively
       short timescale is a load-balancing algorithm described in
       <xref target="MATE"/>.  The state of the network can be based on parameters
       such as utilization, packet delay, and packet loss that can be advertized or
       flooded by the routers.  Another approach is for a particular router
       performing adaptive TE to send probe packets along a path to gather the
       state of that path.  <xref target="RFC6374" /> defines protocol extensions to
       collect performance measurements from MPLS networks.  Another approach
       is for a management system to gather the relevant information directly
       from network elements using telemetry data collection "publication/subscription"
       techniques <xref target="RFC7923" />.  Timely gathering and distribution of
       state information is critical for adaptive TE.  While time-dependent algorithms
       are suitable for predictable traffic variations, state-dependent algorithms may
       be applied to increase network efficiency and resilience to adapt to the
       prevailing network state.</t>

    <t>Event-dependent TE methods can also be used for TE path selection.
       Event-dependent TE methods are distinct from time-dependent and
       state-dependent TE methods in the manner in which paths are selected.
       These algorithms are adaptive and distributed in nature and typically
       use learning models to find good paths for TE in a network.  While
       state-dependent TE models typically use available-link-bandwidth
       (ALB) flooding for TE path selection, event-dependent TE methods do
       not require ALB flooding.  Rather, event-dependent TE methods
       typically search out capacity by learning models, as in the success-
       to-the-top (STT) method.  ALB flooding can be resource intensive,
       since it requires link bandwidth to carry LSAs, processor capacity to
       process LSAs, and the overhead can limit area/Autonomous System (AS)
       size.  Modeling results suggest that event-dependent TE methods could
       lead to a reduction in ALB flooding overhead without loss of network
       throughput performance <xref target="I-D.ietf-tewg-qos-routing"/>.</t>

  </section>

  <section anchor="OFFON" title="Offline Versus Online">

    <t>Traffic engineering requires the computation of routing plans.  The
       computation may be performed offline or online.  The computation can
       be done offline for scenarios where routing plans need not be
       executed in real-time.  For example, routing plans computed from
       forecast information may be computed offline.  Typically, offline
       computation is also used to perform extensive searches on multi-
       dimensional solution spaces.</t>

    <t>Online computation is required when the routing plans must adapt to
       changing network conditions as in state-dependent algorithms.  Unlike
       offline computation (which can be computationally demanding), online
       computation is geared toward relative simple and fast calculations to
       select routes, fine-tune the allocations of resources, and perform
       load balancing.</t>

  </section>

  <section anchor="CENTRAL" title="Centralized Versus Distributed">

    <t>Centralized control has a central authority which determines routing
       plans and perhaps other TE control parameters on behalf of each
       router.  The central authority collects the network-state information
       from all routers periodically and returns the routing information to
       the routers.  The routing update cycle is a critical parameter
       directly impacting the performance of the network being controlled.
       Centralized control may need high processing power and high bandwidth
       control channels.</t>

    <t>Distributed control determines route selection by each router
       autonomously based on the routers view of the state of the network.
       The network state information may be obtained by the router using a
       probing method or distributed by other routers on a periodic basis
       using link state advertisements.  Network state information may also
       be disseminated under exceptional conditions.  Examples of protocol
       extensions used to advertise network link state information are
       defined in <xref target="RFC5305"/>, <xref target="RFC6119"/>,
       <xref target="RFC7471"/>, <xref target="RFC8570"/>, and
       <xref target="RFC8571"/>.</t>

    <section anchor="HYBRID" title="Hybrid Systems">

      <t>TBD</t>

    </section>

    <section anchor="SDN" title="Considerations for Software Defined Networking">

      <t>As discussed in <xref target="ACTN" />, one of the main drivers for
         SDN is a decoupling of the network control plane from the data plane
         <xref target="RFC7149" />.  Centralized control in SDN helps improve
         network resource utilization compared with distributed network control.</t>

      <t>TBD</t>

    </section>

  </section>

  <section anchor="LOCAL" title="Local Versus Global">

     <t>Traffic engineering algorithms may require local or global network-
        state information.</t>

     <t>Local information pertains to the state of a portion of the domain.
        Examples include the bandwidth and packet loss rate of a particular
        path.  Local state information may be sufficient for certain
        instances of distributed-controlled TEs.</t>

     <t>Global information pertains to the state of the entire domain
        undergoing traffic engineering.  Examples include a global traffic
        matrix and loading information on each link throughout the domain of
        interest.  Global state information is typically required with
        centralized control.  Distributed TE systems may also need global
        information in some cases.</t>

  </section>

  <section anchor="SCRIPT" title="Prescriptive Versus Descriptive">

    <t>TE systems may also be classified as prescriptive or descriptive.</t>

    <t>Prescriptive traffic engineering evaluates alternatives and
       recommends a course of action.  Prescriptive traffic engineering can
       be further categorized as either corrective or perfective.
       Corrective TE prescribes a course of action to address an existing or
       predicted anomaly.  Perfective TE prescribes a course of action to
       evolve and improve network performance even when no anomalies are
       evident.</t>

    <t>Descriptive traffic engineering, on the other hand, characterizes the
       state of the network and assesses the impact of various policies
       without recommending any particular course of action.</t>

    <section anchor="INTENT" title="Intent-Based Networking">

       <t>TBD</t>

    </section>

  </section>

  <section anchor="LOOP" title="Open-Loop Versus Closed-Loop">

    <t>Open-loop traffic engineering control is where control action does
       not use feedback information from the current network state.  The
       control action may use its own local information for accounting
       purposes, however.</t>

    <t>Closed-loop traffic engineering control is where control action
       utilizes feedback information from the network state.  The feedback
       information may be in the form of historical information or current
       measurement.</t>

  </section>

  <section anchor="TACTIC" title="Tactical versus Strategic">

    <t>Tactical traffic engineering aims to address specific performance
       problems (such as hot-spots) that occur in the network from a
       tactical perspective, without consideration of overall strategic
       imperatives.  Without proper planning and insights, tactical TE tends
       to be ad hoc in nature.</t>

    <t>Strategic traffic engineering approaches the TE problem from a more
       organized and systematic perspective, taking into consideration the
       immediate and longer term consequences of specific policies and
       actions.</t>

  </section>

</section>

<section anchor="RECO" title="Recommendations for Internet Traffic Engineering">

  <t>This section describes high-level recommendations for traffic
     engineering in the Internet.  These recommendations are presented in
     general terms.</t>

  <t>The recommendations describe the capabilities needed to solve a
     traffic engineering problem or to achieve a traffic engineering
     objective.  Broadly speaking, these recommendations can be
     categorized as either functional or non-functional recommendations.</t>

  <t>Functional recommendations for Internet traffic engineering describe
     the functions that a traffic engineering system should perform.
     These functions are needed to realize traffic engineering objectives
     by addressing traffic engineering problems.</t>

  <t>Non-functional recommendations for Internet traffic engineering
     relate to the quality attributes or state characteristics of a
     traffic engineering system.  These recommendations may contain
     conflicting assertions and may sometimes be difficult to quantify
     precisely.</t>

  <section anchor="HIGHOBJ" title="Generic Non-functional Recommendations">

    <t>The generic non-functional recommendations for Internet traffic
       engineering include: usability, automation, scalability, stability,
       visibility, simplicity, efficiency, reliability, correctness,
       maintainability, extensibility, interoperability, and security.
       In a given context, some of these recommendations may be critical
       while others may be optional.  Therefore, prioritization may be
       required during the development phase of a traffic engineering
       system (or components thereof) to tailor it to a specific
       operational context.</t>

    <t>In the following paragraphs, some of the aspects of the non-
       functional recommendations for Internet traffic engineering are
       summarized.</t>

    <t>Usability: Usability is a human factor aspect of traffic engineering
       systems.  Usability refers to the ease with which a traffic
       engineering system can be deployed and operated.  In general, it is
       desirable to have a TE system that can be readily deployed in an
       existing network.  It is also desirable to have a TE system that is
       easy to operate and maintain.</t>

    <t>Automation: Whenever feasible, a traffic engineering system should
       automate as many traffic engineering functions as possible to
       minimize the amount of human effort needed to control and analyze
       operational networks.  Automation is particularly imperative in large
       scale public networks because of the high cost of the human aspects
       of network operations and the high risk of network problems caused by
       human errors.  Automation may entail the incorporation of automatic
       feedback and intelligence into some components of the traffic
       engineering system.</t>

    <t>Scalability: Contemporary public networks are growing very fast with
       respect to network size and traffic volume.  Therefore, a TE system
       should be scalable to remain applicable as the network evolves.  In
       particular, a TE system should remain functional as the network
       expands with regard to the number of routers and links, and with
       respect to the traffic volume.  A TE system should have a scalable
       architecture, should not adversely impair other functions and
       processes in a network element, and should not consume too much
       network resources when collecting and distributing state information
       or when exerting control.</t>

    <t>Stability: Stability is a very important consideration in traffic
       engineering systems that respond to changes in the state of the
       network.  State-dependent traffic engineering methodologies typically
       mandate a tradeoff between responsiveness and stability.  It is
       strongly recommended that when tradeoffs are warranted between
       responsiveness and stability, that the tradeoff should be made in
       favor of stability (especially in public IP backbone networks).</t>

    <t>Flexibility: A TE system should be flexible to allow for changes in
       optimization policy.  In particular, a TE system should provide
       sufficient configuration options so that a network administrator can
       tailor the TE system to a particular environment.  It may also be
       desirable to have both online and offline TE subsystems which can be
       independently enabled and disabled.  TE systems that are used in
       multi-class networks should also have options to support class based
       performance evaluation and optimization.</t>

    <t>Visibility: As part of the TE system, mechanisms should exist to
       collect statistics from the network and to analyze these statistics
       to determine how well the network is functioning.  Derived statistics
       such as traffic matrices, link utilization, latency, packet loss, and
       other performance measures of interest which are determined from
       network measurements can be used as indicators of prevailing network
       conditions.  Other examples of status information which should be
       observed include existing functional routing information
       (additionally, in the context of MPLS existing LSP routes), etc.</t>

    <t>Simplicity: Generally, a TE system should be as simple as possible.
       More importantly, the TE system should be relatively easy to use
       (i.e., clean, convenient, and intuitive user interfaces).  Simplicity
       in user interface does not necessarily imply that the TE system will
       use naive algorithms.  When complex algorithms and internal
       structures are used, such complexities should be hidden as much as
       possible from the network administrator through the user interface.</t>

    <t>Interoperability: Whenever feasible, traffic engineering systems and
       their components should be developed with open standards based
       interfaces to allow interoperation with other systems and components.</t>

    <t>Security: Security is a critical consideration in traffic engineering
       systems.  Such traffic engineering systems typically exert control
       over certain functional aspects of the network to achieve the desired
       performance objectives.  Therefore, adequate measures must be taken
       to safeguard the integrity of the traffic engineering system.
       Adequate measures must also be taken to protect the network from
       vulnerabilities that originate from security breaches and other
       impairments within the traffic engineering system.</t>

    <t>The remainder of this section will focus on some of the high-level
       functional recommendations for traffic engineering.</t>

  </section>

  <section anchor="ROUTEREC" title="Routing Recommendations">

    <t>Routing control is a significant aspect of Internet traffic
       engineering.  Routing impacts many of the key performance measures
       associated with networks, such as throughput, delay, and utilization.
       Generally, it is very difficult to provide good service quality in a
       wide area network without effective routing control.  A desirable
       routing system is one that takes traffic characteristics and network
       constraints into account during route selection while maintaining
       stability.</t>

    <t>Traditional shortest path first (SPF) interior gateway protocols are
       based on shortest path algorithms and have limited control
       capabilities for traffic engineering <xref target="RFC2702"/>,
       <xref target="AWD2"/>.  These limitations include:

       <list style="numbers">
         <t>The well known issues with pure SPF protocols, which do not take
            network constraints and traffic characteristics into account
            during route selection.  For example, since IGPs always use the
            shortest paths (based on administratively assigned link metrics)
            to forward traffic, load sharing cannot be accomplished among
            paths of different costs.  Using shortest paths to forward traffic
            conserves network resources, but may cause the following problems:
            1) If traffic from a source to a destination exceeds the capacity
            of a link along the shortest path, the link (hence the shortest
            path) becomes congested while a longer path between these two
            nodes may be under-utilized; 2) the shortest paths from different
            sources can overlap at some links.  If the total traffic from the
            sources exceeds the capacity of any of these links, congestion
            will occur.  Problems can also occur because traffic demand
            changes over time but network topology and routing configuration
            cannot be changed as rapidly.  This causes the network topology
            and routing configuration to become sub-optimal over time, which
            may result in persistent congestion problems.</t>
         <t>The Equal-Cost Multi-Path (ECMP) capability of SPF IGPs supports
            sharing of traffic among equal cost paths between two nodes.
            However, ECMP attempts to divide the traffic as equally as
            possible among the equal cost shortest paths.  Generally, ECMP
            does not support configurable load sharing ratios among equal cost
            paths.  The result is that one of the paths may carry
            significantly more traffic than other paths because it may also
            carry traffic from other sources.  This situation can result in
            congestion along the path that carries more traffic.</t>
         <t>Modifying IGP metrics to control traffic routing tends to have
            network-wide effect.  Consequently, undesirable and unanticipated
            traffic shifts can be triggered as a result.  Recent work
            described in <xref target="PRACTICE"/> may be capable of better
            control <xref target="FT00"/>, <xref target="FT01"/>.</t>
       </list></t>

    <t>Because of these limitations, new capabilities are needed to enhance
       the routing function in IP networks.  Some of these capabilities have
       been described elsewhere and are summarized below.</t>

    <t>Constraint-based routing is desirable to evolve the routing
       architecture of IP networks, especially public IP backbones with
       complex topologies <xref target="RFC2702"/>.  Constraint-based routing computes
       routes to fulfill requirements subject to constraints.  Constraints
       may include bandwidth, hop count, delay, and administrative policy
       instruments such as resource class attributes <xref target="RFC2702"/>, <xref target="RFC2386"/>.
       This makes it possible to select routes that satisfy a given set of
       requirements subject to network and administrative policy
       constraints.  Routes computed through constraint-based routing are
       not necessarily the shortest paths.  Constraint-based routing works
       best with path oriented technologies that support explicit routing,
       such as MPLS.</t>

    <t>Constraint-based routing can also be used as a way to redistribute
       traffic onto the infrastructure (even for best effort traffic).  For
       example, if the bandwidth requirements for path selection and
       reservable bandwidth attributes of network links are appropriately
       defined and configured, then congestion problems caused by uneven
       traffic distribution may be avoided or reduced.  In this way, the
       performance and efficiency of the network can be improved.</t>

    <t>A number of enhancements are needed to conventional link state IGPs,
       such as OSPF and IS-IS, to allow them to distribute additional state
       information required for constraint-based routing.  These extensions
       to OSPF were described in <xref target="RFC3630"/> and to IS-IS in <xref target="RFC5305"/>.
       Essentially, these enhancements require the propagation of additional
       information in link state advertisements.  Specifically, in addition
       to normal link-state information, an enhanced IGP is required to
       propagate topology state information needed for constraint-based
       routing.  Some of the additional topology state information include
       link attributes such as reservable bandwidth and link resource class
       attribute (an administratively specified property of the link).  The
       resource class attribute concept was defined in <xref target="RFC2702"/>.  The
       additional topology state information is carried in new TLVs and
       sub-TLVs in IS-IS, or in the Opaque LSA in OSPF <xref target="RFC5305"/>, <xref target="RFC3630"/>.</t>

    <t>An enhanced link-state IGP may flood information more frequently than
       a normal IGP.  This is because even without changes in topology,
       changes in reservable bandwidth or link affinity can trigger the
       enhanced IGP to initiate flooding.  A tradeoff is typically required
       between the timeliness of the information flooded and the flooding
       frequency to avoid excessive consumption of link bandwidth and
       computational resources, and more importantly, to avoid instability.</t>

    <t>In a TE system, it is also desirable for the routing subsystem to
       make the load splitting ratio among multiple paths (with equal cost
       or different cost) configurable.  This capability gives network
       administrators more flexibility in the control of traffic
       distribution across the network.  It can be very useful for
       avoiding/relieving congestion in certain situations.  Examples can be
       found in <xref target="XIAO"/>.</t>

    <t>The routing system should also have the capability to control the
       routes of subsets of traffic without affecting the routes of other
       traffic if sufficient resources exist for this purpose.  This
       capability allows a more refined control over the distribution of
       traffic across the network.  For example, the ability to move traffic
       from a source to a destination away from its original path to another
       path (without affecting other traffic paths) allows traffic to be
       moved from resource-poor network segments to resource-rich segments.
       Path oriented technologies such as MPLS inherently support this
       capability as discussed in <xref target="AWD2"/>.</t>

    <t>Additionally, the routing subsystem should be able to select
       different paths for different classes of traffic (or for different
       traffic behavior aggregates) if the network supports multiple classes
       of service (different behavior aggregates).</t>

  </section>

  <section anchor="MAPREC" title="Traffic Mapping Recommendations">

    <t>Traffic mapping pertains to the assignment of traffic workload onto
       pre-established paths to meet certain requirements.  Thus, while
       constraint-based routing deals with path selection, traffic mapping
       deals with the assignment of traffic to established paths which may
       have been selected by constraint-based routing or by some other
       means.  Traffic mapping can be performed by time-dependent or state-
       dependent mechanisms, as described in <xref target="TIME"/>.</t>

    <t>An important aspect of the traffic mapping function is the ability to
       establish multiple paths between an originating node and a
       destination node, and the capability to distribute the traffic
       between the two nodes across the paths according to some policies.  A
       pre-condition for this scheme is the existence of flexible mechanisms
       to partition traffic and then assign the traffic partitions onto the
       parallel paths.  This requirement was noted in <xref target="RFC2702"/>.
       When traffic is assigned to multiple parallel paths, it is recommended
       that special care should be taken to ensure proper ordering of
       packets belonging to the same application (or micro-flow) at the
       destination node of the parallel paths.</t>

    <t>As a general rule, mechanisms that perform the traffic mapping
       functions should aim to map the traffic onto the network
       infrastructure to minimize congestion.  If the total traffic load
       cannot be accommodated, or if the routing and mapping functions
       cannot react fast enough to changing traffic conditions, then a
       traffic mapping system may rely on short time scale congestion
       control mechanisms (such as queue management, scheduling, etc.) to
       mitigate congestion.  Thus, mechanisms that perform the traffic
       mapping functions should complement existing congestion control
       mechanisms.  In an operational network, it is generally desirable to
       map the traffic onto the infrastructure such that intra-class and
       inter-class resource contention are minimized.</t>

    <t>When traffic mapping techniques that depend on dynamic state feedback
       (e.g., MATE and such like) are used, special care must be taken to
       guarantee network stability.</t>

  </section>

  <section anchor="MSRREC" title="Measurement Recommendations">

    <t>The importance of measurement in traffic engineering has been
       discussed throughout this document.  Mechanisms should be provided to
       measure and collect statistics from the network to support the
       traffic engineering function.  Additional capabilities may be needed
       to help in the analysis of the statistics.  The actions of these
       mechanisms should not adversely affect the accuracy and integrity of
       the statistics collected.  The mechanisms for statistical data
       acquisition should also be able to scale as the network evolves.</t>

    <t>Traffic statistics may be classified according to long-term or
       short-term timescales.  Long-term timescale traffic statistics are
       very useful for traffic engineering.  Long-term time scale traffic
       statistics may capture or reflect periodicity in network workload
       (such as hourly, daily, and weekly variations in traffic profiles) as
       well as traffic trends.  Aspects of the monitored traffic statistics
       may also depict class of service characteristics for a network
       supporting multiple classes of service.  Analysis of the long-term
       traffic statistics may yield secondary statistics such as busy hour
       characteristics, traffic growth patterns, persistent congestion
       problems, hot-spot, and imbalances in link utilization caused by
       routing anomalies.</t>

    <t>A mechanism for constructing traffic matrices for both long-term and
       short-term traffic statistics should be in place.  In multi-service
       IP networks, the traffic matrices may be constructed for different
       service classes.  Each element of a traffic matrix represents a
       statistic of traffic flow between a pair of abstract nodes.  An
       abstract node may represent a router, a collection of routers, or a
       site in a VPN.</t>

    <t>Measured traffic statistics should provide reasonable and reliable
       indicators of the current state of the network on the short-term
       scale.  Some short term traffic statistics may reflect link
       utilization and link congestion status.  Examples of congestion
       indicators include excessive packet delay, packet loss, and high
       resource utilization.  Examples of mechanisms for distributing this
       kind of information include SNMP, probing techniques, FTP, IGP link
       state advertisements, etc.</t>

  </section>

  <section anchor="SURVIVE" title="Network Survivability">

    <t>Network survivability refers to the capability of a network to
       maintain service continuity in the presence of faults.  This can be
       accomplished by promptly recovering from network impairments and
       maintaining the required QoS for existing services after recovery.
       Survivability has become an issue of great concern within the
       Internet community due to the increasing demands to carry mission
       critical traffic, real-time traffic, and other high priority traffic
       over the Internet.  Survivability can be addressed at the device
       level by developing network elements that are more reliable; and at
       the network level by incorporating redundancy into the architecture,
       design, and operation of networks.  It is recommended that a
       philosophy of robustness and survivability should be adopted in the
       architecture, design, and operation of traffic engineering that
       control IP networks (especially public IP networks).  Because
       different contexts may demand different levels of survivability, the
       mechanisms developed to support network survivability should be
       flexible so that they can be tailored to different needs.  A number
       of tools and techniques have been developed to enable network
       survivability including MPLS Fast Reroute <xref target="RFC4090" />,
       RSVP-TE Extensions in Support of End-to-End Generalized Multi-Protocol
       Label Switching (GMPLS) Recovery <xref target="RFC4872" />, and GMPLS
       Segment Recovery <xref target="RFC4873" />.</t>

    <t>Failure protection and restoration capabilities have become available
       from multiple layers as network technologies have continued to
       improve.  At the bottom of the layered stack, optical networks are
       now capable of providing dynamic ring and mesh restoration
       functionality at the wavelength level as well as traditional
       protection functionality.  At the SONET/SDH layer survivability
       capability is provided with Automatic Protection Switching (APS) as
       well as self-healing ring and mesh architectures.  Similar
       functionality is provided by layer 2 technologies such as ATM
       (generally with slower mean restoration times).  Rerouting is
       traditionally used at the IP layer to restore service following link
       and node outages.  Rerouting at the IP layer occurs after a period of
       routing convergence which may require seconds to minutes to complete.
       Some new developments in the MPLS context make it possible to achieve
       recovery at the IP layer prior to convergence <xref target="RFC3469"/>.</t>

    <t>To support advanced survivability requirements, path-oriented
       technologies such a MPLS can be used to enhance the survivability of
       IP networks in a potentially cost effective manner.  The advantages
       of path oriented technologies such as MPLS for IP restoration becomes
       even more evident when class based protection and restoration
       capabilities are required.</t>

    <t>Recently, a common suite of control plane protocols has been proposed
       for both MPLS and optical transport networks under the acronym
       Multi-protocol Lambda Switching <xref target="AWD1"/>.  This new paradigm
       of Multi-protocol Lambda Switching will support even more sophisticated
       mesh restoration capabilities at the optical layer for the emerging IP
       over WDM network architectures.</t>

    <t>Another important aspect regarding multi-layer survivability is that
       technologies at different layers provide protection and restoration
       capabilities at different temporal granularities (in terms of time
       scales) and at different bandwidth granularity (from packet-level to
       wavelength level).  Protection and restoration capabilities can also
       be sensitive to different service classes and different network
       utility models.</t>

    <t>The impact of service outages varies significantly for different
       service classes depending upon the effective duration of the outage.
       The duration of an outage can vary from milliseconds (with minor
       service impact) to seconds (with possible call drops for IP telephony
       and session time-outs for connection oriented transactions) to
       minutes and hours (with potentially considerable social and business
       impact).</t>

    <t>Coordinating different protection and restoration capabilities across
       multiple layers in a cohesive manner to ensure network survivability
       is maintained at reasonable cost is a challenging task.  Protection
       and restoration coordination across layers may not always be
       feasible, because networks at different layers may belong to
       different administrative domains.</t>

    <t>The following paragraphs present some of the general recommendations
       for protection and restoration coordination.</t>

    <t><list style="symbols">
         <t>Protection and restoration capabilities from different layers
            should be coordinated whenever feasible and appropriate to provide
            network survivability in a flexible and cost effective manner.
            Minimization of function duplication across layers is one way to
            achieve the coordination.  Escalation of alarms and other fault
            indicators from lower to higher layers may also be performed in a
            coordinated manner.  A temporal order of restoration trigger timing
            at different layers is another way to coordinate multi-layer
            protection/restoration.</t>
         <t>Spare capacity at higher layers is often regarded as working
            traffic at lower layers.  Placing protection/restoration functions in
            many layers may increase redundancy and robustness, but it should not
            result in significant and avoidable inefficiencies in network
            resource utilization.</t>
         <t>It is generally desirable to have protection and restoration
            schemes that are bandwidth efficient.</t>
         <t>Failure notification throughout the network should be timely and
            reliable.</t>
         <t>Alarms and other fault monitoring and reporting capabilities
            should be provided at appropriate layers.</t>
       </list></t>

    <section anchor="SRVMPLS" title="Survivability in MPLS Based Networks">

      <t>MPLS is an important emerging technology that enhances IP networks in
         terms of features, capabilities, and services.  Because MPLS is
         path-oriented, it can potentially provide faster and more predictable
         protection and restoration capabilities than conventional hop by hop
         routed IP systems.  This subsection describes some of the basic
         aspects and recommendations for MPLS networks regarding protection
         and restoration.  See <xref target="RFC3469"/> for a more comprehensive
         discussion on MPLS based recovery.</t>

      <t>Protection types for MPLS networks can be categorized as link
         protection, node protection, path protection, and segment protection.</t>

      <t><list style="symbols">
           <t>Link Protection: The objective for link protection is to protect
              an LSP from a given link failure.  Under link protection, the path
              of the protection or backup LSP (the secondary LSP) is disjoint
              from the path of the working or operational LSP at the particular
              link over which protection is required.  When the protected link
              fails, traffic on the working LSP is switched over to the
              protection LSP at the head-end of the failed link.  This is a
              local repair method which can be fast.  It might be more
              appropriate in situations where some network elements along a
              given path are less reliable than others.</t>
           <t>Node Protection: The objective of LSP node protection is to
              protect an LSP from a given node failure.  Under node protection,
              the path of the protection LSP is disjoint from the path of the
              working LSP at the particular node to be protected.  The secondary
              path is also disjoint from the primary path at all links
              associated with the node to be protected.  When the node fails,
              traffic on the working LSP is switched over to the protection LSP
              at the upstream LSR directly connected to the failed node.</t>
           <t>Path Protection: The goal of LSP path protection is to protect an
              LSP from failure at any point along its routed path.  Under path
              protection, the path of the protection LSP is completely disjoint
              from the path of the working LSP.  The advantage of path
              protection is that the backup LSP protects the working LSP from
              all possible link and node failures along the path, except for
              failures that might occur at the ingress and egress LSRs, or for
              correlated failures that might impact both working and backup
              paths simultaneously.  Additionally, since the path selection is
              end-to-end, path protection might be more efficient in terms of
              resource usage than link or node protection.  However, path
              protection may be slower than link and node protection in general.</t>
           <t>Segment Protection: An MPLS domain may be partitioned into
              multiple protection domains whereby a failure in a protection
              domain is rectified within that domain.  In cases where an LSP
              traverses multiple protection domains, a protection mechanism
              within a domain only needs to protect the segment of the LSP that
              lies within the domain.  Segment protection will generally be
              faster than path protection because recovery generally occurs
              closer to the fault.</t>
      </list></t>

    </section>

    <section anchor="PROTECT" title="Protection Option">

      <t>Another issue to consider is the concept of protection options.  The
         protection option uses the notation m:n protection, where m is the
         number of protection LSPs used to protect n working LSPs.  Feasible
         protection options follow.</t>

      <t><list style="symbols">
           <t>1:1: one working LSP is protected/restored by one protection LSP.</t>
           <t>1:n: one protection LSP is used to protect/restore n working LSPs.</t>
           <t>n:1: one working LSP is protected/restored by n protection LSPs,
              possibly with configurable load splitting ratio.  When more than
              one protection LSP is used, it may be desirable to share the
              traffic across the protection LSPs when the working LSP fails to
              satisfy the bandwidth requirement of the traffic trunk associated
              with the working LSP.  This may be especially useful when it is
              not feasible to find one path that can satisfy the bandwidth
              requirement of the primary LSP.</t>
           <t>1+1: traffic is sent concurrently on both the working LSP and the
              protection LSP.  In this case, the egress LSR selects one of the
              two LSPs based on a local traffic integrity decision process,
              which compares the traffic received from both the working and the
              protection LSP and identifies discrepancies.  It is unlikely that
              this option would be used extensively in IP networks due to its
              resource utilization inefficiency.  However, if bandwidth becomes
              plentiful and cheap, then this option might become quite viable
              and attractive in IP networks.</t>
      </list></t>

    </section>

  </section>

  <section anchor="TEDIFFSRV" title="Traffic Engineering in Diffserv Environments">

    <t>This section provides an overview of the traffic engineering features
       and recommendations that are specifically pertinent to Differentiated
       Services (Diffserv) <xref target="RFC2475"/> capable IP networks.</t>

    <t>Increasing requirements to support multiple classes of traffic, such
       as best effort and mission critical data, in the Internet calls for
       IP networks to differentiate traffic according to some criteria, and
       to accord preferential treatment to certain types of traffic.  Large
       numbers of flows can be aggregated into a few behavior aggregates
       based on some criteria in terms of common performance requirements in
       terms of packet loss ratio, delay, and jitter; or in terms of common
       fields within the IP packet headers.</t>

    <t>As Diffserv evolves and becomes deployed in operational networks,
       traffic engineering will be critical to ensuring that SLAs defined
       within a given Diffserv service model are met.  Classes of service
       (CoS) can be supported in a Diffserv environment by concatenating
       per-hop behaviors (PHBs) along the routing path, using service
       provisioning mechanisms, and by appropriately configuring edge
       functionality such as traffic classification, marking, policing, and
       shaping.  PHB is the forwarding behavior that a packet receives at a
       DS node (a Diffserv-compliant node).  This is accomplished by means
       of buffer management and packet scheduling mechanisms.  In this
       context, packets belonging to a class are those that are members of a
       corresponding ordering aggregate.</t>

    <t>Traffic engineering can be used as a compliment to Diffserv
       mechanisms to improve utilization of network resources, but not as a
       necessary element in general.  When traffic engineering is used, it
       can be operated on an aggregated basis across all service classes
       <xref target="RFC3270"/> or on a per service class basis.  The former is used to
       provide better distribution of the aggregate traffic load over the
       network resources.  (See <xref target="RFC3270"/> for detailed mechanisms to
       support aggregate traffic engineering.)  The latter case is discussed
       below since it is specific to the Diffserv environment, with so
       called Diffserv-aware traffic engineering <xref target="RFC4124"/>.</t>

    <t>For some Diffserv networks, it may be desirable to control the
       performance of some service classes by enforcing certain
       relationships between the traffic workload contributed by each
       service class and the amount of network resources allocated or
       provisioned for that service class.  Such relationships between
       demand and resource allocation can be enforced using a combination
       of, for example:
       <list style="symbols">
         <t>traffic engineering mechanisms on a per service class basis
            that enforce the desired relationship between the amount
            of traffic contributed by a given service class and the resources
            allocated to that class</t>
         <t>mechanisms that dynamically adjust the resources allocated to
            a given service class to relate to the amount of traffic
            contributed by that service class.</t>
       </list></t>

    <t>It may also be desirable to limit the performance impact of high
       priority traffic on relatively low priority traffic.  This can be
       achieved by, for example, controlling the percentage of high priority
       traffic that is routed through a given link.  Another way to
       accomplish this is to increase link capacities appropriately so that
       lower priority traffic can still enjoy adequate service quality.
       When the ratio of traffic workload contributed by different service
       classes vary significantly from router to router, it may not suffice
       to rely exclusively on conventional IGP routing protocols or on
       traffic engineering mechanisms that are insensitive to different
       service classes.  Instead, it may be desirable to perform traffic
       engineering, especially routing control and mapping functions, on a
       per service class basis.  One way to accomplish this in a domain that
       supports both MPLS and Diffserv is to define class specific LSPs and
       to map traffic from each class onto one or more LSPs that correspond
       to that service class.  An LSP corresponding to a given service class
       can then be routed and protected/restored in a class dependent
       manner, according to specific policies.</t>

    <t>Performing traffic engineering on a per class basis may require
       certain per-class parameters to be distributed.  Note that it is
       common to have some classes share some aggregate constraint (e.g.,
       maximum bandwidth requirement) without enforcing the constraint on
       each individual class.  These classes then can be grouped into a
       class-type and per-class-type parameters can be distributed instead
       to improve scalability.  It also allows better bandwidth sharing
       between classes in the same class-type.  A class-type is a set of
       classes that satisfy the following two conditions:

       <list style="symbols">

         <t>Classes in the same class-type have common aggregate requirements
            to satisfy required performance levels.</t>

         <t>There is no requirement to be enforced at the level of individual
            class in the class-type.  Note that it is still possible,
            nevertheless, to implement some priority policies for classes in the
            same class-type to permit preferential access to the class-type
            bandwidth through the use of preemption priorities.</t>

       </list></t>

    <t>An example of the class-type can be a low-loss class-type that
       includes both AF1-based and AF2-based Ordering Aggregates.  With such
       a class-type, one may implement some priority policy which assigns
       higher preemption priority to AF1-based traffic trunks over AF2-based
       ones, vice versa, or the same priority.</t>

    <t>See <xref target="RFC4124"/> for detailed requirements on Diffserv-aware
       traffic engineering.</t>

  </section>

  <section anchor="CONTROL" title="Network Controllability">

    <t>Off-line (and on-line) traffic engineering considerations would be of
       limited utility if the network could not be controlled effectively to
       implement the results of TE decisions and to achieve desired network
       performance objectives.  Capacity augmentation is a coarse grained
       solution to traffic engineering issues.  However, it is simple and
       may be advantageous if bandwidth is abundant and cheap or if the
       current or expected network workload demands it.  However, bandwidth
       is not always abundant and cheap, and the workload may not always
       demand additional capacity.  Adjustments of administrative weights
       and other parameters associated with routing protocols provide finer
       grained control, but is difficult to use and imprecise because of the
       routing interactions that occur across the network.  In certain
       network contexts, more flexible, finer grained approaches which
       provide more precise control over the mapping of traffic to routes
       and over the selection and placement of routes may be appropriate and
       useful.</t>

    <t>Control mechanisms can be manual (e.g., administrative
       configuration), partially-automated (e.g., scripts) or fully-
       automated (e.g., policy based management systems).  Automated
       mechanisms are particularly required in large scale networks.
       Multi-vendor interoperability can be facilitated by developing and
       deploying standardized management systems (e.g., standard MIBs) and
       policies (PIBs) to support the control functions required to address
       traffic engineering objectives such as load distribution and
       protection/restoration.</t>

    <t>Network control functions should be secure, reliable, and stable as
       these are often needed to operate correctly in times of network
       impairments (e.g., during network congestion or security attacks).</t>

  </section>

</section>

<section anchor="INTER" title="Inter-Domain Considerations">

  <t>Inter-domain traffic engineering is concerned with the performance
     optimization for traffic that originates in one administrative domain
     and terminates in a different one.</t>

  <t>Traffic exchange between autonomous systems in the Internet occurs
     through exterior gateway protocols.  Currently, BGP <xref target="RFC4271"/> is the
     standard exterior gateway protocol for the Internet.  BGP provides a
     number of attributes and capabilities (e.g., route filtering) that
     can be used for inter-domain traffic engineering.  More specifically,
     BGP permits the control of routing information and traffic exchange
     between Autonomous Systems (ASes) in the Internet.  BGP incorporates
     a sequential decision process which calculates the degree of
     preference for various routes to a given destination network.  There
     are two fundamental aspects to inter-domain traffic engineering using
     BGP:</t>

  <t><list style="symbols">
       <t>Route Redistribution: controlling the import and export of routes
          between AS&apos;s, and controlling the redistribution of routes between
          BGP and other protocols within an AS.</t>
       <t>Best path selection: selecting the best path when there are
          multiple candidate paths to a given destination network.  Best
          path selection is performed by the BGP decision process based on a
          sequential procedure, taking a number of different considerations
          into account.  Ultimately, best path selection under BGP boils
          down to selecting preferred exit points out of an AS towards
          specific destination networks.  The BGP path selection process can
          be influenced by manipulating the attributes associated with the
          BGP decision process.  These attributes include: NEXT-HOP, WEIGHT
          (Cisco proprietary which is also implemented by some other
          vendors), LOCAL-PREFERENCE, AS-PATH, ROUTE-ORIGIN, MULTI-EXIT-
          DESCRIMINATOR (MED), IGP METRIC, etc.</t>
     </list></t>

  <t>Route-maps provide the flexibility to implement complex BGP policies
     based on pre-configured logical conditions.  In particular, Route-
     maps can be used to control import and export policies for incoming
     and outgoing routes, control the redistribution of routes between BGP
     and other protocols, and influence the selection of best paths by
     manipulating the attributes associated with the BGP decision process.
     Very complex logical expressions that implement various types of
     policies can be implemented using a combination of Route-maps, BGP-
     attributes, Access-lists, and Community attributes.</t>

  <t>When looking at possible strategies for inter-domain TE with BGP, it
     must be noted that the outbound traffic exit point is controllable,
     whereas the interconnection point where inbound traffic is received
     from an EBGP peer typically is not, unless a special arrangement is
     made with the peer sending the traffic.  Therefore, it is up to each
     individual network to implement sound TE strategies that deal with
     the efficient delivery of outbound traffic from one&apos;s customers to
     one&apos;s peering points.  The vast majority of TE policy is based upon a
     "closest exit" strategy, which offloads interdomain traffic at the
     nearest outbound peer point towards the destination autonomous
     system.  Most methods of manipulating the point at which inbound
     traffic enters a network from an EBGP peer (inconsistent route
     announcements between peering points, AS pre-pending, and sending
     MEDs) are either ineffective, or not accepted in the peering
     community.</t>

  <t>Inter-domain TE with BGP is generally effective, but it is usually
     applied in a trial-and-error fashion.  A systematic approach for
     inter-domain traffic engineering is yet to be devised.</t>

  <t>Inter-domain TE is inherently more difficult than intra-domain TE
     under the current Internet architecture.  The reasons for this are
     both technical and administrative.  Technically, while topology and
     link state information are helpful for mapping traffic more
     effectively, BGP does not propagate such information across domain
     boundaries for stability and scalability reasons.  Administratively,
     there are differences in operating costs and network capacities
     between domains.  Generally, what may be considered a good solution
     in one domain may not necessarily be a good solution in another
     domain.  Moreover, it would generally be considered inadvisable for
     one domain to permit another domain to influence the routing and
     management of traffic in its network.</t>

  <t>MPLS TE-tunnels (explicit LSPs) can potentially add a degree of
     flexibility in the selection of exit points for inter-domain routing.
     The concept of relative and absolute metrics can be applied to this
     purpose.  The idea is that if BGP attributes are defined such that
     the BGP decision process depends on IGP metrics to select exit points
     for inter-domain traffic, then some inter-domain traffic destined to
     a given peer network can be made to prefer a specific exit point by
     establishing a TE-tunnel between the router making the selection to
     the peering point via a TE-tunnel and assigning the TE-tunnel a
     metric which is smaller than the IGP cost to all other peering
     points.  If a peer accepts and processes MEDs, then a similar MPLS
     TE-tunnel based scheme can be applied to cause certain entrance
     points to be preferred by setting MED to be an IGP cost, which has
     been modified by the tunnel metric.</t>

  <t>Similar to intra-domain TE, inter-domain TE is best accomplished when
     a traffic matrix can be derived to depict the volume of traffic from
     one autonomous system to another.</t>

  <t>Generally, redistribution of inter-domain traffic requires
     coordination between peering partners.  An export policy in one
     domain that results in load redistribution across peer points with
     another domain can significantly affect the local traffic matrix
     inside the domain of the peering partner.  This, in turn, will affect
     the intra-domain TE due to changes in the spatial distribution of
     traffic.  Therefore, it is mutually beneficial for peering partners
     to coordinate with each other before attempting any policy changes
     that may result in significant shifts in inter-domain traffic.  In
     certain contexts, this coordination can be quite challenging due to
     technical and non- technical reasons.</t>

  <t>It is a matter of speculation as to whether MPLS, or similar
     technologies, can be extended to allow selection of constrained paths
     across domain boundaries.</t>

</section>

<section anchor="PRACTICE" title="Overview of Contemporary TE Practices in Operational IP Networks">

  <t>This section provides an overview of some contemporary traffic
     engineering practices in IP networks.  The focus is primarily on the
     aspects that pertain to the control of the routing function in
     operational contexts.  The intent here is to provide an overview of
     the commonly used practices.  The discussion is not intended to be
     exhaustive.</t>

  <t>Currently, service providers apply many of the traffic engineering
     mechanisms discussed in this document to optimize the performance of
     their IP networks.  These techniques include capacity planning for
     long timescales, routing control using IGP metrics and MPLS for
     medium timescales, the overlay model also for medium timescales,
     and traffic management mechanisms for short timescale.</t>

  <t>When a service provider plans to build an IP network, or expand the
     capacity of an existing network, effective capacity planning should
     be an important component of the process.  Such plans may take the
     following aspects into account: location of new nodes if any,
     existing and predicted traffic patterns, costs, link capacity,
     topology, routing design, and survivability.</t>

  <t>Performance optimization of operational networks is usually an
     ongoing process in which traffic statistics, performance parameters,
     and fault indicators are continually collected from the network.
     This empirical data is then analyzed and used to trigger various
     traffic engineering mechanisms.  Tools that perform what-if analysis
     can also be used to assist the TE process by allowing various
     scenarios to be reviewed before a new set of configurations are
     implemented in the operational network.</t>

  <t>Traditionally, intra-domain real-time TE with IGP is done by
     increasing the OSPF or IS-IS metric of a congested link until enough
     traffic has been diverted from that link.  This approach has some
     limitations as discussed in <xref target="ROUTEREC"/>.  Recently, some
     new intra-domain TE approaches/tools have been proposed <xref target="RR94"/>
     <xref target="FT00"/> <xref target="FT01"/> <xref target="WANG"/>.  Such
     approaches/tools take traffic matrix, network topology, and network
     performance objectives as input, and produce some link metrics and
     possibly some unequal load-sharing ratios to be set at the head-end
     routers of some ECMPs as output.  These new progresses open new
     possibility for intra-domain TE with IGP to be done in a more systematic
     way.</t>

  <t>The overlay model (IP over ATM, or IP over Frame Relay) is another
     approach which was commonly used <xref target="AWD2"/>, but has been
     replaced by MPLS and router hardware technology.</t>

  <t>Deployment of MPLS for traffic engineering applications has commenced
     in some service provider networks.  One operational scenario is to
     deploy MPLS in conjunction with an IGP (IS-IS-TE or OSPF-TE) that
     supports the traffic engineering extensions, in conjunction with
     constraint-based routing for explicit route computations, and a
     signaling protocol (e.g., RSVP-TE) for LSP instantiation.</t>

  <t>In contemporary MPLS traffic engineering contexts, network
     administrators specify and configure link attributes and resource
     constraints such as maximum reservable bandwidth and resource class
     attributes for links (interfaces) within the MPLS domain.  A link
     state protocol that supports TE extensions (IS-IS-TE or OSPF-TE) is
     used to propagate information about network topology and link
     attribute to all routers in the routing area.  Network administrators
     also specify all the LSPs that are to originate each router.  For
     each LSP, the network administrator specifies the destination node
     and the attributes of the LSP which indicate the requirements that to
     be satisfied during the path selection process.  Each router then
     uses a local constraint-based routing process to compute explicit
     paths for all LSPs originating from it.  Subsequently, a signaling
     protocol is used to instantiate the LSPs.  By assigning proper
     bandwidth values to links and LSPs, congestion caused by uneven
     traffic distribution can generally be avoided or mitigated.</t>

  <t>The bandwidth attributes of LSPs used for traffic engineering can be
     updated periodically.  The basic concept is that the bandwidth
     assigned to an LSP should relate in some manner to the bandwidth
     requirements of traffic that actually flows through the LSP.  The
     traffic attribute of an LSP can be modified to accommodate traffic
     growth and persistent traffic shifts.  If network congestion occurs
     due to some unexpected events, existing LSPs can be rerouted to
     alleviate the situation or network administrator can configure new
     LSPs to divert some traffic to alternative paths.  The reservable
     bandwidth of the congested links can also be reduced to force some
     LSPs to be rerouted to other paths.</t>

  <t>In an MPLS domain, a traffic matrix can also be estimated by
     monitoring the traffic on LSPs.  Such traffic statistics can be used
     for a variety of purposes including network planning and network
     optimization.  Current practice suggests that deploying an MPLS
     network consisting of hundreds of routers and thousands of LSPs is
     feasible.  In summary, recent deployment experience suggests that
     MPLS approach is very effective for traffic engineering in IP
     networks <xref target="XIAO"/>.</t>

  <t>As mentioned previously in <xref target="INTER"/>, one usually has no direct
     control over the distribution of inbound traffic.  Therefore, the
     main goal of contemporary inter-domain TE is to optimize the
     distribution of outbound traffic between multiple inter-domain links.
     When operating a global network, maintaining the ability to operate
     the network in a regional fashion where desired, while continuing to
     take advantage of the benefits of a global network, also becomes an
     important objective.</t>

  <t>Inter-domain TE with BGP usually begins with the placement of
     multiple peering interconnection points in locations that have high
     peer density, are in close proximity to originating/terminating
     traffic locations on one&apos;s own network, and are lowest in cost.
     There are generally several locations in each region of the world
     where the vast majority of major networks congregate and
     interconnect.  Some location-decision problems that arise in
     association with inter-domain routing are discussed in <xref target="AWD5"/>.</t>

  <t>Once the locations of the interconnects are determined, and circuits
     are implemented, one decides how best to handle the routes heard from
     the peer, as well as how to propagate the peers&apos; routes within one&apos;s
     own network.  One way to engineer outbound traffic flows on a network
     with many EBGP peers is to create a hierarchy of peers.  Generally,
     the Local Preferences of all peers are set to the same value so that
     the shortest AS paths will be chosen to forward traffic.  Then, by
     over-writing the inbound MED metric (Multi-exit-discriminator metric,
     also referred to as "BGP metric".  Both terms are used
     interchangeably in this document) with BGP metrics to routes received
     at different peers, the hierarchy can be formed.  For example, all
     Local Preferences can be set to 200, preferred private peers can be
     assigned a BGP metric of 50, the rest of the private peers can be
     assigned a BGP metric of 100, and public peers can be assigned a BGP
     metric of 600.  "Preferred" peers might be defined as those peers
     with whom the most available capacity exists, whose customer base is
     larger in comparison to other peers, whose interconnection costs are
     the lowest, and with whom upgrading existing capacity is the easiest.
     In a network with low utilization at the edge, this works well.  The
     same concept could be applied to a network with higher edge
     utilization by creating more levels of BGP metrics between peers,
     allowing for more granularity in selecting the exit points for
     traffic bound for a dual homed customer on a peer&apos;s network.</t>

  <t>By only replacing inbound MED metrics with BGP metrics, only equal
     AS-Path length routes&apos; exit points are being changed.  (The BGP
     decision considers Local Preference first, then AS-Path length, and
     then BGP metric).  For example, assume a network has two possible
     egress points, peer A and peer B.  Each peer has 40% of the
     Internet&apos;s routes exclusively on its network, while the remaining 20%
     of the Internet&apos;s routes are from customers who dual home between A
     and B.  Assume that both peers have a Local Preference of 200 and a
     BGP metric of 100.  If the link to peer A is congested, increasing
     its BGP metric while leaving the Local Preference at 200 will ensure
     that the 20% of total routes belonging to dual homed customers will
     prefer peer B as the exit point.  The previous example would be used
     in a situation where all exit points to a given peer were close to
     congestion levels, and traffic needed to be shifted away from that
     peer entirely.</t>

  <t>When there are multiple exit points to a given peer, and only one of
     them is congested, it is not necessary to shift traffic away from the
     peer entirely, but only from the one congested circuit.  This can be
     achieved by using passive IGP-metrics, AS-path filtering, or prefix
     filtering.</t>

  <t>Occasionally, more drastic changes are needed, for example, in
     dealing with a "problem peer" who is difficult to work with on
     upgrades or is charging high prices for connectivity to their
     network.  In that case, the Local Preference to that peer can be
     reduced below the level of other peers.  This effectively reduces the
     amount of traffic sent to that peer to only originating traffic
     (assuming no transit providers are involved).  This type of change
     can affect a large amount of traffic, and is only used after other
     methods have failed to provide the desired results.</t>

  <t>Although it is not much of an issue in regional networks, the
     propagation of a peer&apos;s routes back through the network must be
     considered when a network is peering on a global scale.  Sometimes,
     business considerations can influence the choice of BGP policies in a
     given context.  For example, it may be imprudent, from a business
     perspective, to operate a global network and provide full access to
     the global customer base to a small network in a particular country.
     However, for the purpose of providing one&apos;s own customers with
     quality service in a particular region, good connectivity to that
     in-country network may still be necessary.  This can be achieved by
     assigning a set of communities at the edge of the network, which have
     a known behavior when routes tagged with those communities are
     propagating back through the core.  Routes heard from local peers
     will be prevented from propagating back to the global network,
     whereas routes learned from larger peers may be allowed to propagate
     freely throughout the entire global network.  By implementing a
     flexible community strategy, the benefits of using a single global AS
     Number (ASN) can be realized, while the benefits of operating
     regional networks can also be taken advantage of.  An alternative to
     doing this is to use different ASNs in different regions, with the
     consequence that the AS path length for routes announced by that
     service provider will increase.</t>

</section>

<section anchor="CONCLUDE" title="Conclusion">

  <t>This document described principles for traffic engineering in the
     Internet.  It presented an overview of some of the basic issues
     surrounding traffic engineering in IP networks.  The context of TE
     was described, a TE process models and a taxonomy of TE styles were
     presented.  A brief historical review of pertinent developments
     related to traffic engineering was provided.  A survey of
     contemporary TE techniques in operational networks was presented.
     Additionally, the document specified a set of generic requirements,
     recommendations, and options for Internet traffic engineering.</t>

</section>

<section anchor="SECURE" title="Security Considerations">

  <t>This document does not introduce new security issues.</t>

</section>

<section anchor="IANA" title="IANA Considerations">

  <t>This draft makes no requests for IANA action.</t>

</section>

<section anchor="ACKN" title="Acknowledgments">

  <t>Much of the text in this document is derived from RFC 3272.  The authors of this
     document would like to express their gratitude to all involved in that work.
     Although the source text has been edited in the production of this document, the
     orginal authors should be considered as Contributors to this work.  They were:</t>

  <figure><artwork><![CDATA[
   Daniel O. Awduche
   Movaz Networks
   7926 Jones Branch Drive, Suite 615
   McLean, VA 22102

   Phone: 703-298-5291
   EMail: awduche@movaz.com

   Angela Chiu
   Celion Networks
   1 Sheila Dr., Suite 2
   Tinton Falls, NJ 07724

   Phone: 732-747-9987
   EMail: angela.chiu@celion.com

   Anwar Elwalid
   Lucent Technologies
   Murray Hill, NJ 07974

   Phone: 908 582-7589
   EMail: anwar@lucent.com

   Indra Widjaja
   Bell Labs, Lucent Technologies
   600 Mountain Avenue
   Murray Hill, NJ 07974

   Phone: 908 582-0435
   EMail: iwidjaja@research.bell-labs.com

   XiPeng Xiao
   Redback Networks
   300 Holger Way
   San Jose, CA 95134

   Phone: 408-750-5217
   EMail: xipeng@redback.com
  ]]></artwork></figure>

  <t>The acknowledgements in RFC3272 were as below.  All people who helped
     in the production of that document also need to be thanked for the
     carry-over into this new document.</t>

  <figure><artwork><![CDATA[
   The authors would like to thank Jim Boyle for inputs on the
   recommendations section, Francois Le Faucheur for inputs on
   Diffserv aspects, Blaine Christian for inputs on measurement,
   Gerald Ash for inputs on routing in telephone networks and for
   text on event-dependent TE methods, Steven Wright for inputs
   on network controllability, and Jonathan Aufderheide for
   inputs on inter-domain TE with BGP.  Special thanks to
   Randy Bush for proposing the TE taxonomy based on "tactical versus
   strategic" methods.  The subsection describing an "Overview of
   ITU Activities Related to Traffic Engineering" was adapted from
   a contribution by Waisum Lai.  Useful feedback and pointers to
   relevant materials were provided by J. Noel Chiappa.
   Additional comments were provided by Glenn Grotefeld during
   the working last call process.  Finally, the authors would like
   to thank Ed Kern, the TEWG co-chair, for his comments and
   support.
  ]]></artwork></figure>

  <t>The early versions of this document were produced by the TEAS Working Group&apos;s
     RFC3272bis Design Team.  The full list of members of this team is:</t>

  <figure><artwork><![CDATA[
    Acee Lindem
    Adrian Farrel
    Aijun Wang
    Daniele Ceccarelli
    Dieter Beller
    Jeff Tantsura
    Julien Meuric
    Liu Hua
    Loa Andersson
    Luis Miguel Contreras
    Martin Horneffer
    Tarek Saad
    Xufeng Liu
  ]]></artwork></figure>

  <t>The production of this document includes a fix to the original text
     resulting from an Errata Report by Jean-Michel Grimaldi.</t>

  <t>The authors of this document would also like to thank Dhurv Dhody for review comments.</t>

</section>

<section anchor="CONTRIB" title="Contributors">

  <t>The following people contributed substantive text to this document:</t>

  <figure><artwork><![CDATA[
    Gert Grammel
    EMail: ggrammel@juniper.net

    Loa Andersson
    EMail: loa@pi.nu

    Xufeng Liu
    EMail: xufeng.liu.ietf@gmail.com

    Lou Berger
    EMail: lberger@labn.net

    Jeff Tantsura
    EMail: jefftant.ietf@gmail.com
  ]]></artwork></figure>

</section>

</middle>

<back>

<references title='Informative References'>

  &RFC0791;
  &RFC1102;
  &RFC1104;
  &RFC1992;
  &RFC2205;
  &RFC2328;
  &RFC2330;
  &RFC2386;
  &RFC2474;
  &RFC2475;
  &RFC2597;
  &RFC2678;
  &RFC2702;
  &RFC2722;
  &RFC2753;
  &RFC2961;
  &RFC2998;
  &RFC3031;
  &RFC3086;
  &RFC3124;
  &RFC3209;
  &RFC3270;
  &RFC3272;
  &RFC3469;
  &RFC3630;
  &RFC3945;
  &RFC4090;
  &RFC4124;
  &RFC4203;
  &RFC4271;
  &RFC4594;
  &RFC4655;
  &RFC4872;
  &RFC4873;
  &RFC5305;
  &RFC5331;
  &RFC5394;
  &RFC5440;
  &RFC6119;
  &RFC6241;
  &RFC6374;
  &RFC6805;
  &RFC7149;
  &RFC7390;
  &RFC7471;
  &RFC7679;
  &RFC7680;
  &RFC7752;
  &RFC7923;
  &RFC7950;
  &RFC8040;
  &RFC8051;
  &RFC8231;
  &RFC8281;
  &RFC8283;
  &RFC8402;
  &RFC8453;
  &RFC8570;
  &RFC8571;
  &RFC8661;
  &RFC8795;

  <?rfc include="reference.I-D.ietf-idr-rfc5575bis"?>
  <?rfc include="reference.I-D.ietf-tewg-qos-routing"?>

  <reference anchor="AJ19" >
    <front>
      <title>Data mining approach for predicting the daily Internet data
             traffic of a smart university</title>
      <author initials="A." surname="Adekitan" fullname="A. Adekitan">
        <organization></organization>
      </author>
      <author initials="J." surname="Abolade" fullname="J. Abolade">
        <organization></organization>
      </author>
      <author initials="O." surname="Shobayo" fullname="O. Shobayo">
        <organization></organization>
      </author>
      <date year="1998"/>
    </front>
    <seriesInfo name="Article" value="Journal of Big Data, 2019, Volume 6, Number 1, Page 1"/>
  </reference>

  <reference anchor="ASH2" >
    <front>
      <title>Dynamic Routing in Telecommunications Networks</title>
      <author initials="J." surname="Ash" fullname="Gerald Ash">
        <organization></organization>
      </author>
      <date year="1998"/>
    </front>
    <seriesInfo name="Book" value="McGraw Hill"/>
  </reference>

  <reference anchor="AWD1" >
    <front>
      <title>Multiprocotol Lambda Switching - Combining MPLS Traffic Engineering Control with Optical Crossconnects</title>
      <author initials="D." surname="Awduche" fullname="Daniel Awduche">
        <organization></organization>
      </author>
      <author initials="Y." surname="Rekhter" fullname="Yakov Rejhter">
        <organization></organization>
      </author>
      <date year="2001" month="March"/>
    </front>
    <seriesInfo name="Article" value="IEEE Communications Magazine"/>
  </reference>

  <reference anchor="AWD2" >
    <front>
      <title>MPLS and Traffic Engineering in IP Networks</title>
      <author initials="D." surname="Awduche" fullname="Daniel Awduche">
        <organization></organization>
      </author>
      <date year="1999" month="December"/>
    </front>
    <seriesInfo name="Article" value="IEEE Communications Magazine"/>
  </reference>

  <reference anchor="AWD5" >
    <front>
      <title>An Approach to Optimal Peering Between Autonomous Systems in the Internet</title>
      <author initials="D." surname="Awduche" fullname="Daniel Awduche">
        <organization></organization>
      </author>
      <date year="1998" month="October"/>
    </front>
    <seriesInfo name="Paper" value="International Conference on Computer Communications and Networks (ICCCN'98)"/>
  </reference>

  <reference anchor="FLJA93" >
    <front>
      <title>Random Early Detection Gateways for Congestion Avoidance</title>
      <author initials="S." surname="Floyd">
        <organization></organization>
      </author>
      <author initials="V." surname="Jacobson">
        <organization></organization>
      </author>
      <date year="1993" month="November"/>
    </front>
    <seriesInfo name="Article" value="IEEE/ACM Transactions on Networking, Vol. 1, p. 387-413"/>
  </reference>

  <reference anchor="FLOY94" >
    <front>
      <title>TCP and Explicit Congestion Notification</title>
      <author initials="S." surname="Floyd">
        <organization></organization>
      </author>
      <date year="1994" month="October"/>
    </front>
    <seriesInfo name="Article" value="ACM Computer Communication Review, V. 24, No. 5, p. 10-23"/>
  </reference>

  <reference anchor="FT00" >
    <front>
      <title>Internet Traffic Engineering by Optimizing OSPF Weights</title>
      <author initials="B." surname="Fortz">
        <organization></organization>
      </author>
      <author initials="M." surname="Thorup">
        <organization></organization>
      </author>
      <date year="2000" month="March"/>
    </front>
    <seriesInfo name="Article" value="IEEE INFOCOM 2000"/>
  </reference>

  <reference anchor="FT01" target="http://www.research.att.com/~mthorup/PAPERS/papers.html">
    <front>
      <title>Optimizing OSPF/IS-IS Weights in a Changing World</title>
      <author initials="B." surname="Fortz">
        <organization></organization>
      </author>
      <author initials="M." surname="Thorup">
        <organization></organization>
      </author>
      <date year="n.d."/>
    </front>
  </reference>

  <reference anchor="HUSS87" >
    <front>
      <title>A Survey of Dynamic Routing Methods for Circuit-Switched Traffic</title>
      <author initials="B.R." surname="Hurley">
        <organization></organization>
      </author>
      <author initials="C.J.R." surname="Seidl">
        <organization></organization>
      </author>
      <author initials="W.F." surname="Sewel">
        <organization></organization>
      </author>
      <date year="1987" month="September"/>
    </front>
    <seriesInfo name="Article" value="IEEE Communication Magazine"/>
  </reference>

  <reference anchor="ITU-E600" >
    <front>
      <title>Terms and Definitions of Traffic Engineering</title>
      <author >
        <organization></organization>
      </author>
      <date year="1993" month="March"/>
    </front>
    <seriesInfo name="Recommendation" value="ITU-T Recommendation E.600"/>
  </reference>

  <reference anchor="ITU-E701" >
    <front>
      <title>Reference Connections for Traffic Engineering</title>
      <author >
        <organization></organization>
      </author>
      <date year="1993" month="October"/>
    </front>
    <seriesInfo name="Recommendation" value="ITU-T Recommendation E.701"/>
  </reference>

  <reference anchor="ITU-E801" >
    <front>
      <title>Framework for Service Quality Agreement</title>
      <author >
        <organization></organization>
      </author>
      <date year="1996" month="October"/>
    </front>
    <seriesInfo name="Recommendation" value="ITU-T Recommendation E.801"/>
  </reference>

  <reference anchor="MA" >
    <front>
      <title>Quality of Service Routing in Integrated Services Networks</title>
      <author initials="Q." surname="Ma">
        <organization></organization>
      </author>
      <date year="1998"/>
    </front>
    <seriesInfo name="Ph.D." value="PhD Dissertation, CMU-CS-98-138, CMU"/>
  </reference>

  <reference anchor="MATE" >
    <front>
      <title>MATE - MPLS Adaptive Traffic Engineering</title>
      <author initials="A." surname="Elwalid">
        <organization></organization>
      </author>
      <author initials="C." surname="Jin">
        <organization></organization>
      </author>
      <author initials="S." surname="Low">
        <organization></organization>
      </author>
      <author initials="I." surname="Widjaja">
        <organization></organization>
      </author>
      <date year="2001" month="April"/>
    </front>
    <seriesInfo name="Proceedings" value="INFOCOM'01"/>
  </reference>

  <reference anchor="MCQ80" >
    <front>
      <title>The New Routing Algorithm for the ARPANET</title>
      <author initials="J.M." surname="McQuillan">
        <organization></organization>
      </author>
      <author initials="I." surname="Richer">
        <organization></organization>
      </author>
      <author initials="E.C." surname="Rosen">
        <organization></organization>
      </author>
      <date year="1980" month="May"/>
    </front>
    <seriesInfo name="Transaction" value="IEEE Transactions on Communications, vol. 28, no. 5, p. 711-719"/>
  </reference>

  <reference anchor="MR99" >
    <front>
      <title>A Case Study of Multiservice, Multipriority Traffic Engineering Design for Data Networks</title>
      <author initials="D." surname="Mitra">
        <organization></organization>
      </author>
      <author initials="K.G." surname="Ramakrishnan">
        <organization></organization>
      </author>
      <date year="1999" month="December"/>
    </front>
    <seriesInfo name="Proceedings" value="Globecom'99"/>
  </reference>

  <reference anchor="RR94" >
    <front>
      <title>Optimal Routing in Shortest Path Networks</title>
      <author initials="M.A." surname="Rodrigues">
        <organization></organization>
      </author>
      <author initials="K.G." surname="Ramakrishnan">
        <organization></organization>
      </author>
      <date year="1994"/>
    </front>
    <seriesInfo name="Proceedings" value="ITS'94, Rio de Janeiro, Brazil"/>
  </reference>

  <reference anchor="SLDC98" >
    <front>
      <title>Design Considerations for Supporting TCP with Per-flow Queueing</title>
      <author initials="B." surname="Suter">
        <organization></organization>
      </author>
      <author initials="T." surname="Lakshman">
        <organization></organization>
      </author>
      <author initials="D." surname="Stiliadis">
        <organization></organization>
      </author>
      <author initials="A." surname="Choudhury">
        <organization></organization>
      </author>
      <date year="1998"/>
    </front>
    <seriesInfo name="Proceedings" value="INFOCOM'98, p. 299-306"/>
  </reference>

  <reference anchor="WANG" >
    <front>
      <title>Internet traffic engineering without full mesh overlaying</title>
      <author initials="Y." surname="Wang">
        <organization></organization>
      </author>
      <author initials="Z." surname="Wang">
        <organization></organization>
      </author>
      <author initials="L." surname="Zhang">
        <organization></organization>
      </author>
      <date year="2001" month="April"/>
    </front>
    <seriesInfo name="Proceedings" value="INFOCOM'2001"/>
  </reference>

  <reference anchor="XIAO" >
    <front>
      <title>Traffic Engineering with MPLS in the Internet</title>
      <author initials="X." surname="Xiao">
        <organization></organization>
      </author>
      <author initials="A." surname="Hannan">
        <organization></organization>
      </author>
      <author initials="B." surname="Bailey">
        <organization></organization>
      </author>
      <author initials="L." surname="Ni">
        <organization></organization>
      </author>
      <date year="2000" month="March"/>
    </front>
    <seriesInfo name="Article" value="IEEE Network Magazine"/>
  </reference>

  <reference anchor="YARE95" >
    <front>
      <title>A Taxonomy for Congestion Control Algorithms in Packet Switching Networks</title>
      <author initials="C." surname="Yang">
        <organization></organization>
      </author>
      <author initials="A." surname="Reddy">
        <organization></organization>
      </author>
      <date year="1995"/>
    </front>
    <seriesInfo name="Article" value="IEEE Network Magazine, p. 34-45"/>
  </reference>

</references>

<section anchor="HIST" title="Historic Overview">

  <section anchor="POTS" title="Traffic Engineering in Classical Telephone Networks">

    <t>This subsection presents a brief overview of traffic engineering in
       telephone networks which often relates to the way user traffic is
       steered from an originating node to the terminating node.  This
       subsection presents a brief overview of this topic.  A detailed
       description of the various routing strategies applied in telephone
       networks is included in the book by G. Ash <xref target="ASH2"/>.</t>

    <t>The early telephone network relied on static hierarchical routing,
       whereby routing patterns remained fixed independent of the state of
       the network or time of day.  The hierarchy was intended to
       accommodate overflow traffic, improve network reliability via
       alternate routes, and prevent call looping by employing strict
       hierarchical rules.  The network was typically over-provisioned since
       a given fixed route had to be dimensioned so that it could carry user
       traffic during a busy hour of any busy day.  Hierarchical routing in
       the telephony network was found to be too rigid upon the advent of
       digital switches and stored program control which were able to manage
       more complicated traffic engineering rules.</t>

    <t>Dynamic routing was introduced to alleviate the routing inflexibility
       in the static hierarchical routing so that the network would operate
       more efficiently.  This resulted in significant economic gains
       <xref target="HUSS87"/>.  Dynamic routing typically reduces the overall loss
       probability by 10 to 20 percent (compared to static hierarchical
       routing).  Dynamic routing can also improve network resilience by
       recalculating routes on a per-call basis and periodically updating
       routes.</t>

    <t>There are three main types of dynamic routing in the telephone
       network.  They are time-dependent routing, state-dependent routing
       (SDR), and event dependent routing (EDR).</t>

    <t>In time-dependent routing, regular variations in traffic loads (such
       as time of day or day of week) are exploited in pre-planned routing
       tables.  In state-dependent routing, routing tables are updated
       online according to the current state of the network (e.g., traffic
       demand, utilization, etc.).  In event dependent routing, routing
       changes are incepted by events (such as call setups encountering
       congested or blocked links) whereupon new paths are searched out
       using learning models.  EDR methods are real-time adaptive, but they
       do not require global state information as does SDR.  Examples of EDR
       schemes include the dynamic alternate routing (DAR) from BT, the
       state-and-time dependent routing (STR) from NTT, and the success-to-
       the-top (STT) routing from AT&amp;T.</t>

    <t>Dynamic non-hierarchical routing (DNHR) is an example of dynamic
       routing that was introduced in the AT&amp;T toll network in the 1980&apos;s to
       respond to time-dependent information such as regular load variations
       as a function of time.  Time-dependent information in terms of load
       may be divided into three timescales: hourly, weekly, and yearly.
       Correspondingly, three algorithms are defined to pre-plan the routing
       tables.  The network design algorithm operates over a year-long
       interval while the demand servicing algorithm operates on a weekly
       basis to fine tune link sizes and routing tables to correct forecast
       errors on the yearly basis.  At the smallest timescale, the routing
       algorithm is used to make limited adjustments based on daily traffic
       variations.  Network design and demand servicing are computed using
       offline calculations.  Typically, the calculations require extensive
       searches on possible routes.  On the other hand, routing may need
       online calculations to handle crankback.  DNHR adopts a "two-link"
       approach whereby a path can consist of two links at most.  The
       routing algorithm presents an ordered list of route choices between
       an originating switch and a terminating switch.  If a call overflows,
       a via switch (a tandem exchange between the originating switch and
       the terminating switch) would send a crankback signal to the
       originating switch.  This switch would then select the next route,
       and so on, until there are no alternative routes available in which
       the call is blocked.</t>

  </section>

  <section anchor="EVOLVE" title="Evolution of Traffic Engineering in Packet Networks">

    <t>This subsection reviews related prior work that was intended to
       improve the performance of data networks.  Indeed, optimization of
       the performance of data networks started in the early days of the
       ARPANET.  Other early commercial networks such as SNA also recognized
       the importance of performance optimization and service
       differentiation.</t>

    <t>In terms of traffic management, the Internet has been a best effort
       service environment until recently.  In particular, very limited
       traffic management capabilities existed in IP networks to provide
       differentiated queue management and scheduling services to packets
       belonging to different classes.</t>

    <t>In terms of routing control, the Internet has employed distributed
       protocols for intra-domain routing.  These protocols are highly
       scalable and resilient.  However, they are based on simple algorithms
       for path selection which have very limited functionality to allow
       flexible control of the path selection process.</t>

    <t>In the following subsections, the evolution of practical traffic
       engineering mechanisms in IP networks and its predecessors are
       reviewed.</t>

    <section anchor="ARPANET" title="Adaptive Routing in the ARPANET">

      <t>The early ARPANET recognized the importance of adaptive routing where
         routing decisions were based on the current state of the network
         <xref target="MCQ80"/>.  Early minimum delay routing approaches forwarded each
         packet to its destination along a path for which the total estimated
         transit time was the smallest.  Each node maintained a table of
         network delays, representing the estimated delay that a packet would
         experience along a given path toward its destination.  The minimum
         delay table was periodically transmitted by a node to its neighbors.
         The shortest path, in terms of hop count, was also propagated to give
         the connectivity information.</t>

      <t>One drawback to this approach is that dynamic link metrics tend to
         create "traffic magnets" causing congestion to be shifted from one
         location of a network to another location, resulting in oscillation
         and network instability.</t>

    </section>

    <section anchor="DYNAMIC" title="Dynamic Routing in the Internet">

      <t>The Internet evolved from the ARPANET and adopted dynamic routing
         algorithms with distributed control to determine the paths that
         packets should take en-route to their destinations.  The routing
         algorithms are adaptations of shortest path algorithms where costs
         are based on link metrics.  The link metric can be based on static or
         dynamic quantities.  The link metric based on static quantities may
         be assigned administratively according to local criteria.  The link
         metric based on dynamic quantities may be a function of a network
         congestion measure such as delay or packet loss.</t>

      <t>It was apparent early that static link metric assignment was
         inadequate because it can easily lead to unfavorable scenarios in
         which some links become congested while others remain lightly loaded.
         One of the many reasons for the inadequacy of static link metrics is
         that link metric assignment was often done without considering the
         traffic matrix in the network.  Also, the routing protocols did not
         take traffic attributes and capacity constraints into account when
         making routing decisions.  This results in traffic concentration
         being localized in subsets of the network infrastructure and
         potentially causing congestion.  Even if link metrics are assigned in
         accordance with the traffic matrix, unbalanced loads in the network
         can still occur due to a number factors including:</t>

      <t><list style="symbols">
           <t>Resources may not be deployed in the most optimal locations
              from a routing perspective.</t>
           <t>Forecasting errors in traffic volume and/or traffic
              distribution.</t>
           <t>Dynamics in traffic matrix due to the temporal nature of
              traffic patterns, BGP policy change from peers, etc.</t>
         </list></t>

      <t>The inadequacy of the legacy Internet interior gateway routing system
         is one of the factors motivating the interest in path oriented
         technology with explicit routing and constraint-based routing
         capability such as MPLS.</t>

    </section>

    <section anchor="TOS" title="ToS Routing">

      <t>Type-of-Service (ToS) routing involves different routes going to the
         same destination with selection dependent upon the ToS field of an IP
         packet <xref target="RFC2474"/>.  The ToS classes may be classified as low delay
         and high throughput.  Each link is associated with multiple link
         costs and each link cost is used to compute routes for a particular
         ToS.  A separate shortest path tree is computed for each ToS.  The
         shortest path algorithm must be run for each ToS resulting in very
         expensive computation.  Classical ToS-based routing is now outdated
         as the IP header field has been replaced by a Diffserv field.
         Effective traffic engineering is difficult to perform in classical
         ToS-based routing because each class still relies exclusively on
         shortest path routing which results in localization of traffic
         concentration within the network.</t>

    </section>

    <section anchor="ECMP" title="Equal Cost Multi-Path">

       <t>Equal Cost Multi-Path (ECMP) is another technique that attempts to
          address the deficiency in the Shortest Path First (SPF) interior
          gateway routing systems <xref target="RFC2328"/>.  In the classical SPF algorithm,
          if two or more shortest paths exist to a given destination, the
          algorithm will choose one of them.  The algorithm is modified
          slightly in ECMP so that if two or more equal cost shortest paths
          exist between two nodes, the traffic between the nodes is distributed
          among the multiple equal-cost paths.  Traffic distribution across the
          equal-cost paths is usually performed in one of two ways: (1)
          packet-based in a round-robin fashion, or (2) flow-based using
          hashing on source and destination IP addresses and possibly other
          fields of the IP header.  The first approach can easily cause out-
          of-order packets while the second approach is dependent upon the
          number and distribution of flows.  Flow-based load sharing may be
          unpredictable in an enterprise network where the number of flows is
          relatively small and less heterogeneous (for example, hashing may not
          be uniform), but it is generally effective in core public networks
          where the number of flows is large and heterogeneous.</t>

       <t>In ECMP, link costs are static and bandwidth constraints are not
          considered, so ECMP attempts to distribute the traffic as equally as
          possible among the equal-cost paths independent of the congestion
          status of each path.  As a result, given two equal-cost paths, it is
          possible that one of the paths will be more congested than the other.
          Another drawback of ECMP is that load sharing cannot be achieved on
          multiple paths which have non-identical costs.</t>

    </section>

    <section anchor="NIMROD" title="Nimrod">

      <t>Nimrod was a routing system developed to provide heterogeneous service
         specific routing in the Internet, while taking multiple constraints
         into account <xref target="RFC1992"/>.  Essentially, Nimrod was a link
         state routing protocol to support path oriented packet forwarding.
         It used the concept of maps to represent network connectivity and
         services at multiple levels of abstraction.  Mechanisms allowed
         restriction of the distribution of routing information.</t>

      <t>Even though Nimrod did not enjoy deployment in the public Internet, a
         number of key concepts incorporated into the Nimrod architecture,
         such as explicit routing which allows selection of paths at
         originating nodes, are beginning to find applications in some recent
         constraint-based routing initiatives.</t>

    </section>

  </section>

  <section anchor="DEV" title="Development of Internet Traffic Engineering">

    <section anchor="OVERLAY" title="Overlay Model">

      <t>In the overlay model, a virtual-circuit network, such as Sonet/SDH,
         OTN, or WDM, provides virtual-circuit connectivity between routers
         that are located at the edges of a virtual-circuit cloud.  In this
         mode, two routers that are connected through a virtual circuit see a
         direct adjacency between themselves independent of the physical route
         taken by the virtual circuit through the ATM, frame relay, or WDM
         network.  Thus, the overlay model essentially decouples the logical
         topology that routers see from the physical topology that the ATM,
         frame relay, or WDM network manages.  The overlay model based on ATM
         or frame relay enables a network administrator or an automaton to
         employ traffic engineering concepts to perform path optimization by
         re-configuring or rearranging the virtual circuits so that a virtual
         circuit on a congested or sub-optimal physical link can be re-routed
         to a less congested or more optimal one.  In the overlay model,
         traffic engineering is also employed to establish relationships
         between the traffic management parameters (e.g., PCR, SCR, and MBS
         for ATM) of the virtual-circuit technology and the actual traffic
         that traverses each circuit.  These relationships can be established
         based upon known or projected traffic profiles, and some other
         factors.</t>

    </section>

  </section>

</section>

<section anchor="SDO" title="Overview of Traffic Engineering Related Work in Other SDOs">

  <section anchor="ITU" title="Overview of ITU Activities Related to Traffic Engineering">

    <t>This section provides an overview of prior work within the ITU-T
       pertaining to traffic engineering in traditional telecommunications
       networks.</t>

    <t>ITU-T Recommendations E.600 <xref target="ITU-E600"/>, E.701 <xref target="ITU-E701"/>, and E.801
       <xref target="ITU-E801"/> address traffic engineering issues in traditional
       telecommunications networks.  Recommendation E.600 provides a
       vocabulary for describing traffic engineering concepts, while E.701
       defines reference connections, Grade of Service (GOS), and traffic
       parameters for ISDN.  Recommendation E.701 uses the concept of a
       reference connection to identify representative cases of different
       types of connections without describing the specifics of their actual
       realizations by different physical means.  As defined in
       Recommendation E.600, "a connection is an association of resources
       providing means for communication between two or more devices in, or
       attached to, a telecommunication network."  Also, E.600 defines "a
       resource as any set of physically or conceptually identifiable
       entities within a telecommunication network, the use of which can be
       unambiguously determined" <xref target="ITU-E600"/>.  There can be different types
       of connections as the number and types of resources in a connection
       may vary.</t>

    <t>Typically, different network segments are involved in the path of a
       connection.  For example, a connection may be local, national, or
       international.  The purposes of reference connections are to clarify
       and specify traffic performance issues at various interfaces between
       different network domains.  Each domain may consist of one or more
       service provider networks.</t>

    <t>Reference connections provide a basis to define grade of service
       (GoS) parameters related to traffic engineering within the ITU-T
       framework.  As defined in E.600, "GoS refers to a number of traffic
       engineering variables which are used to provide a measure of the
       adequacy of a group of resources under specified conditions."  These
       GoS variables may be probability of loss, dial tone, delay, etc.
       They are essential for network internal design and operation as well
       as for component performance specification.</t>

    <t>GoS is different from quality of service (QoS) in the ITU framework.
       QoS is the performance perceivable by a telecommunication service
       user and expresses the user&apos;s degree of satisfaction of the service.
       QoS parameters focus on performance aspects observable at the service
       access points and network interfaces, rather than their causes within
       the network.  GoS, on the other hand, is a set of network oriented
       measures which characterize the adequacy of a group of resources
       under specified conditions.  For a network to be effective in serving
       its users, the values of both GoS and QoS parameters must be related,
       with GoS parameters typically making a major contribution to the QoS.</t>

    <t>Recommendation E.600 stipulates that a set of GoS parameters must be
       selected and defined on an end-to-end basis for each major service
       category provided by a network to assist the network provider with
       improving efficiency and effectiveness of the network.  Based on a
       selected set of reference connections, suitable target values are
       assigned to the selected GoS parameters under normal and high load
       conditions.  These end-to-end GoS target values are then apportioned
       to individual resource components of the reference connections for
       dimensioning purposes.</t>

  </section>

</section>

<section anchor="CHANGES" title="Summary of Changes Since RFC 3272">

  <t>This section is a place-holder.  It is expected that once work on this
     document is nearly complete, this section will be updated to provide an
     overview of the structural and substantive changed from RFC 3272.</t>

</section>

</back>

</rfc>
