MPLS Transport Profile (MPLS-TP) Identifiers
Extracted elements (24)
Each end point of a tunnel is assigned its own Tunnel_Num (rather than sharing one) to allow a compact form for the MEP_ID and to simplify signaling for associated bidirectional tunnels.
The Global_ID was adopted from RFC 5003's globally unique AII definition rather than defining a new identifier, because the AII Global_ID already serves to uniquely identify operators by their ASN and provides global uniqueness guarantees needed for cross-operator MPLS-TP deployments.
The IF_ID format (Node_ID::IF_Num) was chosen to be compatible with GMPLS, which requires interface identification in three formats; the MPLS-TP format is consistent with the GMPLS third format (IPv4 address plus 32-bit interface integer) substituting Node_ID for the IPv4 address.
The Tunnel_ID is designed to remain stable across working and protection LSPs, providing a consistent service identifier to the client layer even when the underlying data-plane LSPs change due to protection or restoration events. However, the Tunnel_ID for a protection LSP MAY differ from that of its corresponding working LSP.
While LSP_IDs and LSP MEG_IDs are syntactically identical, they carry different semantics. If both are encoded in TLVs, different type codes MUST be assigned to distinguish them; the same applies to PW_Path_IDs and PW MEG_IDs.
The MPLS-TP LSP_ID maps to the GMPLS/RSVP-TE 5-tuple (Tunnel End-point Address, Tunnel_ID, Extended Tunnel_ID, Tunnel Sender Address, RSVP LSP_ID). For co-routed bidirectional LSPs, the LSP_Num maps to the RSVP LSP_ID; for associated bidirectional, each direction uses its own LSP_Num as RSVP LSP_ID. No mapping exists for Global_IDs as RSVP-TE has not yet been extended to accommodate them.
A Global_ID of zero is limited to entities contained within a single operator and MUST NOT be used across an NNI. ASN 0 is reserved and cannot be assigned to an operator.
IP-compatible MEG_IDs for MPLS-TP LSPs are the corresponding LSP_IDs, but the A1/Z9 ordering MUST be used. Similarly, PW MEG_IDs are the PW_Path_IDs and the A1/Z9 ordering MUST be used.
The AS number used in the Global_ID MUST be one that the operator is entitled to use, though its use in the Global_ID is not related to its use in routing protocols such as BGP.
When an MPLS-TP Tunnel is configured, it MUST be assigned a unique IF_ID at each end point, composed of the local Node_ID concatenated with a 32-bit IF_Num.
A MEP_ID for a Pseudowire T-PE is formed as AGI::Global_ID::Node_ID::AC_ID, where the Node_ID identifies the node hosting the MEP and AC_ID identifies the attachment circuit at that node.
A MIP_ID for a per-interface MIP model is the IF_ID of the cross-connected interfaces. For a per-node MIP model, the MIP_ID is formed using Node_ID and IF_Num of 0, which is why IF_Num 0 is reserved and cannot identify an MPLS-TP interface.
A Pseudowire Path Identifier (PW_Path_ID) uniquely identifies a PW using the Generalized PWid FEC (type 129) with AII Type 2. It is composed as AGI::A1-{Global_ID::Node_ID::AC_ID}::Z9-{Global_ID::Node_ID::AC_ID}, where the Node_ID serves as the Prefix and the AC_ID is as defined in RFC 5003.
An MPLS-TP Section MEG_ID at layer 0 is formed by concatenating the two IF_IDs of the section endpoints in A1/Z9 order: A1-IF_ID::Z9-IF_ID. For global uniqueness, Node_IDs are prefixed with the Global_ID.
An MPLS-TP Tunnel_ID identifies a transport service providing a stable binding to the client across protection or restoration events. It is formed as A1-{Node_ID::Tunnel_Num}::Z9-{Node_ID::Tunnel_Num}, where Tunnel_Num is a 16-bit unsigned integer unique within the context of a Node_ID.
The Global_ID is a 32-bit unsigned value that uniquely identifies an operator. It MUST be derived from the operator's 4-octet ASN; 2-octet ASNs are placed in the low-order octets with the high-order octets set to zero.
The Interface Number (IF_Num) is a 32-bit unsigned integer assigned by the operator, unique within the scope of a Node_ID. IF_Num value 0 is reserved for MIP identification and MUST NOT be used to identify an MPLS-TP interface.
The Node_ID is a unique 32-bit value assigned by the operator within the scope of a Global_ID. The value zero is reserved and MUST NOT be used. IPv4 loopback addresses may be used conveniently as Node_IDs but are not required.
Protocol specifications using these identifiers must consider the security implications of guessable identifiers and SHOULD provide guidance on making identifiers less guessable where a security implication exists.
Uniqueness of identifiers is guaranteed by the assigning authority (IANA for ASNs used in Global_ID, operators for Node_IDs and IF_Nums). Failure to use unique values within specified scoping can cause operational problems; for example, a non-unique MEP value could result in failure to detect a mis-merged LSP.
An MPLS-TP associated bidirectional LSP_ID is formed as A1-{Node_ID::Tunnel_Num::LSP_Num}::Z9-{Node_ID::Tunnel_Num::LSP_Num}, where each unidirectional LSP has its own LSP_Num scoped to the ingress's Tunnel_Num.
An MPLS-TP co-routed bidirectional LSP_ID is formed as A1-{Node_ID::Tunnel_Num}::Z9-{Node_ID::Tunnel_Num}::LSP_Num, where LSP_Num is a 16-bit unsigned integer unique within the Tunnel_ID. A single LSP_Num covers both unidirectional LSPs.
The Interface Identifier (IF_ID) is a 64-bit identifier formed by concatenating Node_ID (32 bits) with IF_Num (32 bits) as Node_ID::IF_Num. For global uniqueness, it is prefixed with Global_ID.
The MPLS-TP LSP_MEP_ID is Node_ID::Tunnel_Num::LSP_Num, where Node_ID identifies the node hosting the MEP, Tunnel_Num is unique to that node, and LSP_Num is the single value for co-routed or the local value for associated bidirectional LSPs. For global uniqueness: Global_ID::Node_ID::Tunnel_Num::LSP_Num.