MPLS-TP IDs: MPLS Transport Profile (MPLS-TP) Identifiers
Naming conventions for the nodes, interfaces, tunnels, paths and maintenance points of an MPLS Transport Profile network.
Bocci, M., Swallow, G., and E. Gray, "MPLS Transport Profile (MPLS-TP) Identifiers", RFC 6370, DOI 10.17487/RFC6370, September 2011, <https://www.rfc-editor.org/info/rfc6370>.
@misc{rfc6370,
series = {Request for Comments},
number = 6370,
howpublished = {RFC 6370},
publisher = {RFC Editor},
doi = {10.17487/RFC6370},
url = {https://www.rfc-editor.org/info/rfc6370},
author = {M. Bocci and G. Swallow and E. Gray},
title = {{MPLS Transport Profile (MPLS-TP) Identifiers}},
pagetotal = 17,
year = 2011,
month = sep,
} RFC text
Contents
Internet Engineering Task Force (IETF) M. Bocci
Request for Comments: 6370 Alcatel-Lucent
Category: Standards Track G. Swallow
ISSN: 2070-1721 Cisco
E. Gray
Ericsson
September 2011
MPLS Transport Profile (MPLS-TP) Identifiers
Abstract
This document specifies an initial set of identifiers to be used in
the Transport Profile of Multiprotocol Label Switching (MPLS-TP).
The MPLS-TP requirements (RFC 5654) require that the elements and
objects in an MPLS-TP environment are able to be configured and
managed without a control plane. In such an environment, many
conventions for defining identifiers are possible. This document
defines identifiers for MPLS-TP management and Operations,
Administration, and Maintenance (OAM) functions compatible with IP/
MPLS conventions.
This document is a product of a joint Internet Engineering Task Force
(IETF) / International Telecommunication Union Telecommunication
Standardization Sector (ITU-T) effort to include an MPLS Transport
Profile within the IETF MPLS and Pseudowire Emulation Edge-to-Edge
(PWE3) architectures to support the capabilities and functionalities
of a packet transport network as defined by the ITU-T.
Status of This Memo
This is an Internet Standards Track document.
This document is a product of the Internet Engineering Task Force
(IETF). It represents the consensus of the IETF community. It has
received public review and has been approved for publication by the
Internet Engineering Steering Group (IESG). Further information on
Internet Standards is available in Section 2 of RFC 5741.
Information about the current status of this document, any errata,
and how to provide feedback on it may be obtained at
http://www.rfc-editor.org/info/rfc6370.
Copyright Notice
Copyright (c) 2011 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.
Table of Contents
1. Introduction ....................................................3
1.1. Terminology ................................................3
1.2. Requirements Language ......................................4
1.3. Notational Conventions .....................................4
2. Named Entities ..................................................5
3. Uniquely Identifying an Operator - the Global_ID ................5
4. Node and Interface Identifiers ..................................6
5. MPLS-TP Tunnel and LSP Identifiers ..............................7
5.1. MPLS-TP Point-to-Point Tunnel Identifiers ..................8
5.2. MPLS-TP LSP Identifiers ....................................9
5.2.1. MPLS-TP Co-Routed Bidirectional LSP Identifiers .....9
5.2.2. MPLS-TP Associated Bidirectional LSP Identifiers ....9
5.3. Mapping to RSVP Signaling .................................10
6. Pseudowire Path Identifiers ....................................11
7. Maintenance Identifiers ........................................13
7.1. Maintenance Entity Group Identifiers ......................13
7.1.1. MPLS-TP Section MEG_IDs ............................13
7.1.2. MPLS-TP LSP MEG_IDs ................................13
7.1.3. Pseudowire MEG_IDs .................................14
7.2. Maintenance Entity Group End Point Identifiers ............14
7.2.1. MPLS-TP Section MEP_IDs ............................14
7.2.2. MPLS-TP LSP_MEP_ID .................................15
7.2.3. MEP_IDs for Pseudowires ............................15
7.3. Maintenance Entity Group Intermediate Point Identifiers ...15
8. Security Considerations ........................................15
9. References .....................................................16
9.1. Normative References ......................................16
9.2. Informative References ....................................17
1. Introduction
This document specifies an initial set of identifiers to be used in
the Transport Profile of Multiprotocol Label Switching (MPLS-TP).
The MPLS-TP requirements (RFC 5654 [7]) require that the elements and
objects in an MPLS-TP environment are able to be configured and
managed without a control plane. In such an environment, many
conventions for defining identifiers are possible. This document
defines identifiers for MPLS-TP management and OAM functions
compatible with IP/MPLS conventions. That is, the identifiers have
been chosen to be compatible with existing IP, MPLS, GMPLS, and
Pseudowire definitions.
This document is a product of a joint Internet Engineering Task Force
(IETF) / International Telecommunication Union Telecommunication
Standardization Sector (ITU-T) effort to include an MPLS Transport
Profile within the IETF MPLS and Pseudowire Emulation Edge-to-Edge
(PWE3) architectures to support the capabilities and functionalities
of a packet transport network as defined by the ITU-T.
1.1. Terminology
AGI: Attachment Group Identifier
AII: Attachment Interface Identifier
AS: Autonomous System
ASN: Autonomous System Number
EGP: Exterior Gateway Protocol
FEC: Forwarding Equivalence Class
GMPLS: Generalized Multiprotocol Label Switching
IGP: Interior Gateway Protocol
LSP: Label Switched Path
LSR: Label Switching Router
MEG: Maintenance Entity Group
MEP: Maintenance Entity Group End Point
MIP: Maintenance Entity Group Intermediate Point
MPLS: Multiprotocol Label Switching
NNI: Network-to-Network Interface
OAM: Operations, Administration, and Maintenance
PW: Pseudowire
RSVP: Resource Reservation Protocol
RSVP-TE: RSVP Traffic Engineering
SAII: Source AII
SPME: Sub-Path Maintenance Entity
T-PE: Terminating Provider Edge
TAII: Target AII
1.2. 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 [1].
1.3. Notational Conventions
All multiple-word atomic identifiers use underscores (_) between the
words to join the words. Many of the identifiers are composed of a
set of other identifiers. These are expressed by listing the latter
identifiers joined with double-colon "::" notation.
Where the same identifier type is used multiple times in a
concatenation, they are qualified by a prefix joined to the
identifier by a dash (-). For example, A1-Node_ID is the Node_ID of
a node referred to as A1.
The notation defines a preferred ordering of the fields.
Specifically, the designation A1 is used to indicate the lower sort
order of a field or set of fields and Z9 is used to indicate the
higher sort order of the same. The sort is either alphanumeric or
numeric depending on the field's definition. Where the sort applies
to a group of fields, those fields are grouped with {...}.
Note, however, that the uniqueness of an identifier does not depend
on the ordering, but rather, upon the uniqueness and scoping of the
fields that compose the identifier. Further, the preferred ordering
is not intended to constrain protocol designs by dictating a
particular field sequence (for example, see Section 5.2.1) or even
what fields appear in which objects (for example, see Section 5.3).
2. Named Entities
In order to configure, operate, and manage a transport network based
on the MPLS Transport Profile, a number of entities require
identification. Identifiers for the following entities are defined
in this document:
* Global_ID
* Node
* Interface
* Tunnel
* LSP
* PW
* MEG
* MEP
* MIP
Note that we have borrowed the term "tunnel" from RSVP-TE (RFC 3209
[2]) where it is used to describe an entity that provides a logical
association between a source and destination LSR. The tunnel, in
turn, is instantiated by one or more LSPs, where the additional LSPs
are used for protection or re-grooming of the tunnel.
3. Uniquely Identifying an Operator - the Global_ID
The Global_ID is defined to uniquely identify an operator. RFC 5003
[3] defines a globally unique Attachment Interface Identifier (AII).
That AII is composed of three parts: a Global_ID that uniquely
identifies an operator, a prefix, and, finally, an attachment circuit
identifier. We have chosen to use that Global ID for MPLS-TP.
Quoting from RFC 5003, Section 3.2:
The global ID can contain the 2-octet or 4-octet value of the
provider's Autonomous System Number (ASN). It is expected that
the global ID will be derived from the globally unique ASN of the
autonomous system hosting the PEs containing the actual AIIs. The
presence of a global ID based on the operator's ASN ensures that
the AII will be globally unique.
A Global_ID is an unsigned 32-bit value and MUST be derived from a
4-octet AS number assigned to the operator. Note that 2-octet AS
numbers have been incorporated in the 4-octet by placing the 2-octet
AS number in the low-order octets and setting the two high-order
octets to zero.
ASN 0 is reserved and cannot be assigned to an operator. An
identifier containing a Global_ID of zero means that no Global_ID is
specified. Note that a Global_ID of zero is limited to entities
contained within a single operator and MUST NOT be used across an
NNI.
The Global_ID is used solely to provide a globally unique context for
other MPLS-TP identifiers. While the AS number used in the Global_ID
MUST be one that the operator is entitled to use, the use of the
Global_ID is not related to the use of the ASN in protocols such as
BGP.
4. Node and Interface Identifiers
An LSR requires identification of the node itself and of its
interfaces. An interface is the attachment point to a server
(sub-)layer, e.g., MPLS-TP section or MPLS-TP tunnel.
We call the identifier associated with a node a "Node Identifier"
(Node_ID). The Node_ID is a unique 32-bit value assigned by the
operator within the scope of a Global_ID. The structure of the
Node_ID is operator-specific and is outside the scope of this
document. However, the value zero is reserved and MUST NOT be used.
Where IPv4 addresses are used, it may be convenient to use the Node's
IPv4 loopback address as the Node_ID; however, the Node_ID does not
need to have any association with the IPv4 address space used in the
operator's IGP or EGP. Where IPv6 addresses are used exclusively, a
32-bit value unique within the scope of a Global_ID is assigned.
An LSR can support multiple layers (e.g., hierarchical LSPs) and the
Node_ID belongs to the multiple-layer context, i.e., it is applicable
to all LSPs or PWs that originate on, have an intermediate point on,
or terminate on the node.
In situations where a Node_ID needs to be globally unique, this is
accomplished by prefixing the identifier with the operator's
Global_ID.
The term "interface" is used for the attachment point to an MPLS-TP
section. Within the context of a particular node, we call the
identifier associated with an interface an "Interface Number"
(IF_Num). The IF_Num is a 32-bit unsigned integer assigned by the
operator and MUST be unique within the scope of a Node_ID. The
IF_Num value 0 has special meaning (see Section 7.3, MIP Identifiers)
and MUST NOT be used to identify an MPLS-TP interface.
Note that IF_Num has no relation with the ifNum object defined in RFC
2863 [8]. Further, no mapping is mandated between IF_Num and ifIndex
in RFC 2863.
An "Interface Identifier" (IF_ID) identifies an interface uniquely
within the context of a Global_ID. It is formed by concatenating the
Node_ID with the IF_Num. That is, an IF_ID is a 64-bit identifier
formed as Node_ID::IF_Num.
This convention was chosen to allow compatibility with GMPLS. The
GMPLS signaling functional description [4] requires interface
identification. GMPLS allows three formats for the Interface_ID.
The third format consists of an IPv4 address plus a 32-bit unsigned
integer for the specific interface. The format defined for MPLS-TP
is consistent with this format, but uses the Node_ID instead of an
IPv4 address.
If an IF_ID needs to be globally unique, this is accomplished by
prefixing the identifier with the operator's Global_ID.
Note that MPLS-TP supports hierarchical sections. The attachment
point to an MPLS-TP section at any (sub-)layer requires a node-unique
IF_Num.
5. MPLS-TP Tunnel and LSP Identifiers
In MPLS, the actual transport of packets is provided by Label
Switched Paths (LSPs). A transport service may be composed of
multiple LSPs. Further, the LSPs providing a service may change over
time due to protection and restoration events. In order to clearly
identify the service, we use the term "MPLS-TP Tunnel" or simply
"tunnel" for a service provided by (for example) a working LSP and
protected by a protection LSP. The "Tunnel Identifier" (Tunnel_ID)
identifies the transport service and provides a stable binding to the
client in the face of changes in the data-plane LSPs used to provide
the service due to protection or restoration events. This section
defines an MPLS-TP Tunnel_ID to uniquely identify a tunnel, and an
MPLS-TP LSP Identifier (LSP_ID) to uniquely identify an LSP
associated with a tunnel.
For the case where multiple LSPs (for example) are used to support a
single service with a common set of end points, using the Tunnel_ID
allows for a trivial mapping between the server and client layers,
providing a common service identifier that may be either defined by
or used by the client.
Note that this usage is not intended to constrain protection schemes,
and may be used to identify any service (protected or unprotected)
that may appear to the client as a single service attachment point.
Keeping the Tunnel_ID consistent across working and protection LSPs
is a useful construct currently employed within GMPLS. However, the
Tunnel_ID for a protection LSP MAY differ from that used by its
corresponding working LSP.
5.1. MPLS-TP Point-to-Point Tunnel Identifiers
At each end point, a tunnel is uniquely identified by the end point's
Node_ID and a locally assigned tunnel number. Specifically, a
"Tunnel Number" (Tunnel_Num) is a 16-bit unsigned integer unique
within the context of the Node_ID. The motivation for each end point
having its own tunnel number is to allow a compact form for the
MEP_ID. See Section 7.2.2.
Having two tunnel numbers also serves to simplify other signaling
(e.g., setup of associated bidirectional tunnels as described in
Section 5.3).
The concatenation of the two end point identifiers serves as the full
identifier. Using the A1/Z9 convention, the format of a Tunnel_ID
is:
A1-{Node_ID::Tunnel_Num}::Z9-{Node_ID::Tunnel_Num}
Where the Tunnel_ID needs to be globally unique, this is accomplished
by using globally unique Node_IDs as defined above. Thus, a globally
unique Tunnel_ID becomes:
A1-{Global_ID::Node_ID::Tunnel_Num}::Z9-{Global_ID::Node_ID::
Tunnel_Num}
When an MPLS-TP Tunnel is configured, it MUST be assigned a unique
IF_ID at each end point. As usual, the IF_ID is composed of the
local Node_ID concatenated with a 32-bit IF_Num.
5.2. MPLS-TP LSP Identifiers
This section defines identifiers for MPLS-TP co-routed bidirectional
and associated bidirectional LSPs. Note that MPLS-TP Sub-Path
Maintenance Entities (SPMEs), as defined in RFC 5921 [9], are also
LSPs and use these same forms of identifiers.
5.2.1. MPLS-TP Co-Routed Bidirectional LSP Identifiers
A co-routed bidirectional LSP can be uniquely identified by a single
LSP number within the scope of an MPLS-TP Tunnel_ID. Specifically,
an LSP Number (LSP_Num) is a 16-bit unsigned integer unique within
the Tunnel_ID. Thus, the format of an MPLS-TP co-routed
bidirectional LSP_ID is:
A1-{Node_ID::Tunnel_Num}::Z9-{Node_ID::Tunnel_Num}::LSP_Num
Note that the uniqueness of identifiers does not depend on the A1/Z9
sort ordering. Thus, the identifier:
Z9-{Node_ID::Tunnel_Num}::A1-{Node_ID::Tunnel_Num}::LSP_Num
is synonymous with the one above.
At the data-plane level, a co-routed bidirectional LSP is composed of
two unidirectional LSPs traversing the same links in opposite
directions. Since a co-routed bidirectional LSP is provisioned or
signaled as a single entity, a single LSP_Num is used for both
unidirectional LSPs. The unidirectional LSPs can be referenced by
the identifiers:
A1-Node_ID::A1-Tunnel_Num::LSP_Num::Z9-Node_ID and
Z9-Node_ID::Z9-Tunnel_Num::LSP_Num::A1-Node_ID, respectively.
Where the LSP_ID needs to be globally unique, this is accomplished by
using globally unique Node_IDs as defined above. Thus, a globally
unique LSP_ID becomes:
A1-{Global_ID::Node_ID::Tunnel_Num}::Z9-{Global_ID::
Node_ID::Tunnel_Num}::LSP_Num
5.2.2. MPLS-TP Associated Bidirectional LSP Identifiers
For an associated bidirectional LSP, each of the unidirectional LSPs
from A1 to Z9 and Z9 to A1 require LSP_Nums. Each unidirectional LSP
is uniquely identified by a single LSP number within the scope of the
ingress's Tunnel_Num. Specifically, an "LSP Number" (LSP_Num) is a
16-bit unsigned integer unique within the scope of the ingress's
Tunnel_Num. Thus, the format of an MPLS-TP associated bidirectional
LSP_ID is:
A1-{Node_ID::Tunnel_Num::LSP_Num}::
Z9-{Node_ID::Tunnel_Num::LSP_Num}
At the data-plane level, an associated bidirectional LSP is composed
of two unidirectional LSPs between two nodes in opposite directions.
The unidirectional LSPs may be referenced by the identifiers:
A1-Node_ID::A1-Tunnel_Num::A1-LSP_Num::Z9-Node_ID and
Z9-Node_ID::Z9-Tunnel_Num::Z9-LSP_Num::A1-Node_ID, respectively.
Where the LSP_ID needs to be globally unique, this is accomplished by
using globally unique Node_IDs as defined above. Thus, a globally
unique LSP_ID becomes:
A1-{Global_ID::Node_ID::Tunnel_Num::LSP_Num}::
Z9-{Global_ID::Node_ID::Tunnel_Num::LSP_Num}
5.3. Mapping to RSVP Signaling
This section is informative and exists to help understand the
structure of the LSP IDs.
GMPLS [5] is based on RSVP-TE [2]. This section defines the mapping
from an MPLS-TP LSP_ID to RSVP-TE. At this time, RSVP-TE has yet to
be extended to accommodate Global_IDs. Thus, a mapping is only made
for the network unique form of the LSP_ID and assumes that the
operator has chosen to derive its Node_IDs from valid IPv4 addresses.
GMPLS and RSVP-TE signaling use a 5-tuple to uniquely identify an LSP
within an operator's network. This tuple is composed of a Tunnel
End-point Address, Tunnel_ID, Extended Tunnel ID, Tunnel Sender
Address, and (RSVP) LSP_ID. RFC 3209 allows some flexibility in how
the Extended Tunnel ID is chosen, and a direct mapping is not
mandated. One convention that is often used, however, is to populate
this field with the same value as the Tunnel Sender Address. The
examples below follow that convention. Note that these are only
examples.
For a co-routed bidirectional LSP signaled from A1 to Z9, the mapping
to the GMPLS 5-tuple is as follows:
* Tunnel End-point Address = Z9-Node_ID
* Tunnel_ID = A1-Tunnel_Num
* Extended Tunnel_ID = A1-Node_ID
* Tunnel Sender Address = A1-Node_ID
* (RSVP) LSP_ID = LSP_Num
An associated bidirectional LSP between two nodes A1 and Z9 consists
of two unidirectional LSPs, one from A1 to Z9 and one from Z9 to A1.
In situations where a mapping to the RSVP-TE 5-tuples is required,
the following mappings are used. For the A1 to Z9 LSP, the mapping
would be:
* Tunnel End-point Address = Z9-Node_ID
* Tunnel_ID = A1-Tunnel_Num
* Extended Tunnel_ID = A1-Node_ID
* Tunnel Sender Address = A1-Node_ID
* (RSVP) LSP_ID = A1-LSP_Num
Likewise, the Z9 to A1 LSP, the mapping would be:
* Tunnel End-point Address = A1-Node_ID
* Tunnel_ID = Z9-Tunnel_Num
* Extended Tunnel_ID = Z9-Node_ID
* Tunnel Sender Address = Z9-Node_ID
* (RSVP) LSP_ID = Z9-LSP_Num
6. Pseudowire Path Identifiers
Pseudowire signaling (RFC 4447 [6]) defines two FECs used to signal
pseudowires. Of these, the Generalized PWid FEC (type 129) along
with AII Type 2 as defined in RFC 5003 [3] fits the identification
requirements of MPLS-TP.
In an MPLS-TP environment, a PW is identified by a set of identifiers
that can be mapped directly to the elements required by the
Generalized PWid FEC (type 129) and AII Type 2. To distinguish this
identifier from other Pseudowire Identifiers, we call this a
Pseudowire Path Identifier (PW_Path_ID).
The AII Type 2 is composed of three fields. These are the Global_ID,
the Prefix, and the AC_ID. The Global_ID used in this document is
identical to the Global_ID defined in RFC 5003. The Node_ID is used
as the Prefix. The AC_ID is as defined in RFC 5003.
To complete the Generalized PWid FEC (type 129), all that is required
is an Attachment Group Identifier (AGI). That field is exactly as
specified in RFC 4447. A (bidirectional) pseudowire consists of a
pair of unidirectional LSPs, one in each direction. Thus, for
signaling, the Generalized PWid FEC (type 129) has a notion of Source
AII (SAII) and Target AII (TAII). These terms are used relative to
the direction of the LSP, i.e., the SAII is assigned to the end that
allocates the PW label for a given direction, and the TAII to the
other end.
In a purely configured environment, when referring to the entire PW,
this distinction is not critical. That is, a Generalized PWid FEC
(type 129) of AGIa::AIIb::AIIc is equivalent to AGIa::AIIc::AIIb.
We note that in a signaled environment, the required convention in
RFC 4447 is that at a particular end point, the AII associated with
that end point comes first. The complete PW_Path_ID is:
AGI::A1-{Global_ID::Node_ID::AC_ID}::
Z9-{Global_ID::Node_ID::AC_ID}.
In a signaled environment the LSP from A1 to Z9 would be initiated
with a label request from A1 to Z9 with the fields of the Generalized
PWid FEC (type 129) completed as follows:
AGI = AGI
SAII = A1-{Global_ID::Node_ID::AC_ID}
TAII = Z9-{Global_ID::Node_ID::AC_ID}
The LSP from Z9 to A1 would signaled with:
AGI = AGI
SAII = Z9-{Global_ID::Node_ID::AC_ID}
TAII = A1-{Global_ID::Node_ID::AC_ID}
7. Maintenance Identifiers
In MPLS-TP, a Maintenance Entity Group (MEG) represents an entity
that requires management and defines a relationship between a set of
maintenance points. A maintenance point is either a Maintenance
Entity Group End Point (MEP), a Maintenance Entity Group Intermediate
Point (MIP), or a Pseudowire Segment End Point. Within the context
of a MEG, MEPs and MIPs must be uniquely identified. This section
defines a means of uniquely identifying Maintenance Entity Groups and
Maintenance Entities. It also uniquely defines MEPs and MIPs within
the context of a Maintenance Entity Group.
7.1. Maintenance Entity Group Identifiers
Maintenance Entity Group Identifiers (MEG_IDs) are required for
MPLS-TP sections, LSPs, and Pseudowires. The formats were chosen to
follow the IP-compatible identifiers defined above.
7.1.1. MPLS-TP Section MEG_IDs
MPLS-TP allows a hierarchy of sections. See "MPLS-TP Data Plane
Architecture" (RFC 5960 [10]). Sections above layer 0 are MPLS-TP
LSPs. These use their MPLS-TP LSP MEG IDs defined in Section 7.1.2.
IP-compatible MEG_IDs for MPLS-TP sections at layer 0 are formed by
concatenating the two IF_IDs of the corresponding section using the
A1/Z9 ordering. For example:
A1-IF_ID::Z9-IF_ID
Where the Section_MEG_ID needs to be globally unique, this is
accomplished by using globally unique Node_IDs as defined above.
Thus, a globally unique Section_MEG_ID becomes:
A1-{Global_ID::IF_ID}::Z9-{Global_ID::IF_ID}
7.1.2. MPLS-TP LSP MEG_IDs
A MEG pertains to a unique MPLS-TP LSP. IP compatible MEG_IDs for
MPLS-TP LSPs are simply the corresponding LSP_IDs; however, the A1/Z9
ordering MUST be used. For bidirectional co-routed LSPs, the format
of the LSP_ID is found in Section 5.2.1. For associated
bidirectional LSPs, the format is in Section 5.2.2.
We note that while the two identifiers are syntactically identical,
they have different semantics. This semantic difference needs to be
made clear. For instance, if both an MPLS-TP LSP_ID and MPLS-TP LSP
MEG_IDs are to be encoded in TLVs, different types need to be
assigned for these two identifiers.
7.1.3. Pseudowire MEG_IDs
For Pseudowires, a MEG pertains to a single PW. The IP-compatible
MEG_ID for a PW is simply the corresponding PW_Path_ID; however, the
A1/Z9 ordering MUST be used. The PW_Path_ID is described in
Section 6. We note that while the two identifiers are syntactically
identical, they have different semantics. This semantic difference
needs to be made clear. For instance, if both a PW_Path_ID and a
PW_MEG_ID are to be encoded in TLVs, different types need to be
assigned for these two identifiers.
7.2. Maintenance Entity Group End Point Identifiers
7.2.1. MPLS-TP Section MEP_IDs
IP-compatible MEP_IDs for MPLS-TP sections above layer 0 are their
MPLS-TP LSP_MEP_IDs. See Section 7.2.2.
IP-compatible MEP_IDs for MPLS-TP sections at layer 0 are simply the
IF_IDs of each end of the section. For example, for a section whose
MEG_ID is:
A1-IF_ID::Z9-IF_ID
the Section MEP_ID at A1 would be:
A1-IF_ID
and the Section MEP_ID at Z9 would be:
Z9-IF_ID.
Where the Section MEP_ID needs to be globally unique, this is
accomplished by using globally unique Node_IDs as defined above.
Thus, a globally unique Section MEP_ID becomes:
Global_ID::IF_ID.
7.2.2. MPLS-TP LSP_MEP_ID
In order to automatically generate MEP_IDs for MPLS-TP LSPs, we use
the elements of identification that are unique to an end point. This
ensures that MEP_IDs are unique for all LSPs within an operator.
When Tunnels or LSPs cross operator boundaries, these are made unique
by pre-pending them with the operator's Global_ID.
The MPLS-TP LSP_MEP_ID is:
Node_ID::Tunnel_Num::LSP_Num
where the Node_ID is the node in which the MEP is located and
Tunnel_Num is the tunnel number unique to that node. In the case of
co-routed bidirectional LSPs, the single LSP_Num is used at both
ends. In the case of associated bidirectional LSPs, the LSP_Num is
the one unique to where the MEP resides.
In situations where global uniqueness is required, this becomes:
Global_ID::Node_ID::Tunnel_Num::LSP_Num
7.2.3. MEP_IDs for Pseudowires
Like MPLS-TP LSPs, Pseudowire end points (T-PEs) require MEP_IDs. In
order to automatically generate MEP_IDs for PWs, we simply use the
AGI plus the AII associated with that end of the PW. Thus, a MEP_ID
for a Pseudowire T-PE takes the form:
AGI::Global_ID::Node_ID::AC_ID
where the Node_ID is the node in which the MEP is located and the
AC_ID is the AC_ID of the Pseudowire at that node.
7.3. Maintenance Entity Group Intermediate Point Identifiers
For a MIP that is associated with a particular interface, we simply
use the IF_ID (see Section 4) of the interfaces that are cross-
connected. This allows MIPs to be independently identified in one
node where a per-interface MIP model is used. If only a per-node MIP
model is used, then one MIP is configured. In this case, the MIP_ID
is formed using the Node_ID and an IF_Num of 0.
8. Security Considerations
This document describes an information model and, as such, does not
introduce security concerns. Protocol specifications that describe
use of this information model, however, may introduce security risks
and concerns about authentication of participants. For this reason,
the writers of protocol specifications for the purpose of describing
implementation of this information model need to describe security
and authentication concerns that may be raised by the particular
mechanisms defined and how those concerns may be addressed.
Uniqueness of the identifiers from this document is guaranteed by the
assigner (e.g., a Global_ID is unique based on the assignment of ASNs
from IANA and both a Node_ID and an IF_Num are unique based on the
assignment by an operator). Failure by an assigner to use unique
values within the specified scoping for any of the identifiers
defined herein could result in operational problems. For example, a
non-unique MEP value could result in failure to detect a mis-merged
LSP.
Protocol specifications that utilize the identifiers defined herein
need to consider the implications of guessable identifiers and, where
there is a security implication, SHOULD give advice on how to make
identifiers less guessable.
9. References
9.1. Normative References
[1] Bradner, S., "Key words for use in RFCs to Indicate Requirement
Levels", BCP 14, RFC 2119, March 1997.
[2] Awduche, D., Berger, L., Gan, D., Li, T., Srinivasan, V., and
G. Swallow, "RSVP-TE: Extensions to RSVP for LSP Tunnels",
RFC 3209, December 2001.
[3] Metz, C., Martini, L., Balus, F., and J. Sugimoto, "Attachment
Individual Identifier (AII) Types for Aggregation", RFC 5003,
September 2007.
[4] Berger, L., "Generalized Multi-Protocol Label Switching (GMPLS)
Signaling Functional Description", RFC 3471, January 2003.
[5] Berger, L., "Generalized Multi-Protocol Label Switching (GMPLS)
Signaling Resource ReserVation Protocol-Traffic Engineering
(RSVP-TE) Extensions", RFC 3473, January 2003.
[6] 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.
9.2. Informative References
[7] Niven-Jenkins, B., Brungard, D., Betts, M., Sprecher, N., and
S. Ueno, "Requirements of an MPLS Transport Profile", RFC 5654,
September 2009.
[8] McCloghrie, K. and F. Kastenholz, "The Interfaces Group MIB",
RFC 2863, June 2000.
[9] Bocci, M., Bryant, S., Frost, D., Levrau, L., and L. Berger, "A
Framework for MPLS in Transport Networks", RFC 5921, July 2010.
[10] Frost, D., Bryant, S., and M. Bocci, "MPLS Transport Profile
Data Plane Architecture", RFC 5960, August 2010.
Authors' Addresses
Matthew Bocci
Alcatel-Lucent
Voyager Place, Shoppenhangers Road
Maidenhead, Berks SL6 2PJ
UK
EMail: matthew.bocci@alcatel-lucent.com
George Swallow
Cisco
EMail: swallow@cisco.com
Eric Gray
Ericsson
900 Chelmsford Street
Lowell, Massachussetts 01851-8100
EMail: eric.gray@ericsson.com
ISO Plain Language
On this page
§1Why MPLS-TP Needs Names
The document specifies an initial set of identifiers to be used in the Transport Profile of Multiprotocol Label Switching. The MPLS-TP requirements in RFC 5654 require that the elements and objects in an MPLS-TP environment can be configured and managed without a control plane, and in such an environment many conventions for defining identifiers are possible. This document defines identifiers for MPLS-TP management and operations, administration and maintenance functions, compatible with IP and MPLS conventions: the identifiers have been chosen to be compatible with existing IP, MPLS, GMPLS and pseudowire definitions.
The document is a product of a joint IETF and ITU-T effort to include an MPLS Transport Profile within the IETF MPLS and PWE3 architectures, to support the capabilities of a packet transport network as defined by the ITU-T.
To configure, operate and manage such a network, a number of entities require identification, and this document defines identifiers for the Global_ID, the Node, the Interface, the Tunnel, the LSP, the PW, the MEG, the MEP and the MIP. The term tunnel is borrowed from RSVP-TE, where it describes an entity that provides a logical association between a source and destination LSR. The tunnel is instantiated by one or more LSPs, where the additional LSPs are used for protection or re-grooming of the tunnel.
An MPLS Transport Profile network is meant to be run like a traditional transport network: configured and maintained by hand and by management tools, without a routing protocol doing the work. For that, every box and every path needs a name that means the same thing to every tool.
§1.3How the Names Are Written
All multiple-word atomic identifiers use underscores to join the words. Many identifiers are composed of a set of other identifiers, expressed by listing them joined with double-colon notation. Where the same identifier type is used more than once in a concatenation, it is qualified by a prefix joined to the identifier by a dash, so that A1-Node_ID is the Node_ID of a node referred to as A1.
The notation also defines a preferred ordering of the fields. The designation A1 indicates the lower sort order of a field or set of fields, and Z9 indicates the higher sort order of the same, with the sort being alphanumeric or numeric depending on the field's definition. Where the sort applies to a group of fields, those fields are grouped with braces.
The uniqueness of an identifier does not depend on the ordering, but on the uniqueness and scoping of the fields that compose it. The preferred ordering is not intended to constrain protocol designs by dictating a particular field sequence or even what fields appear in which objects.
Two conventions run through all the names. Underscores join the words of one name, and double colons join separate names. The A1 and Z9 markers say which end of a link comes first, so that both ends of a connection write the same name.
§3The Global_ID
The Global_ID uniquely identifies an operator. RFC 5003 defines a globally unique Attachment Interface Identifier, composed of three parts: a Global_ID that uniquely identifies an operator, a prefix, and finally an attachment circuit identifier, and that Global ID is used here for MPLS-TP. Quoting from RFC 5003, the global ID can contain the 2-octet or 4-octet value of the provider's Autonomous System Number, and it is expected that the global ID will be derived from the globally unique ASN of the autonomous system hosting the PEs that contain the actual AIIs. The presence of a global ID based on the operator's ASN ensures that the AII is globally unique.
A Global_ID is an unsigned 32-bit value and MUST be derived from a 4-octet AS number assigned to the operator. 2-octet AS numbers have been incorporated in the 4-octet form by placing the 2-octet AS number in the low-order octets and setting the two high-order octets to zero. ASN 0 is reserved and cannot be assigned to an operator, and an identifier containing a Global_ID of zero means that no Global_ID is specified. A Global_ID of zero is limited to entities contained within a single operator and MUST NOT be used across a network-to-network interface.
The Global_ID is used solely to provide a globally unique context for other MPLS-TP identifiers. While the AS number used in the Global_ID MUST be one that the operator is entitled to use, the use of the Global_ID is not related to the use of the ASN in protocols such as BGP.
Every name can be prefixed with the provider's own autonomous system number. That number is unique across the Internet, so prefixing with it makes the name unique everywhere, not just inside one operator's network.
- Global_ID Unsigned 32-bit, from the operator's 4-octet AS number
- Node_ID 32 bits, unique within one Global_ID
- IF_Num 32 bits, unique within one Node_ID
- Tunnel_Num 16 bits, unique within one Node_ID
- LSP_Num 16 bits, unique within one Tunnel_ID
- AC_ID Attachment circuit identifier, from RFC 5003
- Node_ID 32 bits, unique within one Global_ID
§4Nodes and Interfaces
An LSR requires identification of the node itself and of its interfaces. An interface is the attachment point to a server sub-layer, for example an MPLS-TP section or an MPLS-TP tunnel. The identifier associated with a node is the Node Identifier, a unique 32-bit value assigned by the operator within the scope of a Global_ID. The structure of the Node_ID is operator-specific and outside the scope of this document, but the value zero is reserved and MUST NOT be used. Where IPv4 addresses are used it may be convenient to use the node's IPv4 loopback address as the Node_ID, though the Node_ID does not need to have any association with the IPv4 address space used in the operator's IGP or EGP. Where IPv6 addresses are used exclusively, a 32-bit value unique within the scope of a Global_ID is assigned.
An LSR can support multiple layers, for example hierarchical LSPs, and the Node_ID belongs to the multiple-layer context: it applies to all LSPs or PWs that originate on, have an intermediate point on, or terminate on the node. Where a Node_ID needs to be globally unique, this is accomplished by prefixing it with the operator's Global_ID.
The term interface is used for the attachment point to an MPLS-TP section. Within the context of a particular node, the identifier associated with an interface is an Interface Number, a 32-bit unsigned integer assigned by the operator that MUST be unique within the scope of a Node_ID. The value 0 has special meaning for MIP identifiers and MUST NOT be used to identify an MPLS-TP interface. The IF_Num has no relation with the ifNum object defined in RFC 2863, and no mapping is mandated between IF_Num and ifIndex.
An Interface Identifier identifies an interface uniquely within the context of a Global_ID. It is formed by concatenating the Node_ID with the IF_Num, so an IF_ID is a 64-bit identifier written as Node_ID::IF_Num. This convention was chosen to allow compatibility with GMPLS, whose signaling functional description requires interface identification and allows three formats for the Interface_ID, the third being an IPv4 address plus a 32-bit unsigned integer for the specific interface. The format defined for MPLS-TP is consistent with that format but uses the Node_ID instead of an IPv4 address.
A router gets a 32-bit number from its operator, and each of its ports gets a number of its own. Together they name a port uniquely, in the same way that a street number names a door on a street.
- Global_IDIdentifies the operator; unique across the Internet.
- Node_IDIdentifies a router within one operator's network.
- IF_NumIdentifies a port within one router.
- Tunnel_NumIdentifies a tunnel within one router.
- LSP_NumIdentifies a path within one tunnel.
§5Tunnels, Paths and the RSVP Mapping
In MPLS the actual transport of packets is provided by LSPs, and a transport service may be composed of several LSPs, with the LSPs providing the service changing over time because of protection and restoration events. To identify the service clearly, the term MPLS-TP Tunnel is used for a service provided by, for example, a working LSP protected by a protection LSP. The Tunnel Identifier identifies the transport service and provides a stable binding to the client in the face of changes in the data-plane LSPs used to provide the service.
At each end point a tunnel is uniquely identified by the end point's Node_ID and a locally assigned tunnel number. A Tunnel Number is a 16-bit unsigned integer unique within the context of the Node_ID. Each end point having its own tunnel number allows a compact form for the MEP_ID and simplifies other signaling, such as the setup of associated bidirectional tunnels. The concatenation of the two end point identifiers serves as the full identifier, and the format of a Tunnel_ID is A1-{Node_ID::Tunnel_Num}::Z9-{Node_ID::Tunnel_Num}. Where it needs to be globally unique, globally unique Node_IDs are used, giving A1-{Global_ID::Node_ID::Tunnel_Num}::Z9-{Global_ID::Node_ID::Tunnel_Num}. When an MPLS-TP Tunnel is configured it MUST be assigned a unique IF_ID at each end point.
An LSP Number is a 16-bit unsigned integer. For a co-routed bidirectional LSP, which is composed of two unidirectional LSPs traversing the same links in opposite directions and provisioned or signaled as a single entity, a single LSP number is used within the scope of the MPLS-TP Tunnel_ID, and the format of the LSP_ID is A1-{Node_ID::Tunnel_Num}::Z9-{Node_ID::Tunnel_Num}::LSP_Num. The ordering does not matter for uniqueness, so the reversed form is synonymous. For an associated bidirectional LSP, where the two unidirectional LSPs are separate, each direction requires its own LSP_Num, and the format is A1-{Node_ID::Tunnel_Num::LSP_Num}::Z9-{Node_ID::Tunnel_Num::LSP_Num}. Sub-Path Maintenance Entities, as defined in RFC 5921, are also LSPs and use these same forms of identifiers.
Section 5.3 maps an MPLS-TP LSP_ID to RSVP-TE, and is informative. GMPLS and RSVP-TE signaling use a 5-tuple to identify an LSP within an operator's network, composed of the Tunnel End-point Address, the Tunnel_ID, the Extended Tunnel ID, the Tunnel Sender Address and the RSVP LSP_ID. For a co-routed bidirectional LSP signaled from A1 to Z9, the mapping is that the Tunnel End-point Address is Z9-Node_ID, the Tunnel_ID is A1-Tunnel_Num, the Extended Tunnel_ID is A1-Node_ID, the Tunnel Sender Address is A1-Node_ID and the RSVP LSP_ID is LSP_Num. RSVP-TE has yet to be extended to accommodate Global_IDs, so the mapping is made only for the network-unique form of the LSP_ID and assumes the operator has derived its Node_IDs from valid IPv4 addresses.
A tunnel names the service the customer sees, and it keeps that name even when the path inside it is rerouted. Under the tunnel sits the path itself, identified by a number, and for a path that runs both ways there are two ways to write the name depending on whether the two directions share a route.
Tunnel_ID:
A1-{Node_ID::Tunnel_Num}::Z9-{Node_ID::Tunnel_Num}
Co-routed bidirectional LSP_ID:
A1-{Node_ID::Tunnel_Num}::Z9-{Node_ID::Tunnel_Num}::LSP_Num
Associated bidirectional LSP_ID:
A1-{Node_ID::Tunnel_Num::LSP_Num}::Z9-{Node_ID::Tunnel_Num::LSP_Num}| Aspect | Co-routed bidirectional | Associated bidirectional |
|---|---|---|
| Paths | Two unidirectional paths over the same links in opposite directions | Two unidirectional paths between the same nodes in opposite directions |
| LSP numbers | One LSP_Num for both directions | An LSP_Num for each direction |
| Signaled as THIS RFC | A single entity | Two separate unidirectional LSPs |
§6Pseudowire Path Identifiers
Pseudowire signaling defines two FECs used to signal pseudowires, and of these the Generalized PWid FEC, type 129, along with AII Type 2 as defined in RFC 5003, fits the identification requirements of MPLS-TP. In an MPLS-TP environment a PW is identified by a set of identifiers that can be mapped directly to those elements, and to distinguish it from other pseudowire identifiers this is called a Pseudowire Path Identifier.
The AII Type 2 is composed of three fields: the Global_ID, the Prefix and the AC_ID. The Global_ID used here is identical to the one defined in RFC 5003, the Node_ID is used as the Prefix, and the AC_ID is as defined in RFC 5003. To complete the Generalized PWid FEC all that is required is an Attachment Group Identifier, exactly as specified in RFC 4447.
A bidirectional pseudowire consists of a pair of unidirectional LSPs, one in each direction, so the Generalized PWid FEC has a notion of Source AII and Target AII. These terms are used relative to the direction of the LSP: the SAII is assigned to the end that allocates the PW label for a given direction, and the TAII to the other end. In a purely configured environment, when referring to the entire PW, that distinction is not critical, and a Generalized PWid FEC of AGIa::AIIb::AIIc is equivalent to AGIa::AIIc::AIIb. In a signaled environment the convention in RFC 4447 is that at a particular end point the AII associated with that end point comes first. The complete PW_Path_ID is AGI::A1-{Global_ID::Node_ID::AC_ID}::Z9-{Global_ID::Node_ID::AC_ID}.
A pseudowire, which is a service carried across a network as if the two ends were directly connected, gets a name built from the same pieces: the operator's number, the router at each end, and the circuit number at each end.
§7Maintenance Identifiers
In MPLS-TP a Maintenance Entity Group represents an entity that requires management and defines a relationship between a set of maintenance points. A maintenance point is either a Maintenance Entity Group End Point, a Maintenance Entity Group Intermediate Point, or a Pseudowire Segment End Point. Within the context of a MEG, MEPs and MIPs must be uniquely identified.
MEG identifiers are required for MPLS-TP sections, LSPs and pseudowires, and the formats follow the IP-compatible identifiers defined earlier. For MPLS-TP sections at layer 0, the MEG_ID is formed by concatenating the two IF_IDs of the section using the A1/Z9 ordering, A1-IF_ID::Z9-IF_ID, and the globally unique form is A1-{Global_ID::IF_ID}::Z9-{Global_ID::IF_ID}. Sections above layer 0 are LSPs and use their LSP MEG IDs. For LSPs, the MEG_ID is simply the corresponding LSP_ID with the A1/Z9 ordering, and for pseudowires the MEG_ID is the corresponding PW_Path_ID. The RFC notes that while these identifiers are syntactically identical to the LSP_ID and PW_Path_ID, they have different semantics, so different types need to be assigned if both are encoded in TLVs.
For MEP identifiers, the MEP_IDs of MPLS-TP sections at layer 0 are the IF_IDs of each end of the section, and the globally unique form is Global_ID::IF_ID. The LSP_MEP_ID is Node_ID::Tunnel_Num::LSP_Num, where the Node_ID is the node in which the MEP is located and the Tunnel_Num is the tunnel number unique to that node, with a single LSP_Num used at both ends of a co-routed bidirectional LSP and the direction-specific LSP_Num used for an associated one. The globally unique form is Global_ID::Node_ID::Tunnel_Num::LSP_Num. For pseudowires, a MEP_ID takes the form AGI::Global_ID::Node_ID::AC_ID.
For a MIP associated with a particular interface, the IF_ID of the cross-connected interfaces is used, which allows MIPs to be independently identified in one node where a per-interface MIP model is used. If only a per-node MIP model is used, one MIP is configured, and the MIP_ID is formed from the Node_ID and an IF_Num of 0.
Maintenance checks, such as testing that a path still carries traffic, need to name the ends of the path and the middle. The RFC gives each of those a name derived from the identifiers already defined.
§8Security Considerations
The document describes an information model and, as such, does not introduce security concerns. Protocol specifications that describe use of this information model may introduce security risks and concerns about authentication of participants, so the writers of protocol specifications for the purpose of describing implementation of this information model need to describe the security and authentication concerns that may be raised by the particular mechanisms defined and how those concerns may be addressed.
Uniqueness of the identifiers is guaranteed by the assigner: a Global_ID is unique based on the assignment of ASNs from IANA, and both a Node_ID and an IF_Num are unique based on assignment by an operator. Failure by an assigner to use unique values within the specified scoping could result in operational problems, for example a non-unique MEP value could result in failure to detect a mis-merged LSP.
Protocol specifications that use the identifiers defined here need to consider the implications of guessable identifiers and, where there is a security implication, SHOULD give advice on how to make identifiers less guessable.
Naming things does not by itself create a security risk, but the protocols built on these names have to authenticate each other and should avoid names an attacker could guess.