draft-ietf-mpls-ldp-upstream-06.txt   draft-ietf-mpls-ldp-upstream-07.txt 
Network Working Group R. Aggarwal Network Working Group R. Aggarwal
Internet Draft Juniper Networks Internet Draft Juniper Networks
Expiration Date: August 2010 Category: Standards Track
Expiration Date: September 2010
J. L. Le Roux J. L. Le Roux
France Telecom France Telecom
February 25, 2010 March 2, 2010
MPLS Upstream Label Assignment for LDP MPLS Upstream Label Assignment for LDP
draft-ietf-mpls-ldp-upstream-06.txt draft-ietf-mpls-ldp-upstream-07.txt
Status of this Memo Status of this Memo
This Internet-Draft is submitted to IETF in full conformance with the This Internet-Draft is submitted to IETF 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), its areas, and its working groups. Note that other Task Force (IETF), its areas, and its working groups. Note that other
groups may also distribute working documents as Internet-Drafts. groups may also distribute working documents as Internet-Drafts.
skipping to change at page 2, line 28 skipping to change at page 3, line 9
This document describes procedures for distributing upstream-assigned This document describes procedures for distributing upstream-assigned
labels for Label Distribution Protocol (LDP). It also describes how labels for Label Distribution Protocol (LDP). It also describes how
these procedures can be used for avoiding branch LSR traffic these procedures can be used for avoiding branch LSR traffic
replication on a LAN for LDP point-to-multipoint (P2MP)LSPs. replication on a LAN for LDP point-to-multipoint (P2MP)LSPs.
Table of Contents Table of Contents
1 Specification of requirements ......................... 3 1 Specification of requirements ......................... 3
2 Introduction .......................................... 3 2 Introduction .......................................... 3
3 LDP Upstream Label Assignment Capability .............. 3 3 LDP Upstream Label Assignment Capability .............. 4
4 Distributing Upstream-Assigned Labels in LDP .......... 4 4 Distributing Upstream-Assigned Labels in LDP .......... 5
4.1 Procedures ............................................ 5 4.1 Procedures ............................................ 5
5 LDP Tunnel Identifier Exchange ........................ 6 5 LDP Tunnel Identifier Exchange ........................ 6
6 LDP Point-to-Multipoint LSPs on a LAN ................. 7 6 LDP Point-to-Multipoint LSPs on a LAN ................. 8
7 IANA Considerations ................................... 9 7 IANA Considerations ................................... 9
8 Security Considerations ............................... 9 7.1 LDP TLVs .............................................. 9
9 Acknowledgements ...................................... 10 7.2 Interface Type Identifiers ............................ 10
10 References ............................................ 10 8 Security Considerations ............................... 10
10.1 Normative References .................................. 10 9 Acknowledgements ...................................... 11
10.2 Informative References ................................ 10 10 References ............................................ 11
11 Author's Address ...................................... 11 10.1 Normative References .................................. 11
10.2 Informative References ................................ 11
11 Author's Address ...................................... 12
1. Specification of requirements 1. Specification of requirements
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", "MAY", and "OPTIONAL" in this
document are to be interpreted as described in [RFC2119]. document are to be interpreted as described in [RFC2119].
2. Introduction 2. Introduction
This document describes procedures for distributing upstream-assigned This document describes procedures for distributing upstream-assigned
labels [RFC5331] for Label Distribution Protocol (LDP). These labels [RFC5331] for Label Distribution Protocol (LDP). These
skipping to change at page 6, line 21 skipping to change at page 6, line 47
the tunnel on which the packet is received. There must be a mechanism the tunnel on which the packet is received. There must be a mechanism
for Ru to inform Rd that a particular tunnel from Ru to Rd will be for Ru to inform Rd that a particular tunnel from Ru to Rd will be
used by Ru for transmitting MPLS packets with upstream-assigned MPLS used by Ru for transmitting MPLS packets with upstream-assigned MPLS
labels. labels.
When LDP is used for upstream label assignment, the Interface ID TLV When LDP is used for upstream label assignment, the Interface ID TLV
[RFC3472] is used for signaling the Tunnel Identifier. If Ru uses an [RFC3472] is used for signaling the Tunnel Identifier. If Ru uses an
IP or MPLS tunnel to transmit MPLS packets with upstream assigned IP or MPLS tunnel to transmit MPLS packets with upstream assigned
labels to Rd, Ru MUST include the Interface ID TLV in the Label labels to Rd, Ru MUST include the Interface ID TLV in the Label
Mapping messages along with the Upstream Assigned Label TLV. The Mapping messages along with the Upstream Assigned Label TLV. The
IPv4 Next/Previous Hop Address and the Logical Interface ID fields in IPv4/v6 Next/Previous Hop Address and the Logical Interface ID fields
the Interface ID TLV SHOULD be set to 0 by the sender and ignored by in the Interface ID TLV SHOULD be set to 0 by the sender and ignored
the receiver. by the receiver.
Four new Interface ID TLVs are introduced to support RSVP-TE P2MP The Interface ID TLV carries sub-TLVs. Four new Interface ID sub-TLVs
LSPs, LDP P2MP LSPs, IP Multicast Tunnels and context labels. The TLV are introduced to support RSVP-TE P2MP LSPs, LDP P2MP LSPs, IP
value acts as the tunnel identifier. Multicast Tunnels and context labels. The TLV value in the sub-TLV
acts as the tunnel identifier. Following are the sub-TLVs that are
introduced:
1. RSVP-TE P2MP LSP TLV. Type = TBD. Value of the TLV is 1. RSVP-TE P2MP LSP TLV. Type = TBD. Value of the TLV is
<Extended Tunnel ID, Reserved, Tunnel ID, P2MP ID> as carried in the <Extended Tunnel ID, Reserved, Tunnel ID, P2MP ID> as carried in the
RSVP-TE P2MP LSP SESSION Object [RFC4875]. The TLV value identifies RSVP-TE P2MP LSP SESSION Object [RFC4875]. The TLV value identifies
the RSVP-TE P2MP LSP. It allows Ru to tunnel an "inner" LDP P2MP LSP, the RSVP-TE P2MP LSP. It allows Ru to tunnel an "inner" LDP P2MP LSP,
the label for which is upstream assigned, over an "outer" RSVP-TE the label for which is upstream assigned, over an "outer" RSVP-TE
P2MP LSP that has leaves <Rd1...Rdn>. The P2MP LSP IF_ID TLV allows P2MP LSP that has leaves <Rd1...Rdn>. The RSVP-TE P2MP LSP IF_ID TLV
Ru to signal to <Rd1...Rdn> the binding of the inner LDP P2MP LSP to allows Ru to signal to <Rd1...Rdn> the binding of the inner LDP P2MP
the outer RSVP-TE P2MP LSP. The control plane signaling between Ru LSP to the outer RSVP-TE P2MP LSP. The control plane signaling
and <Rd1...Rdn> for the inner P2MP LSP uses targeted LDP signaling between Ru and <Rd1...Rdn> for the inner P2MP LSP uses targeted LDP
messages signaling messages
2. LDP P2MP LSP TLV. Type = TBD. Value of the TLV is the LDP P2MP FEC 2. LDP P2MP LSP TLV. Type = TBD. Value of the TLV is the LDP P2MP FEC
as defined in [MLDP]. The TLV value identifies the LDP P2MP LSP. It as defined in [MLDP]. The TLV value identifies the LDP P2MP LSP. It
allows Ru to tunnel an "inner" LDP P2MP LSP, the label for which is allows Ru to tunnel an "inner" LDP P2MP LSP, the label for which is
upstream assigned, over an "outer" LDP P2MP LSP that has leaves upstream assigned, over an "outer" LDP P2MP LSP that has leaves
<Rd1...Rdn>. The P2MP LSP IF_ID TLV allows Ru to signal to <Rd1...Rdn>. The LDP P2MP LSP IF_ID TLV allows Ru to signal to
<Rd1...Rdn> the binding of the inner LDP P2MP LSP to the outer LDP- <Rd1...Rdn> the binding of the inner LDP P2MP LSP to the outer LDP-
P2MP LSP. The control plane signaling between Ru and <Rd1...Rdn> for P2MP LSP. The control plane signaling between Ru and <Rd1...Rdn> for
the inner P2MP LSP uses targeted LDP signaling messages the inner P2MP LSP uses targeted LDP signaling messages
3. IP Multicast Tunnel TLV. Type = TBD. In this case the TLV value is 3. IP Multicast Tunnel TLV. Type = TBD. In this case the TLV value is
a <Source Address, Multicast Group Address> tuple. Source Address is a <Source Address, Multicast Group Address> tuple. Source Address is
the IP address of the root of the tunnel i.e. Ru, and Multicast Group the IP address of the root of the tunnel i.e. Ru, and Multicast Group
Address is the Multicast Group Address used by the tunnel. Address is the Multicast Group Address used by the tunnel.
4. MPLS Context Label TLV. Type = TBD. In this case the TLV value is 4. MPLS Context Label TLV. Type = TBD. In this case the TLV value is
skipping to change at page 8, line 16 skipping to change at page 8, line 45
Consider a LSR Rd that receives the LDP P2MP FEC [MLDP] from its Consider a LSR Rd that receives the LDP P2MP FEC [MLDP] from its
downstream LDP peer. Further the upstream interface to reach LSR Ru downstream LDP peer. Further the upstream interface to reach LSR Ru
which is the next-hop to the P2MP LSP root address, Pr, in the LDP which is the next-hop to the P2MP LSP root address, Pr, in the LDP
P2MP FEC, is a LAN interface, Li. Further Rd and Ru support upstream- P2MP FEC, is a LAN interface, Li. Further Rd and Ru support upstream-
assigned labels. In this case Rd instead of sending a Label Mapping assigned labels. In this case Rd instead of sending a Label Mapping
message as described in [MLDP] sends a Label Request message to Ru. message as described in [MLDP] sends a Label Request message to Ru.
This Label Request message MUST contain an Upstream Assigned Label This Label Request message MUST contain an Upstream Assigned Label
Request TLV. Request TLV.
Ru on receiving this message sends back a Label Mapping message to Rd Ru on receiving this message sends back a Label Mapping message to Rd
with an upstream-assigned label. This message also contains a MPLS with an upstream-assigned label. This message also contains an
Context Label TLV, as described in the previous section, with the Interface ID TLV with a MPLS Context Label sub-TLV, as described in
value of the MPLS label set to a value assigned by Ru on inteface Li the previous section, with the value of the MPLS label set to a value
as specified in [RFC5331]. Processing of the Label Request and Label assigned by Ru on inteface Li as specified in [RFC5331]. Processing
Mapping messages for LDP upstream-assigned labels is as described in of the Label Request and Label Mapping messages for LDP upstream-
section 4.2. If Ru receives a Label Request for an upstream assigned assigned labels is as described in section 4.2. If Ru receives a
label for the same P2MP FEC from multiple downstream LSRs on the LAN, Label Request for an upstream assigned label for the same P2MP FEC
<Rd1...Rdn>, it MUST send the same upstream-assigned label to each of from multiple downstream LSRs on the LAN, <Rd1...Rdn>, it MUST send
<Rd1...Rdn>. the same upstream-assigned label to each of <Rd1...Rdn>.
Ru transmits the MPLS packet using the procedures defined in Ru transmits the MPLS packet using the procedures defined in
[RFC5331] and [RFC5332]. The MPLS packet transmitted by Ru contains [RFC5331] and [RFC5332]. The MPLS packet transmitted by Ru contains
as the top label the context label assigned by Ru on the LAN as the top label the context label assigned by Ru on the LAN
interface, Li. The bottom label is the upstream label assigned by Ru interface, Li. The bottom label is the upstream label assigned by Ru
to the LDP P2MP LSP. The top label is looked up in the context of the to the LDP P2MP LSP. The top label is looked up in the context of the
LAN interface, Li, [RFC5331] by a downstream LSR on the LAN. This LAN interface, Li, [RFC5331] by a downstream LSR on the LAN. This
lookup enables the downstream LSR to determine the context specific lookup enables the downstream LSR to determine the context specific
label space to lookup the inner label in. label space to lookup the inner label in.
skipping to change at page 9, line 11 skipping to change at page 9, line 41
This allows for load balancing of a set of LSPs among a set of This allows for load balancing of a set of LSPs among a set of
candidate upstream LSRs, while ensuring that on a LAN interface a candidate upstream LSRs, while ensuring that on a LAN interface a
single upstream LSR is selected. It is also to be noted that the single upstream LSR is selected. It is also to be noted that the
procedures in this section can still be used by Rd and Ru if other procedures in this section can still be used by Rd and Ru if other
LSRs on the LAN do not support upstream label assignment. Ingress LSRs on the LAN do not support upstream label assignment. Ingress
replication and downstream label assignment will continue to be used replication and downstream label assignment will continue to be used
for LSRs that do not support upstream label assignment. for LSRs that do not support upstream label assignment.
7. IANA Considerations 7. IANA Considerations
7.1. LDP TLVs
IANA maintains a registry of LDP TLVs at the registry "Label
Distribution Protocol" in the sub-registry called "TLV Type Name
Space".
This document defines a new LDP Upstream Label Assignment Capability This document defines a new LDP Upstream Label Assignment Capability
Parameter. IANA is requested to assign the value 0x0507 to this TLV (Section 3). IANA is requested to assign the value 0x0507 to this
Parameter. TLV.
This document defines a new LDP Upstream-Assigned Label TLV, IANA is This document defines a new LDP Upstream-Assigned Label TLV (Section
requested to assign the type value of 0x204 to this TLV. 4). IANA is requested to assign the type value of 0x204 to this TLV.
This document defines a new LDP Upstream-Assigned Label Request TLV, This document defines a new LDP Upstream-Assigned Label Request TLV
IANA is requested to assign the type value of 0x205 to this TLV. (Section 4). IANA is requested to assign the type value of 0x205 to
this TLV.
This document defines four new Interface ID TLVs: 7.2. Interface Type Identifiers
- RSVP-TE P2MP LSP TLV [RFC3472] defines the LDP Interface ID IPv4 and IPv6 TLV. These top-
level TLVs can carry sub-TLVs dependent on the interface type. These
sub-TLVs are assigned "Interface ID Types". IANA maintains a registry
of Interface ID Types for use in GMPLS in the registry "Generalized
Multi-Protocol Label Switching (GMPLS) Signaling Parameters" and sub-
registry "Interface_ID Types". IANA is requested to make
corresponding allocations from this registry as follows:
- LDP P2MP LSP TLV - RSVP-TE P2MP LSP TLV (requested value 28)
- IP Multicast Tunnel TLV - LDP P2MP LSP TLV (requested value 29)
- MPLS Context Label TLV - IP Multicast Tunnel TLV (requested value 30)
These values are assigned from the Interface_ID Type space defined in - MPLS Context Label TLV (requested value 31)
[RFC3471]. IANA is requested to assign the type value 6 to RSVP-TE
P2MP LSP TLV, type value 7 to LDP P2MP LSP TLV, type value 8 to IP
Multicast Tunnel TLV and type value 9 to MPLS Context Label TLV.
8. Security Considerations 8. Security Considerations
The security considerations discussed in RFC 5331 and RFC 5332 apply The security considerations discussed in RFC 5331 and RFC 5332 apply
to this document. to this document.
More detailed discussion of security issues that are relevant in the More detailed discussion of security issues that are relevant in the
context of MPLS and GMPLS, including security threats, related context of MPLS and GMPLS, including security threats, related
defensive techniques, and the mechanisms for detection and reporting, defensive techniques, and the mechanisms for detection and reporting,
are discussed in "Security Framework for MPLS and GMPLS Networks are discussed in "Security Framework for MPLS and GMPLS Networks
[MPLS-SEC]. [MPLS-SEC].
9. Acknowledgements 9. Acknowledgements
Thanks to Yakov Rekhter for his contribution. Thanks to Ina Minei and Thanks to Yakov Rekhter for his contribution. Thanks to Ina Minei and
Thomas Morin for their comments. The hashing algorithm used on LAN Thomas Morin for their comments. The hashing algorithm used on LAN
interfaces is taken from [MLDP]. interfaces is taken from [MLDP]. Thanks to Loa Andersson and Adrian
Farrel for their comments on the IANA section.
10. References 10. References
10.1. Normative References 10.1. Normative References
[RFC5331] R. Aggarwal, Y. Rekhter, E. Rosen, "MPLS Upstream Label [RFC5331] R. Aggarwal, Y. Rekhter, E. Rosen, "MPLS Upstream Label
Assignment and Context Specific Label Space", RFC5331 Assignment and Context Specific Label Space", RFC5331
[RFC5332] T. Eckert, E. Rosen, R. Aggarwal, Y. Rekhter, RFC5332 [RFC5332] T. Eckert, E. Rosen, R. Aggarwal, Y. Rekhter, RFC5332
 End of changes. 22 change blocks. 
49 lines changed or deleted 66 lines changed or added

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