draft-ietf-mpls-mldp-in-band-wildcard-encoding-00.txt   draft-ietf-mpls-mldp-in-band-wildcard-encoding-01.txt 
skipping to change at page 1, line 15 skipping to change at page 1, line 15
Intended status: Standards Track Cisco Intended status: Standards Track Cisco
Expires: September 4, 2014 A. Gulko Expires: September 4, 2014 A. Gulko
Thomson Reuters Thomson Reuters
U. Joorde U. Joorde
Deutsche Telekom Deutsche Telekom
J. Tantsura J. Tantsura
Ericsson Ericsson
March 3, 2014 March 3, 2014
mLDP In-Band Signaling with Wildcards mLDP In-Band Signaling with Wildcards
draft-ietf-mpls-mldp-in-band-wildcard-encoding-00 draft-ietf-mpls-mldp-in-band-wildcard-encoding-01
Abstract Abstract
There are scenarios in which an IP multicast tree traverses an MPLS There are scenarios in which an IP multicast tree traverses an MPLS
domain. In these scenarios, it can be desirable to convert the IP domain. In these scenarios, it can be desirable to convert the IP
multicast tree "seamlessly" to an MPLS multipoint label switched path multicast tree "seamlessly" to an MPLS multipoint label switched path
(MP-LSP) when it enters the MPLS domain, and then to convert it back (MP-LSP) when it enters the MPLS domain, and then to convert it back
to an IP multicast tree when it exists the MPLS domain. Previous to an IP multicast tree when it exits the MPLS domain. Previous
documents specify procedures that allow certain kinds of IP multicast documents specify procedures that allow certain kinds of IP multicast
trees (either "Source-Specific Multicast" trees or "Bidirectional trees (either "Source-Specific Multicast" trees or "Bidirectional
multicast" trees) to be attached to an MPLS multipoint label switched Multicast" trees) to be attached to an MPLS Multipoint Label Switched
path (MP-LSP), either in the context of a particular VPN or in a Path (MP-LSP). However, the previous documents do not specify
"global" (non-VPN) context. However, the previous documents do not procedures for attaching IP "Any Source Multicast" trees to MP-LSPs,
specify procedures for attaching IP "Any Source Multicast" trees to nor do they specify procedures for aggregating multiple IP multicast
MP-LSPs, nor do they specify procedures "aggregating" multiple IP trees onto a single MP-LSP. This document specifies the procedures
multicast trees onto a single MP-LSP. This document specifies the to support these functions. It does so by defining "wildcard"
procedures to support these functions. It does so by defining encodings that make it possible to specify, when setting up an MP-
"wildcard" encodings making it possible to specify, when setting up LSP, that a set of IP multicast trees, or a shared IP multicast tree,
an MP-LSP, that a set of IP multicast trees or a shared IP multicast should be attached to that MP-LSP. Support for non-bidirectional IP
tree should be attached to that MP-LSP. "Any Source Multicast" trees is subject to certain applicability
restrictions that are discussed in this document.
Status of this Memo Status of This Memo
This Internet-Draft is submitted in full conformance with the This Internet-Draft is submitted in full conformance with the
provisions of BCP 78 and BCP 79. provisions of BCP 78 and BCP 79.
Internet-Drafts are working documents of the Internet Engineering Internet-Drafts are working documents of the Internet Engineering
Task Force (IETF). Note that other groups may also distribute Task Force (IETF). Note that other groups may also distribute
working documents as Internet-Drafts. The list of current Internet- working documents as Internet-Drafts. The list of current Internet-
Drafts is at http://datatracker.ietf.org/drafts/current/. Drafts is at http://datatracker.ietf.org/drafts/current/.
Internet-Drafts are draft documents valid for a maximum of six months Internet-Drafts are draft documents valid for a maximum of six months
skipping to change at page 3, line 7 skipping to change at page 2, line 26
(http://trustee.ietf.org/license-info) in effect on the date of (http://trustee.ietf.org/license-info) in effect on the date of
publication of this document. Please review these documents publication of this document. Please review these documents
carefully, as they describe your rights and restrictions with respect carefully, as they describe your rights and restrictions with respect
to this document. Code Components extracted from this document must to this document. Code Components extracted from this document must
include Simplified BSD License text as described in Section 4.e of include Simplified BSD License text as described in Section 4.e of
the Trust Legal Provisions and are provided without warranty as the Trust Legal Provisions and are provided without warranty as
described in the Simplified BSD License. described in the Simplified BSD License.
Table of Contents Table of Contents
1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . . 4 1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . 3
2. Terminology and Definitions . . . . . . . . . . . . . . . . . 5 2. Terminology and Definitions . . . . . . . . . . . . . . . . . 5
3. Wildcards in mLDP Opaque Value TLVs . . . . . . . . . . . . . 7 3. Wildcards in mLDP Opaque Value TLVs . . . . . . . . . . . . . 7
4. Some Wildcard Use Cases . . . . . . . . . . . . . . . . . . . 8 3.1. Encoding the Wildcards . . . . . . . . . . . . . . . . . 7
4.1. PIM shared tree forwarding . . . . . . . . . . . . . . . . 8 3.2. Wildcard Semantics . . . . . . . . . . . . . . . . . . . 7
4.2. IGMP/MLD proxying . . . . . . . . . . . . . . . . . . . . 9 3.3. Backwards Compatibility . . . . . . . . . . . . . . . . . 8
4.3. Selective Source mapping . . . . . . . . . . . . . . . . . 10 3.4. Applicability Restrictions with regard to ASM . . . . . . 8
5. Procedures for Wildcard Source Usage . . . . . . . . . . . . . 10 4. Some Wildcard Use Cases . . . . . . . . . . . . . . . . . . . 9
6. Procedures for Wildcard Group Usage . . . . . . . . . . . . . 11 4.1. PIM shared tree forwarding . . . . . . . . . . . . . . . 9
7. Determining the MP-LSP Root (Ingress LSR) . . . . . . . . . . 11 4.2. IGMP/MLD Proxying . . . . . . . . . . . . . . . . . . . . 10
8. Anycast RP . . . . . . . . . . . . . . . . . . . . . . . . . . 12 4.3. Selective Source mapping . . . . . . . . . . . . . . . . 11
9. Acknowledgements . . . . . . . . . . . . . . . . . . . . . . . 12 5. Procedures for Wildcard Source Usage . . . . . . . . . . . . 11
10. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 12 6. Procedures for Wildcard Group Usage . . . . . . . . . . . . . 12
11. Security Considerations . . . . . . . . . . . . . . . . . . . 12 7. Determining the MP-LSP Root (Ingress LSR) . . . . . . . . . . 13
12. References . . . . . . . . . . . . . . . . . . . . . . . . . . 12 8. Anycast RP . . . . . . . . . . . . . . . . . . . . . . . . . 13
12.1. Normative References . . . . . . . . . . . . . . . . . . . 12 9. Acknowledgements . . . . . . . . . . . . . . . . . . . . . . 13
12.2. Informative References . . . . . . . . . . . . . . . . . . 13 10. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 13
Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . . 13 11. Security Considerations . . . . . . . . . . . . . . . . . . . 13
12. References . . . . . . . . . . . . . . . . . . . . . . . . . 13
12.1. Normative References . . . . . . . . . . . . . . . . . . 13
12.2. Informative References . . . . . . . . . . . . . . . . . 14
Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . 15
1. Introduction 1. Introduction
[RFC6826] and [I-D.ietf-l3vpn-mldp-vrf-in-band-signaling] specify [RFC6826] and [I-D.ietf-l3vpn-mldp-vrf-in-band-signaling] specify
procedures for mLDP (Multiple Extensions to the Label Distribution procedures for mLDP ("Multicast Extensions to the Label Distribution
Protocol) that allow an IP multicast tree (either a "Source-Specific Protocol") that allow an IP multicast tree (either a "Source-Specific
Multicast" tree or a "Bidirectional multicast" tree) to be attached Multicast" tree or a "Bidirectional multicast" tree) to be attached
"seamlessly" to an MPLS multipoint label switched path (MP-LSP). "seamlessly" to an MPLS Multipoint Label Switched Path (MP-LSP).
This can be useful, for example, when there is multicast data that This can be useful, for example, when there is multicast data that
originates in a domain that supports IP multicast, then has to be originates in a domain that supports IP multicast, then has to be
forwarded across a domain that supports MPLS multicast, then has to forwarded across a domain that supports MPLS multicast, then has to
forwarded across another domain that supports IP multicast. By forwarded across another domain that supports IP multicast. By
attaching an IP multicast tree to an MP-LSP, data that is traveling attaching an IP multicast tree to an MP-LSP, data that is traveling
along the IP multicast tree is moved to the MP-LSP. The data then along the IP multicast tree can be moved seamlessly to the MP-LSP
travels along the MP-LSP through the MPLS domain. When the reaches when it enters the MPLS multicast domain. The data then travels
the boundary of the MPLS domain, it can be seamlessly passed along an along the MP-LSP through the MPLS domain. When the data reaches the
IP multicast tree. This can be useful in either VPN context or boundary of the MPLS domain, it can be moved seamlessly to an IP
global context. multicast tree. This ability to attach IP multicast trees to MPLS
MP-LSPs can be useful in either VPN context or global context.
When following the procedures of those documents, a given MP-LSP can In mLDP, every MP-LSP is identified by the combination of a "root
carry data from only a single IP source-specific multicast tree node" (or "Ingress LSR") and an "Opaque Value" that, in the context
(i.e., a single "(S,G) tree"). However, there are scenarios in which of the root node, uniquely identifies the MP-LSP. These are encoded
it would be desirable to "aggregate" a number of (S,G) trees on a into an mLDP "FEC Element". To set up an MP-LSP, the Egress LSRs
single MP-LSP. Aggregation allows a given number of IP multicast originate mLDP control messages containing the FEC element. A given
trees to using a smaller number of MP-LSPs, thus saving state in the FEC Element value identifies a single MP-LSP, and is passed upstream
network. from the Egress LSRs, through the intermediate LSRs, to the Ingress
LSR.
In addition, the previous documents do not support the attachment of In IP multicast, a multicast tree is identified by the combination of
an "Any Source Multicast" (ASM) shared tree to an MP-LSP (except in an IP source address ("S") and an IP group address ("G"), usually
the case where the ASM shared tree is a "bidirectional" tree (i.e., a written as "(S,G)". A tree carrying traffic of multiple sources is
tree set up by BIDIR-PIM [RFC5015]. However, there are scenarios in identified by its group address, and the identifier is written as
which it would be desirable to attach a non-bidirectional ASM shared "(*,G)".
tree to an MP-LSP.
In mLDP, every MP-LSP is identified by the combination of a "root When an MP-LSP is being set up, the procedures of [RFC6826] and
node" (or "Ingress LSR") and an "Opaque Value" that uniquely [I-D.ietf-l3vpn-mldp-vrf-in-band-signaling], known as "mLDP In-Band
identifies the MP-LSP in the context of the root node. When mLDP in- Signaling", allow the Egress LSRs of the MP-LSP to encode the
band signaling is used (for non-bidirectional trees), the Opaque identifier of an IP multicast tree in the "Opaque Value" field of the
Value has an IP Source Address (S) and an IP Group Address (G) mLDP FEC Element that identifies the MP-LSP. Only the Egress and
encoded into it, thus enabling it to identify a particular IP Ingress LSRs are aware that the mLDP FEC Elements contain encodings
multicast (S,G) tree. of the IP multicast tree identifier; intermediate nodes along the MP-
LSP do not take any account of the internal structure of the FEC
Element's Opaque Value, and the internal structure of the Opaque
Value does not affect the operation of mLDP. By using mLDP In-Band
Signaling, the Egress LSRs of an MP-LSP inform the Ingress LSR that
they expect traffic of the identified IP multicast tree (and only
that traffic) to be carried on the MP-LSP. That is, mLDP In-Band
Signaling not only sets up the MP-LSP, it also binds a given IP
multicast tree to the MP-LSP.
This document specifies a way to encode an mLDP "Opaque Value" that If multicast is being done in a VPN context, the mLDP FEC elements
replaces either the "S" or the "G" or both by a "wildcard". also contain a "Route Distinguisher" (RD) (see
Procedures are described for using the wildcard encoding to map non- [I-D.ietf-l3vpn-mldp-vrf-in-band-signaling]), as the IP multicast
bidirectional ASM shared trees to MP-LSPs, and for mapping multiple trees are identified not merely by "(S,G)" but by "(RD,S,G)". The
(S,G) trees (with a common value of S or a common value of G) to a procedures of this document are also applicable in this case. Of
single MP-LSP. course, when an Ingress LSR processes an In-Band Signaling Opaque
Value that contains an RD, it does so in the context of the VPN
associated with that RD.
If mLDP In-Band Signaling is not used, some other protocol must be
used to bind an IP multicast tree to the MP-LSP, and this requires
additional communication mechanisms between the Ingress LSR and the
Egress LSRs of the MP-LSP. The purpose of mLDP In-Band Signaling is
to eliminate the need for these other protocols.
When following the procedures of [RFC6826] and
[I-D.ietf-l3vpn-mldp-vrf-in-band-signaling] for non-bidirectional
trees, the Opaque Value has an IP Source Address (S) and an IP Group
Address (G) encoded into it, thus enabling it to identify a
particular IP multicast (S,G) tree. Only a single IP source-specific
multicast tree (i.e., a single "(S,G)") can be identified in a given
FEC element. As a result, a given MP-LSP can carry data from only a
single IP source-specific multicast tree (i.e., a single "(S,G)
tree"). However, there are scenarios in which it would be desirable
to aggregate a number of (S,G) trees on a single MP-LSP. Aggregation
allows a given number of IP multicast trees to using a smaller number
of MP-LSPs, thus saving state in the network.
In addition, [RFC6826] and
[I-D.ietf-l3vpn-mldp-vrf-in-band-signaling] do not support the
attachment of an "Any Source Multicast" (ASM) shared tree to an MP-
LSP, except in the case where the ASM shared tree is a
"bidirectional" tree (i.e., a tree set up by BIDIR-PIM [RFC5015]).
However, there are scenarios in which it would be desirable to attach
a non-bidirectional ASM shared tree to an MP-LSP.
This document specifies a way to encode an mLDP "Opaque Value" in
which either the "S" or the "G" or both are replaced by a "wildcard"
(written as "*"). Procedures are described for using the wildcard
encoding to map non-bidirectional ASM shared trees to MP-LSPs, and
for mapping multiple (S,G) trees (with a common value of S or a
common value of G) to a single MP-LSP.
Some example scenarios where wildcard encoding is useful are: Some example scenarios where wildcard encoding is useful are:
o PIM Shared tree forwarding with threshold infinity. o PIM Shared tree forwarding with "threshold infinity".
o IGMP/MLD proxying. o IGMP/MLD proxying.
o Selective Source mapping. o Selective Source mapping.
These scenarios are discussed in Section 4. Note that this list of These scenarios are discussed in Section 4. Note that this list of
scenarios is not meant to be exhaustive. scenarios is not meant to be exhaustive.
This draft specifies only the mLDP procedures that are specific to This draft specifies only the mLDP procedures that are specific to
the use of wildcards. mLDP in-band signaling procedures that are not the use of wildcards. mLDP In-Band Signaling procedures that are not
specific to the use of wildcards can be found in [RFC6826] and specific to the use of wildcards can be found in [RFC6826] and
[I-D.ietf-l3vpn-mldp-vrf-in-band-signaling]. Unless otherwise [I-D.ietf-l3vpn-mldp-vrf-in-band-signaling]. Unless otherwise
specified in this document, those procedures still apply when specified in this document, those procedures still apply when
wildcards are used. wildcards are used.
2. Terminology and Definitions 2. Terminology and Definitions
Readers of this document are assumed to be familiar with the Readers of this document are assumed to be familiar with the
terminology and concepts of the documents listed as Normative terminology and concepts of the documents listed as Normative
References. For convenience, some of the more frequently used terms References. For convenience, some of the more frequently used terms
appear below. appear below.
IGMP: IGMP:
Internet Group Management Protocol. Internet Group Management Protocol.
In-band signaling: In-band signaling:
Using the opaque value of a mLDP FEC element to carry the (S,G) or Using the opaque value of a mLDP FEC element to carry the (S,G) or
(*,G) identifying a particular IP multicast tree. (*,G) identifying a particular IP multicast tree.
Ingress LSR: Ingress LSR:
Root node of a MP-LSP. When in-band signaling is used, the Root node of a MP-LSP. When mLDP In-Band Signaling is used, the
Ingress LSR receives mLDP messages about a particular MP-LSP from Ingress LSR receives mLDP messages about a particular MP-LSP from
"downstream", and emits IP multicast control messages "upstream". "downstream", and emits IP multicast control messages "upstream".
The set of IP multicast control messages that are emitted upstream The set of IP multicast control messages that are emitted upstream
depends upon the contents of the LDP Opaque Value TLVs. The depends upon the contents of the LDP Opaque Value TLVs. The
Ingress LSR also receives IP multicast data messages from Ingress LSR also receives IP multicast data messages from
"upstream" and sends them "downstream" as MPLS packets on a MP- "upstream" and sends them "downstream" as MPLS packets on a MP-
LSP. LSP.
IP multicast tree: IP multicast tree:
An IP multicast distribution tree identified by a IP multicast An IP multicast distribution tree identified by a IP multicast
skipping to change at page 6, line 34 skipping to change at page 6, line 31
PIM Source Specific Multicast. PIM Source Specific Multicast.
RP: RP:
The PIM Rendezvous Point. The PIM Rendezvous Point.
Egress LSR: Egress LSR:
The Egress LSRs of an MP-LSP are LSPs that receive MPLS multicast The Egress LSRs of an MP-LSP are LSPs that receive MPLS multicast
data packets from "upstream" on that MP-LSP, and that forward that data packets from "upstream" on that MP-LSP, and that forward that
data "downstream" as IP multicast data packets. The Egress LSRs data "downstream" as IP multicast data packets. The Egress LSRs
also receive IP multicast control messages from "downstream", and also receive IP multicast control messages from "downstream", and
send mLDP control messages "upstream". When in-band signaling is send mLDP control messages "upstream". When In-Band Signaling is
used, the Egress LSRs construct Opaque Value TLVs that contain IP used, the Egress LSRs construct Opaque Value TLVs that contain IP
source and/or group addresses, based on the contents of the IP source and/or group addresses, based on the contents of the IP
multicast control messages received from downstream. multicast control messages received from downstream.
Threshold Infinity: Threshold Infinity:
A PIM-SM procedure where no source specific multicast (S,G) trees A PIM-SM procedure where no source specific multicast (S,G) trees
are created for multicast packets that are forwarded down the are created for multicast packets that are forwarded down the
shared tree (*,G). shared tree (*,G).
TLV: TLV:
A protocol element consisting of a type field, followed by a A protocol element consisting of a type field, followed by a
length field, followed by a value field. Note that the value length field, followed by a value field. Note that the value
field of a TLV may be sub-divided into a number of sub-fields. field of a TLV may be sub-divided into a number of sub-fields.
The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT", The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT",
"SHOULD", "SHOULD NOT", "RECOMMENDED", "MAY", and "OPTIONAL" in this "SHOULD", "SHOULD NOT", "RECOMMENDED", "NOT RECOMMENDED", "MAY", and
document are to be interpreted as described in RFC 2119 [RFC2119]. "OPTIONAL" in this document are to be interpreted as described in RFC
2119 [RFC2119].
3. Wildcards in mLDP Opaque Value TLVs 3. Wildcards in mLDP Opaque Value TLVs
[RFC6826] and [I-D.ietf-l3vpn-mldp-vrf-in-band-signaling] define the [RFC6826] and [I-D.ietf-l3vpn-mldp-vrf-in-band-signaling] define the
following TLVs: Transit IPv4 Source TLV, Transit IPv6 Source TLV, following Opaque Value TLVs: Transit IPv4 Source TLV, Transit IPv6
Transit VPNv4 Source TLV, and Transit VPNv6 Source TLV. The value Source TLV, Transit VPNv4 Source TLV, and Transit VPNv6 Source TLV.
fields of each such TLV is divided into a number of sub-fields, one The value field of each such TLV is divided into a number of sub-
of which contains an IP source address, and one of which contains an fields, one of which contains an IP source address, and one of which
IP group address. Per those documents, these fields must contain contains an IP group address. Per those documents, these fields must
valid IP addresses. contain valid IP addresses.
This document extends the definition of those TLVs by allowing either This document extends the definition of those TLVs by allowing either
the IP Source Address field or the IP Group Address field (or both) the IP Source Address field or the IP Group Address field (or both)
to specify a "wildcard" rather than a valid IP address. to specify a "wildcard" rather than a valid IP address.
3.1. Encoding the Wildcards
A value of all zeroes in the IP Source Address sub-field is used to A value of all zeroes in the IP Source Address sub-field is used to
represent a wildcard source address. A value of all zeroes in the IP represent a wildcard source address. A value of all zeroes in the IP
Group Address sub-field is used to represent the wildcard group Group Address sub-field is used to represent the wildcard group
address. Note that the lengths of these sub-fields is as specified address. Note that the lengths of these sub-fields are as specified
in the previous documents. in the previous documents.
3.2. Wildcard Semantics
If the IP Source Address sub-field contains the wildcard, and the IP If the IP Source Address sub-field contains the wildcard, and the IP
Group Address sub-field contains an IP multicast group address, say Group Address sub-field contains an IP multicast group address that
G, that is NOT in the SSM address range (see Section 4.8 of is NOT in the SSM address range (see Section 4.8 of [RFC4601]), the
[RFC4601]), the TLV identifies a PIM-SM shared tree. TLV identifies a PIM-SM shared tree. Please see Section 3.4 for the
applicability restrictions that apply to this case.
If the IP Source Address sub-field contains the wildcard, and the IP If the IP Source Address sub-field contains the wildcard, and the IP
Group Address sub-field contains an IP multicast group address, say Group Address sub-field contains an IP multicast group address that
G, that is in the SSM address range, the TLV identifies the is in the SSM address range, the TLV identifies the collection of PIM
collection of PIM-SSM trees with the given group address. trees with the given group address.
If the IP Source Address sub-field contains a non-zero IP address, If the IP Source Address sub-field contains a non-zero IP address,
and the IP Group Address sub-field contains the wildcard, the TLV and the IP Group Address sub-field contains the wildcard, the TLV
identifies the collection of PIM-SSM trees that have the source identifies the collection of PIM-SSM trees that have the source
address as their root. address as their root.
Procedures for the use of the wildcards are discussed in Sections 4, Procedures for the use of the wildcards are discussed in Sections 4,
5 and 6. Please note that, as always, the structure of the Opaque 5 and 6. Please note that, as always, the structure of the Opaque
Value TLVs does not actually affect the operation of mLDP, but only Value TLVs does not actually affect the operation of mLDP, but only
affects the interface between mLDP and IP multicast. affects the interface between mLDP and IP multicast at the Ingress
LSR.
At the present time, there are no procedures defined for the use of a Procedures for the use of a wildcard group in the following TLVs
wildcard group in the following TLVs that are defined in [RFC6826] or (defined in [RFC6826] or [I-D.ietf-l3vpn-mldp-vrf-in-band-signaling])
[I-D.ietf-l3vpn-mldp-vrf-in-band-signaling]: Transit IPv4 Bidir TLV, are outside the scope of the current document: Transit IPv4 Bidir
Transit IPv6 Bidir TLV, Transit VPNv4 Bidir TLV, Transit VPNv6 Bidir TLV, Transit IPv6 Bidir TLV, Transit VPNv4 Bidir TLV, Transit VPNv6
TLV. Such procedures may be added in a later revision of this Bidir TLV.
document. Note that the Bidir TLVs do not have a "Source Address"
sub-field, and hence the notion of a wildcard source is not
applicable to them.
At the present time, there are no procedures defined for the use of Procedures for the use of both a wildcard source and a wildcard group
both a wildcard source and a wildcard group in the same TLV. Such in the same TLV are outside the scope of the current document.
procedures may be added in a later revision of this document.
Note that the Bidir TLVs do not have a "Source Address" sub-field,
and hence the notion of a wildcard source is not applicable to them.
3.3. Backwards Compatibility
The procedures of this document do not change the behavior described
in [RFC6826] and [I-D.ietf-l3vpn-mldp-vrf-in-band-signaling].
A correctly operating Egress LSR that supports [RFC6826] and/or
[I-D.ietf-l3vpn-mldp-vrf-in-band-signaling], but that does not
support this document, will never generate mLDP FEC Element Opaque
values that contain source or group wildcards.
Neither [RFC6826] nor [I-D.ietf-l3vpn-mldp-vrf-in-band-signaling]
specifies the behavior of an Ingress LSR that receives mLDP FEC
Element Opaque values that contain zeroes in the Source Address or
Group Address sub-fields. However, if an Ingress LSR supports
[RFC6826] and/or [I-D.ietf-l3vpn-mldp-vrf-in-band-signaling], but
does not support this document, it has no choice but to treat any
such received FEC elements as invalid; the procedures specified in
[RFC6826] and [I-D.ietf-l3vpn-mldp-vrf-in-band-signaling] do not work
when the Opaque values contain zeroes in the Source Address or Group
Address sub-fields.
The procedures of this document thus presuppose that if an Egress LSR
uses wildcard encodings when setting up an MP-LSP, then the Ingress
LSR (i.e., the root of the multipoint LSP) supports the procedures of
this document. An Egress LSR MUST NOT use wildcard encodings when
setting up a particular multipoint LSP unless it is known a priori
that the Ingress LSR supports the procedures of this document. How
this is known is outside the scope of this document.
3.4. Applicability Restrictions with regard to ASM
In general, support for non-bidirectional PIM ASM trees requires (a)
a procedure for determining the set of sources for a given ASM tree
("source discovery"), and (b) a procedure for pruning a particular
source off a shared tree ("source pruning"). No such procedures are
specified in this document. Therefore the combination of a wildcard
source with an ASM group address MUST NOT be used unless it is known
a priori that neither source discovery nor source pruning are needed.
How this is known is outside the scope of this document. Section 4
describes some use cases in which source discovery and source pruning
are not needed.
There are of course use cases where source discovery and/or source
pruning is needed. These can be handled with procedures such as
those specified in [RFC6513], [RFC6514], and
[I-D.zzhang-l3vpn-mvpn-global-table-mcast]. Use of mLDP In-Band
Signaling is NOT RECOMMENDED for those cases.
4. Some Wildcard Use Cases 4. Some Wildcard Use Cases
This section discusses a number of wildcard use cases. The set of This section discusses a number of wildcard use cases. The set of
use cases here is not meant to be exhaustive. In each of these use use cases here is not meant to be exhaustive. In each of these use
cases, the Egress LSRs construct mLDP Opaque Value TLVs that contain cases, the Egress LSRs construct mLDP Opaque Value TLVs that contain
wildcards in the IP Source Address or IP Group Address sub-fields. wildcards in the IP Source Address or IP Group Address sub-fields.
4.1. PIM shared tree forwarding 4.1. PIM shared tree forwarding
skipping to change at page 8, line 42 skipping to change at page 9, line 48
that is destined to G, the RP forwards the data down the (*,G) tree. that is destined to G, the RP forwards the data down the (*,G) tree.
There are several different ways that the RP may learn about the There are several different ways that the RP may learn about the
sources for a given group. The RP may learn of sources via PIM sources for a given group. The RP may learn of sources via PIM
Register messages [RFC4601], via MSDP [RFC3618] or by observing Register messages [RFC4601], via MSDP [RFC3618] or by observing
packets from a source that is directly connected to the RP. packets from a source that is directly connected to the RP.
In PIM, a PIM router that has receivers for a particular ASM In PIM, a PIM router that has receivers for a particular ASM
multicast group G (known as a "last hop" router for G) will first multicast group G (known as a "last hop" router for G) will first
join the (*,G) tree. As it receives multicast traffic on the (*,G) join the (*,G) tree. As it receives multicast traffic on the (*,G)
tree, it learns (by examining the IP headers of the multicast data tree, it learns (by examining the IP headers of the multicast data
packets) the sources that are transmitting to G. Typically, when a packets) the sources that are transmitting to G. Typically, when a
last hop router for group G learns that source S is transmitting to last hop router for group G learns that source S is transmitting to
G, the last hop router joins the (S,G) tree, and "prunes" S off the G, the last hop router joins the (S,G) tree, and "prunes" S off the
(*,G) tree. This allows each last hop router to receive the (*,G) tree. This allows each last hop router to receive the
multicast data along the shortest path from the source to the last multicast data along the shortest path from the source to the last
hop router. (Full details of this behavior can be found in hop router. (Full details of this behavior can be found in
[RFC4601].) [RFC4601].)
In some cases, however, a last hop router for group G may decide not In some cases, however, a last hop router for group G may decide not
to join the source trees, but rather to keep receiving all the to join the source trees, but rather to keep receiving all the
traffic for G from the (*,G) tree. In this case, we say that the traffic for G from the (*,G) tree. In this case, we say that the
skipping to change at page 9, line 18 skipping to change at page 10, line 23
sources and the multicast receivers for group G, i.e., in deployments sources and the multicast receivers for group G, i.e., in deployments
where it is known that the shortest path from any source to any where it is known that the shortest path from any source to any
receiver of the group goes through the RP. In these deployments, receiver of the group goes through the RP. In these deployments,
there is no advantage for a last hop router to join a source tree, there is no advantage for a last hop router to join a source tree,
since the data is already traveling along the shortest path. The since the data is already traveling along the shortest path. The
only effect of executing the complicated procedures for joining a only effect of executing the complicated procedures for joining a
source tree and pruning the source off the shared tree would be to source tree and pruning the source off the shared tree would be to
increase the amount of multicast routing state that has to be increase the amount of multicast routing state that has to be
maintained in the network. maintained in the network.
To efficiently use mLDP in-band signaling in this scenario, it is To efficiently use mLDP In-Band Signaling in this scenario, it is
necessary for the Egress LSRs to construct an Opaque Value TLV that necessary for the Egress LSRs to construct an Opaque Value TLV that
identifies a (*,G) tree. This is done by using the wildcard in the identifies a (*,G) tree. This is done by using the wildcard in the
IP Source Address sub-field, and setting the IP Group Address sub- IP Source Address sub-field, and setting the IP Group Address sub-
field to G. field to G.
Note that these mLDP in-band signaling procedures do not support PIM- Note that these mLDP In-Band Signaling procedures do not support PIM-
ASM in scenarios where "threshold infinity" is not used. ASM in scenarios where "threshold infinity" is not used.
4.2. IGMP/MLD proxying 4.2. IGMP/MLD Proxying
There are scenarios where the multicast senders and receivers are There are scenarios where the multicast senders and receivers are
directly connected to an MPLS routing domain, and where it is desired directly connected to an MPLS routing domain, and where it is desired
to use mLDP rather than PIM to set up "trees" through that domain. to use mLDP rather than PIM to set up "trees" through that domain.
In these scenarios we can apply "IGMP/MLD proxying" and eliminate the In these scenarios we can apply "IGMP/MLD proxying" and eliminate the
use of PIM. The senders and receivers consider the MPLS domain to be use of PIM. The senders and receivers consider the MPLS domain to be
single hop between each other. [RFC4605] documents procedures where single hop between each other. [RFC4605] documents procedures where
a multicast routing protocol is not nessesary to build a 'simple a multicast routing protocol is not nessesary to build a 'simple
tree'. Within the MPLS domain, mLDP will be used to build a MP-LSP, tree'. Within the MPLS domain, mLDP will be used to build a MP-LSP,
but this is hidden from the senders and receivers. The procedures but this is hidden from the senders and receivers. The procedures
defined in [RFC4605] are applicable, since the senders and receivers defined in [RFC4605] are applicable, since the senders and receivers
are considered to be one hop away from each other. are considered to be one hop away from each other.
For mLDP to build the necessary MP-LSP, it needs to know the root of For mLDP to build the necessary MP-LSP, it needs to know the root of
the tree. Following the procedures as defined in [RFC4605] we use the tree. Following the procedures as defined in [RFC4605] we depend
the "proxy-device" as the mLDP root for the ASM multicast group. on manual configuration of the mLDP root for the ASM multicast group.
Since the MP-LSP for a given ASM multicast group will carry traffic Since the MP-LSP for a given ASM multicast group will carry traffic
from all the sources for that group, the Opaque Value TLV used to from all the sources for that group, the Opaque Value TLV used to
construct the MP-LSP will contain a wildcard in the IP Source Address construct the MP-LSP will contain a wildcard in the IP Source Address
sub-field. sub-field.
4.3. Selective Source mapping 4.3. Selective Source mapping
In many IPTV deployments, the content servers are gathered into a In many IPTV deployments, the content servers are gathered into a
small number of sites. Popular channels are often statically small number of sites. Popular channels are often statically
configured, and forwarded over a core MPLS network to the egress configured, and forwarded over a core MPLS network to the Egress
routers. Since these channels are statically defined, they MAY also routers. Since these channels are statically defined, they MAY also
be forwarded over a multipoint LSP with wildcard encoding. The sort be forwarded over a multipoint LSP with wildcard encoding. The sort
of wildcard encoding that needs to be used (Source and/or Group) of wildcard encoding that needs to be used (Source and/or Group)
depends on the Source/Group allocation policy of the IPTV provider. depends on the Source/Group allocation policy of the IPTV provider.
Other options are to use MSDP [RFC3618] or BGP "Auto-Discovery" Other options are to use MSDP [RFC3618] or BGP "Auto-Discovery"
procedures [RFC6513] for source discovery by the Ingress LSR. Based procedures [RFC6513] for source discovery by the Ingress LSR. Based
on the received wildcard, the Ingress LSR can select from the set of on the received wildcard, the Ingress LSR can select from the set of
IP multicast streams for which it has state. IP multicast streams for which it has state.
5. Procedures for Wildcard Source Usage 5. Procedures for Wildcard Source Usage
The IP multicast component on an Egress LSR determines when a The decision to use mLDP In-Band Signaling is made by the IP
wildcard is to be used in the IP Source Address sub-field of an mLDP multicast component of an Egress LSR, based on provisioned policy.
Opaque Value TLV. How the IP multicast component determines this is The decision to use (or not to use) a wildcard in the IP Source
a local matter, and may need to be explicitly configured. It MAY Address sub-field of an mLDP Opaque Value TLV is also made by the IP
however use the following rules (with or without explicit multicast component, again based on provisioned policy. Following
configuration); are some example policies that may be useful:
1. Suppose that PIM is enabled, and an Egress LSR needs to join a 1. Suppose that PIM is enabled, an Egress LSR needs to join a non-
non-bidirectional ASM group G, and the RP for G is reachable via bidirectional ASM group G, and the RP for G is reachable via a
a BGP route. The Egress LSR MAY choose the BGP Next Hop of the BGP route. The Egress LSR may choose the BGP Next Hop of the
route to the RP to be the Ingress LSR (root node) of the MP-LSP route to the RP to be the Ingress LSR (root node) of the MP-LSP
corresponding to the (*,G) tree. (See also Section 7.) The corresponding to the (*,G) tree. (See also Section 7.) The
Egress LSR MAY identify the (*,G) tree by using an mLDP Opaque Egress LSR may identify the (*,G) tree by using an mLDP Opaque
Value TLV whose IP Source Address sub-field contains a wildcard, Value TLV whose IP Source Address sub-field contains a wildcard,
and whose IP Group Address sub-field contains G. and whose IP Group Address sub-field contains G.
2. If PIM is not enabled for group G, and an IGMP/MLD group 2. Suppose that PIM is not enabled for group G, and an IGMP/MLD
membership report for G has been received, the Egress LSR may group membership report for G has been received by an Egress LSR.
determine the "proxy device" for G (following the procedures The Egress LSR may determine the "proxy device" for G (see
defined in [RFC4605]). It can then set up an MP-LSP using the Section 4.2). It can then set up an MP-LSP for which the proxy
proxy device as the Ingress LSR. The Egress LSR then needs to device is the Ingress LSR. The Egress LSR needs to signal the
signal the Ingress LSR that the MP-LSP is to carry traffic Ingress LSR that the MP-LSP is to carry traffic belonging to
belonging to group G. It does this by using an Opaque Value TLV group G; it does this by using an Opaque Value TLV whose IP
whose IP Source Address sub-field contains a wildcard, and whose Source Address sub-field contains a wildcard, and whose IP Group
IP Group Address sub-field contains G. Address sub-field contains G.
As the policies needed in any one deployment may be very different
than the policies needed in another, this document does not specify
any particular set of policies as being mandatory to implement.
When the Ingress LSR receives an mLDP Opaque Value TLV that has been When the Ingress LSR receives an mLDP Opaque Value TLV that has been
defined for in-band signaling, the information from the sub-fields of defined for In-Band Signaling, the information from the sub-fields of
that TLV is passed to the IP multicast component of the Ingress LSR. that TLV is passed to the IP multicast component of the Ingress LSR.
If the IP Source Address sub-field contains a wildcard, the IP If the IP Source Address sub-field contains a wildcard, the IP
multicast component must determine how to process it. How the multicast component must determine how to process it. The processing
wildcard is processed is a local matter, subject to the rules below: MUST follow the rules below:
1. If PIM is enabled and the group identified in the Opaque Value 1. If PIM is enabled and the group identified in the Opaque Value
TLV is a non-bidirectional ASM group, the Ingress LSR acts as if TLV is a non-bidirectional ASM group, the Ingress LSR acts as if
it had received a (*,G) IGMP/MLD report from a downstream node, it had received a (*,G) IGMP/MLD report from a downstream node,
and the procedures defined in [RFC4601] are followed. and the procedures defined in [RFC4601] are followed.
2. If PIM is enabled and the identified group is a PIM-SSM group, 2. If PIM is enabled and the identified group is a PIM-SSM group,
all multicast sources known for the group on the Ingress LSR are all multicast sources known for the group on the Ingress LSR are
to be forwarded down the MP-LSP. to be forwarded down the MP-LSP. In this scenario, it is assumed
that the Ingress LSR is already receiving all the necessary
traffic. How the Ingress LSR receives this traffic is outside
the scope of this document.
3. If PIM is not enabled for identified group, the Ingress LSR acts 3. If PIM is not enabled for the identified group, the Ingress LSR
as if it had received a (*,G) IGMP/MLD report from a downstream acts as if it had received a (*,G) IGMP/MLD report from a
node, and the procedures as defined in [RFC4605] are followed. downstream node, and the procedures as defined in [RFC4605] are
followed.
6. Procedures for Wildcard Group Usage 6. Procedures for Wildcard Group Usage
The IP multicast component on an Egress LSR determines when a The decision to use mLDP In-Band Signaling is made by the IP
wildcard is to be used in the IP Group Address sub-field of an mLDP multicast component of an Egress LSR, based on provisioned policy.
Opaque Value TLV. How the IP multicast component determines this is The decision to use (or not to use) a wildcard in the IP Group
a local matter, and may need to be explicitly configured. Address sub-field of an mLDP Opaque Value TLV is also made by the IP
multicast component of the Egress LSR, again based on provisioned
policy. As the policies needed in any one deployment may be very
different than the policies needed in another, this document does not
specify any particular set of policies as being mandatory to
implement.
When the Ingress LSR (i.e., the root node of the MP-LSP) receives an When the Ingress LSR (i.e., the root node of the MP-LSP) receives an
mLDP Opaque Value TLV that has been defined for in-band signaling, mLDP Opaque Value TLV that has been defined for In-Band Signaling,
the information from the sub-fields of that TLV is passed to the IP the information from the sub-fields of that TLV is passed to the IP
multicast component of the Ingress LSR. If the IP Group Address sub- multicast component of the Ingress LSR. If the IP Group Address sub-
field contains a wildcard, the Ingress LSR examines its IP multicast field contains a wildcard, the Ingress LSR examines its IP multicast
routing table, to find all the IP multicast streams whose IP source routing table, to find all the IP multicast streams whose IP source
address is the address specified in the IP Source Address sub-field address is the address specified in the IP Source Address sub-field
of the TLV. All these streams SHOULD be forwarded down the MP-LSP of the TLV. All these streams SHOULD be forwarded down the MP-LSP
identified by the Opaque Value TLV. Note that some of these streams identified by the Opaque Value TLV. Note that some of these streams
may have SSM group addresses, while some may have ASM group may have SSM group addresses, while some may have ASM group
addresses. addresses.
skipping to change at page 12, line 5 skipping to change at page 13, line 17
Documents [RFC6826] and [I-D.ietf-l3vpn-mldp-vrf-in-band-signaling] Documents [RFC6826] and [I-D.ietf-l3vpn-mldp-vrf-in-band-signaling]
describe procedures by which an Egress LSR may determine the MP-LSP describe procedures by which an Egress LSR may determine the MP-LSP
root node address corresponding to a given IP multicast stream, based root node address corresponding to a given IP multicast stream, based
upon the IP address of the source of the IP multicast stream. When a upon the IP address of the source of the IP multicast stream. When a
wildcard source encoding is used, PIM is enabled, and the group is a wildcard source encoding is used, PIM is enabled, and the group is a
non-bidirectional ASM group, a similar procedure is applied. The non-bidirectional ASM group, a similar procedure is applied. The
only difference from the above mentioned procedures is that the Proxy only difference from the above mentioned procedures is that the Proxy
device or RP address is used instead of the Source to discover the device or RP address is used instead of the Source to discover the
mLDP root node address. mLDP root node address.
In all other cases some sort of manual configuration is applied in Other procedures for determining the root node are also allowed, as
order to find the root node. Note, finding the root node is a local determined by policy.
implementation matter and not limited to the solutions mentioned in
this document.
8. Anycast RP 8. Anycast RP
In the scenarios where in-band signaling is used, it is unlikely that In the scenarios where mLDP In-Band Signaling is used, it is unlikely
the RP-to-Group mappings are being dynamically distributed over the that the RP-to-Group mappings are being dynamically distributed over
MPLS core. It is more likely that the RP address is statically the MPLS core. It is more likely that the RP address is statically
configured at each multicast site. In these scenarios, it is configured at each multicast site. In these scenarios, it is
advisable to configure an Anycast RP Address at each site, in order advisable to configure an Anycast RP Address at each site, in order
to provide redundancy. See [RFC3446] for more details. to provide redundancy. See [RFC3446] for more details.
9. Acknowledgements 9. Acknowledgements
We would like to thank Loa Andersson for his review and comments. We would like to thank Loa Andersson, Pranjal Dutta, Lizhong Jin, and
Curtis Villamizar for their review and comments.
10. IANA Considerations 10. IANA Considerations
There are no new allocations required from IANA. There are no new allocations required from IANA.
11. Security Considerations 11. Security Considerations
There are no security considerations other then ones already There are no security considerations other then ones already
mentioned in [RFC6826] and mentioned in [RFC6826] and
[I-D.ietf-l3vpn-mldp-vrf-in-band-signaling]. [I-D.ietf-l3vpn-mldp-vrf-in-band-signaling].
12. References 12. References
12.1. Normative References 12.1. Normative References
[I-D.ietf-l3vpn-mldp-vrf-in-band-signaling] [I-D.ietf-l3vpn-mldp-vrf-in-band-signaling]
Wijnands, I., Hitchen, P., Leymann, N., Henderickx, W., Wijnands, I., Hitchen, P., Leymann, N., Henderickx, W.,
arkadiy.gulko@thomsonreuters.com, a., and J. Tantsura, arkadiy.gulko@thomsonreuters.com, a., and J. Tantsura,
"Multipoint Label Distribution Protocol In-Band Signaling "Multipoint Label Distribution Protocol In-Band Signaling
in a VRF Context", in a VRF Context", draft-ietf-l3vpn-mldp-vrf-in-band-
draft-ietf-l3vpn-mldp-vrf-in-band-signaling-03 (work in signaling-03 (work in progress), January 2014.
progress), January 2014.
[RFC2119] Bradner, S., "Key words for use in RFCs to Indicate [RFC2119] Bradner, S., "Key words for use in RFCs to Indicate
Requirement Levels", BCP 14, RFC 2119, March 1997. Requirement Levels", BCP 14, RFC 2119, March 1997.
[RFC4601] Fenner, B., Handley, M., Holbrook, H., and I. Kouvelas, [RFC4601] Fenner, B., Handley, M., Holbrook, H., and I. Kouvelas,
"Protocol Independent Multicast - Sparse Mode (PIM-SM): "Protocol Independent Multicast - Sparse Mode (PIM-SM):
Protocol Specification (Revised)", RFC 4601, August 2006. Protocol Specification (Revised)", RFC 4601, August 2006.
[RFC4605] Fenner, B., He, H., Haberman, B., and H. Sandick, [RFC4605] Fenner, B., He, H., Haberman, B., and H. Sandick,
"Internet Group Management Protocol (IGMP) / Multicast "Internet Group Management Protocol (IGMP) / Multicast
Listener Discovery (MLD)-Based Multicast Forwarding Listener Discovery (MLD)-Based Multicast Forwarding ("IGMP
("IGMP/MLD Proxying")", RFC 4605, August 2006. /MLD Proxying")", RFC 4605, August 2006.
[RFC6826] Wijnands, IJ., Eckert, T., Leymann, N., and M. Napierala, [RFC6826] Wijnands, IJ., Eckert, T., Leymann, N., and M. Napierala,
"Multipoint LDP In-Band Signaling for Point-to-Multipoint "Multipoint LDP In-Band Signaling for Point-to-Multipoint
and Multipoint-to-Multipoint Label Switched Paths", and Multipoint-to-Multipoint Label Switched Paths", RFC
RFC 6826, January 2013. 6826, January 2013.
12.2. Informative References 12.2. Informative References
[I-D.zzhang-l3vpn-mvpn-global-table-mcast]
Zhang, J., Giuliano, L., Rosen, E., Subramanian, K.,
Pacella, D., and J. Schiller, "Global Table Multicast with
BGP-MVPN Procedures", draft-zzhang-l3vpn-mvpn-global-
table-mcast-03 (work in progress), February 2014.
[RFC3446] Kim, D., Meyer, D., Kilmer, H., and D. Farinacci, "Anycast [RFC3446] Kim, D., Meyer, D., Kilmer, H., and D. Farinacci, "Anycast
Rendevous Point (RP) mechanism using Protocol Independent Rendevous Point (RP) mechanism using Protocol Independent
Multicast (PIM) and Multicast Source Discovery Protocol Multicast (PIM) and Multicast Source Discovery Protocol
(MSDP)", RFC 3446, January 2003. (MSDP)", RFC 3446, January 2003.
[RFC3618] Fenner, B. and D. Meyer, "Multicast Source Discovery [RFC3618] Fenner, B. and D. Meyer, "Multicast Source Discovery
Protocol (MSDP)", RFC 3618, October 2003. Protocol (MSDP)", RFC 3618, October 2003.
[RFC5015] Handley, M., Kouvelas, I., Speakman, T., and L. Vicisano, [RFC5015] Handley, M., Kouvelas, I., Speakman, T., and L. Vicisano,
"Bidirectional Protocol Independent Multicast (BIDIR- "Bidirectional Protocol Independent Multicast (BIDIR-
PIM)", RFC 5015, October 2007. PIM)", RFC 5015, October 2007.
[RFC6513] Rosen, E. and R. Aggarwal, "Multicast in MPLS/BGP IP [RFC6513] Rosen, E. and R. Aggarwal, "Multicast in MPLS/BGP IP
VPNs", RFC 6513, February 2012. VPNs", RFC 6513, February 2012.
[RFC6514] Aggarwal, R., Rosen, E., Morin, T., and Y. Rekhter, "BGP
Encodings and Procedures for Multicast in MPLS/BGP IP
VPNs", RFC 6514, February 2012.
Authors' Addresses Authors' Addresses
IJsbrand Wijnands (editor) IJsbrand Wijnands (editor)
Cisco Cisco
De kleetlaan 6a De kleetlaan 6a
Diegem, 1831 Diegem 1831
Belgium Belgium
Phone:
Email: ice@cisco.com Email: ice@cisco.com
Eric Rosen Eric Rosen
Cisco Cisco
1414 Massachusetts Avenue 1414 Massachusetts Avenue
Boxborough, MA 01719 Boxborough, MA 01719
USA USA
Phone:
Email: erosen@cisco.com Email: erosen@cisco.com
Arkadiy Gulko Arkadiy Gulko
Thomson Reuters Thomson Reuters
195 Broadway 195 Broadway
New York NY 10007 New York NY 10007
USA USA
Email: arkadiy.gulko@thomsonreuters.com Email: arkadiy.gulko@thomsonreuters.com
 End of changes. 54 change blocks. 
152 lines changed or deleted 277 lines changed or added

This html diff was produced by rfcdiff 1.41. The latest version is available from http://tools.ietf.org/tools/rfcdiff/