Network Working GroupInternet Engineering Task Force (IETF) IJ. Wijnands, Ed.Internet-DraftRequest for Comments: 6826 T. EckertIntended status:Category: Standards Track Cisco Systems, Inc.Expires: June 2, 2013ISSN: 2070-1721 N. Leymann Deutsche Telekom M. Napierala AT&T LabsNovember 29, 2012January 2013 Multipoint LDPin-band signalingIn-Band Signaling for Point-to-Multipoint andMultipoint- to-MultipointMultipoint-to-Multipoint Label Switched Pathsdraft-ietf-mpls-mldp-in-band-signaling-08Abstract Consider an IP multicast tree, constructed by Protocol Independent Multicast (PIM), that needs to pass through an MPLS domain in which Multipoint LDP (mLDP)Point-to-Multipointpoint-to-multipoint and/orMultipoint-to- Multipointmultipoint-to- multipoint Labels Switched Paths (LSPs) can be created. The part of the IP multicast tree that traverses the MPLS domain can be instantiated as a multipoint LSP. When a PIM Join message is received at the border of the MPLS domain, information from that message is encoded into mLDP messages. When the mLDP messages reach the border of the next IP domain, the encoded information is used to generate PIM messages that can be sent through the IP domain. The result is an IP multicast tree consisting of a set of IP multicast sub-trees that are spliced together with a multipoint LSP. This document describes procedures regarding how IP multicast trees are spliced together with multipoint LSPs. Status ofthisThis Memo ThisInternet-Draftissubmitted in full conformance with the provisions of BCP 78 and BCP 79. Internet-Drafts are working documentsan Internet Standards Track document. This document is a product of the Internet Engineering Task Force (IETF).Note that other groups may also distribute working documents as Internet-Drafts. The listIt represents the consensus ofcurrent Internet- Drafts is at http://datatracker.ietf.org/drafts/current/. Internet-Drafts are draft documents validthe IETF community. It has received public review and has been approved fora maximumpublication by the Internet Engineering Steering Group (IESG). Further information on Internet Standards is available in Section 2 of RFC 5741. Information about the current status ofsix monthsthis document, any errata, and how to provide feedback on it may beupdated, replaced, or obsoleted by other documentsobtained atany time. It is inappropriate to use Internet-Drafts as reference material or to cite them other than as "work in progress." This Internet-Draft will expire on June 2, 2013.http://www.rfc-editor.org/info/rfc6826. Copyright Notice Copyright (c)20122013 IETF Trust and the persons identified as the document authors. All rights reserved. This document is subject to BCP 78 and the IETF Trust's Legal Provisions Relating to IETF Documents (http://trustee.ietf.org/license-info) in effect on the date of publication of this document. Please review these documents carefully, as they describe your rights and restrictions with respect to this document. Code Components extracted from this document must include Simplified BSD License text as described in Section 4.e of the Trust Legal Provisions and are provided without warranty as described in the Simplified BSD License. Table of Contents 1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . . 3 1.1. ConventionsusedUsed inthis documentThis Document . . . . . . . . . . . . 3 1.2. Terminology . . . . . . . . . . . . . . . . . . . . . . . 3 2.In-band signalingIn-Band Signaling for MP LSPs . . . . . . . . . . . . . . . . 4 2.1. Transiting Unidirectional IPmulticastMulticast Shared Trees . . . 6 2.2. Transiting IPmulticast source treesMulticast Source Trees . . . . . . . . . . . 6 2.3. Transiting IPmulticast bidirectional treesMulticast Bidirectional Trees . . . . . . . 7 3. LSPopaque encodingsOpaque Encodings . . . . . . . . . . . . . . . . . . . . .78 3.1. Transit IPv4 Source TLV . . . . . . . . . . . . . . . . .78 3.2. Transit IPv6 Source TLV . . . . . . . . . . . . . . . . . 8 3.3. Transit IPv4bidirBidir TLV . . . . . . . . . . . . . . . . . . 9 3.4. Transit IPv6bidirBidir TLV . . . . . . . . . . . . . . . . . . 9 4. Security Considerations . . . . . . . . . . . . . . . . . . . 10 5. IANAconsiderationsConsiderations . . . . . . . . . . . . . . . . . . . . . 10 6.Acknowledgments . . . . . . . . . . . . . . . . . . . . . . . 10 7. Contributing authors . . . . . . . . . . . . . . . . . . . . . 11 8.References . . . . . . . . . . . . . . . . . . . . . . . . . .11 8.1.10 6.1. Normative References . . . . . . . . . . . . . . . . . . .11 8.2.10 6.2. Informative References . . . . . . . . . . . . . . . . . .12 Authors' Addresses .10 7. Acknowledgments . . . . . . . . . . . . . . . . . . . . . . .1211 1. Introduction The mLDP (Multipoint LDP) [RFC6388] specification describes mechanisms for creating point-to-multipoint (P2MP) and multipoint-to- multipoint (MP2MP) LSPs (Label Switched Paths). These LSPs are typically used for transporting end-user multicast packets. However, the mLDP specification does not provide any rules for associating particular end-user multicast packets with any particular LSP. Other documents, like [RFC6513], describe applications in which out-of-band signaling protocols, such as PIM and BGP, are used to establish the mapping between an LSP and the multicast packets that need to be forwarded over the LSP. This document describes an application in which the information needed to establish the mapping between an LSP and the set of multicast packets to be forwarded over it is carried in the "opaque value" field of an mLDP FEC (Forwarding Equivalence Class) element. When an IP multicast tree (either a source-specific tree or a bidirectional tree) enters the MPLSnetworknetwork, the (S,G) or (*,G) information from the IP multicastcontrol planecontrol-plane state is carried in the opaque value field of the mLDP FEC message. As the tree leaves the MPLS network, this information is extracted from the FECelementElement and used to build the IP multicast control plane. PIM messages can be sent outside the MPLS domain. Note that although the PIM control messages are sent periodically, the mLDP messages are not. Each IP multicast tree is mapped one-to-one to a P2MP or MP2MP LSP in the MPLS network. A network operator should expect to see as many LSPs in the MPLS network as there are IP multicast trees. A network operator should be aware how IP multicast state is created in the network to ensure that it does not exceed the scalability numbers of the protocol, either PIM or mLDP. 1.1. ConventionsusedUsed inthis documentThis Document The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT", "SHOULD", "SHOULD NOT", "RECOMMENDED", "MAY", and "OPTIONAL" in this document are to be interpreted as described in RFC 2119 [RFC2119]. 1.2. TerminologyIP multicast tree : An IP multicast distribution tree identified by a IP multicast Group address and optionally aASM: PIM Any SourceIP address,Multicast Egress LSR: One of potentially many destinations of an LSP; also referred to as(S,G) and (*,G). RP: The PIM Rendezvous Point. SSM: PIM Source Specific Multicast. ASM: PIM Any Source Multicast. mLDP : Multipoint LDP. Transit LSP : Aleaf node in the case of P2MPorand MP2MPLSP whose FEC element contains the (S,G) or (*,G) identifying a particular IP multicast distribution tree.LSPs. In-bandsignaling :signaling: Using the opaque value ofaan mLDP FECelementElement to carry the (S,G) or (*,G) identifying a particular IP multicast tree. Ingress LSR: Source of the P2MPLSP:LSP; also referred to as a root node. IP multicast tree: AnLSP that has one Ingress LSRIP multicast distribution tree identified by an IP multicast Group address and, optionally, by a Source IP address, also referred to as (S,G) andone or more Egress LSRs.(*,G). LSR: Label Switching Router LSP: Labels Switched Path mLDP: Multipoint LDP MP2MP LSP: An LSP that connects a set of leaf nodes that may each independently act as ingress or egress. MP LSP: A multipoint LSP, either a P2MP or an MP2MP LSP.Ingress LSR: Source of theP2MPLSP, also referred to as root node.LSP: An LSP that has one Ingress Label Switching Router (LSR) and one or more EgressLSR: One of potentially many destinations of an LSP, also referred to as leaf node in the case ofLSRs. RP: PIM Rendezvous Point SSM: PIM Source-Specific Multicast Transit LSP: A P2MPandor MP2MPLSPs.LSP whose FEC Element contains the (S,G) or (*,G) identifying a particular IP multicast distribution tree. Transit LSR: An LSR that has one or more directly connected downstream LSRs. 2.In-band signalingIn-Band Signaling for MP LSPs Consider the followingtopology;topology: |--- IPM ---|--- MPLS --|--- IPM ---| S/RP -- (A) - (U) - (C) - (D) -- (B) -- R Figure1.1 Nodes A and B areIP Multicast capableIP-multicast-capable routers andrespectivelyconnect to a Source/RP and aReceiver.Receiver, respectively. Nodes U,CC, and D are MPLS Label Switched Routers(LSRs). Label Switched Router(LSRs). LSR D is attached to a network that is capable of MPLS multicast and IP multicast (see figure 1), and D is required to create a IP multicast tree due to a certain IP multicast event, like a PIM Join, MSDP Source Announcement (SA) [RFC3618], BGP Source Activeauto-discoveryauto- discovery route[I-D.rekhter-pim-sm-over-mldp][SM-MLDP], or Rendezvous Point (RP) discovery. Suppose that D can determine that the IP multicast tree needs to travel through the MPLS network until it reaches LSR U. For instance, when D looks up the route to the Source or RP [RFC4601] of the IP multicast tree, it may discover that the route is a BGP route with U as the BGP next hop. Then D maychosechoose to set up a P2MP or an MP2MP LSP, with U as root, and to make that LSP become part of the IP multicast distribution tree. Note that other methods are possible to determine that an IP multicast tree is to be transported across an MPLS network using P2MP or MP2MPLSPs,LSPs. However, these methods are outside the scope of this document. In order to establish a multicast tree via a P2MP or MP2MP LSP using "in-band signaling", LSR D encodes a P2MP or MP2MP FEC Element, with the IP address of LSR U as the "Root NodeAddress",Address" and with the source and the group encoded into the "opaque value" ([RFC6388],sectionSections 2.2 and 3.2). Several different opaque value types are defined in thisdocument;document. LSR D MUST NOT use a particular opaque value type unless it knows (throughprovisioning,provisioning or through some other means outside the scope of this document) that LSR U supports the root node procedures for that opaque value type. The particular type of FEC Element and opaque value used depends on the IP address family being used, and on whether the multicast tree being established is asource specificsource-specific or a bidirectional multicast tree. When an LSR receives a label mapping or withdraw whose FEC Element contains one of the opaque value types defined in this document, and that LSR is not the one identified by the "Root Node Address" field of that FECelement,Element, the LSR follows the proceduresofprovided in RFC 6388. When an LSR receives a label mapping or withdraw whose FEC Element contains one of the opaque value types defined in this document, and that LSR is the one identified by the"RootRoot NodeAddress"Address field of that FECelement,Element, then the following procedure is executed. The multicast source and group are extracted and passed to the multicast code. If a label mapping is being processed, the multicast code will add the downstream LDP neighbor to the olist of the corresponding (S,G) or (*,G) state, creating such state if it does not already exist. If a label withdraw is being processed, the multicast code will remove the downstream LDP neighbor from the olist of the corresponding (S,G) or (*,G) state. From this pointonon, normal PIM processing will occur. Note that if the LSR identified by the"RootRoot NodeAddress"Address field does not recognize the opaque value type, the MP LSP will be established, but the root node will not send any multicast data packets on it. Source or RP addresses that are reachable in a VPN context are outside the scope of this document. Multicast groups that operate in PIM Dense-Mode are outside the scope of this document. 2.1. Transiting Unidirectional IPmulticastMulticast Shared Trees Nothing prevents PIM shared trees, used by PIM-SM in the ASM service model, from being transported acrossaan MPLS core. However, it is not possible to prune individual sources from the shared tree without the use of an additional out-of-band signaling protocol, like PIM or BGP[I-D.rekhter-pim-sm-over-mldp].[SM-MLDP]. Forthat reasonthis reason, transitingShared Treesshared trees across aTransittransit LSP is outside the scope of this document. 2.2. Transiting IPmulticast source treesMulticast Source Trees IP multicast source trees caneitherbe created via PIM operating in either SSM mode [RFC4607] or ASM mode [RFC4601]. When PIM-SM is used in ASM mode, the usual means of discovering active sources is to join asparse modesparse-mode shared tree. However, this document does not provide any method of establishing asparse modesparse-mode shared tree across an MPLS network. To apply the technique of this document to PIM-SM in ASM mode, there must be some other means of discovering the active sources. One possible means is the use of MSDP [RFC3618]. Another possible means is to use BGP Source Active auto-discovery routes, as documented in[I-D.rekhter-pim-sm-over-mldp].[SM-MLDP]. However, the method of discovering the active sources is outside the scope of thisdocument, anddocument; as aresultresult, this document does not specify everything that is needed to support the ASM service model using in-band signaling. The source and group addresses are encoded into the a transit TLV as specified inSectionSections 3.1 andSection3.2. 2.3. Transiting IPmulticast bidirectional treesMulticast Bidirectional Trees If aBidirectionalbidirectional IP multicasttreestree [RFC5015] has to be transported overaan MPLS network using in-band signaling, as described in this document, it MUST be transported usingaan MP2MP LSPs. A bidirectional tree does not have a specific source address; the group address, subnetmaskmask, and RP are relevant for multicast forwarding. This document does not provide procedures to discoverRP to groupRP-to-group mappings dynamically across an MPLS network and assumes the RP is statically defined. Support of dynamic RP mappings in combination with in-band signaling is outside the scope ofhisthis document. The RP for the group is used to select the ingress LSR and the root of the LSP. The group address is encoded according to the rules ofSectionSections 3.3 orSection3.4, depending on the IP version. The subnet mask associated with the bidirectional group is encoded in the Transit TLV. There are two types of bidirectional states in IP multicast, the group specific state and the RP state. The first type is typically createddue to receivingwhen a PIMjoinJoin has been received and has a subnet mask of 32 for IPv4 and 128 for IPv6. ThelatterRP state is typically created via the static RP mapping and has a variable subnet mask. The RP state is used to build a tree to the RP and is used forsender onlysender-only branches. Each state (group specific and RP state) will result in a separate MP2MP LSP. The merging of the two MP2MP LSPs will be done by PIM on the root LSR. No special procedures are necessary for PIM to merge the twoLSPs, eachLSPs. Each LSP is effectively treated as aPIM enabledPIM-enabled interface. Please see [RFC5015] for more details. For transporting the packets of asender only branchsender-only branch, we create a MP2MP LSP. Othersender onlysender-only branches will receive these packets and will not forward them because there are no receivers. These packets will be dropped. If thataffecteffect isundesireableundesirable, some other means of transport has to be established to forward packets to the root of the tree,likefor example, aMulti-Point to Pointmultipoint-to-point LSP for example. A technique to unicast packets to the root of a P2MP or MP2MP LSP is documented in[I-D.rosen-l3vpn-mvpn-mspmsi] section 3.2.2.1.Section 3.2.2.1 of [MVPN-MSPMSI]. 3. LSPopaque encodingsOpaque Encodings This section documents the different transit opaque encodings. 3.1. Transit IPv4 Source TLV 0 1 2 3 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | Type | Length | Source | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | | Group | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ Type: 3(to be assigned by IANA).Length: 8 (octet size of Source and Group fields) Source: IPv4 multicast source address, 4octets.octets Group: IPv4 multicast group address, 4octets.octets 3.2. Transit IPv6 Source TLV 0 1 2 3 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | Type | Length | Source ~ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ ~ | Group ~ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ ~ | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ Type: 4(to be assigned by IANA).Length: 32 (octet size of Source and Group fields) Source: IPv6 multicast source address, 16octets.octets Group: IPv6 multicast group address, 16 octets. 3.3. Transit IPv4bidirBidir TLV 0 1 2 3 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | Type | Length | Mask Len | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | RP | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | Group | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ Type: 5(to be assigned by IANA).Length: 9 (octet size of Mask Len,RPRP, and Group fields) Mask Len: The number of contiguous one bits that areleft justifiedleft-justified and used as a mask, 1 octet. Maximum value allowed is 32. RP: Rendezvous Point (RP) IPv4 address used for the encoded Group, 4 octets. Group: IPv4 multicast group address, 4 octets. 3.4. Transit IPv6bidirBidir TLV 0 1 2 3 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | Type | Length | Mask Len | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | RP ~ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ ~ | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | Group ~ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ ~ | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ Type: 6(to be assigned by IANA).Length: 33 (octet size of Mask Len, RP and Group fields) Mask Len: The number of contiguous one bits that areleft justifiedleft-justified and used as a mask, 1 octet. Maximum value allowed is 128. RP: Rendezvous Point (RP) IPv6 address used for encoded group, 16 octets. Group: IPv6 multicast group address, 16 octets. 4. Security Considerations The same security considerations apply as for the base LDP specification, as described in [RFC5036]. 5. IANAconsiderations This document requires allocationConsiderations IANA has allocated the following values from the'LDP"LDP MP Opaque Value Element basictype' name space managed by IANA. The values requestedtype" registry: are: Transit IPv4 Source TLV type - 3 Transit IPv6 Source TLV type - 4 Transit IPv4 Bidir TLV type - 5 Transit IPv6 Bidir TLV type - 6 6.Acknowledgments Thanks to Eric Rosen for his valuable comments on this document. Also thanks to Yakov Rekhter, Adrian Farrel, Uwe Joorde, Loa Andersson and Arkadiy Gulko for providing comments on this document. 7. Contributing authors Below is a list of the contributing authors in alphabetical order: Toerless Eckert Cisco Systems, Inc. 170 Tasman Drive San Jose, CA, 95134 USA E-mail: eckert@cisco.com Nicolai Leymann Deutsche Telekom Winterfeldtstrasse 21 Berlin, 10781 Germany E-mail: n.leymann@telekom.de Maria Napierala AT&T Labs 200 Laurel Avenue Middletown, NJ 07748 USA E-mail: mnapierala@att.com IJsbrand Wijnands Cisco Systems, Inc. De kleetlaan 6a 1831 Diegem Belgium E-mail: ice@cisco.com 8.References8.1.6.1. Normative References [RFC5036] Andersson, L., Ed., Minei, I., Ed., and B. Thomas, Ed., "LDP Specification", RFC 5036, October 2007. [RFC2119] Bradner, S., "Key words for use in RFCs to Indicate Requirement Levels", BCP 14, RFC 2119, March 1997. [RFC6388] Wijnands, IJ., Ed., Minei, I., Ed., Kompella, K., and B. Thomas, "Label Distribution Protocol Extensions forPoint-to- MultipointPoint- to-Multipoint and Multipoint-to-Multipoint Label Switched Paths", RFC 6388, November 2011.8.2.6.2. Informative References [RFC4601] Fenner, B., Handley, M., Holbrook, H., and I. Kouvelas, "Protocol Independent Multicast - Sparse Mode (PIM-SM): Protocol Specification (Revised)", RFC 4601, August 2006. [RFC4607] Holbrook, H. and B. Cain, "Source-Specific Multicast for IP", RFC 4607, August 2006. [RFC5015] Handley, M., Kouvelas, I., Speakman, T., and L. Vicisano, "Bidirectional Protocol Independent Multicast (BIDIR- PIM)", RFC 5015, October 2007. [RFC3618] Fenner,B.B., Ed., and D. Meyer, Ed., "Multicast Source Discovery Protocol (MSDP)", RFC 3618, October 2003. [RFC6513] Rosen,E.E., Ed., and R. Aggarwal, Ed., "Multicast in MPLS/BGP IP VPNs", RFC 6513, February 2012.[I-D.rekhter-pim-sm-over-mldp][SM-MLDP] Rekhter,Y. and R.Y., Aggarwal, R., and N. Leymann, "CarryingPIM-SMPIM- SM in ASM mode Trees over P2MP mLDP LSPs",draft-rekhter-pim-sm-over-mldp-04 (workWork inprogress),Progress, August 2011.[I-D.rosen-l3vpn-mvpn-mspmsi][MVPN-MSPMSI] Cai, Y., Rosen, E.,Wijnands, I.,Ed., Napierala, M., and A. Boers,"MVPN:MVPN: Optimized use of PIM via MS-PMSIs",draft-rosen-l3vpn-mvpn-mspmsi-10 (work in progress),February 2012. 7. Acknowledgments Thanks to Eric Rosen for his valuable comments on this document. Also thanks to Yakov Rekhter, Adrian Farrel, Uwe Joorde, Loa Andersson and Arkadiy Gulko for providing comments on this document. Authors' Addresses IJsbrand Wijnands (editor) Cisco Systems, Inc. De kleetlaan 6a Diegem 1831 BelgiumEmail:EMail: ice@cisco.com Toerless Eckert Cisco Systems, Inc. 170 Tasman Drive San Jose CA, 95134 USAEmail:EMail: eckert@cisco.com Nicolai Leymann Deutsche Telekom Winterfeldtstrasse 21 Berlin 10781 GermanyEmail:EMail: n.leymann@telekom.de Maria Napierala AT&T Labs 200 Laurel Avenue Middletown NJ 07748 USAEmail:EMail: mnapierala@att.com