Network Working Group | K. Kompella |
Internet-Draft | Juniper Networks |
Updates: 3032,3038,3209,3811,4182,4928,5331,5586,5921,5960,6391,6478,6790 (if approved) | L. Andersson |
Intended status: Standards Track | Huawei |
Expires: November 28, 2013 | A. Farrel |
Juniper Networks | |
May 27, 2013 |
Allocating and Retiring Special Purpose MPLS Labels
draft-kompella-mpls-special-purpose-labels-04
Some MPLS labels have been allocated for specific purposes. A block of labels (0-15) has been set aside to this end, and are commonly called "reserved labels". They will be called "special purpose labels" in this document. As there are only 16 of these labels, caution is needed in the allocation of new special purpose labels, yet at the same time allow forward progress when one is called for. This memo defines some procedures to follow in the allocation and retirement of special purpose labels, as well as a method to extend the special purpose label space. Finally, this memo renames the IANA registry for these labels to "Special Purpose MPLS Label Values", and creates a new one called the "Extended Special Purpose MPLS Label Values" registry.
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 November 28, 2013.
Copyright (c) 2013 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.
The specification of the Label Stack Encoding for Multi-Protocol Label Switching (MPLS) [RFC3032] defined four special purpose label values (0 to 3), and set aside values 4 through 15 for future use. These labels have special significance in both the control and the data plane. Since then, three further values have been allocated (values 7, 13, and 14 in [RFC6790], [RFC5586] and [RFC3429], respectively), leaving nine unassigned values from the original space of sixteen.
While the allocation of three out of the remaining twelve special purpose label values in the space of about 12 years is not in itself a cause for concern, the scarcity of special purpose labels is. Furthermore, many of the special purpose labels require special processing by forwarding hardware, changes to which are often expensive, and sometimes impossible. Thus, documenting a newly allocated special purpose label value is important.
This memo outlines some of the issues in allocating and retiring special purpose label values, and defines mechanisms to address these. This memo also extends the space of special purpose labels.
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 [RFC2119].
In re-appraising MPLS special purpose labels, the following questions come to mind:
This section provides answers to the questions posed in the previous section.
A further question to be settled in this regard is whether a "regular" special purpose label retains its meaning if it follows the extension label; see Section 3.1.
An extension label MUST be followed by another label L (and thus MUST have the bottom-of-stack bit clear). L MUST be interpreted as an "extended special purpose label" and interpreted as defined in a new registry created by this document (see Section 5). Whether or not L has the bottom-of-stack bit set depends on whether other labels follow L. The extension label only assigns special meaning to L. A label after L (if any) is parsed as usual, and thus may be a regular label, a special purpose label or (if prefixed by another extension label) an extended special purpose label.
IANA is asked to set aside label value 15 as the extension label.
Values 0-6 and 8-15 of the extended special purpose label registry are set aside as reserved; these MUST NOT appear in the data plane. Label 7 (when received) retains its meaning as ELI whether a regular or an extended special purpose label; however, an implementation SHOULD NOT insert a label of 7 as an extended special purpose label, preferring instead to send 7 as a regular special purpose label.
While the following process is defined for the sake of completeness, note that retiring special purpose labels is difficult. It is recommended that this process be used sparingly.
The following RFCs contain references to the term "reserved labels": [RFC3032] ("MPLS Label Stack Encoding"), [RFC3038] ("VCID Notification for LDP"), [RFC3209] ("Extensions to RSVP for LSP Tunnels"), [RFC3811] ("MPLS TC MIB"), [RFC4182] ("Removing a Restriction on the use of MPLS"), [RFC4928] ("Avoiding ECMP Treatment in MPLS Networks"), [RFC5331], [RFC5586] ("G-ACh and GAL"), [RFC5921] ("MPLS Transport Profile Framework"), [RFC5960] ("MPLS-TP Data Plane Architecture"), [RFC6790] ("MPLS Entropy Labels"), [RFC6391] ("FAT-PW"), and [RFC6478] ("Pseudowire Status for Static Pseudowires"). All such references should be read as "special purpose labels".
This document requests IANA to make the following changes and additions to its registration of MPLS Labels.
Range | Allocation Policy |
---|---|
0 - 6, 8 - 15 | Reserved. Not to be allocated. MUST NOT appear in the data plane. |
7 | Allocated; meaning is ELI [RFC6790] |
16 - TBD1 | Standards Action |
TBD1+1 - TBD2 | Reserved |
TBD2+1 - 1048559 | First Come, First Served |
1048560 - 1048575 | Experimental |
This document does not make a large change to the operation of the MPLS data plane and security considerations are largely unchanged from those specified in the MPLS architecture [RFC3031] and in the MPLS and GMPLS Security Framework [RFC5920].
However, it should be noted that increasing the label stack can cause packet fragmentation and may also make packets unprocessable by some implementations. This document provides a protocol-legal way to arbitrarily increase the label stack and so might provide a way to attack some nodes in a network without violating the protocol rules.
[RFC3429] | Ohta, H., "Assignment of the 'OAM Alert Label' for Multiprotocol Label Switching Architecture (MPLS) Operation and Maintenance (OAM) Functions", RFC 3429, November 2002. |
[RFC5586] | Bocci, M., Vigoureux, M. and S. Bryant, "MPLS Generic Associated Channel", RFC 5586, June 2009. |