draft-ietf-mpls-ldp-p2mp-12.txt | draft-ietf-mpls-ldp-p2mp-13.txt | |||
---|---|---|---|---|
Network Working Group I. Minei, Ed. | Network Working Group I. Minei, Ed. | |||
Internet-Draft Juniper Networks | Internet-Draft Juniper Networks | |||
Intended status: Standards Track IJ. Wijnands, Ed. | Intended status: Standards Track IJ. Wijnands, Ed. | |||
Expires: August 21, 2011 Cisco Systems, Inc. | Expires: October 24, 2011 Cisco Systems, Inc. | |||
K. Kompella | K. Kompella | |||
Juniper Networks | Juniper Networks | |||
B. Thomas | B. Thomas | |||
Cisco Systems, Inc. | Cisco Systems, Inc. | |||
February 17, 2011 | April 22, 2011 | |||
Label Distribution Protocol Extensions for Point-to-Multipoint and | Label Distribution Protocol Extensions for Point-to-Multipoint and | |||
Multipoint-to-Multipoint Label Switched Paths | Multipoint-to-Multipoint Label Switched Paths | |||
draft-ietf-mpls-ldp-p2mp-12 | draft-ietf-mpls-ldp-p2mp-13 | |||
Abstract | Abstract | |||
This document describes extensions to the Label Distribution Protocol | This document describes extensions to the Label Distribution Protocol | |||
(LDP) for the setup of point to multi-point (P2MP) and multipoint-to- | (LDP) for the setup of point to multi-point (P2MP) and multipoint-to- | |||
multipoint (MP2MP) Label Switched Paths (LSPs) in Multi-Protocol | multipoint (MP2MP) Label Switched Paths (LSPs) in Multi-Protocol | |||
Label Switching (MPLS) networks. These extensions are also referred | Label Switching (MPLS) networks. These extensions are also referred | |||
to as Multicast LDP (mLDP). mLDP constructs the P2MP or MP2MP LSPs | to as Multipoint LDP (mLDP). mLDP constructs the P2MP or MP2MP LSPs | |||
without interacting with or relying upon any other multicast tree | without interacting with or relying upon any other multicast tree | |||
construction protocol. Protocol elements and procedures for this | construction protocol. Protocol elements and procedures for this | |||
solution are described for building such LSPs in a receiver-initiated | solution are described for building such LSPs in a receiver-initiated | |||
manner. There can be various applications for P2MP/MP2MP LSPs, for | manner. There can be various applications for P2MP/MP2MP LSPs, for | |||
example IP multicast or support for multicast in BGP/MPLS L3VPNs. | example IP multicast or support for multicast in BGP/MPLS L3VPNs. | |||
Specification of how such applications can use a LDP signaled P2MP/ | Specification of how such applications can use a LDP signaled P2MP/ | |||
MP2MP LSPs is outside the scope of this document. | MP2MP LSPs is outside the scope of this document. | |||
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 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 | Task Force (IETF). Note that other groups may also distribute | |||
other groups may also distribute working documents as Internet- | working documents as Internet-Drafts. The list of current Internet- | |||
Drafts. | 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 | |||
and may be updated, replaced, or obsoleted by other documents at any | and may be updated, replaced, or obsoleted by other documents at any | |||
time. It is inappropriate to use Internet-Drafts as reference | time. It is inappropriate to use Internet-Drafts as reference | |||
material or to cite them other than as "work in progress." | material or to cite them other than as "work in progress." | |||
The list of current Internet-Drafts can be accessed at | This Internet-Draft will expire on October 24, 2011. | |||
http://www.ietf.org/ietf/1id-abstracts.txt. | ||||
The list of Internet-Draft Shadow Directories can be accessed at | ||||
http://www.ietf.org/shadow.html. | ||||
This Internet-Draft will expire on August 21, 2011. | ||||
Copyright Notice | Copyright Notice | |||
Copyright (c) 2011 IETF Trust and the persons identified as the | Copyright (c) 2011 IETF Trust and the persons identified as the | |||
document authors. All rights reserved. | document authors. All rights reserved. | |||
This document is subject to BCP 78 and the IETF Trust's Legal | This document is subject to BCP 78 and the IETF Trust's Legal | |||
Provisions Relating to IETF Documents | Provisions Relating to IETF Documents | |||
(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 | |||
skipping to change at page 2, line 23 | skipping to change at page 2, line 15 | |||
document authors. All rights reserved. | document authors. All rights reserved. | |||
This document is subject to BCP 78 and the IETF Trust's Legal | This document is subject to BCP 78 and the IETF Trust's Legal | |||
Provisions Relating to IETF Documents | Provisions Relating to IETF Documents | |||
(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 BSD License. | described in the Simplified BSD License. | |||
This document may contain material from IETF Documents or IETF | This document may contain material from IETF Documents or IETF | |||
Contributions published or made publicly available before November | Contributions published or made publicly available before November | |||
10, 2008. The person(s) controlling the copyright in some of this | 10, 2008. The person(s) controlling the copyright in some of this | |||
material may not have granted the IETF Trust the right to allow | material may not have granted the IETF Trust the right to allow | |||
modifications of such material outside the IETF Standards Process. | modifications of such material outside the IETF Standards Process. | |||
Without obtaining an adequate license from the person(s) controlling | Without obtaining an adequate license from the person(s) controlling | |||
the copyright in such materials, this document may not be modified | the copyright in such materials, this document may not be modified | |||
outside the IETF Standards Process, and derivative works of it may | outside the IETF Standards Process, and derivative works of it may | |||
not be created outside the IETF Standards Process, except to format | not be created outside the IETF Standards Process, except to format | |||
it for publication as an RFC or to translate it into languages other | it for publication as an RFC or to translate it into languages other | |||
than English. | than English. | |||
Table of Contents | Table of Contents | |||
1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . . 4 | 1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . . 5 | |||
1.1. Conventions used in this document . . . . . . . . . . . . 4 | 1.1. Conventions used in this document . . . . . . . . . . . . 5 | |||
1.2. Terminology . . . . . . . . . . . . . . . . . . . . . . . 4 | 1.2. Terminology . . . . . . . . . . . . . . . . . . . . . . . 5 | |||
2. Setting up P2MP LSPs with LDP . . . . . . . . . . . . . . . . 5 | 2. Setting up P2MP LSPs with LDP . . . . . . . . . . . . . . . . 6 | |||
2.1. Support for P2MP LSP setup with LDP . . . . . . . . . . . 5 | 2.1. Support for P2MP LSP setup with LDP . . . . . . . . . . . 6 | |||
2.2. The P2MP FEC Element . . . . . . . . . . . . . . . . . . . 6 | 2.2. The P2MP FEC Element . . . . . . . . . . . . . . . . . . . 7 | |||
2.3. The LDP MP Opaque Value Element . . . . . . . . . . . . . 8 | 2.3. The LDP MP Opaque Value Element . . . . . . . . . . . . . 9 | |||
2.3.1. The Generic LSP Identifier . . . . . . . . . . . . . . 9 | 2.3.1. The Generic LSP Identifier . . . . . . . . . . . . . . 10 | |||
2.4. Using the P2MP FEC Element . . . . . . . . . . . . . . . . 10 | 2.4. Using the P2MP FEC Element . . . . . . . . . . . . . . . . 11 | |||
2.4.1. Label Map . . . . . . . . . . . . . . . . . . . . . . 10 | 2.4.1. Label Map . . . . . . . . . . . . . . . . . . . . . . 11 | |||
2.4.2. Label Withdraw . . . . . . . . . . . . . . . . . . . . 12 | 2.4.2. Label Withdraw . . . . . . . . . . . . . . . . . . . . 13 | |||
2.4.3. Upstream LSR change . . . . . . . . . . . . . . . . . 13 | 2.4.3. Upstream LSR change . . . . . . . . . . . . . . . . . 14 | |||
3. Setting up MP2MP LSPs with LDP . . . . . . . . . . . . . . . . 13 | 3. Setting up MP2MP LSPs with LDP . . . . . . . . . . . . . . . . 15 | |||
3.1. Support for MP2MP LSP setup with LDP . . . . . . . . . . . 14 | 3.1. Support for MP2MP LSP setup with LDP . . . . . . . . . . . 15 | |||
3.2. The MP2MP downstream and upstream FEC Elements. . . . . . 15 | 3.2. The MP2MP downstream and upstream FEC Elements. . . . . . 16 | |||
3.3. Using the MP2MP FEC Elements . . . . . . . . . . . . . . . 15 | 3.3. Using the MP2MP FEC Elements . . . . . . . . . . . . . . . 16 | |||
3.3.1. MP2MP Label Map . . . . . . . . . . . . . . . . . . . 16 | 3.3.1. MP2MP Label Map . . . . . . . . . . . . . . . . . . . 18 | |||
3.3.2. MP2MP Label Withdraw . . . . . . . . . . . . . . . . . 20 | 3.3.2. MP2MP Label Withdraw . . . . . . . . . . . . . . . . . 21 | |||
3.3.3. MP2MP Upstream LSR change . . . . . . . . . . . . . . 21 | 3.3.3. MP2MP Upstream LSR change . . . . . . . . . . . . . . 22 | |||
4. Micro-loops in MP LSPs . . . . . . . . . . . . . . . . . . . . 21 | 4. Micro-loops in MP LSPs . . . . . . . . . . . . . . . . . . . . 22 | |||
5. The LDP MP Status TLV . . . . . . . . . . . . . . . . . . . . 21 | 5. The LDP MP Status TLV . . . . . . . . . . . . . . . . . . . . 22 | |||
5.1. The LDP MP Status Value Element . . . . . . . . . . . . . 22 | 5.1. The LDP MP Status Value Element . . . . . . . . . . . . . 23 | |||
5.2. LDP Messages containing LDP MP Status messages . . . . . . 23 | 5.2. LDP Messages containing LDP MP Status messages . . . . . . 24 | |||
5.2.1. LDP MP Status sent in LDP notification messages . . . 23 | 5.2.1. LDP MP Status sent in LDP notification messages . . . 24 | |||
5.2.2. LDP MP Status TLV in Label Mapping Message . . . . . . 23 | 5.2.2. LDP MP Status TLV in Label Mapping Message . . . . . . 24 | |||
6. Upstream label allocation on a LAN . . . . . . . . . . . . . . 24 | 6. Upstream label allocation on a LAN . . . . . . . . . . . . . . 25 | |||
6.1. LDP Multipoint-to-Multipoint on a LAN . . . . . . . . . . 24 | 6.1. LDP Multipoint-to-Multipoint on a LAN . . . . . . . . . . 25 | |||
6.1.1. MP2MP downstream forwarding . . . . . . . . . . . . . 24 | 6.1.1. MP2MP downstream forwarding . . . . . . . . . . . . . 25 | |||
6.1.2. MP2MP upstream forwarding . . . . . . . . . . . . . . 25 | 6.1.2. MP2MP upstream forwarding . . . . . . . . . . . . . . 26 | |||
7. Root node redundancy . . . . . . . . . . . . . . . . . . . . . 25 | 7. Root node redundancy . . . . . . . . . . . . . . . . . . . . . 26 | |||
7.1. Root node redundancy - procedures for P2MP LSPs . . . . . 26 | 7.1. Root node redundancy - procedures for P2MP LSPs . . . . . 27 | |||
7.2. Root node redundancy - procedures for MP2MP LSPs . . . . . 26 | 7.2. Root node redundancy - procedures for MP2MP LSPs . . . . . 27 | |||
8. Make Before Break (MBB) . . . . . . . . . . . . . . . . . . . 27 | 8. Make Before Break (MBB) . . . . . . . . . . . . . . . . . . . 28 | |||
8.1. MBB overview . . . . . . . . . . . . . . . . . . . . . . . 27 | 8.1. MBB overview . . . . . . . . . . . . . . . . . . . . . . . 28 | |||
8.2. The MBB Status code . . . . . . . . . . . . . . . . . . . 28 | 8.2. The MBB Status code . . . . . . . . . . . . . . . . . . . 29 | |||
8.3. The MBB capability . . . . . . . . . . . . . . . . . . . . 29 | 8.3. The MBB capability . . . . . . . . . . . . . . . . . . . . 30 | |||
8.4. The MBB procedures . . . . . . . . . . . . . . . . . . . . 29 | 8.4. The MBB procedures . . . . . . . . . . . . . . . . . . . . 30 | |||
8.4.1. Terminology . . . . . . . . . . . . . . . . . . . . . 29 | 8.4.1. Terminology . . . . . . . . . . . . . . . . . . . . . 30 | |||
8.4.2. Accepting elements . . . . . . . . . . . . . . . . . . 30 | 8.4.2. Accepting elements . . . . . . . . . . . . . . . . . . 31 | |||
8.4.3. Procedures for upstream LSR change . . . . . . . . . . 30 | 8.4.3. Procedures for upstream LSR change . . . . . . . . . . 31 | |||
8.4.4. Receiving a Label Map with MBB status code . . . . . . 31 | 8.4.4. Receiving a Label Map with MBB status code . . . . . . 32 | |||
8.4.5. Receiving a Notification with MBB status code . . . . 31 | 8.4.5. Receiving a Notification with MBB status code . . . . 32 | |||
8.4.6. Node operation for MP2MP LSPs . . . . . . . . . . . . 32 | 8.4.6. Node operation for MP2MP LSPs . . . . . . . . . . . . 33 | |||
9. Typed Wildcard for mLDP FEC Element . . . . . . . . . . . . . 32 | 9. Typed Wildcard for mLDP FEC Element . . . . . . . . . . . . . 33 | |||
10. Security Considerations . . . . . . . . . . . . . . . . . . . 32 | 10. Security Considerations . . . . . . . . . . . . . . . . . . . 33 | |||
11. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 32 | 11. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 33 | |||
12. Acknowledgments . . . . . . . . . . . . . . . . . . . . . . . 34 | 12. Acknowledgments . . . . . . . . . . . . . . . . . . . . . . . 35 | |||
13. Contributing authors . . . . . . . . . . . . . . . . . . . . . 34 | 13. Contributing authors . . . . . . . . . . . . . . . . . . . . . 35 | |||
14. References . . . . . . . . . . . . . . . . . . . . . . . . . . 36 | 14. References . . . . . . . . . . . . . . . . . . . . . . . . . . 37 | |||
14.1. Normative References . . . . . . . . . . . . . . . . . . . 36 | 14.1. Normative References . . . . . . . . . . . . . . . . . . . 37 | |||
14.2. Informative References . . . . . . . . . . . . . . . . . . 37 | 14.2. Informative References . . . . . . . . . . . . . . . . . . 38 | |||
Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . . 37 | Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . . 38 | |||
1. Introduction | 1. Introduction | |||
The LDP protocol is described in [RFC5036]. It defines mechanisms | The LDP protocol is described in [RFC5036]. It defines mechanisms | |||
for setting up point-to-point (P2P) and multipoint-to-point (MP2P) | for setting up point-to-point (P2P) and multipoint-to-point (MP2P) | |||
LSPs in the network. This document describes extensions to LDP for | LSPs in the network. This document describes extensions to LDP for | |||
setting up point-to-multipoint (P2MP) and multipoint-to-multipoint | setting up point-to-multipoint (P2MP) and multipoint-to-multipoint | |||
(MP2MP) LSPs. These are collectively referred to as multipoint LSPs | (MP2MP) LSPs. These are collectively referred to as multipoint LSPs | |||
(MP LSPs). A P2MP LSP allows traffic from a single root (or ingress) | (MP LSPs). A P2MP LSP allows traffic from a single root (or ingress) | |||
node to be delivered to a number of leaf (or egress) nodes. A MP2MP | node to be delivered to a number of leaf (or egress) nodes. A MP2MP | |||
skipping to change at page 5, line 43 | skipping to change at page 5, line 43 | |||
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 RFC 2119 [RFC2119]. | document are to be interpreted as described in RFC 2119 [RFC2119]. | |||
1.2. Terminology | 1.2. Terminology | |||
Some of the following terminology is taken from | Some of the following terminology is taken from | |||
[I-D.ietf-mpls-mp-ldp-reqs]. | [I-D.ietf-mpls-mp-ldp-reqs]. | |||
mLDP: Multicast extensions for LDP. | mLDP: Multipoint extensions for LDP. | |||
P2P LSP: An LSP that has one Ingress LSR and one Egress LSR. | P2P LSP: An LSP that has one Ingress LSR and one Egress LSR. | |||
P2MP LSP: An LSP that has one Ingress LSR and one or more Egress | P2MP LSP: An LSP that has one Ingress LSR and one or more Egress | |||
LSRs. | LSRs. | |||
MP2P LSP: An LSP that has one or more Ingress LSRs and one unique | MP2P LSP: An LSP that has one or more Ingress LSRs and one unique | |||
Egress LSR. | Egress LSR. | |||
MP2MP LSP: An LSP that connects a set of nodes, such that traffic | MP2MP LSP: An LSP that connects a set of nodes, such that traffic | |||
skipping to change at page 14, line 44 | skipping to change at page 14, line 44 | |||
state of L'. Then the forwarding state for L is deleted and the | state of L'. Then the forwarding state for L is deleted and the | |||
forwarding state for L' is installed. In addition Z MUST send a | forwarding state for L' is installed. In addition Z MUST send a | |||
Label Map <X, Y, L'> to U' and send a Label Withdraw <X, Y, L> to U. | Label Map <X, Y, L'> to U' and send a Label Withdraw <X, Y, L> to U. | |||
Note, if there was a downstream mapping from U that was not installed | Note, if there was a downstream mapping from U that was not installed | |||
in the forwarding due to Section 2.4.1.4 it can now be installed. | in the forwarding due to Section 2.4.1.4 it can now be installed. | |||
While changing the upstream LSR the following must be taken into | While changing the upstream LSR the following must be taken into | |||
consideration. If L' is added before L is removed, there is a | consideration. If L' is added before L is removed, there is a | |||
potential risk of packet duplication, and/or the creation of a | potential risk of packet duplication, and/or the creation of a | |||
transient dataplane forwarding loop. If L is removed before L' is | transient dataplane forwarding loop. If L is removed before L' is | |||
added, packet loss may result. | added, packet loss may result. Ideally the change from L to L' is | |||
done atomically such that no packet loss or duplication occurs. If | ||||
that is not possible, the RECOMMENDED default behavior is to remove L | ||||
before adding L'. | ||||
3. Setting up MP2MP LSPs with LDP | 3. Setting up MP2MP LSPs with LDP | |||
An MP2MP LSP is much like a P2MP LSP in that it consists of a single | An MP2MP LSP is much like a P2MP LSP in that it consists of a single | |||
root node, zero or more transit nodes and one or more leaf LSRs | root node, zero or more transit nodes and one or more leaf LSRs | |||
acting equally as Ingress or Egress LSR. A leaf node participates in | acting equally as Ingress or Egress LSR. A leaf node participates in | |||
the setup of an MP2MP LSP by establishing both a downstream LSP, | the setup of an MP2MP LSP by establishing both a downstream LSP, | |||
which is much like a P2MP LSP from the root, and an upstream LSP | which is much like a P2MP LSP from the root, and an upstream LSP | |||
which is used to send traffic toward the root and other leaf nodes. | which is used to send traffic toward the root and other leaf nodes. | |||
Transit nodes support the setup by propagating the upstream and | Transit nodes support the setup by propagating the upstream and | |||
End of changes. 12 change blocks. | ||||
71 lines changed or deleted | 67 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/ |