<?xml version="1.0" encoding="UTF-8"?>
  <?xml-stylesheet type="text/xsl" href="rfc2629.xslt" ?>
  <!-- generated by https://github.com/cabo/kramdown-rfc version 1.7.29 (Ruby 2.6.10) -->


<!DOCTYPE rfc  [
  <!ENTITY nbsp    "&#160;">
  <!ENTITY zwsp   "&#8203;">
  <!ENTITY nbhy   "&#8209;">
  <!ENTITY wj     "&#8288;">

]>


<rfc ipr="trust200902" docName="draft-kompella-teas-mpte-02" category="std" consensus="true" submissionType="IETF" tocInclude="true" sortRefs="true" symRefs="true">
  <front>
    <title abbrev="MPTE">Multipath Traffic Engineering</title>

    <author initials="K." surname="Kompella" fullname="Kireeti Kompella">
      <organization>HPE</organization>
      <address>
        <postal>
          <city>Sunnyvale</city>
          <region>California</region>
          <code>94089</code>
          <country>United States of America</country>
        </postal>
        <email>kireeti.ietf@gmail.com</email>
      </address>
    </author>
    <author initials="L." surname="Jalil" fullname="Luay Jalil">
      <organization>Verizon</organization>
      <address>
        <postal>
          <city>Richardson</city>
          <region>Texas</region>
          <code>75081</code>
          <country>United States of America</country>
        </postal>
        <email>luay.jalil@verizon.com</email>
      </address>
    </author>
    <author initials="M." surname="Khaddam" fullname="Mazen Khaddam">
      <organization>Cox Communications</organization>
      <address>
        <postal>
          <city>Atlanta</city>
          <region>Georgia</region>
          <code>30328</code>
          <country>United States of America</country>
        </postal>
        <email>mazen.khaddam@cox.com</email>
      </address>
    </author>
    <author initials="A. J." surname="Smith" fullname="Andy J. Smith">
      <organization>Arrcus, Inc.</organization>
      <address>
        <postal>
          <city>Philadelphia</city>
          <region>Pennsylvania</region>
          <code>19104</code>
          <country>United States of America</country>
        </postal>
        <email>andy@arrcus.com</email>
      </address>
    </author>

    <date year="2026"/>

    <area>Routing</area>
    <workgroup>TEAS WG</workgroup>
    <keyword>multipath, traffic engineering</keyword>

    <abstract>


<?line 65?>

<t>Shortest path routing offers an easy-to-understand, easy-to-implement method of establishing loop-free connectivity in a network, but offers few other features. Equal-cost multipath (ECMP), a simple extension, uses multiple equal-cost paths between any two points in a network: at any node in a path (really, Directed Acyclic Graph), traffic can be (typically equally) load-balanced among the next hops. ECMP is easy to add on to shortest path routing, and offers a few more features, such as resiliency and load distribution, but the feature set is still quite limited.</t>

<t>Traffic Engineering (TE), on the other hand, offers a very rich toolkit for managing traffic flows and the paths they take in a network. A TE network can have link attributes such as bandwidth, colors, risk groups and alternate metrics. A TE path can use these attributes to include or avoid certain links, increase path diversity, manage bandwidth reservations, improve service experience, and offer protection paths. However, TE typically doesn't offer multipathing as the tunnels used to implement TE usually take a single path.</t>

<t>This memo proposes multipath traffic-engineering (MPTE), combining the best of ECMP and TE. The multipathing proposed here need not be strictly equal-cost, nor the load balancing equally weighted to each next hop. Moreover, the desired destination may be reachable via multiple egresses. The proposal includes a protocol for signaling MPTE paths using various types of tunnels, some of which are better suited to multipathing.</t>



    </abstract>



  </front>

  <middle>


<?line 73?>

<section anchor="intro"><name>Introduction</name>

<t>Operators managing traffic within their networks have several tools, among them:</t>

<t><list style="numbers" type="1">
  <t>Equal-cost Multipath (ECMP): balance traffic along multiple paths. This yields some resilience and some traffic management, as traffic can be load-balanced across multiple paths. To use ECMP effectively, one may have to adjust link metrics to allow multiple paths to have the same overall distance.</t>
  <t>Traffic Engineering (TE): state constraints for a path from an ingress router to an egress router, and let a path computation engine compute it. This gives much greater control over the nodes and links traversed, but is usually limited to finding a single path from ingress to egress <xref target="RFC2702"/>.</t>
  <t>Multi-egress: allow traffic from an ingress router to a destination dst to use several egress routers, all of which have routes to that destination. dst may be an Internet prefix <xref target="RFC4271"/>, a VPN prefix <xref target="RFC4364"/>, an EVPN address <xref target="RFC7432"/>, a VPLS site <xref target="RFC4761"/>, <xref target="RFC4762"/> or some other service destination. For BGP-signaled destinations, this requires that the BGP tie-breaking algorithm yield multiple results (rather than a single one), all of which become candidates for egress.</t>
  <t>Multi-ingress: consider multiple ingress routers as "equivalent" with respect to some of the traffic they sent to one or more egress routers. For example, an eBGP peer router or a VPN site may be multi-homed to several ingress routers, all of which would send such traffic to the same set of egress routers.</t>
</list></t>

<t><xref target="RFC2702"/> describes requirements for MPLS-based TE, and thus is relevant to this memo. At the same time, the authors appear to believe that one can either have TE or multipathing, but not both. This is further emphasized by the notion of a Label Switched Path, which is used to implement MPLS-based TE. RSVP-TE (<xref target="RFC3209"/>), the protocol designed to meet the requirements of <xref target="RFC2702"/>, builds a single path from one ingress to one egress (for unicast traffic).</t>

<t>In order to satisfy the constraints, TE often uses non-shortest paths. To do so without looplng packets, a tunnel is used. Such tunnels have to be signaled. RSVP-TE is a signaling protocol for MPLS-based tunnels.</t>

<t>In this memo, we introduce a new tool: multipath TE (MPTE). This allows an operator to specify constraints for paths (as in TE), specify multiple ingresses and egresses, and use multiple paths from ingress to egress. Effectively, MPTE combines the advantages of the four tools above. The resulting set of paths from ingresses to egresses is a Directed Acyclic Graph (DAG), here called an MPTE DAG or MPTED. Finally, this memo allows the use of multiple types of tunnels. The main contribution of this memo is the notion of a (multipath) unicast tunnel across an MPTED, called an MPTE tunnel or MPTET, and an overview of how they are created. Protocols for provisioning such tunnels will be specified in companion documents. Another companion document defines how to distribute MPTE capabilities in an IGP so that entities computing MPTEDs can know which nodes to include in the DAG.</t>

<section anchor="terminology"><name>Terminology</name>

<t>The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL
NOT", "SHOULD", "SHOULD NOT", "RECOMMENDED", "NOT RECOMMENDED",
"MAY", and "OPTIONAL" in this document are to be interpreted as
described in BCP 14 <xref target="RFC2119"/> <xref target="RFC8174"/> when, and only when, they
appear in all capitals, as shown here.
<?line -6?></t>

<section anchor="definition-of-commonly-used-terms"><name>Definition of Commonly Used Terms</name>

<t>This section provides definitions for terms and abbreviations that have a specific meaning to the MPTE protocol and that are used throughout this memo.</t>

<dl>
  <dt>constraints:</dt>
  <dd>
    <t>desired properties of paths between ingresses and egresses.</t>
  </dd>
  <dt>constrained shortest path first (CSPF):</dt>
  <dd>
    <t>A modification to SPF to take into account TE constraints.</t>
  </dd>
  <dt>directed acyclic graph (DAG):</dt>
  <dd>
    <t>a directed graph that has no cycles. The result of a multipath SPF or CSPF computation is a DAG.</t>
  </dd>
  <dt>directed graph:</dt>
  <dd>
    <t>a set of nodes and directed links. A network is represented by a directed graph.</t>
  </dd>
  <dt>egress:</dt>
  <dd>
    <t>an end node of an MPTE DAG.</t>
  </dd>
  <dt>equal-cost multipath (ECMP):</dt>
  <dd>
    <t>a DAG consisting of shortest paths from an ingress to an egress.</t>
  </dd>
  <dt>flow-aware load balancing (FALB):</dt>
  <dd>
    <t>load balancing that maps packets that belong to a given flow onto the same path. What consitutes a flow depends on the type of traffic; for IP traffic, a flow is typically defined by the 5-tuple &lt;source IP, dest IP, protocol type, source port, dest port&gt;.</t>
  </dd>
  <dt>ingress:</dt>
  <dd>
    <t>a starting node of an MPTE DAG.</t>
  </dd>
  <dt>label-switched path (LSP):</dt>
  <dd>
    <t>an MPLS tunnel from an ingress to one or more egresses.</t>
  </dd>
  <dt>link:</dt>
  <dd>
    <t>A (directed) edge between two nodes. A pair of nodes may have 0 or more links between them. A link between nodes u and v will be denoted by (u, v, i), where i is u's oif for the link. A link may have associated attributes, in particular, a metric.</t>
  </dd>
  <dt>load balancing (LB):</dt>
  <dd>
    <t>a method whereby traffic to an egress is distributed among multiple next hops at each node along the DAG.</t>
  </dd>
  <dt>metric:</dt>
  <dd>
    <t>a positive number describing the contribution of a link to the oveall path length.</t>
  </dd>
  <dt>MC:</dt>
  <dd>
    <t>MPTED computer: the entity computing the MPTED, typically the ingress (if there is a single ingress) or a Path Computation Element</t>
  </dd>
  <dt>MPTE:</dt>
  <dd>
    <t>multipath TE with path constraints (including a slack) using nECMP paths from an ingress to one or more egresses.</t>
  </dd>
  <dt>MPTED:</dt>
  <dd>
    <t>an MPTE DAG resulting from CSPF-type computation on MPTE constraints.</t>
  </dd>
  <dt>MPTEP:</dt>
  <dd>
    <t>MPTE protocol: the protocol used to signal MPTEDs.</t>
  </dd>
  <dt>MPTET:</dt>
  <dd>
    <t>MPTE tunnel: the forwarding entity associated with an MPTED over which traffic is sent.</t>
  </dd>
  <dt>non-equal-cost multipath (nECMP) (generally qualified by "with slack s"):</dt>
  <dd>
    <t>a DAG of paths from an ingress u to an egress v that are within s of min(u, v).</t>
  </dd>
  <dt>node:</dt>
  <dd>
    <t>a vertex of a graph. A node may have associated attributes.</t>
  </dd>
  <dt>outgoing interface (oif):</dt>
  <dd>
    <t>a unique number (oif) assigned by a node for each outgoing link it has.</t>
  </dd>
  <dt>Path Computation Element (PCE):</dt>
  <dd>
    <t>an entity that capable of performing CSPF on behalf of another node, the path computation client.</t>
  </dd>
  <dt>path length:</dt>
  <dd>
    <t>the sum of the metrics of the links that constitute path p, denoted by len(p)</t>
  </dd>
  <dt>shared risk group (SRG):</dt>
  <dd>
    <t>nodes and/or links that share "risk" (e.g., have a common power feed, or use a common fiber conduit)</t>
  </dd>
  <dt>shortest path:</dt>
  <dd>
    <t>a path between a pair of nodes u, v with minimum length. The set of shortest paths between u and v is a DAG, denoted by sp(u, v). The length of a shortest path from u to v is denoted by min(u, v)</t>
  </dd>
</dl>

<t>shortest path first (SPF):
an algorithm for computing the shortest path DAG from an ingress to an egress; typically refers to Dijkstra's algorithm for computing shortest paths between a given pair of nodes, or pairwise between all nodes.</t>

<dl>
  <dt>signaling source (SS):</dt>
  <dd>
    <t>an entity responsible for signaling an MPTET</t>
  </dd>
  <dt>slack:</dt>
  <dd>
    <t>a path p from u to v has slack s if len(p) = min(u, v) + s.</t>
  </dd>
</dl>

<t>traffic engineering (TE):
a methodology for mapping traffic trunks to given paths or DAGs across a network.</t>

<dl>
  <dt>traffic trunk:</dt>
  <dd>
    <t>a unidirectional aggregate of traffic flows from an ingress to a set of egresses that is treated identically in the forwarding plane.</t>
  </dd>
  <dt>tunnel originator (TO):</dt>
  <dd>
    <t>entity having the specifications of the MPTET</t>
  </dd>
</dl>

</section>
</section>
</section>
<section anchor="overview"><name>Overview</name>

<t>Consider <xref target="nw-1"/>:</t>

<figure title="Network 1" anchor="nw-1"><artwork><![CDATA[
    2 == 3         Link Metrics (symm): 0-2: 100; 0-4: 200; 0-6: 110
 r/ r\  r\\        1-2 (not shown): 110; 1-4 (not sh): 100; 1-6: 100
 0 -- 4 -- 5       2-3: (100, 100); 2-4: 100; 3-5: (100, 110)
  \  / \  / \      4-5: 100; 4-6: 110; 4-7: 50
1 - 6 = 7 -- 8     5-7: 100; 5-8: 10; 6-7: (100, 110); 7-8: 50
      r            Node pairs 2-3, 4-5 and 6-7 each have two links.
                   Links marked with 'r' have color red.
]]></artwork></figure>

<section anchor="multipathing"><name>Multipathing</name>

<section anchor="ecmp-slack-0-from-node-0-to-node-5"><name>ECMP (slack 0) from node 0 to node 5</name>

<t>There are 4 ECMP paths from node 0 to node 5:</t>

<t><list style="numbers" type="1">
  <t>0-2=3-5 (2 paths)</t>
  <t>0-2-4-5</t>
  <t>0-4-5</t>
</list></t>

<t>These 4 distinct paths all have length 300.</t>

</section>
<section anchor="necmp-from-node-0-to-node-5-with-slack-10"><name>nECMP from node 0 to node 5 with slack 10</name>

<t>There are 7 nECMP paths with slack 10 to node 5:</t>

<t><list style="numbers" type="1">
  <t>0-2=3=5 (4 paths)</t>
  <t>0-2-4-5</t>
  <t>0-4-5</t>
  <t>0-6-7-5</t>
</list></t>

<t>These 7 paths have lengths 300 or 310. Thus, allowing nECMP paths a slack of 10 has yielded 3 additional paths, which provide increased diversity and load balancing, and possibly decreased congestion.</t>

</section>
<section anchor="multipathing-from-node-0-to-egresses-5-8"><name>Multipathing from node 0 to egresses {5, 8}</name>

<t>If, for some traffic trunk that starts at node 0, nodes 5 and 8 are equally good as egresses, then one can compute an ECMP DAG from 0 to {5, 8}; this yields 4 paths to 5 and 6 paths to 8, for a total of 10 paths this traffic trunk can take. Similarly, a nECMP DAG to {5, 8} with slack 10 has 15 paths, whereas one with slack 5 has the same 10 paths as with slack 0.</t>

</section>
<section anchor="mpted-from-ingresses-0-1-to-egresses-5-8"><name>MPTED from ingresses {0, 1} to egresses {5, 8}</name>

<t>If traffic from node 0 to nodes {5, 8} and from node 1 to nodes {5, 8} have common characteristics, it may make sense to compute a single DAG from {0, 1} to {5, 8}. Doing so allows the operator to view this entire DAG as one logical entity; a nice side benifit is reduced control and data plane state due to state sharing.</t>

</section>
</section>
<section anchor="load-balancing"><name>Load balancing</name>

<t>Nodes in a netword have a Forwarding Information Base (FIB). A FIB maps a packet's destination address da to one or more "next hops". When a packet with address da arrives at n, n sends the packet to one of the next hops. n typically will distribute packets in a given ratio among the next hops. This is load balancing.</t>

<t>The main goal of ECMP/nECMP is to supply as many nodes as possible in the MPTED with multiple next hops on which to forward the traffic trunk. At such nodes, traffic belonging to the trunk can be distributed among the next hops instead of going to a single next hop. This has the potential to reduce congestion and provide better utilization of available links.</t>

<section anchor="flow-aware-load-balancing"><name>Flow-aware load balancing</name>

<t>When load balancing packets from a traffic trunk, it is often required that packets from a given flow be sent to the same next hop. This improves the probability of in-order delivery of packets in that flow, which is important for certain types of traffic. This is called flow-aware load balancing (FALB). The most common flow in IP traffic is defined by a 5-tuple consisting of the source IP address, the destination IP address, the protocol, the source port and the destination port. A 16- or 20-bit hash of this 5-tuple is called the packet's entropy.</t>

<t>There are two common ways to achieve FALB of IP traffic. One is to do a "deepish" packet inspection (dPI), find the relevant 5-tuple, and use that to compute the packet's entropy. The entropy is then used to ensure that packets in the flow are sent to the same next hop. This memo suggests sending TE traffic over a tunnel (see {tunnels}); this makes the identification of IP flows expensive and error-prone.</t>

<t>Another way of accomplishing this is to insert the entropy in the tunnel header. Many of the tunnels suggested in this memo have such a field. The ingress is in a good position to identify flows, and, when encapsulating the packet into the tunnel, can insert the entropy in the header. The heavy lifting of identifying flows is thus placed on the ingress. Transit nodes can simply use the entropy field to correctly map packets in a flow to the same next hop, thus ensuring FALB.</t>

</section>
<section anchor="per-packet-load-balancing"><name>Per-packet load balancing</name>

<t>FALB is often required and is a good default behavior, especially as end applications may be expecting packets in a flow to be delivered in order. However, FALB has the issue that it attempts (statistically) to place roughly the number of flows in the given ratio on the outgoing links; that may not place traffic in the same ratio, as flows need not carry the same traffic. In some cases (typically when configured to), one can do per-packet load balancing (PPLB), meaning that load balancing is no longer flow aware. This can be done when the end applications do not require packets in a flow to be in order, or if some (bookended) devices outside the network put the packets back in order before delivering them to the applications (typically by addind a sequence number). When feasible, PPLB gives much better load distribution, and is currently the subject of investigation, implementation and standardization.</t>

<t>One can achieve this by configuring each router in the DAG to do PPLB for the traffic trunks in the DAG, or more simply by the ingress router assigning entropy at random to the traffic it places in the DAG. The latter approach keeps the decision of which DAGs (and corresponding traffic trunks) should be flow-aware and which not at the ingress; all other nodes simply do what the entropy fields tells them to do.</t>

</section>
</section>
<section anchor="constraints"><name>Constraints</name>

<t>Constraints are an intent-based specification of acceptable paths that a traffic trunk may take from ingress to egress(es). Constraints are thus an abstract way to control the resources that a particular traffic trunk uses.</t>

<t>One way to do this is to add "resource class attributes" or "colors" <xref target="RFC2702"/> to links, and then specify "include" and "exclude" sets. An include set means that all links that a path traverses must contain at least one element of the include set. An exclude set means that no link in the path can contain any color from the exclude set.</t>

<t>Another way is to specify a (maximum) bandwidth that a traffic trunk can carry. This means that all links in the path must have that much available capacity. Packets exceending the bandwidth can forwarded normally, marked as droppable, or dropped.</t>

<t>Let's add some simple constraints to our DAG. We associate the color red to one of the links from B to C, and to the shorter of the links from F to G. Then, we constrain the paths to "exclude red", meaning avoid links with color red. This yields the following:</t>

<t><list style="symbols">
  <t>ECMP from node 0 to node 5 with constraints "include red or blue" yields a single path.</t>
</list></t>

</section>
<section anchor="protection"><name>Protection</name>

<t>One very useful aspect of TE is the ability to specify that a path must be link- or node- or shared-risk-disjoint from another path. That means that the two paths do not have links or nodes or "shared risk groups". Additionally, one can build protection paths for an existing path to protect against link or node failures <xref target="RFC4090"/>. This is especially important as TE currently takes a single path through the network, meaning that a link or node failure will result in dropped traffic until the TE path is restored.</t>

<t>While not quite as crucial in the case of an MPTED, since ideally, there will be multiple nexthops at each node, there will be cases where a node has a single next hop, or all next hops share a common failure mode. Identifying these cases and building protection paths for such nodes will be described in a future version of this memo.</t>

</section>
<section anchor="tunnels"><name>Tunnels</name>

<t>The shortest path first algorithm <xref target="SPF"/> is an easy-to-implement and very efficient algorithm whereby all routers in a network can agree on the path that a packet to a particular destination should take. That means, if all routers are agreed (roughly) on the topology and metrics of the network, they will forward packets in a loop-free manner to all destinations -- without the need for signaling or tunnels. However, an MPTED will not contain the same paths -- some paths may be rejected as they don't conform to the constraints; other paths may be used even though they are not shortest paths. Thus, to route packets in a traffic trunk over a computed MPTED, a tunnel is typically used. This tunnel will have to be signaled to the MPTED nodes. The tunnel may be MPLS- or IP-based.</t>

<t>A few things are important about tunnels: whether they carry an entropy field (EF), whether they have a "discriminator" (D) that allows multiple tunnels between an ingress-egress pair, whether they allow multiple egresses (ME), and whether they allow multiple ingresses (MI). These will be discussed in the description of the tunnels below.</t>

<t>In the memo, we consider the following tunnel types:</t>

<t><list style="numbers" type="1">
  <t>IP-in-IP: <xref target="RFC2003"/> encapsulation allows the creation of an "outer" IP header to carry a payload packet (which is typically an IP payload). The outer IP header's protocol field indicates the "protocol" of the inner payload packet. The outer header of IP-in-IP tunnel doesn't contain an EF; transit nodes can either spray packets across outgoing next hops, attempt to do dPI, or use the same next hop for all packets. To accommodate ME, the egresses have to have the same (anycast) IP address which would be used as the destination IP of the tunnel. MI is not possible.</t>
  <t>GRE: Generic Routing Encapsulation. We include in this definition <xref target="RFC2784"/> and <xref target="RFC2890"/> with the Key Present (bit 2) set to 0. This is similar to IP-in-IP; however, the payload is not required to be IP. There is no EF in the header. D, ME and MI same as for IP-in-IP.</t>
  <t>GRE-E: GRE with Key Present; the Key value is the EF. D, ME and MI same as for IP-in-IP.</t>
  <t>GRE6: GRE with IPv6 addresses. The entropy is carried in the Flow Label field of the IPv6 header. D, ME and MI same as for IP-in-IP.</t>
  <t>G-in-U: GRE-in-UDP <xref target="RFC8086"/>. The UDP source port is the EF; the GRE Key, if present, can be ignored from a load balancing point of view. D, ME and MI as in IP-in-IP.</t>
  <t>MPLS-in-UDP <xref target="RFC7510"/>. The UDP source port is the EF; D, ME and MI as in IP-in-IP.</t>
  <t>SigLab (signaled label switching). The labels to be used are signaled. Signaling proceeds from egress(es) to ingress(es). An entropy label can be used as the EF. At each node, a different label is used for each MPTED; this is the discriminator. ME and MI are both allowed.</t>
  <t>StatLab (static label). A single statically-assigned label defines the tunnel throughout the MPTED. Here, a block of MPLS labels is given to a label allocator; these labels MUST NOT be allocated by any node in the network. EF, D, ME and MI are as for SigLab. The MPTED computer (MC) must interact with the allocator when creating or deleting an MPTED.</t>
</list></t>

</section>
<section anchor="backward-compatibility"><name>Backward Compatibility</name>

<t>Introducing a new idea to the network (and thus new protocols, new extenstion and new software) is typically done incrementally. Thus, in a network transitioning to MPTE, there will be some nodes that are MPTE-capable, and others that are not.</t>

<t>In <xref target="nw-1"/> above, if node 4 is not MPTE-capable, it can either be left out of the MPTED, or a "classical" tunnel can be constructed from (say) node 2 to node 5, allowing hybrid paths 0-2-(4)-5 and 0-2-(4)-5-8 for a DAG from {0} to {5, 8}. The signaling specs will say whether this is possible, and if so, how it can be achieved.</t>

</section>
</section>
<section anchor="operation"><name>Operation</name>

<t>The starting point in building an MPTE DAG is to define the properties of a traffic trunk from ingress to egress. Examples include "BGP destinations with community xyz" or "gold class traffic belonging to VPN foo". Next, define a set of constraints that capture the types of paths permissible for this traffic trunk. These include a metric to minimize (perhaps with slack); this could capture delay or fiber length, link colors, shared risk groups (SRGs) and bandwidth. The desired outcome is an MPTED into which the traffic trunk can be mapped.</t>

<t>An MPTED is specified by defining:</t>

<t><list style="numbers" type="1">
  <t>a (non-empty) set of ingresses</t>
  <t>a (non-empty) set of egresses</t>
  <t>the metric to use and the slack</t>
  <t>path constraints</t>
  <t>whether or not the MPTED is "strict".</t>
</list></t>

<t>An MPTED is strict if all paths from all ingresses to all egresses are within slack of the shortest path. An MPTED is loose if all paths from a given ingress I to a given egress E are within slack of each other, but paths from I to a different egress F may not be within slack of the paths to I.</t>

<t>Computation (possibly using a variant of CSPF) of an MPTED is done by the MC, which is either an ingress or a PCE <xref target="RFC4655"/>. (This memo does not specify such an algorithm.) Signaling primarily occurs between the MC and each junction node. Auxiliary signaling may occur between a junction node and its phops.</t>

<section anchor="mpted"><name>MPTED</name>

<t>In this memo, a node is identified by its (16-octet) IPv6 loopback address. A link from node u to node v is identified by u's loopback address and its (4-octet) outgoing interface index (oif), a unique identifier for the link allocated by u. oifs are usually exchanged in the TE extensions of an IGP. (A link also has a (4-octet) incoming interface index, the iif. For neighbors u and v, the correlation between u's oif and v's iif is typically done by the IGP. iifs are not used in this memo.) For now, this memo only deals with point-to-point links; a future revision will describe the use of multi-access links.</t>

<t>An MPTED is identified by a unique (4-octet) ID (the MID) assigned to the MPTED by the MC. As an MPTED can change over its lifetime, it is assigned a version number starting at 0 and incremented every time the MPTED is recomputed. Thus, a full MPTED ID (the FID) consists of &lt;MC, MID, version&gt;.</t>

<t>An MPTED consists two or more "junction nodes". A junction node can have one of five types:</t>

<t><list style="numbers" type="1">
  <t>a pure ingress node has zero incoming links and one or more outgoing links in the MPTED. Traffic routed on a MPTED enters at the ingress.</t>
  <t>a pure egress node has one or more incoming links and zero outgoing links in the MPTED. Traffic routed on a MPTED leaves at an egress.</t>
  <t>a transit ingress node where traffic can either enter the MPTED or arrive from another ingress node to continue on in the MPTED.</t>
  <t>a transit egress node where traffic can either exit the MPTED or go on to another egress node.</t>
  <t>a "regular" junction node has one or more incoming links and one or more outgoing links. Traffic does not enter or leave at such a node: it comes from a phop and goes to an nhop.</t>
</list></t>

<t>A junction node v consists of v, its previous hops (phops) and its next hops (nhops). A phop is specified by an incoming link of v: (u, v, oif1); an nhop by an outgoing link of v: (v, w, oif2). Note that, since links are point-to-point, it is sufficient to specify (u, oif1) ((v, oif2)) for a phop (nhop, respectively). The nodes u (and w) are loosely referred to as a phop (and nhop) of v, although strictly speaking the link should be included. A pure ingress has no phops and a pure egress has no nhops.</t>

<t>The MPTED is broken down into a set of junction nodes. A junction node v is specified by:</t>

<t><list style="numbers" type="1">
  <t>bandwidth (coming in to and going out of v)</t>
  <t>a list of phops of v</t>
  <t>a list of nhops of v, with corresponding load balancing shares</t>
</list></t>

</section>
<section anchor="tunnel-provisioning"><name>Tunnel Provisioning</name>

<t>A designated entity, the Tunnel Originator (TO), is given the specifications of the MPTET: the ingresses, the egresses and the constraints. The TO is typically one of the tunnel ingresses or a PCE. The TO sends the tunnel specification to the MC. The MC computes the MPTED (as a list of junctions) and returns this to the TO. The TO then sends the list of junctions to the Signaling Source (SS) which provisions the tunnel.</t>

<t>Note that TO, MC and SS are functional blocks; they may reside on separate nodes or co-reside on the same node. For example, a single node may be the TO and SS but decide to delegate computation to a (remote) PCE. This node then gets the results via PCEP and signals the tunnel. Other permutations are possible.</t>

</section>
<section anchor="signaling-overview"><name>Signaling Overview</name>

<t>The SS signals the creation or update of an MPTE tunnnel by sending to each junction node v a JUNCTION message consisting of:</t>

<t><list style="numbers" type="1">
  <t>the MPTET ID</t>
  <t>the junction node specification</t>
  <t>the tunnel type</t>
  <t>some flags</t>
</list></t>

<t>After v parses this specification, for all tunnel types other than SigLab, it installs FIB state for the junction.</t>

<t>For tunnel type SigLab, v allocates an incoming MPLS label L_u for each phop u, and sends a LABEL message to u containing:</t>

<t><list style="numbers" type="1">
  <t>the MPTET ID</t>
  <t>the phop (u's loopback + u's oif for the link)</t>
  <t>the allocated label L_u</t>
</list></t>

<t>u records label L_u as part of its own junction state.</t>

<t>When v receives a LABEL message from all its nhops, it installs swap state in its LFIB.</t>

</section>
<section anchor="forwarding-state"><name>Forwarding State</name>

<t>For a non-ingress node v, forwarding state generally consists of a set of routes which identify the tunnel from its phops, and a set of weighted nexthops, i.e., a set of nexthops whereby the relative proportion of traffic sent over each is decide by the MC and specified by the SS in the JUNCTION message.</t>

<t>For IP tunnels, the route consists of a destination-source pair, possibly with a tunnel discriminator (which allows multiple tunnels between an ingress-egress pair); the nexthops are a set of interfaces over which the packet is forwarded.</t>

<t>For a MPTET with a "statically assigned" label (typically by a PCE), the route consists of the assigned label, and the nexthops are a set of interfaces. In the simplest case, the entire DAG has a single label; if so, the label operation is null. A variant allows for different controller-assigned labels for each junction node; in this case, the forwarding state is as for "signaled" labels, where the incoming label is swapped to the correct outgoing label.</t>

<t>For signaled labels, the routes for node v are the labels v sent to its phops. Each nexthop is a swap of the incoming label to the label sent by v's nhops.</t>

</section>
</section>
<section anchor="signaling-protocol"><name>Signaling Protocol</name>

<t>Several signaling protocols are being extended to provision MPTETs: RSVP-TE <xref target="I-D.kbr-teas-mptersvp"/>, PCEP <xref target="I-D.beeram-pce-pcep-mpted"/> and BGP <xref target="I-D.zzhang-idr-mpte-signaling"/>, among others. The details of each will be specified in companion documents; this memo restricts itself to an overview of the common elements.</t>

<section anchor="message-flow"><name>Message Flow</name>

<t>Provisioning messages (to create, update and delete a tunnel) are sent from the Signaling Source (SS) to each junction node (including possibly other ingresses). Notifications are sent from each junction node to the SS to send updates on the state of that node with respect to the MPTET. Label messages (when needed) are sent hop-by-hop from egresses to their phops and further upstream in an ordered fashion.</t>

<t>In special scenarios, a node may send a messages to one or more of its nhops.</t>

</section>
<section anchor="message-types"><name>Message Types</name>

<section anchor="junction"><name>JUNCTION</name>

<t>A JUNCTION message contains the following information elements:</t>

<dl>
  <dt>MPTET ID:</dt>
  <dd>
    <t>a unique identifier for an MPTE tunnel. This usually consists of the TO ID and a unique ID in the namespace of the TO. It also includes a version number to distinguish among instances of a tunnel as it is undergoes updates. The companion signaling documents will describe the MPTET ID in more detail.</t>
  </dd>
  <dt>Tunnel Type:</dt>
  <dd>
    <t>various types of tunnels are used, so each node must be told which type of tunnel this MPTET consists of.</t>
  </dd>
  <dt>Tunnel Information:</dt>
  <dd>
    <t>provides details for the MPTET. For example, for an MPLS tunnel with a statically assigned label, the Tunnel Information is the label. For IP-based tunnels, the Tunnel Information is the source and destination IP addresses (plus optional other information).</t>
  </dd>
  <dt>Junction Bandwidth:</dt>
  <dd>
    <t>specifies the bandwidth incoming to the junction in Megabits per second (Mbps).</t>
  </dd>
  <dt>nhop share:</dt>
  <dd>
    <t>a 2-octet share of the outgoing bandwidth per nhop. A Junction should attempt to send a ratio of (share n)/(sum (share i)) of the incoming bandwidth to nhop #n.</t>
  </dd>
</dl>

</section>
<section anchor="label"><name>LABEL</name>

<t>A LABEL message MUST only be used for MPTEDs of type SigLab. A LABEL message is sent from an egress junction node to each of its phops. Any other junction node MUST only send a LABEL message when it has received a LABEL message from all of its nhops (cf "Ordered Label Distribution Control" <xref section="2.6.1.2" sectionFormat="comma" target="RFC3036"/>). A pure ingress node never sends a LABEL message as it has no phops. The LABEL message carries the MPTET ID and a label.</t>

</section>
<section anchor="notify"><name>NOTIFY</name>

<t>A NOTIFY is sent from a junction node to the SS to let the SS know the state of the MPTET at that node. This could be the labels it assigned to its phops, or error conditions.</t>

</section>
</section>
</section>
<section anchor="GR"><name>Graceful Restart</name>

<t>A node N is capable of Graceful Restart if a) it can maintain control plane state across restarts; and b) it can maintain forwarding state across restarts. If N is capable of Graceful Restart, an MPTE DAG going through N can continue functioning while N restarts. While N is restarting, new JUNCTION/LABEL messages will be dropped or ignored; new MPTE DAGs passing through N will not be established. Once restart is complete, N will send an OPEN message and re-establish connections will all its peers (or all the MPTEP Reflectors). Thereafter, N can participate in new DAGs passing through it by processing received JUNCTION messages.</t>

<t>More details will be described in a future version.</t>

</section>
<section anchor="iana-considerations"><name>IANA Considerations</name>

<t>TBD</t>

</section>
<section anchor="security-considerations"><name>Security Considerations</name>

<t>TBD</t>

</section>


  </middle>

  <back>


<references title='References' anchor="sec-combined-references">

    <references title='Normative References' anchor="sec-normative-references">



<reference anchor="RFC2119">
  <front>
    <title>Key words for use in RFCs to Indicate Requirement Levels</title>
    <author fullname="S. Bradner" initials="S." surname="Bradner"/>
    <date month="March" year="1997"/>
    <abstract>
      <t>In many standards track documents several words are used to signify the requirements in the specification. These words are often capitalized. This document defines these words as they should be interpreted in IETF documents. This document specifies an Internet Best Current Practices for the Internet Community, and requests discussion and suggestions for improvements.</t>
    </abstract>
  </front>
  <seriesInfo name="BCP" value="14"/>
  <seriesInfo name="RFC" value="2119"/>
  <seriesInfo name="DOI" value="10.17487/RFC2119"/>
</reference>
<reference anchor="RFC8174">
  <front>
    <title>Ambiguity of Uppercase vs Lowercase in RFC 2119 Key Words</title>
    <author fullname="B. Leiba" initials="B." surname="Leiba"/>
    <date month="May" year="2017"/>
    <abstract>
      <t>RFC 2119 specifies common key words that may be used in protocol specifications. This document aims to reduce the ambiguity by clarifying that only UPPERCASE usage of the key words have the defined special meanings.</t>
    </abstract>
  </front>
  <seriesInfo name="BCP" value="14"/>
  <seriesInfo name="RFC" value="8174"/>
  <seriesInfo name="DOI" value="10.17487/RFC8174"/>
</reference>
<reference anchor="RFC2003">
  <front>
    <title>IP Encapsulation within IP</title>
    <author fullname="C. Perkins" initials="C." surname="Perkins"/>
    <date month="October" year="1996"/>
    <abstract>
      <t>This document specifies a method by which an IP datagram may be encapsulated (carried as payload) within an IP datagram. [STANDARDS-TRACK]</t>
    </abstract>
  </front>
  <seriesInfo name="RFC" value="2003"/>
  <seriesInfo name="DOI" value="10.17487/RFC2003"/>
</reference>
<reference anchor="RFC2784">
  <front>
    <title>Generic Routing Encapsulation (GRE)</title>
    <author fullname="D. Farinacci" initials="D." surname="Farinacci"/>
    <author fullname="T. Li" initials="T." surname="Li"/>
    <author fullname="S. Hanks" initials="S." surname="Hanks"/>
    <author fullname="D. Meyer" initials="D." surname="Meyer"/>
    <author fullname="P. Traina" initials="P." surname="Traina"/>
    <date month="March" year="2000"/>
    <abstract>
      <t>This document specifies a protocol for encapsulation of an arbitrary network layer protocol over another arbitrary network layer protocol. [STANDARDS-TRACK]</t>
    </abstract>
  </front>
  <seriesInfo name="RFC" value="2784"/>
  <seriesInfo name="DOI" value="10.17487/RFC2784"/>
</reference>
<reference anchor="RFC2890">
  <front>
    <title>Key and Sequence Number Extensions to GRE</title>
    <author fullname="G. Dommety" initials="G." surname="Dommety"/>
    <date month="September" year="2000"/>
    <abstract>
      <t>This document describes extensions by which two fields, Key and Sequence Number, can be optionally carried in the GRE Header. [STANDARDS-TRACK]</t>
    </abstract>
  </front>
  <seriesInfo name="RFC" value="2890"/>
  <seriesInfo name="DOI" value="10.17487/RFC2890"/>
</reference>
<reference anchor="RFC8086">
  <front>
    <title>GRE-in-UDP Encapsulation</title>
    <author fullname="L. Yong" initials="L." role="editor" surname="Yong"/>
    <author fullname="E. Crabbe" initials="E." surname="Crabbe"/>
    <author fullname="X. Xu" initials="X." surname="Xu"/>
    <author fullname="T. Herbert" initials="T." surname="Herbert"/>
    <date month="March" year="2017"/>
    <abstract>
      <t>This document specifies a method of encapsulating network protocol packets within GRE and UDP headers. This GRE-in-UDP encapsulation allows the UDP source port field to be used as an entropy field. This may be used for load-balancing of GRE traffic in transit networks using existing Equal-Cost Multipath (ECMP) mechanisms. There are two applicability scenarios for GRE-in-UDP with different requirements: (1) general Internet and (2) a traffic-managed controlled environment. The controlled environment has less restrictive requirements than the general Internet.</t>
    </abstract>
  </front>
  <seriesInfo name="RFC" value="8086"/>
  <seriesInfo name="DOI" value="10.17487/RFC8086"/>
</reference>
<reference anchor="RFC7510">
  <front>
    <title>Encapsulating MPLS in UDP</title>
    <author fullname="X. Xu" initials="X." surname="Xu"/>
    <author fullname="N. Sheth" initials="N." surname="Sheth"/>
    <author fullname="L. Yong" initials="L." surname="Yong"/>
    <author fullname="R. Callon" initials="R." surname="Callon"/>
    <author fullname="D. Black" initials="D." surname="Black"/>
    <date month="April" year="2015"/>
    <abstract>
      <t>This document specifies an IP-based encapsulation for MPLS, called MPLS-in-UDP for situations where UDP (User Datagram Protocol) encapsulation is preferred to direct use of MPLS, e.g., to enable UDP-based ECMP (Equal-Cost Multipath) or link aggregation. The MPLS- in-UDP encapsulation technology must only be deployed within a single network (with a single network operator) or networks of an adjacent set of cooperating network operators where traffic is managed to avoid congestion, rather than over the Internet where congestion control is required. Usage restrictions apply to MPLS-in-UDP usage for traffic that is not congestion controlled and to UDP zero checksum usage with IPv6.</t>
    </abstract>
  </front>
  <seriesInfo name="RFC" value="7510"/>
  <seriesInfo name="DOI" value="10.17487/RFC7510"/>
</reference>

<reference anchor="I-D.kbr-teas-mptersvp">
   <front>
      <title>RSVP-TE Extensions for Multipath Traffic Engineered Directed Acyclic Graph Tunnels</title>
      <author fullname="Kireeti Kompella" initials="K." surname="Kompella">
         <organization>Juniper Networks</organization>
      </author>
      <author fullname="Vishnu Pavan Beeram" initials="V. P." surname="Beeram">
         <organization>Juniper Networks</organization>
      </author>
      <author fullname="Chandrasekar R" initials="C." surname="R">
         <organization>Juniper Networks</organization>
      </author>
      <date day="20" month="October" year="2025"/>
      <abstract>
	 <t>   A Multipath Traffic Engineered Directed Acyclic Graph (MPTED) tunnel
   is a Traffic Engineering (TE) construct that facilitates weighted
   load balancing of unicast traffic across a constrained set of paths
   optimized for a specific objective.

   This document describes the provisioning of an MPTED Tunnel in a TE
   network using RSVP-TE.

	 </t>
      </abstract>
   </front>
   <seriesInfo name="Internet-Draft" value="draft-kbr-teas-mptersvp-02"/>
   
</reference>

<reference anchor="I-D.beeram-pce-pcep-mpted">
   <front>
      <title>Path Computation Element Communication Protocol (PCEP) Extensions for Multipath Traffic Engineered Directed Acyclic Graph (MPTED) Tunnels</title>
      <author fullname="Vishnu Pavan Beeram" initials="V. P." surname="Beeram">
         <organization>HPE</organization>
      </author>
      <author fullname="Kireeti Kompella" initials="K." surname="Kompella">
         <organization>Juniper Networks</organization>
      </author>
      <author fullname="Andrew Stone" initials="A." surname="Stone">
         <organization>Nokia</organization>
      </author>
      <date day="1" month="March" year="2026"/>
      <abstract>
	 <t>   A Multipath Traffic Engineered Directed Acyclic Graph (MPTED) tunnel
   is a Traffic Engineering (TE) construct that facilitates weighted
   load balancing of unicast traffic across a constrained set of paths
   optimized for a specific objective.

   This document describes the provisioning of an MPTED Tunnel in a TE
   network using Path Computation Element Communication Protocol (PCEP)
   in a stateful PCE model.

	 </t>
      </abstract>
   </front>
   <seriesInfo name="Internet-Draft" value="draft-beeram-pce-pcep-mpted-01"/>
   
</reference>

<reference anchor="I-D.zzhang-idr-mpte-signaling">
   <front>
      <title>BGP Signaling for Multipath Traffic Engineering Junction States</title>
      <author fullname="Zhaohui (Jeffrey) Zhang" initials="Z. J." surname="Zhang">
         <organization>HPE</organization>
      </author>
      <author fullname="Kireeti Kompella" initials="K." surname="Kompella">
         <organization>HPE</organization>
      </author>
      <author fullname="Aditya Mahale" initials="A." surname="Mahale">
         <organization>Meta</organization>
      </author>
      <author fullname="Raghav Bhargava" initials="R." surname="Bhargava">
         <organization>Crusoe</organization>
      </author>
      <author fullname="Aaron Zhang" initials="A." surname="Zhang">
         <organization>Westford Academy</organization>
      </author>
      <date day="2" month="March" year="2026"/>
      <abstract>
	 <t>   Multi-Path Traffic Engineering (MPTE) combines Traffic Engineering
   with Multi-Path forwarding, offering a much desired TE solution for
   both traditional WAN and new AIML DC/DCI.  MPTE tunnels are based on
   MPTE Directed Acyclic Graph (DAG) and can be signaled with extensions
   to RSVP-TE, PCEP, BGP.  This document specifies the BGP protocol
   extensions and procedures for signaling MPTE DAGs.

	 </t>
      </abstract>
   </front>
   <seriesInfo name="Internet-Draft" value="draft-zzhang-idr-mpte-signaling-00"/>
   
</reference>



    </references>

    <references title='Informative References' anchor="sec-informative-references">

<reference anchor="SPF" target="https://doi.org/10.1007/BF01386390">
  <front>
    <title>A note on two problems in connexion with graphs</title>
    <author initials="E. W." surname="Dijkstra" fullname="Dijkstra, E. W.">
      <organization></organization>
    </author>
    <date year="1959" month="December" day="01"/>
  </front>
</reference>


<reference anchor="RFC2702">
  <front>
    <title>Requirements for Traffic Engineering Over MPLS</title>
    <author fullname="D. Awduche" initials="D." surname="Awduche"/>
    <author fullname="J. Malcolm" initials="J." surname="Malcolm"/>
    <author fullname="J. Agogbua" initials="J." surname="Agogbua"/>
    <author fullname="M. O'Dell" initials="M." surname="O'Dell"/>
    <author fullname="J. McManus" initials="J." surname="McManus"/>
    <date month="September" year="1999"/>
    <abstract>
      <t>This document presents a set of requirements for Traffic Engineering over Multiprotocol Label Switching (MPLS). It identifies the functional capabilities required to implement policies that facilitate efficient and reliable network operations in an MPLS domain. This memo provides information for the Internet community.</t>
    </abstract>
  </front>
  <seriesInfo name="RFC" value="2702"/>
  <seriesInfo name="DOI" value="10.17487/RFC2702"/>
</reference>
<reference anchor="RFC4271">
  <front>
    <title>A Border Gateway Protocol 4 (BGP-4)</title>
    <author fullname="Y. Rekhter" initials="Y." role="editor" surname="Rekhter"/>
    <author fullname="T. Li" initials="T." role="editor" surname="Li"/>
    <author fullname="S. Hares" initials="S." role="editor" surname="Hares"/>
    <date month="January" year="2006"/>
    <abstract>
      <t>This document discusses the Border Gateway Protocol (BGP), which is an inter-Autonomous System routing protocol.</t>
      <t>The primary function of a BGP speaking system is to exchange network reachability information with other BGP systems. This network reachability information includes information on the list of Autonomous Systems (ASes) that reachability information traverses. This information is sufficient for constructing a graph of AS connectivity for this reachability from which routing loops may be pruned, and, at the AS level, some policy decisions may be enforced.</t>
      <t>BGP-4 provides a set of mechanisms for supporting Classless Inter-Domain Routing (CIDR). These mechanisms include support for advertising a set of destinations as an IP prefix, and eliminating the concept of network "class" within BGP. BGP-4 also introduces mechanisms that allow aggregation of routes, including aggregation of AS paths.</t>
      <t>This document obsoletes RFC 1771. [STANDARDS-TRACK]</t>
    </abstract>
  </front>
  <seriesInfo name="RFC" value="4271"/>
  <seriesInfo name="DOI" value="10.17487/RFC4271"/>
</reference>
<reference anchor="RFC4364">
  <front>
    <title>BGP/MPLS IP Virtual Private Networks (VPNs)</title>
    <author fullname="E. Rosen" initials="E." surname="Rosen"/>
    <author fullname="Y. Rekhter" initials="Y." surname="Rekhter"/>
    <date month="February" year="2006"/>
    <abstract>
      <t>This document describes a method by which a Service Provider may use an IP backbone to provide IP Virtual Private Networks (VPNs) for its customers. This method uses a "peer model", in which the customers' edge routers (CE routers) send their routes to the Service Provider's edge routers (PE routers); there is no "overlay" visible to the customer's routing algorithm, and CE routers at different sites do not peer with each other. Data packets are tunneled through the backbone, so that the core routers do not need to know the VPN routes. [STANDARDS-TRACK]</t>
    </abstract>
  </front>
  <seriesInfo name="RFC" value="4364"/>
  <seriesInfo name="DOI" value="10.17487/RFC4364"/>
</reference>
<reference anchor="RFC7432">
  <front>
    <title>BGP MPLS-Based Ethernet VPN</title>
    <author fullname="A. Sajassi" initials="A." role="editor" surname="Sajassi"/>
    <author fullname="R. Aggarwal" initials="R." surname="Aggarwal"/>
    <author fullname="N. Bitar" initials="N." surname="Bitar"/>
    <author fullname="A. Isaac" initials="A." surname="Isaac"/>
    <author fullname="J. Uttaro" initials="J." surname="Uttaro"/>
    <author fullname="J. Drake" initials="J." surname="Drake"/>
    <author fullname="W. Henderickx" initials="W." surname="Henderickx"/>
    <date month="February" year="2015"/>
    <abstract>
      <t>This document describes procedures for BGP MPLS-based Ethernet VPNs (EVPN). The procedures described here meet the requirements specified in RFC 7209 -- "Requirements for Ethernet VPN (EVPN)".</t>
    </abstract>
  </front>
  <seriesInfo name="RFC" value="7432"/>
  <seriesInfo name="DOI" value="10.17487/RFC7432"/>
</reference>
<reference anchor="RFC4761">
  <front>
    <title>Virtual Private LAN Service (VPLS) Using BGP for Auto-Discovery and Signaling</title>
    <author fullname="K. Kompella" initials="K." role="editor" surname="Kompella"/>
    <author fullname="Y. Rekhter" initials="Y." role="editor" surname="Rekhter"/>
    <date month="January" year="2007"/>
    <abstract>
      <t>Virtual Private LAN Service (VPLS), also known as Transparent LAN Service and Virtual Private Switched Network service, is a useful Service Provider offering. The service offers a Layer 2 Virtual Private Network (VPN); however, in the case of VPLS, the customers in the VPN are connected by a multipoint Ethernet LAN, in contrast to the usual Layer 2 VPNs, which are point-to-point in nature.</t>
      <t>This document describes the functions required to offer VPLS, a mechanism for signaling a VPLS, and rules for forwarding VPLS frames across a packet switched network. [STANDARDS-TRACK]</t>
    </abstract>
  </front>
  <seriesInfo name="RFC" value="4761"/>
  <seriesInfo name="DOI" value="10.17487/RFC4761"/>
</reference>
<reference anchor="RFC4762">
  <front>
    <title>Virtual Private LAN Service (VPLS) Using Label Distribution Protocol (LDP) Signaling</title>
    <author fullname="M. Lasserre" initials="M." role="editor" surname="Lasserre"/>
    <author fullname="V. Kompella" initials="V." role="editor" surname="Kompella"/>
    <date month="January" year="2007"/>
    <abstract>
      <t>This document describes a Virtual Private LAN Service (VPLS) solution using pseudowires, a service previously implemented over other tunneling technologies and known as Transparent LAN Services (TLS). A VPLS creates an emulated LAN segment for a given set of users; i.e., it creates a Layer 2 broadcast domain that is fully capable of learning and forwarding on Ethernet MAC addresses and that is closed to a given set of users. Multiple VPLS services can be supported from a single Provider Edge (PE) node.</t>
      <t>This document describes the control plane functions of signaling pseudowire labels using Label Distribution Protocol (LDP), extending RFC 4447. It is agnostic to discovery protocols. The data plane functions of forwarding are also described, focusing in particular on the learning of MAC addresses. The encapsulation of VPLS packets is described by RFC 4448. [STANDARDS-TRACK]</t>
    </abstract>
  </front>
  <seriesInfo name="RFC" value="4762"/>
  <seriesInfo name="DOI" value="10.17487/RFC4762"/>
</reference>
<reference anchor="RFC3209">
  <front>
    <title>RSVP-TE: Extensions to RSVP for LSP Tunnels</title>
    <author fullname="D. Awduche" initials="D." surname="Awduche"/>
    <author fullname="L. Berger" initials="L." surname="Berger"/>
    <author fullname="D. Gan" initials="D." surname="Gan"/>
    <author fullname="T. Li" initials="T." surname="Li"/>
    <author fullname="V. Srinivasan" initials="V." surname="Srinivasan"/>
    <author fullname="G. Swallow" initials="G." surname="Swallow"/>
    <date month="December" year="2001"/>
    <abstract>
      <t>This document describes the use of RSVP (Resource Reservation Protocol), including all the necessary extensions, to establish label-switched paths (LSPs) in MPLS (Multi-Protocol Label Switching). Since the flow along an LSP is completely identified by the label applied at the ingress node of the path, these paths may be treated as tunnels. A key application of LSP tunnels is traffic engineering with MPLS as specified in RFC 2702. [STANDARDS-TRACK]</t>
    </abstract>
  </front>
  <seriesInfo name="RFC" value="3209"/>
  <seriesInfo name="DOI" value="10.17487/RFC3209"/>
</reference>
<reference anchor="RFC4090">
  <front>
    <title>Fast Reroute Extensions to RSVP-TE for LSP Tunnels</title>
    <author fullname="P. Pan" initials="P." role="editor" surname="Pan"/>
    <author fullname="G. Swallow" initials="G." role="editor" surname="Swallow"/>
    <author fullname="A. Atlas" initials="A." role="editor" surname="Atlas"/>
    <date month="May" year="2005"/>
    <abstract>
      <t>This document defines RSVP-TE extensions to establish backup label-switched path (LSP) tunnels for local repair of LSP tunnels. These mechanisms enable the re-direction of traffic onto backup LSP tunnels in 10s of milliseconds, in the event of a failure.</t>
      <t>Two methods are defined here. The one-to-one backup method creates detour LSPs for each protected LSP at each potential point of local repair. The facility backup method creates a bypass tunnel to protect a potential failure point; by taking advantage of MPLS label stacking, this bypass tunnel can protect a set of LSPs that have similar backup constraints. Both methods can be used to protect links and nodes during network failure. The described behavior and extensions to RSVP allow nodes to implement either method or both and to interoperate in a mixed network. [STANDARDS-TRACK]</t>
    </abstract>
  </front>
  <seriesInfo name="RFC" value="4090"/>
  <seriesInfo name="DOI" value="10.17487/RFC4090"/>
</reference>
<reference anchor="RFC4655">
  <front>
    <title>A Path Computation Element (PCE)-Based Architecture</title>
    <author fullname="A. Farrel" initials="A." surname="Farrel"/>
    <author fullname="J.-P. Vasseur" initials="J.-P." surname="Vasseur"/>
    <author fullname="J. Ash" initials="J." surname="Ash"/>
    <date month="August" year="2006"/>
    <abstract>
      <t>Constraint-based path computation is a fundamental building block for traffic engineering systems such as Multiprotocol Label Switching (MPLS) and Generalized Multiprotocol Label Switching (GMPLS) networks. Path computation in large, multi-domain, multi-region, or multi-layer networks is complex and may require special computational components and cooperation between the different network domains.</t>
      <t>This document specifies the architecture for a Path Computation Element (PCE)-based model to address this problem space. This document does not attempt to provide a detailed description of all the architectural components, but rather it describes a set of building blocks for the PCE architecture from which solutions may be constructed. This memo provides information for the Internet community.</t>
    </abstract>
  </front>
  <seriesInfo name="RFC" value="4655"/>
  <seriesInfo name="DOI" value="10.17487/RFC4655"/>
</reference>
<reference anchor="RFC3036">
  <front>
    <title>LDP Specification</title>
    <author fullname="L. Andersson" initials="L." surname="Andersson"/>
    <author fullname="P. Doolan" initials="P." surname="Doolan"/>
    <author fullname="N. Feldman" initials="N." surname="Feldman"/>
    <author fullname="A. Fredette" initials="A." surname="Fredette"/>
    <author fullname="B. Thomas" initials="B." surname="Thomas"/>
    <date month="January" year="2001"/>
    <abstract>
      <t>A fundamental concept in MPLS is that two Label Switching Routers (LSRs) must agree on the meaning of the labels used to forward traffic between and through them. This common understanding is achieved by using a set of procedures, called a label distribution protocol, by which one LSR informs another of label bindings it has made. This document defines a set of such procedures called LDP (for Label Distribution Protocol) by which LSRs distribute labels to support MPLS forwarding along normally routed paths. [STANDARDS-TRACK]</t>
    </abstract>
  </front>
  <seriesInfo name="RFC" value="3036"/>
  <seriesInfo name="DOI" value="10.17487/RFC3036"/>
</reference>



    </references>

</references>



  </back>

<!-- ##markdown-source:
H4sIABoCpmkAA51963bbRpbufz5FDf0j5BqSpuRr5E53y5acqGPZOpbSWbNO
nzULJEESMQiwAVAy4+V5lnmWebKzv32pKkBUJ5ms7oQiClW7du37pTgej3tN
1uTpibvc5U22TZq1u6mS5TKbu/NilRVpWmXFqpfMZlV6S6Oubs57i3JeJBt6
Z0Ejm/GncrNN8zwZN2lSjzfbJh1Pj3uLpKERx9Pj5705fVyV1f7E1c2i13vk
ylld5mmT1ie9bFuduKba1c3xdPotvVc3VZpsTtzF+c3bXkKfT9zHctcAiLuy
+rSqyt32xN2cn167n7/vfbo7cRuDfEQTCehpBDrNmBSL/0zysiCA9mnd22Yn
7v825Xzk6rKi5ZY1fdpv8OH/9XrJrlmX1UnPubHLivrE/ThxP+oW6UvnZO8/
ZlWaNln7UVmtkiL7NWmysjhxP1yd87fzrKG9X++KYn+b5Cl/V6UrHvMmybNl
WRWZTDAvFzT3t0+nL7/Vv3dFA8z9VGRNunDXDeGyduXSnW5oe3N5K90kWX7i
PglIkyxtln9d4bvJvNyEjUTQv9sle/c3Wjs/APffaeZfyyKC/WM2XyfVotYv
Dfib9HNSR3C/eDZ9efTH4c4JmMkvAOavt7J0C+4I7Mvk17RwP66TxSLZHID8
TfmZ/r/Z7ApaAl/V0SZOmzwpmqS1g+9TmqCF+yfTJ8cv//geNoBs8kkg++u8
/PzQFk6LBWF+4q43WbM+sIXTqprviCAvivkkAv5qneXJIs2366y9g6u0KOp9
fpu0Sejo26Pp0z++DeKU/V8TBoE30CvKakOQ3aYnvV5WLMNfzl1fvZWNNUm1
SpsTt26abX3y+PGizCa0qcdH08nRdPri8eu306MnL58/+XYqw0XgnLqibFJX
Fq65K922Kmd5uqkJXQRxUaSfaXfujnDkVlWyXctBBt4MCD3LfvlEQiMZufOJ
+3miz5jgzyc/T/xzfiBS6ejbZ9+Oj47H06Neb0wiEP9yyQyj5k2vd01rEIoa
x+KwEulDCFumVU0YciTm9uOmHO+KBX0D6TLy32WbLW0jLRq3SQnWBfBMUyWz
PKvXmCYvy+14SYwq25wTNumAse3EFWkDGTdys11j6y3TO1c267SiT0mzq9J6
4s7/uUvy8bwkEL3wc4PzN5dXwxFNUzMQLv3cpEVNaBy5XU0nLkPxILyON2s3
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
eQAA

-->

</rfc>

