Internet DRAFT - draft-ncrsht-mpls-unique-and-consistent-label-ldp
draft-ncrsht-mpls-unique-and-consistent-label-ldp
MPLS Working Group Nipun Chawla
Internet Draft Rajat Setia
Intended Status: Standards Track Himanshu Tambakuwala
Expires: October 1, 2015 Juniper Networks
March 2015
Unique and Consistent Label LDP
draft-ncrsht-mpls-unique-and-consistent-label-ldp-00
Abstract
This document describes a mechanism to extend LDP control plane with
path control feature, improved remote LFA support and allow easier
monitoring of labelled packet flows in a LDP signaled MPLS network.
The mechanism introduces a method in LDP to propagate a label for
loopback address of a router such that each label identifies a LDP
speaking router in the network. The method enhances the scope of
unique label for loopback address of each LDP speaking router in a
network from a platform or an interface level to an autonomous
system.
The procedures described in this mechanism apply to all LDP speaking
routers running with ordered downstream unsolicited label
distribution. Extending these procedures to independent or downstream
on demand label distribution is a case of further study and thus
beyond the scope of this document.
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 1st October, 2015.
[Page 1]
Internet Draft Unique and Consistent Label LDP March 2015
Copyright Notice
Copyright (c) 2015 IETF Trust and the persons identified as the
document authors. All rights reserved.
This document is subject to BCP 78 and the IETF Trust's Legal
Provisions Relating to IETF Documents
(http://trustee.ietf.org/license-info) in effect on the date of
publication of this document. Please review these documents
carefully, as they describe your rights and restrictions with respect
to this document. Code Components extracted from this document must
include Simplified BSD License text as described in Section 4.e of
the Trust Legal Provisions and are provided without warranty as
described in the Simplified BSD License.
Specification of Requirements
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 BCP 14, RFC 2119
[RFC2119].
Overview
In a LDP signaled MP-BGP MPLS network a PE uses the loopback
interface address for internal BGP peering and the same address is
the default protocol next hop for prefixes being advertised from that
PE. With MPLS implemented in the network the traffic destined to
these prefixes is encapsulated with an MPLS header. This transport
(outer) label header that is pushed onto the packet points to the
protocol next hop of the prefix. In the next three sections of the
document we explain the method to make this transport label for
labeled packets same across all links in the autonomous system.
Label Space and Label Binding
This method uses a defined label range and binding of a label from
that range to a loopback interface address on a LDP speaking router.
An address of a loopback interface is unique across the network and
thus a label for an address is unique in the network. The explanation
of method to bind a label to loopback address is implementation
specific and thus beyond the scope of this document.
[Page 2]
Internet Draft Unique and Consistent Label LDP March 2015
LDP Extension
This method introduces a capability in LDP to "understand unique
labels and advertise these unique labels" in such a way that they
remain consistent in the network. This capability will be termed as
"unique label capability" in further scope of this document. In case
of mismatch of this capability among LDP peers, the LDP session will
not be brought down and LDP shall continue to behave as per its
classic implementation. The support of this capability implies the
support for the unique-label TLV and unique-label-php TLV (both TLV
explained later in the section).
This method introduces a label mapping TLV (referred in the further
scope of this document as "unique-label" TLV) which is in line with
the generic label TLV (mentioned in [RFC5036] with new type. The Type
field in this TLV identifies the label in the value field as a
"unique" label.
The LDP peers supporting this "unique label" capability advertises a
label for their loopback using this "unique label" TLV. At transit,
router advertises the same label as received to the upstream LDP
neighbor(s).
[Page 3]
Internet Draft Unique and Consistent Label LDP March 2015
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
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|0|0| unique-label | Length |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Label |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
To achieve penultimate hop popping (PHP) a router advertises a label
of 3 (implicit-null) or a label of 0 (explicit-null) for its local
prefixes to LDP peers. In this mechanism, to support PHP, an
additional TLV (referred to as "unique-label-php" TLV in the further
scope of this document) is advertised in addition to the "unique
label" TLV by the router. The PHR uses this "unique-label-php" TLV to
update Label FIB (LFIB) entry with operation as pop (in case of
implicit-null) or swap with 0 (in case of explicit-null) while using
the "unique label" TLV to advertise the same label to the upstream
LDP peer.
This procedure ensures that the label for a router's loopback
interface address is consistent throughout the network.
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
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|0|0| unique-label-php | Length |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Label |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
[Page 4]
Internet Draft Unique and Consistent Label LDP March 2015
Label Operation
With this mechanism, at the ingress LER, packet's FEC is determined,
label is pushed as the transport/outer label in the MPLS header. In
transit, the LSR performs the label swap operation but with the same
label with which the traffic had arrived. At PHR in case of PHP the
classic operation of label pop or label swap with 0 are performed.
Path control (Explicit routing) at ingress
Every loopback interface address present in the network represents a
node in the network and since every loopback address is bind to a
unique label, we have a network with nodes having unique labels. All
LDP speaking routers will have consistent information of labels to
reach any LDP speaking router (node) in the network.
PE1(S)-------P1(L1)-------P2(L2)------PE2(D)
| |
| |
| |
P3(lo0,L3)-------P4(L4)-----
We want traffic destined to PE2 (egress) to follow path via P3 and
explicitly define this path for the traffic at ingress (PE1). P3
advertises unique label L3 for its loopback address to P1 in a
"unique label" TLV. The node P3 also advertises a "unique-label-php"
TLV with a label 0 or 3 (default) to P1.P1 uses the "unique-label-
php" to create an entry in its LFIB. P1 generates the same label for
P3 loopback (as advertised by P3) and advertise to upstream
neighbors. Hence PE1 is aware of unique label L1 for node P1, L3 for
node P3 and L4 of node P4 .PE1 creates a label stack by pushing label
L3 on top of label D.
Label stack pushed at PE1 (ingress) looks like this
----------------------
| IP Packet | D | L3 |
----------------------
[Page 5]
Internet Draft Unique and Consistent Label LDP March 2015
The above packet arrives at P1.First, this top label L3 is read at
P1.At P1, the label L3 is either popped and pushed out to P3 or
swapped with a label 0 and pushed out to P3
-if swap is performed at P1, then incoming label 0 will be popped at
P3, the label D is swapped with label D and packet is forwarded to
P4-if pop operation is performed at P1, then the label D is swapped
with label D and packet is forwarded to P4
------------------------------------
| IP Packet (with inner label) | D |
------------------------------------
The above packet arrives at P4.
- At P4, depending upon PHP (with explicit or implicit null) scenario
PE2 will receive either an IP packet or labelled packet with label 0
on top or labelled packet with D on top.
We can further define transit path (at ingress) in terms of nodes, a
packet should traverse to reach destination, by using a label stack
of "unique label" of transit routers.The decision will be taken at
ingress through defining label stack to be pushed.
Any details on explicit routing implementation is a case of further
study and thus beyond the scope of this document.
Remote LFA enhancement
This mechanism eliminates the need for creation of targeted session
with the identified PQ node identified in the discovery of the backup
path.
Every loopback interface address present in the network is a node in
the network and since every loopback address is bind to a unique
label, we have a network with nodes having unique labels. All LDP
speaking routers have consistent information of labels to reach any
LDP speaking router (node) in the network
[Page 6]
Internet Draft Unique and Consistent Label LDP March 2015
PE1(S)-------P1(L1)-------P2(L2)------PE2(D)
| |
| |
| |
P3(lo0,L3)-------P4(L4)---
PE1-Source
PE2- Destination
The primary path between PE1 and PE2 is via P1 and P2. In case of
link failure between P2 and PE2 the P2 becomes the point of local
repair (PLR) the possible backup path to reach PE2 is via P3 and P4
in case P4 is identified as the PQ node. For this example let us
assume that the backup path is PE1--->P1--->P2--->P1--->P3--->P4---
>PE2
The PLR in this case P2 like any other node in the network
understands that label D is used to reach the egress PE (destination)
and it also understands that label L4 is to be used to make the
traffic reach to node P4 (identified PQ node).This removes the
requirement of a targeted LDP session with the identified PQ node (P4
in this case) to learn the label L4 needs to forward the traffic to
PE2 Assuming PQ node identified is P4 in the above example, the label
to reach P4 (L4) is applied on top of label D and the packet is sent
on the backup path
Monitoring of labeled packet traffic flows
With this mechanism the label for loopback address of each LDP
speaking routers is made unique from a platform or an interface level
to an autonomous system. This promotes easier monitoring of current
flows of labelled packets in an MPLS network. With now consistent
outer labels for all labelled traffic through the network, we
identify from the label, the egress router for any labelled packet
traversing on any link of the MPLS network.
[Page 7]
Internet Draft Unique and Consistent Label LDP March 2015
Interoperation
This section explains the scenarios of LDP operation where the
capability to support this mechanism does not match among few routers
in the network
PE1(S)-------P1(L1)-------P2(L2)------PE2(D)
| |
| |
| |
P3(lo0,L3)-------P4(L4)---
Assumption 1: Only P1 supports this mechanism
With capability negotiation, P1 understands that none of its peer has
the "unique label" capability support. Neither R1 creates a "unique-
label" TLV nor does it create "unique-label-php" TLV. In case of
mismatch of this capability among LDP peers, the LDP session will not
be brought down and LDP shall continue to behave as per its classic
implementation.
Assumption 2: Only P1 & P2 support this mechanism.
With capability negotiation, P1 and P2 understand that only they have
unique label capability. P1 advertises L1 for its loopback address
and send it in "unique-label" TLV to P2. P1 also generates 0 or 3 for
its loopback address and send it in "unique-label-php" TLV to P2. P2
will use the received "unique-label-php" TLV to update its LFIB and
advertise the same label L1 with "generic label TLV" (as explained in
LDP RFC 5306) to PE2.P2 and PE2 will behave as native LDP peers with
no support for this capability and will send a generated label of
P1's loopback address to PE2.
[Page 8]
Internet Draft Unique and Consistent Label LDP March 2015
IANA Considerations
This document requires the following code points to be assigned by
IANA:
- LDP message code point for the Capability message for Unique and
Consistent Label LDP.
- LDP TLV code point for the Unique Label TLV.
- LDP TLV code point for the Unique Label PHP TLV.
Security Considerations
The security considerations of [RFC5286] and [RFC5036, RFC7358] also
apply.
Acknowledgments
We would like to thank Pravin Bhandarkar for their contributions to
this document.
Normative References
[RFC5036] Andersson, L., Minei, I., and B. Thomas, "LDP
Specification", RFC 5036, October 2007.
[RFC7358] K. Raza, S. Boutros, L. Martini, "Label Advertisement
Discipline for LDP Forwarding Equivalence Classes
(FECs)", October 2014
[RFC5286] Atlas, A. and A. Zinin, "Basic Specification for IP Fast
Reroute: Loop-Free Alternates", RFC 5286, September
2008.
[RFC2119] Bradner, S., "Key words for use in RFCs to Indicate
Requirement Levels", BCP 14, RFC 2119, March 1997.
Informative References
N/A
[Page 9]
Internet Draft Unique and Consistent Label LDP March 2015
Authors' Addresses
Nipun Chawla
Juniper Networks
Electra, Exora Business Park,
Bangalore, Karnataka,
India 560103
EMail: nipunc@juniper.net
Rajat Setia
Juniper Networks
Electra, Exora Business Park,
Bangalore, Karnataka,
India 560103
EMail: rsetia@juniper.net
Himanshu Tambakuwala
Juniper Networks
Electra, Exora Business Park,
Bangalore, Karnataka,
India 560103
EMail: tambakhk@juniper.net
[Page 10]