rfc-7442

Carrying Protocol Independent Multicast - Sparse Mode (PIM-SM) in Any-Source Multicast (ASM) Mode Trees over Multipoint LDP (mLDP)

Y. Rekhter, R. Aggarwal, N. Leymann, W. Henderickx, Q. Zhao, R. Li
date2015-02 streamIETF areartg wgmpls statusPROPOSED STANDARD pages11 canonicalhttps://www.rfc-editor.org/rfc/rfc7442 doi10.17487/RFC7442
When IP multicast trees created by Protocol Independent Multicast - Sparse Mode (PIM-SM) in Any-Source Multicast (ASM) mode need to pass through an MPLS domain, it may be desirable to map such trees to Point-to-Multipoint Label Switched Paths (P2MP LSPs). This document describes how to accomplish this in the case where such P2MP LSPs are established using Label Distribution Protocol (LDP) Extensions for P2MP and Multipoint-to-Multipoint LSPs: Multipoint LDP (mLDP).

Extracted elements (24)

design-rationale §1

Each IP multicast tree is mapped one-to-one to a P2MP LSP in the MPLS network. This works well when the number of LSPs is under operator control or known to be limited; aggregating multiple trees onto one LSP (as BGP MVPN procedures allow) is out of scope.

mpls, multicast

design-rationale §3.1

The Transit Shared Tree TLVs are intentionally given the same encoding as the IPv4/IPv6 Source Tree TLVs from RFC 6826, with only the Source field replaced by an RP field. Reusing the existing encoding minimizes new protocol surface and leverages proven mLDP in-band signaling procedures.

mpls, multicast

design-rationale §1

Two mechanisms are defined for mapping PIM-SM ASM trees to mLDP P2MP LSPs. Mechanism 1 (non-transitive) is OPTIONAL; Mechanism 2 (transitive) is REQUIRED for conformance. The two are mutually exclusive in deployment: a network may use one or the other, but not both.

mpls, multicast, realtime

design-rationale §1

When the network is provisioned so that the RP for a group G is always between receivers and sources, the ingress PE for (S,G) always equals the ingress PE for the RP, making Source Active auto-discovery routes unnecessary. In that case, RFC 7438 in-band signaling with wildcards can be used instead of the procedures in this document.

mpls, multicast

interoperability-note §2.3

In Mechanism 1, the creation or deletion of (S,G,RPT-bit) PIM state on an LSR caused by PIM messages received on IP multicast interfaces does not trigger any mLDP or BGP actions by the LSR.

mpls, multicast

interoperability-note §3.2

In Mechanism 2, if an LSR creates (S,G) state from an mLDP Source TLV Label Map while already having (*,G) state (with the RP reachable via IP) from an mLDP Shared Tree TLV Label Map, the LSR does NOT originate a Source Active auto-discovery route, since the shared tree context is already established via in-band signaling.

mpls, multicast

interoperability-note §3.5

In Mechanism 2, (S,G,RPT-bit) state created or deleted as a result of PIM messages on IP multicast interfaces does not result in any mLDP or BGP actions, mirroring the same rule in Mechanism 1.

mpls, multicast

interoperability-note §3.1

This document relies on RFC 6826 procedures for source (S,G) trees over mLDP. The Mechanism 2 in-band signaling for shared (*,G) trees follows the same procedures as RFC 6826 source trees, but uses Transit Shared Tree TLVs carrying (RP, G) instead of Transit Source TLVs carrying (S, G).

mpls, multicast

normative-requirement §3.4 MUST

After receiving a Source Active auto-discovery route for (S,G), if conditions (a) (*,G) TIB entry exists, (b) iif list contains an IP interface, (c) at least one MPLS interface is in the oif list, and (d) the LSR does not originate an mLDP Label Mapping for (S,G) with Transit Source TLV are all met, the LSR MUST transition the (S,G,RPT-bit) downstream state to the Prune state.

mpls, multicast

normative-requirement §2.2 MUST

In Mechanism 1, when an LSR creates a new (*,G) TIB entry with IP multicast outgoing interfaces, the LSR MUST check for any Source Active auto-discovery routes for G. If such a route exists, S is reachable via MPLS, and no (S,G) TIB state exists, the LSR MUST originate an mLDP Label Map with the Transit IPv4/IPv6 Source TLV for (S,G) per RFC 6826.

mpls, multicast

normative-requirement §2.2 MUST

In Mechanism 1, when an LSR receives a new Source Active auto-discovery route, it MUST check whether its TIB contains a (*,G) entry with the same G. If found, S is reachable via MPLS, and no (S,G) state exists, the LSR MUST originate an mLDP Label Map with the Transit IPv4/IPv6 Source TLV for (S,G).

mpls, multicast

normative-requirement §2.1 SHOULD

In Mechanism 1, whenever an RP discovers a new multicast source (via PIM Register or MSDP), the RP SHOULD originate a BGP Source Active auto-discovery route carrying an MCAST-VPN NLRI with RD=0, the source address S, and the group address G.

mpls, multicast, routing

normative-requirement §3.2 MUST

In Mechanism 2, an LSR that creates (S,G) state from receiving an mLDP Label Map with the Transit IPv4/IPv6 Source TLV MUST originate a Source Active auto-discovery route if: S is reachable via an IP-multicast-capable interface, G is in PIM-SM ASM mode range, and the LSR does not have (*,G) state with an IP-multicast-capable interface as the incoming interface.

mpls, multicast, routing

normative-requirement §3.2 MUST

In Mechanism 2, whenever an LSR deletes (S,G) state that was created from an mLDP Label Map with the Transit IPv4/IPv6 Source TLV, the LSR MUST also withdraw any Source Active auto-discovery route that was advertised when the state was created.

mpls, multicast, routing

normative-requirement §3.4 MUST

The LSR MUST keep the (S,G,RPT-bit) downstream state machine in the Prune state for as long as: the (*,G) oif list contains an MPLS interface, the LSR has at least one Source Active auto-discovery route for (S,G), and the LSR does not originate an mLDP Label Mapping for (S,G) with the Transit Source TLV. Once any of these conditions become invalid, the LSR MUST transition to the NoInfo state.

mpls, multicast

normative-requirement §2.1 SHOULD

The Source Active auto-discovery route SHOULD carry the NO_EXPORT BGP Community (RFC 1997) to constrain its distribution to the Autonomous System of the advertising RP.

mpls, multicast, routing

normative-requirement §2.1 MUST

Whenever the RP determines a source is no longer active, the RP MUST withdraw the Source Active auto-discovery route if one was previously advertised.

mpls, multicast, routing

protocol-element §3.1

Mechanism 2 defines two new mLDP TLVs — Transit IPv4 Shared Tree TLV and Transit IPv6 Shared Tree TLV — to carry (*,G) shared tree state in-band within mLDP signaling. These enable shared trees to transit the MPLS domain.

mpls, multicast

protocol-element §2.1

Source Active auto-discovery routes are BGP routes carrying a single MCAST-VPN NLRI (RFC 6514) with RD=0, the multicast source address S, and the multicast group address G. They are used in both mechanisms to distribute source reachability information within an AS.

mpls, multicast, routing

registry §4

IANA allocated two new values in the 'LDP MP Opaque Value Element basic type' subregistry of 'Label Distribution Protocol (LDP) Parameters': value 11 for Transit IPv4 Shared Tree TLV and value 12 for Transit IPv6 Shared Tree TLV, both referencing RFC 7442.

mpls, multicast, registry

security-consideration §5

All security considerations for mLDP (RFC 6388) apply to this specification. From a security standpoint, the use of Transit Shared Tree TLVs is no different from the use of Transit Source TLVs defined in RFC 6826; no additional security risks are introduced.

mpls, multicast, security

state-machine §3.4

The (S,G,RPT-bit) downstream state machine has two relevant states: Prune (entered when Source Active route received and conditions (a)-(d) hold) and NoInfo (entered when any of those conditions cease to hold). The LSR acts as if it received Prune(S,G,rpt) on an MPLS interface without actually receiving one.

mpls, multicast

wire-format §3.1

Transit IPv4 Shared Tree TLV: Type=11, Length=8. RP field is an IPv4 RP address (4 octets). Group field is an IPv4 multicast group address (4 octets). Encoding is identical to the IPv4 Source Tree TLV (RFC 6826) except the Source field is replaced by RP.

mpls, multicast

wire-format §3.1

Transit IPv6 Shared Tree TLV: Type=12, Length=32. RP field is an IPv6 RP address (16 octets). Group field is an IPv6 multicast group address (16 octets). Encoding is identical to the IPv6 Source Tree TLV (RFC 6826) except the Source field is replaced by RP.

mpls, multicast