Using LDP Multipoint Extensions on Targeted LDP Sessions
Extracted elements (20)
All labels used in unicast replication are downstream-assigned. The method of unicast is a local matter outside the specification's scope; the only requirement is that each downstream LSR receives and processes the packet copy carrying its own label.
Multicast tunneling requires upstream-assigned labels (rather than downstream-assigned) because U sends a single packet copy into the tunnel; downstream-assigned labels would not allow U to label the packet before replication occurs in the tunnel.
The upstream LSR selection method must be determined by the Service Provider and made known a priori (by provisioning) to all LSRs involved, because the base mLDP specification assumes IGP next hop and a directly connected LDP session, which does not hold in the Targeted mLDP case.
Advertisement of the P2MP and/or MP2MP Capabilities on a Targeted LDP session (per RFC 5561) signals that the advertising LSR is capable of following the Targeted mLDP procedures in this document; no new capabilities are defined.
Procedures for tunneling MP2MP LSPs through P2MP or MP2MP LSPs are explicitly outside the scope of this document; except for procedures detailed here, all procedures from RFC 6388 (mLDP) and RFC 6389 (LDP-UP) apply unchanged.
LSR D MUST NOT use Targeted mLDP when setting up MP-LSP <R,X> unless D implements a procedure that can select a Targeted mLDP peer as the upstream LSR for <R,X>.
To use upstream-assigned labels as part of Targeted mLDP, an LSR MUST advertise the LDP Upstream-Assigned Label Capability (RFC 6389) on the Targeted LDP session.
U MAY assign the same multicast tunnel for multiple different MP-LSPs, but U MUST assign a distinct upstream-assigned label to each MP-LSP to allow demultiplexing of packets at leaf nodes.
When the multicast tunnel is an mLDP MP-LSP or RSVP-TE P2MP LSP, penultimate-hop popping MUST NOT be done, because the top tunnel label provides context in which the upstream-assigned label (second in stack) is to be interpreted (see RFC 5331).
When U informs D that an MP-LSP is being carried in a multicast tunnel, U and D MUST take appropriate steps to ensure that packets U sends into the tunnel will be received by D; D must remain joined to the tunnel as long as U is its upstream LSR for any MP-LSP assigned to that tunnel.
An MP-LSP is identified by an ordered pair <root, opaque value>, where the first element is the IP address of the root node and the second is an opaque identifier unique within the context of that root node.
For MP2MP LSPs with unicast replication, U assigns upstream labels (L3 for traffic from D1, L4 for traffic from D2); when U receives a packet from D1 (label L3), it swaps to D2's label (L2) and unicasts to D2 only, preventing loopback to D1.
If the upstream-assigned label value is 3 (Implicit NULL per RFC 3032), the multicast tunnel carries only the single specified MP-LSP with no aggregation, and no upstream-assigned label is pushed onto packets transmitted through the tunnel.
In multicast tunneling, the MP-LSP label must be an upstream-assigned label assigned by U. D1 and D2 send Label Request messages to U (per RFC 6389 Section 4), and U responds with a Label Mapping containing upstream-assigned label L plus an Interface TLV identifying the multicast tunnel.
In unicast replication, each downstream LSR (D1...Dn) assigns a downstream label to the MP-LSP and informs U via a Label Mapping message; U pushes the appropriate downstream label onto each unicasted copy of the packet.
Targeted mLDP extends the notion of 'upstream LSR' to include (1) the BGP next hop on D's path to R where a Targeted LDP session exists between U and D, and (2) the remote endpoint of an RSVP-TE P2P tunnel on D's next-hop interface where Targeted LDP exists between U and D.
The choice between unicast replication and multicast tunneling, and the type of multicast tunneling to use, is determined by provisioning or other out-of-scope methods; all nodes are presupposed to have a priori knowledge of these choices.
Two data transmission methods are defined for Targeted mLDP: unicast replication (U creates n copies of the packet and unicasts each to one downstream LSR) and multicast tunneling (U becomes root of a multicast tunnel with downstream LSRs as leaf nodes).
When U aggregates multiple MP-LSPs into one multicast tunnel (e.g., <R1,X1> to D1,D2 and <R2,X2> to D2,D3), leaf nodes not on a given MP-LSP will receive but discard its packets because the upstream-assigned label is unrecognized at those nodes.
This document raises no new security considerations beyond those discussed in RFC 5036 (LDP), RFC 6389 (LDP-UP), and RFC 5331 (MPLS Upstream Label Assignment and Context-Specific Label Space).