Internet DRAFT - draft-pdutta-mpls-multi-ldp-instance
draft-pdutta-mpls-multi-ldp-instance
MPLS Working Group P. Dutta
Internet-Draft M. Aissaoui
Intended status: Standards Track Alcatel-Lucent
Expires: October 7, 2012 April 05, 2012
Multiple LDP Instances
draft-pdutta-mpls-multi-ldp-instance-00
Abstract
This document defines an extension to Label Distribution Protocol
(LDP) [RFC5036] for implementation of multiple LDP instances in a
network node, where all such instances share the common data plane.
Multiple LDP instances provide a method for operators for fate
separation of various LDP FEC Types as well as for network
segmentation. The methods defined in this extension are backward
compatible with procedures defined in [RFC5036]
Requirements Language
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].
Status of this Memo
This Internet-Draft is submitted in full conformance with the
provisions of BCP 78 and BCP 79.
Internet-Drafts are working documents of the Internet Engineering
Task Force (IETF). Note that other groups may also distribute
working documents as Internet-Drafts. The list of current Internet-
Drafts is at http://datatracker.ietf.org/drafts/current/.
Internet-Drafts are draft documents valid for a maximum of six months
and may be updated, replaced, or obsoleted by other documents at any
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 October 7, 2012.
Copyright Notice
Copyright (c) 2012 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
Dutta & Aissaoui Expires October 7, 2012 [Page 1]
Internet-Draft Multi-Instance LDP April 2012
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
2. Multiple LDP Instances . . . . . . . . . . . . . . . . . . . . 4
2.1. Procedures for multi-instance peering . . . . . . . . . . 4
2.1.1. Case 1 . . . . . . . . . . . . . . . . . . . . . . . . 5
2.1.2. Case 2 . . . . . . . . . . . . . . . . . . . . . . . . 6
2.1.3. Case 3 . . . . . . . . . . . . . . . . . . . . . . . . 7
2.1.4. Case 4 . . . . . . . . . . . . . . . . . . . . . . . . 8
3. Detection of multi-instance peering . . . . . . . . . . . . . 8
4. LDP Address Distribution with multi-instance peering . . . . . 9
5. LDP State Sharing between instances . . . . . . . . . . . . . 9
6. Applicability . . . . . . . . . . . . . . . . . . . . . . . . 9
7. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 9
8. Security Considerations . . . . . . . . . . . . . . . . . . . 10
9. Acknowledgements . . . . . . . . . . . . . . . . . . . . . . . 10
10. References . . . . . . . . . . . . . . . . . . . . . . . . . . 10
10.1. Normative References . . . . . . . . . . . . . . . . . . . 10
10.2. Informative References . . . . . . . . . . . . . . . . . . 10
Appendix A. An Appendix . . . . . . . . . . . . . . . . . . . . . 11
Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . . 11
Dutta & Aissaoui Expires October 7, 2012 [Page 2]
Internet-Draft Multi-Instance LDP April 2012
1. Introduction
The Multi-Protocol Label Switching (MPLS) architecture is described
in [RFC3031]. Label Distribution Protocol (LDP) is a signaling
protocol for setup and maintenance of MPLS LSPs (Label Switched
Paths) and the protocol specification is defined in [RFC5036].
Two Label Switched Routers (LSR) that use LDP to exchange label/FEC
mapping information are known as "LDP Peers" with respect to that
information, and we speak of there being an "LDP Session" between
them. A single LDP session allows each peer to learn the other's
label mappings. Each LSR is indentified by an LDP identifier. An
LDP Identifier is a six octet quantity used to identify an LSR label
space. The 4 octets identify the LSR and is a globally unique value,
such as a 32-bit router Id assigned to the LSR. The last two octets
identify a specific label space within the LSR. The last two octets
of LDP Indentifers for platform-wide label spaces are always both
zero. This document uses the following representation for LDP
Indentifiers:
<LSR Id> : <label space id>
e.g, lsr171:0, lsr19:2 etc
As per [RFC5036] an LSR that manages and advertises multiple label
spaces uses a different LDP Identifier for each such label space.
This means for a single label space there can be only one router-id
that is can be assigned to the node that exclusively owns that label
space. For example, it is not possible to have two LSRs like
lsr100:0 and lsr200:0 to be created in the a single node.
A LDP peering session between two LSRs may exchange labels for
setting up LSPs that may belong to different FEC types. Operators
may need the flexiblity for fate separation of different FEC types in
LDP protocol signaling when all such fec types share the same common
label space. This is not possible with the current paradigm of
single peering session between two LSRs and it requires one session
per fate separated group of FEC types to exchange labels. Thus
multiple LDP sessions are required between two peering nodes. One
example could be fate separation between IP transport network and the
overlay network of Pseudowires (PW). Procedures for PW set-up and
maintenance using LDP are defined in [RFC4447]. It may be also
desirable for fate separation IPv4 and IPv6 LSP set-up and
maintenance in LDP in case of which two separate LDP sessions need to
be formed between two peering nodes.
Although [RFC5036] does not specify that the 4 byte router-id of the
LDP identifier be routable IP addresses, for various operational
Dutta & Aissaoui Expires October 7, 2012 [Page 3]
Internet-Draft Multi-Instance LDP April 2012
simplicity implementations may map the 32 bit router-id to a IPv4
address configured in the node which is routable. In that way
uniqueness of the 4 byte router-id can be achieved over a single
routing domain. Interior Gateway Protocols (IGPs) like OSPF provide
the option of creation of multiple instances for segmentation of a
network into multiple routing domains. When LDP is deployed in such
networks it is required to segment LDP network to align with multiple
routing domains. When a node is connected to multiple such domains,
LDP peering sessions over all such domains cannot use a common IPv4
router-id which is local to that node, since the IPv4 mapped
router-id may not be routable across all such domains for security
purposes. There are applications such as BGP Autodiscovery of L2VPNs
or Dynamic MS-PW set-up that may auto-instantiate Targeted LDP
sessions where BGP IPv4 next-hop addresses for respective NLRIs are
mapped to peer LDP identifiers. Suc next-hop addresses may not be
routable between two routing domains.Thus there is need to host
multiple LSRs by a network node that shares the same label space but
each with unique router-ids.
This document describes a method to implement multiple instances of
LDP in a network node that shares same label space. The method is
generic and is backward compatible with nodes that supports
procedures defined in [RFC5036] but does not support the procedures
defined in this document. The procedures defined in this document
would be referred as "Multi-Instance LDP".
2. Multiple LDP Instances
The solution defines the concept of implementing multiple LDP
instances on a single network node that shares the single label space
and thus shares the common data plane. Each such LDP instance is
identified by a unique 4 byte router-id but same label space. Since
the multi-instance procedures use same LDP Indentifer as defined in
[RFC5036], it makes the node running multiple instances to be
backward compatible with the node that support the multi-instance LDP
procedures.
2.1. Procedures for multi-instance peering
When multiple LDP instances are set-up between two peering nodes for
fate separation reasons then there can be various ways Hello
adjacencies can be formed over the interfaces between the nodes.
Further multi-instance peering for fate separation results in
multiple parallel sessions between two peering nodes.
While running parallel multi-instance LDP sessions between two
peering nodes,
Dutta & Aissaoui Expires October 7, 2012 [Page 4]
Internet-Draft Multi-Instance LDP April 2012
1. Each peering sesssion MUST use separate transport address.
2. The FEC label mappings exchanged over each peering session MUST
be a disjoint set from one another.
The above rules does not apply between multi-instance LDP sessions
with different peering LDP nodes.
This document describes the following cases and defines the rules and
procedures with each case.
2.1.1. Case 1
Node - A Node - B
+-------------+ +--------------+
| LSR-A1:0--|============IF 1============|---LSR-B1:0 |
| \ | | / |
| LSR-A2:0 |============IF 2============| LSR-B2:0 |
+-------|-----+ +-------|------+
+---------------t-LDP Adj------------------+
Figure 1.
In this case the operator wants to separate the fate of FECs
exchanged between the nodes into two separate groups - Group 1 and
Group 2. For example Group 1 can contain all transport specific FEC
types such as IPV4 FEC Element Type and LDP Multi-point (MP) FEC
types etc. LDP Multi-point FEC types are described in [RFC6388] .
Group 2 contains various Pseudowire (PW) FEC types. PW setup and
maintenance using LDP is described in [RFC4447].
Two separate LSR-IDs are provisioned in each node - one LSR is
dedicated for FEC Group 1 and another for FEC Group 2.
There are two parallel interfaces between Node-A and Node-B as IF1
and IF2 respectively.
The traffic for LSPs set-up for FEC Group 1 may use both IF1 and IF2.
Thus both IF1 and IF2 would exchange Hello Packets using LSR-A1:0 and
LSR-A2:0 for setting up Hello adjacency for the LDP instance assigned
for FEC Group 1. The Hello messages exchanged over IF1 and IF2 MUST
carry the LDP Adjacency Capabilities for each FEC Types in FEC Group
1. LDP Adjacency Capabilities are defined in [LDP-ADJ-CAP]. This
would result in formation of a LDP session between Node A and Node B
for the instance indentified by LSR-A1:0 and LSR-B1:0 respectively.
The LDP session SHOULD be set-up with Capabilities of FEC Group 1.
Dutta & Aissaoui Expires October 7, 2012 [Page 5]
Internet-Draft Multi-Instance LDP April 2012
LDP session specific capability negotiation is described in [RFC5561]
A Targeted LDP (t-LDP) hello adjacency would be formed between node A
and node B using LSR-A2:0 and LSR-B2:0 respectively. The t-Ldp Hello
Messages exchanged between the nodes MUST carry the LDP Adjacency
Capabilities for each FEC Types in FEC Group 2. This would result in
a LDP session between Node A and Node B for the instance identified
by LSR-A2:0 and LSR-B2:0 respectively. The LDP session SHOULD be
set-up with capabilities of FEC Group 2.
2.1.2. Case 2
Node - A Node - B
+-------------+ +--------------+
| LSR-A1:0--|===========IF 1============|---LSR-B1:0 |
| x | | x |
| LSR-A2:0--|===========IF 2============|---LSR-B2:0 |
| | | |
| LSR-A3:0 |---------t-LDP Adj---------| LSR-B3:0 |
+-------------+ +--------------+
Figure 2.
This is a variant of case 1 where the operator may choose to further
separate the fate of IPV4 FEC Element Type and MP FEC Element types
into "Unicast" and "Multicast" Groups. Thus there are three FEC
Groups here and fate separation is required for all three FEC Groups.
FEC Group 1 : IPv4 FEC Element Type.
FEC Group 2: MP FEC Element Types.
FEC Group 3: PW FEC Element Types.
LDP Instance 1: The LDP instance with peering LSR-A1:0 and LSR-B1:0
are assigned for FEC Group 1.
LDP Instance 2: The LDP Instance with peering LSR-A2:0 and LSR-B2:0
are assigned for FEC Group 2.
LDP Instance 3: The LDP instance with peering LSR-A3:0 and LSR-B3:0
are assigned for FEC Group 3.
In this case, both IF1 and IF2 are associated with LDP instances 1
and 2. Each of IF1 and IF2 would originate two separate Hello
Messages using the same source IP address, one Hello Message for each
Dutta & Aissaoui Expires October 7, 2012 [Page 6]
Internet-Draft Multi-Instance LDP April 2012
instance . This would result in two hello adjacencies per interface
- one for Instance 1 and Instance 2. Each Hello Adjacncies SHOULD
advertise capabilities using rules described in case 1.
Such case may also arise when operator wants to do fate separation of
IPV4 and IPV6 LDP based LSPs but IF1 and IF2 are single stack
interfaces only - that is either IPV4 or IPV6. Thus an operator may
provision single stack interfaces IF1 and IF2 and yet can provision
fate separation of IPV4 and IPV6 LSPs.
The t-Ldp Hello Adjacency would be formed for LDP Instance 3 using
the PW Capabilities.
2.1.3. Case 3
Node - A Node - B
+-------------+ +--------------+
| LSR-A1:0--|============IF 1==============|---LSR-B1:0 |
| x | | x |
| LSR-A2:0--|============IF 2==============|---LSR-B2:0 |
| | | |
+-------------+ +--------------+
Figure 3.
This case a a variant of case 2 where, both interfaces IF1 and IF2
are dual-stack (IPV4 and IPV6) interfaces and operator wants fate
separation of IPV4 and IPV6 LSPs. Without loss of generality,
herebys IPv4 or IPV6 FECs may include all FEC types that are
associated with IPV4 or IPV6. For example,
[I-D.ietf-mpls-mldp-in-band-signaling] defines several in-band MP FEC
Types that may be classified into IPV6.
LDP Instance 1: The LDP instance with peering LSR-A1:0 and LSR-B1:0
are assigned for IPV4 FEC Types.
LDP Instance 2: The LDP Instance with peering LSR-A2:0 and LSR-B2:0
are assigned for IPV6 FEC Types.
Both the interfaces IF1 and IF2 are associated with each of the LDP
instances 1 and 2 respectively. Here the operator may choose to use
IPv4 addresses on the interfaces for sending Hello Messages for
Instance 1 and IPv6 addresses on the interfaces for sending Hello
Messages for Instance 2.
Dutta & Aissaoui Expires October 7, 2012 [Page 7]
Internet-Draft Multi-Instance LDP April 2012
2.1.4. Case 4
This case is variant of case 3 where inteface IF1 is dedicated for
IPV4 LSP Types and IF2 is dedicated for IPV6 LSP Types. This
provides fate-separation of both control plane and data plane for LSP
types.
3. Detection of multi-instance peering
While running parallel multi-instance LDP sessions between two
peering nodes, it is important to detect that such sessions with the
same peer node. If a node receives the same FEC label maping from
parallel multi-lsr peering sessions it may result in a loop for some
applications. An example of such application can be LDP based
Virtual Private LAN Service (VPLS)described [RFC4762]. So it is
important to detect and prevent such loops.
This document defines a new LDP Node-ID TLV that uniquely indentifies
the node that hosts multiple LDP instances. The LDP Node ID TLV is
OPTIONAL and is carried in LDP Hello Messages sent out by the node in
its Optional Parameters. The encoding of the LDP Node ID TLV is as
follows:
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
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|1|0| Node ID Tlv (TBD) | Length (6) |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Value |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Value (contd) |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
Figure 4
The Value field is a 48 bit identifier and MUST be unique identifer
across the network.
1. All the multi-instance LDP LSRs MUST advertise the same LDP
Node-ID TLV in all Hello Messages originated by that node. One
example of the value can be a IEEE Vendor specific MAC Address that
can uniquely indentify a node in the network.
2. When a LSR receives a FEC label mapping from a peering session
but same FEC mapping has been already receiver over another peering
session associated with same Node-ID then the receiving LSR MUST send
a Label Release to the peering session with statuc code
Dutta & Aissaoui Expires October 7, 2012 [Page 8]
Internet-Draft Multi-Instance LDP April 2012
LOOP_DETECTED.
4. LDP Address Distribution with multi-instance peering
An LSR maintains learned labels in a Label Information Base (LIB).
When operating in Downstream Unsolicited mode, the LIB entry for an
address prefix associates a collection of (LDP Identifier, label)
pairs with the prefix, one such pair for each peer advertising a
label for the prefix. When the next hop for a prefix changes, the
LSR retrieves the label advertised by the new next hop from the LIB
for use in forwarding. To retrieve the label, the LSR should be able
to map the next hop address for the prefix to an LDP Identifier.
Similarly, when the LSR learns a label for a prefix from an LDP peer,
it should be able to determine whether that peer is currently a next
hop for the prefix to determine whether it needs to start using the
newly learned label when forwarding packets that match the prefix.
To make that decision, the LSR should be able to map an LDP
Identifier to the peer's addresses to check whether any are a next
hop for the prefix. To enable LSRs to map between a peer LDP
Identifier and the peer's addresses, LSRs advertise their addresses
using LDP Address and Withdraw Address messages as per procedures
defined in [RFC5036]
However while running multi-instance LDP peering between two nodes,
it is possible that all such sessions would distribute same set of
local addresses in each node. An implementation MAY segregate the
local address space in each node among the multiple ldp instances to
avoid duplication of address distribution.
5. LDP State Sharing between instances
TBD.
6. Applicability
This solution described in this document is applicable for multi-
instance LDP sessions for fate separation as well as for segmentation
of LDP network domains. More details would be covered in next
revisions of the document.
7. IANA Considerations
This document requests the following code points:
Dutta & Aissaoui Expires October 7, 2012 [Page 9]
Internet-Draft Multi-Instance LDP April 2012
- LDP Node-ID TLV type.
Note to RFC Editor: this section may be removed on publication as an
RFC.
8. Security Considerations
[I-D.ietf-mpls-mpls-and-gmpls-security-framework] describes the
security framework for MPLS networks. whereas [RFC5036] describes the
security considerations that apply to the base LDP specification.
The same security framework and considerations apply to the
capability mechansim described in this document.
9. Acknowledgements
The authors would like to thank Wim Henderickx for insightful
comments and probing questions.
10. References
10.1. Normative References
[RFC2119] Bradner, S., "Key words for use in RFCs to Indicate
Requirement Levels", BCP 14, RFC 2119, March 1997.
[RFC3031] Rosen, E., Viswanathan, A., and R. Callon, "Multiprotocol
Label Switching Architecture", RFC 3031, January 2001.
[RFC5036] Andersson, L., Minei, I., and B. Thomas, "LDP
Specification", RFC 5036, October 2007.
[RFC5561] Thomas, B., Raza, K., Aggarwal, S., Aggarwal, R., and JL.
Le Roux, "LDP Capabilities", RFC 5561, July 2009.
[RFC6388] Wijnands, IJ., Minei, I., Kompella, K., and B. Thomas,
"Label Distribution Protocol Extensions for Point-to-
Multipoint and Multipoint-to-Multipoint Label Switched
Paths", RFC 6388, November 2011.
10.2. Informative References
[I-D.ietf-mpls-mldp-in-band-signaling]
Wijnands, I., Eckert, T., Leymann, N., and M. Napierala,
"Multipoint LDP in-band signaling for Point-to-Multipoint
and Multipoint- to-Multipoint Label Switched Paths",
Dutta & Aissaoui Expires October 7, 2012 [Page 10]
Internet-Draft Multi-Instance LDP April 2012
draft-ietf-mpls-mldp-in-band-signaling-05 (work in
progress), December 2011.
[I-D.ietf-mpls-mpls-and-gmpls-security-framework]
Fang, L. and M. Behringer, "Security Framework for MPLS
and GMPLS Networks",
draft-ietf-mpls-mpls-and-gmpls-security-framework-09 (work
in progress), March 2010.
[RFC4447] Martini, L., Rosen, E., El-Aawar, N., Smith, T., and G.
Heron, "Pseudowire Setup and Maintenance Using the Label
Distribution Protocol (LDP)", RFC 4447, April 2006.
[RFC4762] Lasserre, M. and V. Kompella, "Virtual Private LAN Service
(VPLS) Using Label Distribution Protocol (LDP) Signaling",
RFC 4762, January 2007.
Appendix A. An Appendix
Authors' Addresses
Pranjal Kumar Dutta
Alcatel-Lucent
701 E Middlefield Road
Mountain View, California 94043
USA
Phone:
Fax:
Email: pranjal.dutta@alcatel-lucent.com
Mustapha Aissaoui
Alcatel-Lucent
600 May Road
Kanata, ON
Canada
Phone:
Fax:
Email: mustapha.aissaoui@alcatel-lucent.com
URI:
Dutta & Aissaoui Expires October 7, 2012 [Page 11]