draft-ietf-mpls-tp-identifiers-07.txt | rfc6370.txt | |||
---|---|---|---|---|
MPLS Working Group M. Bocci | Internet Engineering Task Force (IETF) M. Bocci | |||
Internet-Draft Alcatel-Lucent | Request for Comments: 6370 Alcatel-Lucent | |||
Intended status: Standards Track G. Swallow | Category: Standards Track G. Swallow | |||
Expires: January 22, 2012 Cisco | ISSN: 2070-1721 Cisco | |||
E. Gray | E. Gray | |||
Ericsson | Ericsson | |||
July 21, 2011 | September 2011 | |||
MPLS-TP Identifiers | MPLS Transport Profile (MPLS-TP) Identifiers | |||
draft-ietf-mpls-tp-identifiers-07 | ||||
Abstract | Abstract | |||
This document specifies an initial set of identifiers to be used in | This document specifies an initial set of identifiers to be used in | |||
the Transport Profile of Multiprotocol Label Switching (MPLS-TP). | the Transport Profile of Multiprotocol Label Switching (MPLS-TP). | |||
The MPLS-TP requirements (RFC 5654) require that the elements and | The MPLS-TP requirements (RFC 5654) require that the elements and | |||
objects in an MPLS-TP environment are able to be configured and | objects in an MPLS-TP environment are able to be configured and | |||
managed without a control plane. In such an environment many | managed without a control plane. In such an environment, many | |||
conventions for defining identifiers are possible. This document | conventions for defining identifiers are possible. This document | |||
defines identifiers for MPLS-TP management and OAM functions | defines identifiers for MPLS-TP management and Operations, | |||
compatible with IP/MPLS conventions. | Administration, and Maintenance (OAM) functions compatible with IP/ | |||
MPLS conventions. | ||||
This document is a product of a joint Internet Engineering Task Force | This document is a product of a joint Internet Engineering Task Force | |||
(IETF) / International Telecommunication Union Telecommunication | (IETF) / International Telecommunication Union Telecommunication | |||
Standardization Sector (ITU-T) effort to include an MPLS Transport | Standardization Sector (ITU-T) effort to include an MPLS Transport | |||
Profile within the IETF MPLS and Pseudowire Emulation Edge-to-Edge | Profile within the IETF MPLS and Pseudowire Emulation Edge-to-Edge | |||
(PWE3) architectures to support the capabilities and functionalities | (PWE3) architectures to support the capabilities and functionalities | |||
of a packet transport network as defined by the ITU-T. | of a packet transport network as defined by the ITU-T. | |||
Status of this Memo | 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 | This is an Internet Standards Track document. | |||
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 | This document is a product of the Internet Engineering Task Force | |||
and may be updated, replaced, or obsoleted by other documents at any | (IETF). It represents the consensus of the IETF community. It has | |||
time. It is inappropriate to use Internet-Drafts as reference | received public review and has been approved for publication by the | |||
material or to cite them other than as "work in progress." | Internet Engineering Steering Group (IESG). Further information on | |||
Internet Standards is available in Section 2 of RFC 5741. | ||||
This Internet-Draft will expire on January 22, 2012. | 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 Notice | |||
Copyright (c) 2011 IETF Trust and the persons identified as the | Copyright (c) 2011 IETF Trust and the persons identified as the | |||
document authors. All rights reserved. | document authors. All rights reserved. | |||
This document is subject to BCP 78 and the IETF Trust's Legal | This document is subject to BCP 78 and the IETF Trust's Legal | |||
Provisions Relating to IETF Documents | Provisions Relating to IETF Documents | |||
(http://trustee.ietf.org/license-info) in effect on the date of | (http://trustee.ietf.org/license-info) in effect on the date of | |||
publication of this document. Please review these documents | publication of this document. Please review these documents | |||
carefully, as they describe your rights and restrictions with respect | carefully, as they describe your rights and restrictions with respect | |||
to this document. Code Components extracted from this document must | to this document. Code Components extracted from this document must | |||
include Simplified BSD License text as described in Section 4.e of | include Simplified BSD License text as described in Section 4.e of | |||
skipping to change at page 2, line 19 | skipping to change at page 2, line 22 | |||
(http://trustee.ietf.org/license-info) in effect on the date of | (http://trustee.ietf.org/license-info) in effect on the date of | |||
publication of this document. Please review these documents | publication of this document. Please review these documents | |||
carefully, as they describe your rights and restrictions with respect | carefully, as they describe your rights and restrictions with respect | |||
to this document. Code Components extracted from this document must | to this document. Code Components extracted from this document must | |||
include Simplified BSD License text as described in Section 4.e of | include Simplified BSD License text as described in Section 4.e of | |||
the Trust Legal Provisions and are provided without warranty as | the Trust Legal Provisions and are provided without warranty as | |||
described in the Simplified BSD License. | described in the Simplified BSD License. | |||
Table of Contents | Table of Contents | |||
1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . . 3 | 1. Introduction ....................................................3 | |||
1.1. Terminology . . . . . . . . . . . . . . . . . . . . . . . 3 | 1.1. Terminology ................................................3 | |||
1.2. Requirements Language . . . . . . . . . . . . . . . . . . 4 | 1.2. Requirements Language ......................................4 | |||
1.3. Notational Conventions . . . . . . . . . . . . . . . . . . 4 | 1.3. Notational Conventions .....................................4 | |||
2. Named Entities . . . . . . . . . . . . . . . . . . . . . . . . 5 | 2. Named Entities ..................................................5 | |||
3. Uniquely Identifying an Operator - the Global_ID . . . . . . . 5 | 3. Uniquely Identifying an Operator - the Global_ID ................5 | |||
4. Node and Interface Identifiers . . . . . . . . . . . . . . . . 6 | 4. Node and Interface Identifiers ..................................6 | |||
5. MPLS-TP Tunnel and LSP Identifiers . . . . . . . . . . . . . . 7 | 5. MPLS-TP Tunnel and LSP Identifiers ..............................7 | |||
5.1. MPLS-TP Point to Point Tunnel Identifiers . . . . . . . . 8 | 5.1. MPLS-TP Point-to-Point Tunnel Identifiers ..................8 | |||
5.2. MPLS-TP LSP Identifiers . . . . . . . . . . . . . . . . . 8 | 5.2. MPLS-TP LSP Identifiers ....................................9 | |||
5.2.1. MPLS-TP Co-Routed Bidirectional 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.2.2. MPLS-TP Associated Bidirectional LSP Identifiers ....9 | |||
5.3. Mapping to RSVP Signaling . . . . . . . . . . . . . . . . 10 | 5.3. Mapping to RSVP Signaling .................................10 | |||
6. Pseudowire Path Identifiers . . . . . . . . . . . . . . . . . 11 | 6. Pseudowire Path Identifiers ....................................11 | |||
7. Maintenance Identifiers . . . . . . . . . . . . . . . . . . . 12 | 7. Maintenance Identifiers ........................................13 | |||
7.1. Maintenance Entity Group Identifiers . . . . . . . . . . . 13 | 7.1. Maintenance Entity Group Identifiers ......................13 | |||
7.1.1. MPLS-TP Section MEG_IDs . . . . . . . . . . . . . . . 13 | 7.1.1. MPLS-TP Section MEG_IDs ............................13 | |||
7.1.2. MPLS-TP LSP MEG_IDs . . . . . . . . . . . . . . . . . 13 | 7.1.2. MPLS-TP LSP MEG_IDs ................................13 | |||
7.1.3. Pseudowire MEG_IDs . . . . . . . . . . . . . . . . . . 13 | 7.1.3. Pseudowire MEG_IDs .................................14 | |||
7.2. Maintenance Entity Group End Point Identifiers . . . . . . 14 | 7.2. Maintenance Entity Group End Point Identifiers ............14 | |||
7.2.1. MPLS-TP Section MEP_IDs . . . . . . . . . . . . . . . 14 | 7.2.1. MPLS-TP Section MEP_IDs ............................14 | |||
7.2.2. MPLS-TP LSP_MEP_ID . . . . . . . . . . . . . . . . . . 14 | 7.2.2. MPLS-TP LSP_MEP_ID .................................15 | |||
7.2.3. MEP_IDs for Pseudowires . . . . . . . . . . . . . . . 15 | 7.2.3. MEP_IDs for Pseudowires ............................15 | |||
7.3. Maintenance Entity Group Intermediate Point Identifiers . 15 | 7.3. Maintenance Entity Group Intermediate Point Identifiers ...15 | |||
8. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 15 | 8. Security Considerations ........................................15 | |||
9. Security Considerations . . . . . . . . . . . . . . . . . . . 15 | 9. References .....................................................16 | |||
10. References . . . . . . . . . . . . . . . . . . . . . . . . . . 16 | 9.1. Normative References ......................................16 | |||
10.1. Normative References . . . . . . . . . . . . . . . . . . . 16 | 9.2. Informative References ....................................17 | |||
10.2. Informative References . . . . . . . . . . . . . . . . . . 16 | ||||
Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . . 17 | ||||
1. Introduction | 1. Introduction | |||
This document specifies an initial set of identifiers to be used in | This document specifies an initial set of identifiers to be used in | |||
the Transport Profile of Multiprotocol Label Switching (MPLS-TP). | the Transport Profile of Multiprotocol Label Switching (MPLS-TP). | |||
The MPLS-TP requirements (RFC 5654) [7] require that the elements and | The MPLS-TP requirements (RFC 5654 [7]) require that the elements and | |||
objects in an MPLS-TP environment are able to be configured and | objects in an MPLS-TP environment are able to be configured and | |||
managed without a control plane. In such an environment many | managed without a control plane. In such an environment, many | |||
conventions for defining identifiers are possible. This document | conventions for defining identifiers are possible. This document | |||
defines identifiers for MPLS-TP management and OAM functions | defines identifiers for MPLS-TP management and OAM functions | |||
compatible with IP/MPLS conventions. That is, the identifiers have | compatible with IP/MPLS conventions. That is, the identifiers have | |||
been chosen to be compatible with existing IP, MPLS, GMPLS, and | been chosen to be compatible with existing IP, MPLS, GMPLS, and | |||
Pseudowire definitions. | Pseudowire definitions. | |||
This document is a product of a joint Internet Engineering Task Force | This document is a product of a joint Internet Engineering Task Force | |||
(IETF) / International Telecommunication Union Telecommunication | (IETF) / International Telecommunication Union Telecommunication | |||
Standardization Sector (ITU-T) effort to include an MPLS Transport | Standardization Sector (ITU-T) effort to include an MPLS Transport | |||
Profile within the IETF MPLS and Pseudowire Emulation Edge-to-Edge | Profile within the IETF MPLS and Pseudowire Emulation Edge-to-Edge | |||
(PWE3) architectures to support the capabilities and functionalities | (PWE3) architectures to support the capabilities and functionalities | |||
of a packet transport network as defined by the ITU-T. | of a packet transport network as defined by the ITU-T. | |||
1.1. Terminology | 1.1. Terminology | |||
AGI: Attachment Group Identifier | ||||
AII: Attachment Interface Identifier | AII: Attachment Interface Identifier | |||
AS: Autonomous System | ||||
ASN: Autonomous System Number | ASN: Autonomous System Number | |||
EGP: Exterior Gateway Protocol | EGP: Exterior Gateway Protocol | |||
FEC: Forwarding Equivalence Class | FEC: Forwarding Equivalence Class | |||
GMPLS: Generalized Multi-Protocol Label Switching | GMPLS: Generalized Multiprotocol Label Switching | |||
IGP: Interior Gateway Protocol | IGP: Interior Gateway Protocol | |||
LSP: Label Switched Path | LSP: Label Switched Path | |||
LSR: Label Switching Router | LSR: Label Switching Router | |||
MEG: Maintenance Entity Group | MEG: Maintenance Entity Group | |||
MEP: Maintenance Entity Group End Point | MEP: Maintenance Entity Group End Point | |||
MIP: Maintenance Entity Group Intermediate Point | MIP: Maintenance Entity Group Intermediate Point | |||
MPLS: Multiprotocol Label Switching | ||||
MPLS: Multi-Protocol Label Switching | ||||
NNI: Network-to-Network Interface | NNI: Network-to-Network Interface | |||
OAM: Operations, Administration and Maintenance | ||||
P2P: Point to Point | OAM: Operations, Administration, and Maintenance | |||
PW: Pseudowire | PW: Pseudowire | |||
RSVP: Resource Reservation Protocol | RSVP: Resource Reservation Protocol | |||
RSVP-TE: RSVP Traffic Engineering | RSVP-TE: RSVP Traffic Engineering | |||
SPME: Sub Path Maintenance Entities | SAII: Source AII | |||
S-PE: Switching Provider Edge | SPME: Sub-Path Maintenance Entity | |||
T-PE: Terminating Provider Edge | T-PE: Terminating Provider Edge | |||
TAII: Target AII | ||||
1.2. Requirements Language | 1.2. Requirements Language | |||
The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT", | The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT", | |||
"SHOULD", "SHOULD NOT", "RECOMMENDED", "MAY", and "OPTIONAL" in this | "SHOULD", "SHOULD NOT", "RECOMMENDED", "MAY", and "OPTIONAL" in this | |||
document are to be interpreted as described in RFC 2119 [1]. | document are to be interpreted as described in RFC 2119 [1]. | |||
1.3. Notational Conventions | 1.3. Notational Conventions | |||
All multiple-word atomic identifiers use underscores (_) between the | All multiple-word atomic identifiers use underscores (_) between the | |||
words to join the words. Many of the identifiers are composed of a | words to join the words. Many of the identifiers are composed of a | |||
set of other identifiers. These are expressed by listing the latter | set of other identifiers. These are expressed by listing the latter | |||
identifiers joined with double-colon, "::", notation. | identifiers joined with double-colon "::" notation. | |||
Where the same identifier type is used multiple times in a | Where the same identifier type is used multiple times in a | |||
concatenation, they are qualified by a prefix joined to the | 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 | identifier by a dash (-). For example, A1-Node_ID is the Node_ID of | |||
node referred to as A1. | a node referred to as A1. | |||
The notation defines a preferred ordering of the fields. | The notation defines a preferred ordering of the fields. | |||
Specifically the designation A1 is used to indicate the lower sort | 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 | 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 | higher sort order of the same. The sort is either alphanumeric or | |||
numeric depending on the field's definition. Where the sort applies | numeric depending on the field's definition. Where the sort applies | |||
to a group of fields, those fields are grouped with {...}. | to a group of fields, those fields are grouped with {...}. | |||
Note, however, that the uniqueness of an identifier does not depend | Note, however, that the uniqueness of an identifier does not depend | |||
on the ordering, but rather, upon the uniqueness and scoping of the | on the ordering, but rather, upon the uniqueness and scoping of the | |||
fields that compose the identifier. Further the preferred ordering | fields that compose the identifier. Further, the preferred ordering | |||
is not intended to constrain protocol designs by dictating a | is not intended to constrain protocol designs by dictating a | |||
particular field sequence (for example see Section 5.2.1) or even | particular field sequence (for example, see Section 5.2.1) or even | |||
what fields appear in which objects (for example see Section 5.3). | what fields appear in which objects (for example, see Section 5.3). | |||
2. Named Entities | 2. Named Entities | |||
In order to configure, operate and manage a transport network based | In order to configure, operate, and manage a transport network based | |||
on the MPLS Transport Profile, a number of entities require | on the MPLS Transport Profile, a number of entities require | |||
identification. Identifiers for the following entities are defined | identification. Identifiers for the following entities are defined | |||
in this document: | in this document: | |||
* Global_ID | * Global_ID | |||
* Node | * Node | |||
* Interface | * Interface | |||
skipping to change at page 5, line 30 | skipping to change at page 5, line 33 | |||
* LSP | * LSP | |||
* PW | * PW | |||
* MEG | * MEG | |||
* MEP | * MEP | |||
* MIP | * MIP | |||
Note that we have borrowed the term tunnel from RSVP-TE (RFC 3209) | 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 | [2]) where it is used to describe an entity that provides a logical | |||
association between a source and destination LSR. The tunnel in turn | association between a source and destination LSR. The tunnel, in | |||
is instantiated by one or more LSPs, where the additional LSPs are | turn, is instantiated by one or more LSPs, where the additional LSPs | |||
used for protection or re-grooming of the tunnel. | are used for protection or re-grooming of the tunnel. | |||
3. Uniquely Identifying an Operator - the Global_ID | 3. Uniquely Identifying an Operator - the Global_ID | |||
The Global_ID is defined to uniquely identify an operator. RFC 5003 | The Global_ID is defined to uniquely identify an operator. RFC 5003 | |||
[3] defines a globally unique Attachment Interface Identifier (AII). | [3] defines a globally unique Attachment Interface Identifier (AII). | |||
That AII is composed of three parts, a Global_ID which uniquely | That AII is composed of three parts: a Global_ID that uniquely | |||
identifies an operator, a prefix, and finally, an attachment circuit | identifies an operator, a prefix, and, finally, an attachment circuit | |||
identifier. We have chosen to use that Global ID for MPLS-TP. | 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 | Quoting from RFC 5003, Section 3.2: | |||
2-octet or 4-octet value of the operator's Autonomous System Number | ||||
(ASN). It is expected that the global ID will be derived from the | The global ID can contain the 2-octet or 4-octet value of the | |||
globally unique ASN of the autonomous system hosting the PEs | provider's Autonomous System Number (ASN). It is expected that | |||
containing the actual AIIs. The presence of a global ID based on the | the global ID will be derived from the globally unique ASN of the | |||
operator's ASN ensures that the AII will be globally unique." | 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 | 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 | 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 | 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 | AS number in the low-order octets and setting the two high-order | |||
octets to zero. | octets to zero. | |||
ASN 0 is reserved and cannot be assigned to an operator. An | 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 | 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 | specified. Note that a Global_ID of zero is limited to entities | |||
contained within a single operator and MUST NOT be used across an | contained within a single operator and MUST NOT be used across an | |||
NNI. | NNI. | |||
The Global_ID is used solely to provide a globally unique context for | 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 | other MPLS-TP identifiers. While the AS number used in the Global_ID | |||
MUST be one which the operator is entitled to use, the use of the | 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 | Global_ID is not related to the use of the ASN in protocols such as | |||
BGP. | BGP. | |||
4. Node and Interface Identifiers | 4. Node and Interface Identifiers | |||
An LSR requires identification of the node itself and of its | An LSR requires identification of the node itself and of its | |||
interfaces. An interface is the attachment point to a server | interfaces. An interface is the attachment point to a server | |||
(sub-)layer, e.g., MPLS-TP section or MPLS-TP tunnel. | (sub-)layer, e.g., MPLS-TP section or MPLS-TP tunnel. | |||
We call the identifier associated with a node a Node Identifier | 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 | (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 | operator within the scope of a Global_ID. The structure of the | |||
Node_ID is operator specific and is outside the scope of this | Node_ID is operator-specific and is outside the scope of this | |||
document. However, the value zero is reserved and MUST NOT be used. | 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 | 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 | 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 | 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 | 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. | 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 | 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 | Node_ID belongs to the multiple-layer context, i.e., it is applicable | |||
to all LSPs or PWs that originate on, have a intermediate point on, | to all LSPs or PWs that originate on, have an intermediate point on, | |||
or terminate on the node. | or terminate on the node. | |||
In situations where a Node_ID needs to be globally unique, this is | In situations where a Node_ID needs to be globally unique, this is | |||
accomplished by prefixing the identifier with the operator's | accomplished by prefixing the identifier with the operator's | |||
Global_ID. | Global_ID. | |||
The term interface is used for the attachment point to an MPLS-TP | The term "interface" is used for the attachment point to an MPLS-TP | |||
section. Within the context of a particular node, we call the | section. Within the context of a particular node, we call the | |||
identifier associated with an interface an Interface Number (IF_Num). | identifier associated with an interface an "Interface Number" | |||
The IF_Num is a 32-bit unsigned integer assigned by the operator and | (IF_Num). The IF_Num is a 32-bit unsigned integer assigned by the | |||
MUST be unique within the scope of a Node_ID. The IF_Num value 0 has | operator and MUST be unique within the scope of a Node_ID. The | |||
special meaning (see Section 7.3, MIP Identifiers) and MUST NOT be | IF_Num value 0 has special meaning (see Section 7.3, MIP Identifiers) | |||
used to identify an MPLS-TP interface. | 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 | 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 | 2863 [8]. Further, no mapping is mandated between IF_Num and ifIndex | |||
in RFC 2863. | in RFC 2863. | |||
An Interface Identifier (IF_ID) identifies an interface uniquely | An "Interface Identifier" (IF_ID) identifies an interface uniquely | |||
within the context of a Global_ID. It is formed by concatenating the | 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 | Node_ID with the IF_Num. That is, an IF_ID is a 64-bit identifier | |||
formed as Node_ID::IF_Num. | formed as Node_ID::IF_Num. | |||
This convention was chosen to allow compatibility with GMPLS. The | This convention was chosen to allow compatibility with GMPLS. The | |||
GMPLS signaling functional description [4] requires interface | GMPLS signaling functional description [4] requires interface | |||
identification. GMPLS allows three formats for the Interface_ID. | identification. GMPLS allows three formats for the Interface_ID. | |||
The third format consists of an IPv4 Address plus a 32-bit unsigned | The third format consists of an IPv4 address plus a 32-bit unsigned | |||
integer for the specific interface. The format defined for MPLS-TP | integer for the specific interface. The format defined for MPLS-TP | |||
is consistent with this format, but uses the Node_ID instead of an | is consistent with this format, but uses the Node_ID instead of an | |||
IPv4 Address. | IPv4 address. | |||
If an IF_ID needs to be globally unique, this is accomplished by | If an IF_ID needs to be globally unique, this is accomplished by | |||
prefixing the identifier with the operator's Global_ID. | prefixing the identifier with the operator's Global_ID. | |||
Note that MPLS-TP supports hierarchical sections. The attachment | Note that MPLS-TP supports hierarchical sections. The attachment | |||
point to a MPLS-TP Section at any (sub-)layer requires a node-unique | point to an MPLS-TP section at any (sub-)layer requires a node-unique | |||
IF_Num. | IF_Num. | |||
5. MPLS-TP Tunnel and LSP Identifiers | 5. MPLS-TP Tunnel and LSP Identifiers | |||
In MPLS the actual transport of packets is provided by label switched | In MPLS, the actual transport of packets is provided by Label | |||
paths (LSPs). A transport service may be composed of multiple LSPs. | Switched Paths (LSPs). A transport service may be composed of | |||
Further the LSPs providing a service may change over time due to | multiple LSPs. Further, the LSPs providing a service may change over | |||
protection and restoration events. In order to clearly identify the | time due to protection and restoration events. In order to clearly | |||
service we use the term "MPLS-TP Tunnel" or simply "tunnel" for a | identify the service, we use the term "MPLS-TP Tunnel" or simply | |||
service provided by (for example) a working LSP and protected by a | "tunnel" for a service provided by (for example) a working LSP and | |||
protection LSP. The Tunnel Identifier (Tunnel_ID) identifies the | protected by a protection LSP. The "Tunnel Identifier" (Tunnel_ID) | |||
transport service and provides a stable binding to the client in the | identifies the transport service and provides a stable binding to the | |||
face of changes in the data plane LSPs used to provide the service | client in the face of changes in the data-plane LSPs used to provide | |||
due to protection or restoration events. This section defines an | the service due to protection or restoration events. This section | |||
MPLS-TP Tunnel_ID to uniquely identify a tunnel, and an MPLS-TP LSP | defines an MPLS-TP Tunnel_ID to uniquely identify a tunnel, and an | |||
Identifier (LSP_ID) to uniquely identify an LSP associated with a | MPLS-TP LSP Identifier (LSP_ID) to uniquely identify an LSP | |||
tunnel. | associated with a tunnel. | |||
For the case where multiple LSPs (for example) are used to support a | 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 | single service with a common set of end points, using the Tunnel_ID | |||
allows for a trivial mapping between the server and client layers, | allows for a trivial mapping between the server and client layers, | |||
providing a common service identifier which may be either defined by, | providing a common service identifier that may be either defined by | |||
or used by, the client. | or used by the client. | |||
Note that this usage is not intended to constrain protection schemes, | Note that this usage is not intended to constrain protection schemes, | |||
and may be used to identify any service (protected or unprotected) | and may be used to identify any service (protected or unprotected) | |||
that may appear to the client as a single service attachment point. | that may appear to the client as a single service attachment point. | |||
Keeping the Tunnel_ID consistent across working and protection LSPs | Keeping the Tunnel_ID consistent across working and protection LSPs | |||
is a useful construct currently employed within GMPLS. However, the | is a useful construct currently employed within GMPLS. However, the | |||
Tunnel_ID for a protection LSP MAY differ from that used by its | Tunnel_ID for a protection LSP MAY differ from that used by its | |||
corresponding working LSP. | corresponding working LSP. | |||
5.1. MPLS-TP Point to Point Tunnel Identifiers | 5.1. MPLS-TP Point-to-Point Tunnel Identifiers | |||
At each endpoint a tunnel is uniquely identified by the endpoint's | 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 | Node_ID and a locally assigned tunnel number. Specifically, a | |||
Number (Tunnel_Num) is a 16-bit unsigned integer unique within the | "Tunnel Number" (Tunnel_Num) is a 16-bit unsigned integer unique | |||
context of the Node_ID. The motivation for each endpoint having its | within the context of the Node_ID. The motivation for each end point | |||
own tunnel number is to allow a compact form for the MEP_ID. See | having its own tunnel number is to allow a compact form for the | |||
Section 7.2.2. | MEP_ID. See Section 7.2.2. | |||
Having two tunnel numbers also serves to simplify other signaling | Having two tunnel numbers also serves to simplify other signaling | |||
(e.g., setup of associated bidirectional tunnels as described in | (e.g., setup of associated bidirectional tunnels as described in | |||
Section 5.3). | Section 5.3). | |||
The concatenation of the two endpoint identifiers serves as the full | 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: | identifier. Using the A1/Z9 convention, the format of a Tunnel_ID | |||
is: | ||||
A1-{Node_ID::Tunnel_Num}::Z9-{Node_ID::Tunnel_Num} | A1-{Node_ID::Tunnel_Num}::Z9-{Node_ID::Tunnel_Num} | |||
Where the Tunnel_ID needs to be globally unique, this is accomplished | Where the Tunnel_ID needs to be globally unique, this is accomplished | |||
by using globally unique Node_IDs as defined above. Thus a globally | by using globally unique Node_IDs as defined above. Thus, a globally | |||
unique Tunnel_ID becomes: | unique Tunnel_ID becomes: | |||
A1-{Global_ID::Node_ID::Tunnel_Num}::Z9-{Global_ID::Node_ID:: | A1-{Global_ID::Node_ID::Tunnel_Num}::Z9-{Global_ID::Node_ID:: | |||
Tunnel_Num} | Tunnel_Num} | |||
When an MPLS-TP Tunnel is configured, it MUST be assigned a unique | When an MPLS-TP Tunnel is configured, it MUST be assigned a unique | |||
IF_ID at each endpoint. As usual, the IF_ID is composed of the local | IF_ID at each end point. As usual, the IF_ID is composed of the | |||
Node_ID concatenated with a 32-bit IF_Num. | local Node_ID concatenated with a 32-bit IF_Num. | |||
5.2. MPLS-TP LSP Identifiers | 5.2. MPLS-TP LSP Identifiers | |||
This section defines identifiers for MPLS-TP co-routed bidirectional | This section defines identifiers for MPLS-TP co-routed bidirectional | |||
and associated bidirectional LSPs. Note that MPLS-TP Sub Path | and associated bidirectional LSPs. Note that MPLS-TP Sub-Path | |||
Maintenance Entities (SPMEs) as defined in RFC 5921 [9] are also LSPs | Maintenance Entities (SPMEs), as defined in RFC 5921 [9], are also | |||
and use these same forms of identifiers. | LSPs and use these same forms of identifiers. | |||
5.2.1. MPLS-TP Co-Routed Bidirectional LSP Identifiers | 5.2.1. MPLS-TP Co-Routed Bidirectional LSP Identifiers | |||
A co-routed bidirectional LSP can be uniquely identified by a single | 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 within the scope of an MPLS-TP Tunnel_ID. Specifically, | |||
LSP Number (LSP_Num) is a 16-bit unsigned integer unique within the | an LSP Number (LSP_Num) is a 16-bit unsigned integer unique within | |||
Tunnel_ID. Thus the format of an MPLS-TP co-routed bidirectional | the Tunnel_ID. Thus, the format of an MPLS-TP co-routed | |||
LSP_ID is: | bidirectional LSP_ID is: | |||
A1-{Node_ID::Tunnel_Num}::Z9-{Node_ID::Tunnel_Num}::LSP_Num | 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 | Note that the uniqueness of identifiers does not depend on the A1/Z9 | |||
sort ordering. Thus the identifier | sort ordering. Thus, the identifier: | |||
Z9-{Node_ID::Tunnel_Num}::A1-{Node_ID::Tunnel_Num}::LSP_Num | Z9-{Node_ID::Tunnel_Num}::A1-{Node_ID::Tunnel_Num}::LSP_Num | |||
is synonymous with the one above. | is synonymous with the one above. | |||
At the dataplane level, a co-routed bidirectional LSP is composed of | At the data-plane level, a co-routed bidirectional LSP is composed of | |||
two unidirectional LSPs traversing the same links in opposite | two unidirectional LSPs traversing the same links in opposite | |||
directions. Since a co-routed bidirectional LSP is provisioned or | directions. Since a co-routed bidirectional LSP is provisioned or | |||
signaled as a single entity, a single LSP_Num is used for both | signaled as a single entity, a single LSP_Num is used for both | |||
unidirectional LSPs. The unidirectional LSPs can be referenced by | unidirectional LSPs. The unidirectional LSPs can be referenced by | |||
the identifiers: | the identifiers: | |||
A1-Node_ID::A1-Tunnel_Num::LSP_Num::Z9-Node_ID and | A1-Node_ID::A1-Tunnel_Num::LSP_Num::Z9-Node_ID and | |||
Z9-Node_ID::Z9-Tunnel_Num::LSP_Num::A1-Node_ID respectively. | 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 | Where the LSP_ID needs to be globally unique, this is accomplished by | |||
using globally unique Node_IDs as defined above. Thus a globally | using globally unique Node_IDs as defined above. Thus, a globally | |||
unique LSP_ID becomes: | unique LSP_ID becomes: | |||
A1-{Global_ID::Node_ID::Tunnel_Num}::Z9-{Global_ID:: | A1-{Global_ID::Node_ID::Tunnel_Num}::Z9-{Global_ID:: | |||
Node_ID::Tunnel_Num}::LSP_Num | Node_ID::Tunnel_Num}::LSP_Num | |||
5.2.2. MPLS-TP Associated Bidirectional LSP Identifiers | 5.2.2. MPLS-TP Associated Bidirectional LSP Identifiers | |||
For an associated bidirectional LSP each of the unidirectional LSPs | For an associated bidirectional LSP, each of the unidirectional LSPs | |||
from A1 to Z9 and Z9 to A1 require LSP_Nums. Each unidirectional LSP | 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 | 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- | ingress's Tunnel_Num. Specifically, an "LSP Number" (LSP_Num) is a | |||
bit unsigned integer unique within the scope of the ingress's | 16-bit unsigned integer unique within the scope of the ingress's | |||
Tunnel_Num. Thus the format of an MPLS-TP associated bidirectional | Tunnel_Num. Thus, the format of an MPLS-TP associated bidirectional | |||
LSP_ID is: | LSP_ID is: | |||
A1-{Node_ID::Tunnel_Num::LSP_Num}:: | A1-{Node_ID::Tunnel_Num::LSP_Num}:: | |||
Z9-{Node_ID::Tunnel_Num::LSP_Num} | Z9-{Node_ID::Tunnel_Num::LSP_Num} | |||
At the dataplane level, an associated bidirectional LSP is composed | At the data-plane level, an associated bidirectional LSP is composed | |||
of two unidirectional LSPs between two nodes in opposite directions. | of two unidirectional LSPs between two nodes in opposite directions. | |||
The unidirectional LSPs may be referenced by the identifiers: | The unidirectional LSPs may be referenced by the identifiers: | |||
A1-Node_ID::A1-Tunnel_Num::A1-LSP_Num::Z9-Node_ID and | 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. | 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 | Where the LSP_ID needs to be globally unique, this is accomplished by | |||
using globally unique Node_IDs as defined above. Thus a globally | using globally unique Node_IDs as defined above. Thus, a globally | |||
unique LSP_ID becomes: | unique LSP_ID becomes: | |||
A1-{Global_ID::Node_ID::Tunnel_Num::LSP_Num}:: | A1-{Global_ID::Node_ID::Tunnel_Num::LSP_Num}:: | |||
Z9-{Global_ID::Node_ID::Tunnel_Num::LSP_Num} | Z9-{Global_ID::Node_ID::Tunnel_Num::LSP_Num} | |||
5.3. Mapping to RSVP Signaling | 5.3. Mapping to RSVP Signaling | |||
This section is informative and exists to help understand the | This section is informative and exists to help understand the | |||
structure of the LSP IDs. | structure of the LSP IDs. | |||
GMPLS [5] is based on RSVP-TE [2]. This section defines the mapping | 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 | 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 | 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 | 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. | 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 | GMPLS and RSVP-TE signaling use a 5-tuple to uniquely identify an LSP | |||
within a operator's network. This tuple is composed of a Tunnel | within an operator's network. This tuple is composed of a Tunnel | |||
Endpoint Address, Tunnel_ID, Extended Tunnel ID, and Tunnel Sender | End-point Address, Tunnel_ID, Extended Tunnel ID, Tunnel Sender | |||
Address and (RSVP) LSP_ID. RFC 3209 allows some flexibility in how | Address, and (RSVP) LSP_ID. RFC 3209 allows some flexibility in how | |||
the Extended Tunnel ID is chosen and a direct mapping is not | the Extended Tunnel ID is chosen, and a direct mapping is not | |||
mandated. One convention that is often used, however, is to populate | mandated. One convention that is often used, however, is to populate | |||
this field with the same value as the Tunnel Sender Address. The | this field with the same value as the Tunnel Sender Address. The | |||
examples below follow that convention. Note that these are only | examples below follow that convention. Note that these are only | |||
examples. | examples. | |||
For a co-routed bidirectional LSP signaled from A1 to Z9, the mapping | For a co-routed bidirectional LSP signaled from A1 to Z9, the mapping | |||
to the GMPLS 5-tuple is as follows: | to the GMPLS 5-tuple is as follows: | |||
* Tunnel Endpoint Address = Z9-Node_ID | * Tunnel End-point Address = Z9-Node_ID | |||
* Tunnel_ID = A1-Tunnel_Num | * Tunnel_ID = A1-Tunnel_Num | |||
* Extended Tunnel_ID = A1-Node_ID | * Extended Tunnel_ID = A1-Node_ID | |||
* Tunnel Sender Address = A1-Node_ID | * Tunnel Sender Address = A1-Node_ID | |||
* (RSVP) LSP_ID = LSP_Num | * (RSVP) LSP_ID = LSP_Num | |||
An associated bidirectional LSP between two nodes A1 and Z9 consists | 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. | 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, | 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 | the following mappings are used. For the A1 to Z9 LSP, the mapping | |||
would be: | would be: | |||
* Tunnel Endpoint Address = Z9-Node_ID | * Tunnel End-point Address = Z9-Node_ID | |||
* Tunnel_ID = A1-Tunnel_Num | * Tunnel_ID = A1-Tunnel_Num | |||
* Extended Tunnel_ID = A1-Node_ID | * Extended Tunnel_ID = A1-Node_ID | |||
* Tunnel Sender Address = A1-Node_ID | * Tunnel Sender Address = A1-Node_ID | |||
* (RSVP) LSP_ID = A1-LSP_Num | * (RSVP) LSP_ID = A1-LSP_Num | |||
Likewise, the Z9 to A1 LSP, the mapping would be: | Likewise, the Z9 to A1 LSP, the mapping would be: | |||
* Tunnel Endpoint Address = A1-Node_ID | * Tunnel End-point Address = A1-Node_ID | |||
* Tunnel_ID = Z9-Tunnel_Num | * Tunnel_ID = Z9-Tunnel_Num | |||
* Extended Tunnel_ID = Z9-Node_ID | * Extended Tunnel_ID = Z9-Node_ID | |||
* Tunnel Sender Address = Z9-Node_ID | * Tunnel Sender Address = Z9-Node_ID | |||
* (RSVP) LSP_ID = Z9-LSP_Num | * (RSVP) LSP_ID = Z9-LSP_Num | |||
6. Pseudowire Path Identifiers | 6. Pseudowire Path Identifiers | |||
Pseudowire signaling (RFC 4447 [6]) defines two FECs used to signal | Pseudowire signaling (RFC 4447 [6]) defines two FECs used to signal | |||
pseudowires. Of these, FEC Type 129 along with AII Type 2 as defined | pseudowires. Of these, the Generalized PWid FEC (type 129) along | |||
in RFC 5003 [3] fits the identification requirements of MPLS-TP. | 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 | In an MPLS-TP environment, a PW is identified by a set of identifiers | |||
which can be mapped directly to the elements required by FEC 129 and | that can be mapped directly to the elements required by the | |||
AII Type 2. To distinguish this identifier from other Pseudowire | Generalized PWid FEC (type 129) and AII Type 2. To distinguish this | |||
Identifiers, we call this a Pseudowire Path Identifier (PW_Path_ID). | 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 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 | 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 | 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. | as the Prefix. The AC_ID is as defined in RFC 5003. | |||
To complete the FEC 129, all that is required is an Attachment Group | To complete the Generalized PWid FEC (type 129), all that is required | |||
Identifier (AGI). That field is exactly as specified in RFC 4447. A | is an Attachment Group Identifier (AGI). That field is exactly as | |||
(bidirectional) pseudowire consists of a pair of unidirectional LSPs, | specified in RFC 4447. A (bidirectional) pseudowire consists of a | |||
one in each direction. Thus for signaling, FEC 129 has a notion of | pair of unidirectional LSPs, one in each direction. Thus, for | |||
Source AII (SAII) and Target AII (TAII). These terms are used | signaling, the Generalized PWid FEC (type 129) has a notion of Source | |||
relative to the direction of the LSP. | 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, | In a purely configured environment, when referring to the entire PW, | |||
this distinction is not critical. That is a FEC 129 of AGIa::AIIb:: | this distinction is not critical. That is, a Generalized PWid FEC | |||
AIIc is equivalent to AGIa::AIIc::AIIb. | (type 129) of AGIa::AIIb::AIIc is equivalent to AGIa::AIIc::AIIb. | |||
We note that in a signaled environment, the required convention in | We note that in a signaled environment, the required convention in | |||
RFC 4447 is that at a particular endpoint, the AII associated with | RFC 4447 is that at a particular end point, the AII associated with | |||
that endpoint comes first. The complete PW_Path_ID is: | that end point comes first. The complete PW_Path_ID is: | |||
AGI::A1-{Global_ID::Node_ID::AC_ID}:: | AGI::A1-{Global_ID::Node_ID::AC_ID}:: | |||
Z9-{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 | 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 FEC 129 | with a label request from A1 to Z9 with the fields of the Generalized | |||
completed as follows: | PWid FEC (type 129) completed as follows: | |||
AGI = AGI | AGI = AGI | |||
SAII = A1-{Global_ID::Node_ID::AC_ID} | SAII = A1-{Global_ID::Node_ID::AC_ID} | |||
TAII = Z9-{Global_ID::Node_ID::AC_ID} | TAII = Z9-{Global_ID::Node_ID::AC_ID} | |||
The LSP from Z9 to A1 would signaled with: | The LSP from Z9 to A1 would signaled with: | |||
AGI = AGI | AGI = AGI | |||
SAII = Z9-{Global_ID::Node_ID::AC_ID} | SAII = Z9-{Global_ID::Node_ID::AC_ID} | |||
TAII = A1-{Global_ID::Node_ID::AC_ID} | TAII = A1-{Global_ID::Node_ID::AC_ID} | |||
7. Maintenance Identifiers | 7. Maintenance Identifiers | |||
In MPLS-TP a Maintenance Entity Group (MEG) represents an Entity that | In MPLS-TP, a Maintenance Entity Group (MEG) represents an entity | |||
requires management and defines a relationship between a set of | that requires management and defines a relationship between a set of | |||
maintenance points. A maintenance point is either a Maintenance | maintenance points. A maintenance point is either a Maintenance | |||
Entity Group End-point (MEP), a Maintenance Entity Group Intermediate | Entity Group End Point (MEP), a Maintenance Entity Group Intermediate | |||
Point (MIP), or a Pseudowire Segment Endpoint. Within the context of | Point (MIP), or a Pseudowire Segment End Point. Within the context | |||
a MEG, MEPs and MIPs must be uniquely identified. This section | of a MEG, MEPs and MIPs must be uniquely identified. This section | |||
defines a means of uniquely identifying Maintenance Entity Groups, | defines a means of uniquely identifying Maintenance Entity Groups and | |||
Maintenance Entities and uniquely defining MEPs and MIPs within the | Maintenance Entities. It also uniquely defines MEPs and MIPs within | |||
context of a Maintenance Entity Group. | the context of a Maintenance Entity Group. | |||
7.1. Maintenance Entity Group Identifiers | 7.1. Maintenance Entity Group Identifiers | |||
Maintenance Entity Group Identifiers (MEG_IDs) are required for | Maintenance Entity Group Identifiers (MEG_IDs) are required for | |||
MPLS-TP sections, LSPs and Pseudowires. The formats were chosen to | MPLS-TP sections, LSPs, and Pseudowires. The formats were chosen to | |||
follow the IP compatible identifiers defined above. | follow the IP-compatible identifiers defined above. | |||
7.1.1. MPLS-TP Section MEG_IDs | 7.1.1. MPLS-TP Section MEG_IDs | |||
MPLS-TP allows a hierarchy of sections. See "MPLS-TP Data Plane | MPLS-TP allows a hierarchy of sections. See "MPLS-TP Data Plane | |||
Architecture" (RFC 5960)[10]. Sections above layer 0 are MPLS-TP | 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. | 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 | 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 | concatenating the two IF_IDs of the corresponding section using the | |||
A1/Z9 ordering. For example: | A1/Z9 ordering. For example: | |||
A1-IF_ID::Z9-IF_ID | A1-IF_ID::Z9-IF_ID | |||
Where the Section_MEG_ID needs to be globally unique, this is | Where the Section_MEG_ID needs to be globally unique, this is | |||
accomplished by using globally unique Node_IDs as defined above. | accomplished by using globally unique Node_IDs as defined above. | |||
Thus a globally unique Section_MEG_ID becomes: | Thus, a globally unique Section_MEG_ID becomes: | |||
A1-{Global_ID::IF_ID}::Z9-{Global_ID::IF_ID} | A1-{Global_ID::IF_ID}::Z9-{Global_ID::IF_ID} | |||
7.1.2. MPLS-TP LSP MEG_IDs | 7.1.2. MPLS-TP LSP MEG_IDs | |||
A MEG pertains to a unique MPLS-TP LSP. IP compatible MEG_IDs for | 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 | MPLS-TP LSPs are simply the corresponding LSP_IDs; however, the A1/Z9 | |||
ordering MUST be used. For bidirectional co-routed LSPs the format | ordering MUST be used. For bidirectional co-routed LSPs, the format | |||
of the LSP_ID is found in Section 5.2.1. For associated | of the LSP_ID is found in Section 5.2.1. For associated | |||
bidirectional LSPs the format is in Section 5.2.2. | bidirectional LSPs, the format is in Section 5.2.2. | |||
We note that while the two identifiers are syntactically identical, | We note that while the two identifiers are syntactically identical, | |||
they have different semantics. This semantic difference needs to be | they have different semantics. This semantic difference needs to be | |||
made clear. For instance if both a MPLS-TP LSP_ID and MPLS-TP LSP | 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 | MEG_IDs are to be encoded in TLVs, different types need to be | |||
assigned for these two identifiers. | assigned for these two identifiers. | |||
7.1.3. Pseudowire MEG_IDs | 7.1.3. Pseudowire MEG_IDs | |||
For Pseudowires a MEG pertains to a single PW. The IP compatible | 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 | 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 | A1/Z9 ordering MUST be used. The PW_Path_ID is described in | |||
Section 6. We note that while the two identifiers are syntactically | Section 6. We note that while the two identifiers are syntactically | |||
identical, they have different semantics. This semantic difference | identical, they have different semantics. This semantic difference | |||
needs to be made clear. For instance if both a PW_Path_ID and a | 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 | PW_MEG_ID are to be encoded in TLVs, different types need to be | |||
assigned for these two identifiers. | assigned for these two identifiers. | |||
7.2. Maintenance Entity Group End Point Identifiers | 7.2. Maintenance Entity Group End Point Identifiers | |||
7.2.1. MPLS-TP Section MEP_IDs | 7.2.1. MPLS-TP Section MEP_IDs | |||
IP compatible MEP_IDs for MPLS-TP sections above layer 0 are their | IP-compatible MEP_IDs for MPLS-TP sections above layer 0 are their | |||
MPLS-TP LSP_MEP_IDs. See Section 7.2.2. | MPLS-TP LSP_MEP_IDs. See Section 7.2.2. | |||
IP compatible MEP_IDs for MPLS-TP sections at layer 0 are simply the | 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 | IF_IDs of each end of the section. For example, for a section whose | |||
MEG_ID is | MEG_ID is: | |||
A1-IF_ID::Z9-IF_ID | A1-IF_ID::Z9-IF_ID | |||
the Section MEP_ID at A1 would be | the Section MEP_ID at A1 would be: | |||
A1-IF_ID | A1-IF_ID | |||
and the Section MEP_ID at Z9 would be | and the Section MEP_ID at Z9 would be: | |||
Z9-IF_ID. | Z9-IF_ID. | |||
Where the Section MEP_ID needs to be globally unique, this is | Where the Section MEP_ID needs to be globally unique, this is | |||
accomplished by using globally unique Node_IDs as defined above. | accomplished by using globally unique Node_IDs as defined above. | |||
Thus a globally unique Section MEP_ID becomes | Thus, a globally unique Section MEP_ID becomes: | |||
Global_ID::IF_ID. | Global_ID::IF_ID. | |||
7.2.2. MPLS-TP LSP_MEP_ID | 7.2.2. MPLS-TP LSP_MEP_ID | |||
In order to automatically generate MEP_IDs for MPLS-TP LSPs, we use | In order to automatically generate MEP_IDs for MPLS-TP LSPs, we use | |||
the elements of identification that are unique to an endpoint. This | the elements of identification that are unique to an end point. This | |||
ensures that MEP_IDs are unique for all LSPs within a operator. When | ensures that MEP_IDs are unique for all LSPs within an operator. | |||
Tunnels or LSPs cross operator boundaries, these are made unique by | When Tunnels or LSPs cross operator boundaries, these are made unique | |||
pre-pending them with the operator's Global_ID. | by pre-pending them with the operator's Global_ID. | |||
The MPLS-TP LSP_MEP_ID is | The MPLS-TP LSP_MEP_ID is: | |||
Node_ID::Tunnel_Num::LSP_Num | Node_ID::Tunnel_Num::LSP_Num | |||
where the Node_ID is the node in which the MEP is located and | 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 | 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 | co-routed bidirectional LSPs, the single LSP_Num is used at both | |||
ends. In the case of associated bidirectional LSPs, the LSP_Num is | ends. In the case of associated bidirectional LSPs, the LSP_Num is | |||
the one unique to where the MEP resides. | the one unique to where the MEP resides. | |||
In situations where global uniqueness is required this becomes: | In situations where global uniqueness is required, this becomes: | |||
Global_ID::Node_ID::Tunnel_Num::LSP_Num | Global_ID::Node_ID::Tunnel_Num::LSP_Num | |||
7.2.3. MEP_IDs for Pseudowires | 7.2.3. MEP_IDs for Pseudowires | |||
Like MPLS-TP LSPs, Pseudowire endpoints (T-PEs) require MEP_IDs. In | 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 | 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 | AGI plus the AII associated with that end of the PW. Thus, a MEP_ID | |||
for a Pseudowire T-PE takes the form | for a Pseudowire T-PE takes the form: | |||
AGI::Global_ID::Node_ID::AC_ID | AGI::Global_ID::Node_ID::AC_ID | |||
where the Node_ID is the node in which the MEP is located and the | 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. | AC_ID is the AC_ID of the Pseudowire at that node. | |||
7.3. Maintenance Entity Group Intermediate Point Identifiers | 7.3. Maintenance Entity Group Intermediate Point Identifiers | |||
For a MIP which is associated with particular interface, we simply | For a MIP that is associated with a particular interface, we simply | |||
use the IF_ID (see Section 4) of the interfaces which are cross- | use the IF_ID (see Section 4) of the interfaces that are cross- | |||
connected. This allows, MIPs to be independently identified in one | 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 | 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 | model is used, then one MIP is configured. In this case, the MIP_ID | |||
formed using the Node_ID and an IF_Num of 0. | is formed using the Node_ID and an IF_Num of 0. | |||
8. IANA Considerations | ||||
There are no IANA actions resulting from this document. | ||||
9. Security Considerations | 8. Security Considerations | |||
This document describes an information model and, as such, does not | This document describes an information model and, as such, does not | |||
introduce security concerns. Protocol specifications that describe | introduce security concerns. Protocol specifications that describe | |||
use of this information model, however, may introduce security risks | use of this information model, however, may introduce security risks | |||
and concerns about authentication of participants. For this reason, | and concerns about authentication of participants. For this reason, | |||
the writers of protocol specifications for the purpose of describing | the writers of protocol specifications for the purpose of describing | |||
implementation of this information model need to describe security | implementation of this information model need to describe security | |||
and authentication concerns that may be raised by the particular | and authentication concerns that may be raised by the particular | |||
mechanisms defined and how those concerns may be addressed. | mechanisms defined and how those concerns may be addressed. | |||
Uniqueness of the identifiers from this document is guaranteed by the | 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 | assigner (e.g., a Global_ID is unique based on the assignment of ASNs | |||
from IANA and both a Node_ID and a IF_Num are unique based on the | 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 | assignment by an operator). Failure by an assigner to use unique | |||
values within the specified scoping for any of the identifiers | values within the specified scoping for any of the identifiers | |||
defined herein could result in operational problems. For example and | defined herein could result in operational problems. For example, a | |||
non-unique MEP value could result in failure to detect a mis-merged | non-unique MEP value could result in failure to detect a mis-merged | |||
LSP. | LSP. | |||
Protocol specifications that utilize the identifiers defined herein | Protocol specifications that utilize the identifiers defined herein | |||
need to consider the implications of guessable identifiers and, where | need to consider the implications of guessable identifiers and, where | |||
there is a security implication, SHOULD give advice on how to make | there is a security implication, SHOULD give advice on how to make | |||
identifiers less guessable. | identifiers less guessable. | |||
10. References | 9. References | |||
10.1. Normative References | 9.1. Normative References | |||
[1] Bradner, S., "Key words for use in RFCs to Indicate Requirement | [1] Bradner, S., "Key words for use in RFCs to Indicate Requirement | |||
Levels", BCP 14, RFC 2119, March 1997. | Levels", BCP 14, RFC 2119, March 1997. | |||
[2] Awduche, D., Berger, L., Gan, D., Li, T., Srinivasan, V., and | [2] Awduche, D., Berger, L., Gan, D., Li, T., Srinivasan, V., and | |||
G. Swallow, "RSVP-TE: Extensions to RSVP for LSP Tunnels", | G. Swallow, "RSVP-TE: Extensions to RSVP for LSP Tunnels", | |||
RFC 3209, December 2001. | RFC 3209, December 2001. | |||
[3] Metz, C., Martini, L., Balus, F., and J. Sugimoto, "Attachment | [3] Metz, C., Martini, L., Balus, F., and J. Sugimoto, "Attachment | |||
Individual Identifier (AII) Types for Aggregation", RFC 5003, | Individual Identifier (AII) Types for Aggregation", RFC 5003, | |||
skipping to change at page 16, line 36 | skipping to change at page 17, line 5 | |||
Signaling Functional Description", RFC 3471, January 2003. | Signaling Functional Description", RFC 3471, January 2003. | |||
[5] Berger, L., "Generalized Multi-Protocol Label Switching (GMPLS) | [5] Berger, L., "Generalized Multi-Protocol Label Switching (GMPLS) | |||
Signaling Resource ReserVation Protocol-Traffic Engineering | Signaling Resource ReserVation Protocol-Traffic Engineering | |||
(RSVP-TE) Extensions", RFC 3473, January 2003. | (RSVP-TE) Extensions", RFC 3473, January 2003. | |||
[6] Martini, L., Rosen, E., El-Aawar, N., Smith, T., and G. Heron, | [6] Martini, L., Rosen, E., El-Aawar, N., Smith, T., and G. Heron, | |||
"Pseudowire Setup and Maintenance Using the Label Distribution | "Pseudowire Setup and Maintenance Using the Label Distribution | |||
Protocol (LDP)", RFC 4447, April 2006. | Protocol (LDP)", RFC 4447, April 2006. | |||
10.2. Informative References | 9.2. Informative References | |||
[7] Niven-Jenkins, B., Brungard, D., Betts, M., Sprecher, N., and | [7] Niven-Jenkins, B., Brungard, D., Betts, M., Sprecher, N., and | |||
S. Ueno, "Requirements of an MPLS Transport Profile", RFC 5654, | S. Ueno, "Requirements of an MPLS Transport Profile", RFC 5654, | |||
September 2009. | September 2009. | |||
[8] McCloghrie, K. and F. Kastenholz, "The Interfaces Group MIB", | [8] McCloghrie, K. and F. Kastenholz, "The Interfaces Group MIB", | |||
RFC 2863, June 2000. | RFC 2863, June 2000. | |||
[9] Bocci, M., Bryant, S., Frost, D., Levrau, L., and L. Berger, "A | [9] Bocci, M., Bryant, S., Frost, D., Levrau, L., and L. Berger, "A | |||
Framework for MPLS in Transport Networks", RFC 5921, July 2010. | Framework for MPLS in Transport Networks", RFC 5921, July 2010. | |||
skipping to change at page 17, line 13 | skipping to change at page 17, line 28 | |||
Data Plane Architecture", RFC 5960, August 2010. | Data Plane Architecture", RFC 5960, August 2010. | |||
Authors' Addresses | Authors' Addresses | |||
Matthew Bocci | Matthew Bocci | |||
Alcatel-Lucent | Alcatel-Lucent | |||
Voyager Place, Shoppenhangers Road | Voyager Place, Shoppenhangers Road | |||
Maidenhead, Berks SL6 2PJ | Maidenhead, Berks SL6 2PJ | |||
UK | UK | |||
Email: matthew.bocci@alcatel-lucent.com | EMail: matthew.bocci@alcatel-lucent.com | |||
George Swallow | George Swallow | |||
Cisco | Cisco | |||
Email: swallow@cisco.com | EMail: swallow@cisco.com | |||
Eric Gray | Eric Gray | |||
Ericsson | Ericsson | |||
900 Chelmsford Street | 900 Chelmsford Street | |||
Lowell, Massachussetts 01851-8100 | Lowell, Massachussetts 01851-8100 | |||
Email: eric.gray@ericsson.com | EMail: eric.gray@ericsson.com | |||
End of changes. 109 change blocks. | ||||
230 lines changed or deleted | 234 lines changed or added | |||
This html diff was produced by rfcdiff 1.41. The latest version is available from http://tools.ietf.org/tools/rfcdiff/ |