MPLS Working Group M. Bocci Internet-Draft Alcatel-Lucent Intended status: Standards Track G. Swallow Expires: January 14, 2010 Cisco July 13, 2009 MPLS-TP Identifiers draft-swallow-mpls-tp-identifiers-01 Status of this Memo This Internet-Draft is submitted to IETF in full conformance with the provisions of BCP 78 and BCP 79. Internet-Drafts are working documents of the Internet Engineering Task Force (IETF), its areas, and its working groups. Note that other groups may also distribute working documents as Internet- Drafts. Internet-Drafts are draft documents valid for a maximum of six months and may be updated, replaced, or obsoleted by other documents at any time. It is inappropriate to use Internet-Drafts as reference material or to cite them other than as "work in progress." The list of current Internet-Drafts can be accessed at http://www.ietf.org/ietf/1id-abstracts.txt. The list of Internet-Draft Shadow Directories can be accessed at http://www.ietf.org/shadow.html. This Internet-Draft will expire on January 14, 2010. Copyright Notice Copyright (c) 2009 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 in effect on the date of publication of this document (http://trustee.ietf.org/license-info). Please review these documents carefully, as they describe your rights and restrictions with respect to this document. Abstract This document specifies identifiers for MPLS-TP objects. Included are identifiers conformant to existing ITU conventions and Bocci & Swallow Expires January 14, 2010 [Page 1] Internet-Draft MPLS-TP Identifiers July 2009 identifiers which are compatible with existing IP, MPLS, GMPLS, and Pseudowire definitions. Table of Contents 1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . . 3 1.1. Terminology . . . . . . . . . . . . . . . . . . . . . . . 3 2. Named Entities . . . . . . . . . . . . . . . . . . . . . . . . 4 3. Uniquely Identifying an Operator . . . . . . . . . . . . . . . 5 3.1. The Global ID . . . . . . . . . . . . . . . . . . . . . . 5 3.2. ITU Carrier Code . . . . . . . . . . . . . . . . . . . . . 5 4. Node and Interface Identifiers . . . . . . . . . . . . . . . . 6 5. Path Identifiers . . . . . . . . . . . . . . . . . . . . . . . 6 5.1. MPLS-TP LSP Identifiers . . . . . . . . . . . . . . . . . 7 5.2. Pseudowire Identifiers . . . . . . . . . . . . . . . . . . 8 6. Maintenance Identifiers . . . . . . . . . . . . . . . . . . . 8 6.1. Maintenance Entity Identifiers . . . . . . . . . . . . . . 8 6.1.1. IP Compatible ME-IDs . . . . . . . . . . . . . . . . . 9 6.1.2. ICC based ME-IDs . . . . . . . . . . . . . . . . . . . 9 6.2. Maintenance Points . . . . . . . . . . . . . . . . . . . . 9 6.3. MEP_IDs for MPLS-TP LSPs and Tunnels . . . . . . . . . . . 9 6.4. MEP_IDs for Pseudowires . . . . . . . . . . . . . . . . . 10 6.5. Maintenance Intermediate Point Identifiers . . . . . . . . 10 7. Open issues . . . . . . . . . . . . . . . . . . . . . . . . . 10 8. References . . . . . . . . . . . . . . . . . . . . . . . . . . 12 8.1. Normative References . . . . . . . . . . . . . . . . . . . 12 8.2. Informative References . . . . . . . . . . . . . . . . . . 13 Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . . 13 Bocci & Swallow Expires January 14, 2010 [Page 2] Internet-Draft MPLS-TP Identifiers July 2009 1. Introduction This document specifies identifiers to be used in within the Transport Profile of Multiprotocol Label Switching (MPLS-TP). where compatibility with existing MPLS control plane conventions are necessary. The MPLS-TP requirements [13] 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. In particular, identifiers conformat to existing ITU conventions are defined. It is also anticipated that operational environments where MPLS-TP objects, e.g. Label Switched Paths (LSPs) and Pseudowires (PWs) will be signaled via existing protocols such as the Label Distribution Protocol (RFC 4447) [1] and the Resource Reservation Protocol as it is applied to Generalized Multi-protocol Label Switching (RFCs 3471 & 3473) [2][3] (GMPLS). This document defines a set of identifiers for MPLS-TP which are both compatible with those protocols and applicable to MPLS-TP management and OAM functions. 1.1. Terminology AII: Attachment Interface Identifier ASN: Autonomous System Number FEC: Forwarding Equivalence Class GMPLS: Generalised Multi-Protocol Label Switching ICC: ITU Carrier Code LSP: Label Switched Path LSR: Label Switching Router ME: Maintenance Entity MEP: Maintenance End Point MIP: Maintenance Intermediate Point MPLS: Multi-Protocol Label Switching OAM: Operations, Administration and Maintenance P2MP: Point to Multi-Point P2P: Point to Point Bocci & Swallow Expires January 14, 2010 [Page 3] Internet-Draft MPLS-TP Identifiers July 2009 PSC: Protection State Coordination PW: Pseudowire RSVP: Resource Reservation Protocol RSVP-TE: RSVP Traffic Engineering S-PE: Switching Provider Edge T-PE: Terminating Provider Edge 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 [4]. 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 follow entities are defined in this document: o Operator * ICC * Global-ID o LSR o LSP o PW o Interface o MEG o MEP o MIP o Tunnel Bocci & Swallow Expires January 14, 2010 [Page 4] Internet-Draft MPLS-TP Identifiers July 2009 Note that we have borrowed the term tunnel from RSVP-TE (RFC 3209) [5] where it is used to describe an entity that provides an LSP connection between a source and destination LSR which 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 Two forms of identification are defined, one that is compatible with IP operational practice called a Global_ID and one compatible with ITU practice, the ICC. An Operator MAY be identified either by its Global_ID or by its ICC. 3.1. The Global ID RFC 5003 [6] defines a globally unique Attachment Interface Identifier (AII). That AII is composed of three parts, a Global ID which uniquely identifies a operator, a prefix, and finally and 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 operator'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." When the Global_ID is derived from a 2-octet AS number, the two high- order octets of this 4-octet identifier MUST be set to zero. Note that this Global_ID is used solely to provide a globally unique context for other MPLS-TP identifiers. It has nothing to do with the use of the ASN in protocols such as BGP. 3.2. ITU Carrier Code M.1400 defines the ITU Carrier Code (ICC) assigned to a network operator/service provider and maintained by the ITU-T Telecommunication Standardization Bureau (TSB): www.itu.int/ITU-T/ inr/icc/index.html. ICCs can be assigned both to ITU-T and non-ITU-T members and the referenced local ICC website may containu ICCs of operators of both kinds. The ICC is a string of one to six characters, each character being either alphabetic (i.e. A-Z) or numeric (i.e. 0-9) characters. Bocci & Swallow Expires January 14, 2010 [Page 5] Internet-Draft MPLS-TP Identifiers July 2009 Alphabetic characters in the ICC SHOULD be represented with upper case letters. 4. Node and Interface Identifiers An LSR requires identification of the node itself and of its interfaces. We call the identifier associated with a node a Node Identifier (Node_ID). Within the context of a particular node, we call the identifier associated with an interface an Logical Interface Handle or LIH. The combination of Node_ID::LIH we call an Network Interface ID or Network_IF_ID. In existing MPLS deployments Node_IDs are IPv4 addresses. Therefore we have chosen the Node_ID to be a 32-bit value assigned by the operator. Where IPv4 addresses are in use the Node_ID can be automatically mapped to the LSR's /32 IPv4 loopback address. Note that, when IP reachability is not needed, the 32-bit Node_ID is not required to have any association with the IPv4 address space used in the operator's IGP or BGP, other that that they be uniquely chosen within the scope of that operator. GMPLS signaling [2] requires interface identification. We have chosen to adopt the conventions of that RFC. GMPLS allows three formats for the Interface_ID. For IP numbered links, it is simply the IPv4 or IPv6 address associated with the interface. The third format consists of an IPv4 Address plus a 32-bit unsigned integer for the specific interface. For MPLS-TP, we have adopted a format consitent with the third format above. In MPLS-TP, each interface is assigned a 32-bit identifier which we call an LIH. The LIH MUST be unique within the context of the Node_ID. We map the Node_ID to the field the field which carries the IP address. That is, a Nework_IF_ID is a 64-bit identifier consisting of the Node_ID followed by the LIH. The LIH in turn is a 32-bit unsigned integer unique to the node. In situations where a Node_ID or an Network_IF_ID needs to be globally unique, this is accomplished by prefixing the identifier with the operator's Global_ID. The combination of Global_ID::Node_ID we call an Global Node ID or Global_Node_ID. Likewise, the combination of Global_ID::Node_ID::LIH we call an Global Interface ID or Global_IF_ID. 5. Path Identifiers Bocci & Swallow Expires January 14, 2010 [Page 6] Internet-Draft MPLS-TP Identifiers July 2009 5.1. MPLS-TP LSP Identifiers [Note: See proposed changes to in the issues section] GMPLS signalling [3] uses a 5-tuple to uniquely identify an LSP within a operator's network. This tuple is composed of a Tunnel Endpoint Address, Tunnel_ID, Extended Tunnel ID, and Tunnel Sender Address and LSP_ID. For MPLS-TP we have chosen a 4-tuple to uniquely identify a MPLS-TP LSP. This is composed of a Source Node_ID, Destination Node_ID, Tunnel_Nbr, and LSP_Nbr. The terms Source and Destination in this context are used relative to the direction of the signalling. Note that the Tunnel_ID MUST be unique within the context of the source. In situations where a mapping to the GMPLS 5-tuple is required, the following mapping is used. o Tunnel Endpoint Address = Destination Node_ID o Tunnel_ID = Tunnel_Nbr o Extended Tunnel_ID = Source Node_ID o Tunnel Sender Address = Source Node_ID o LSP_ID = LSP_Nbr A important construct within MPLS_TP is a connection which is provided across a working and a protect LSP. Note that RFC 4872 [7], "RSVP-TE Extensions for E2E GMPLS Recovery", requires that the working and protect LSP have the same identification except for the LSP_ID, which must be unique. Within this document we will use the term Tunnel for the connection provided by the working and protect LSPs. Thus, a Protected MPLS-TP LSP within a single operator is uniquely identified by the 3-tuple, Source Node_ID, Destination Node_ID and Tunnel_Nbr. Similarly, an MPLS-TP LSP is uniquely identified by the 4-tuple, Source Node_ID, Destination Node_ID, Tunnel_Nbr and LSP_Nbr. In situations where a tunnel or an LSP needs to be globally unique, this is accomplished by prefixing each of the source and destination Node_IDs with a operator's Global_ID. When an MPLS-TP LSP is configured, it MUST be assigned a unique Network_IF_ID at both the source and destination endpoints. Further when a MPLS-TP Tunnel is configured, it too must be assigned a unique Network_IF_ID. Thus a point-to-point tunnel with working and protect Bocci & Swallow Expires January 14, 2010 [Page 7] Internet-Draft MPLS-TP Identifiers July 2009 LSPs will have a total of three Network_IF_IDs assigned at each of the source and destination. 5.2. Pseudowire Identifiers Pseudowire signalling (RFC 4447 [1]) defines two FECs used to signal pseudowires. Of these, FEC Type 129 along with AII Type 2 as defined in RFC 5003 [6] fits the identification requirements of MPLS-TP. 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 AII Type 2. The AII 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 FEC 129, all that is required is a Attachment Group Identifier (AGI). That field is exactly as specified in RFC 4447. FEC 129 has a notion of Source AII (SAII) and Target AII (TAII). These terms are used relative to the direction of the signalling. In a purely configured environment when referring to the entire PW, this distinction is not critical. That is a FEC 129 of AGIa::AIIb::AIIc is equivalent to AGIa::AIIc::AIIb. We note that in a signalled environment, the required convention in RFC 4447 is that at a particular endpoint, the AII associated with that endpoint comes first. 6. Maintenance Identifiers In MPLS-TP a Maintenance Entity (ME) represents an Entity that requires management and defines a relationship between a set of maintenance points. A maintenance point is either Maintenance End- point (MEP) or a Maintenance Intermediate Point (MIP). This section defines a means of uniquely identifying Maintenance Entities and uniquely defining MEPs and MIPs within the context of a Maintenance Entity. 6.1. Maintenance Entity Identifiers Maintenance Entity Identifiers (ME-IDs) are required for MPLS-TP Paths and Pseudowires. Two classes of ME-IDs are defined, one that follows the IP compatible identifier defined above as well as the ICC-format. A Maintenance Entity and an MPLS-TP Path are closely related by separate concepts. A MPLS-TP Path is a transport entity. It exists with or without an associated maintenance entity, e.g. when the LSP Bocci & Swallow Expires January 14, 2010 [Page 8] Internet-Draft MPLS-TP Identifiers July 2009 is not monitored. 6.1.1. IP Compatible ME-IDs In order to automatically generate MEP_IDs for MPLS-TP LSPs and Pseudowires we simply use the corresponding Path identifier. However, when encoded in a protocol such as in a TLV, a different type needs to be defined as the two identifiers are semantically different. 6.1.2. ICC based ME-IDs ME ID for MPLS-TP LSPs and Pseudowires MAY use the globally unique ICC-based format. In this case, the ME ID is a string of up to thirteen characters, each character being either alphabetic (i.e. A-Z) or numeric (i.e. 0-9) characters. It consists of two subfields: the ICC (as defined in section 3) followed by a unique ME ID code (UMC). The UMC MUST be unique within the organization identified by the ICC. Note that when encoded in a protocol such as in a TLV, a different type needs to be defined for LSP and PWs as the OAM capabilities may be different. 6.2. Maintenance Points Maintenance points are uniquely associated with a maintenance entity. Within the context of a ME, MEPs and MIPs must be uniquely identified. This section describes how MIPs and MEPs are identified. Note that depending on the requirements of a particular OAM interaction, the MPLS-TP maintenance entity context may be provided either explicitly using the ME-IDs described above or implicitly by the label of the received OAM message. 6.3. MEP_IDs for MPLS-TP LSPs and Tunnels [Note: See proposed changes to in the issues section] In order to automatically generate MEP_IDs for MPLS-TP Tunnels and LSPs, we simply use the Network_IF_ID assigned when they are configured. This ensures that MEP_IDs are unique for all Tunnels and LSPs within a operator. When Tunnels or LSPs cross operator boundaries, these are made unique by pre-pending them with the operator's Global_ID. [Question: do we want two ACH TLV formats or do we just spend the extra 4 octets on all OAM] Bocci & Swallow Expires January 14, 2010 [Page 9] Internet-Draft MPLS-TP Identifiers July 2009 6.4. MEP_IDs for Pseudowires In order to automatically generate MEP_IDs for PWs, we simply use the AII associated with that end of the PW. 6.5. Maintenance Intermediate Point Identifiers At a cross connect point, in order to automatically generate MIP_IDs for MPLS-TP LSPs, we simply use the MEP_IDs of the two interfaces which are cross connected via the label bindings of the MPLS-TP LSP. Note that although by this mapping, the MEP and the MIP will syntactically identical, the semantics will be made clear by both the TLV encoding and the scoping of the identifier to its MPLS-TP Path. If only one MIP is configured, then the lower value MEP_ID is chosen. This ensures that MIP_IDs are unique within the scope of an ME-ID within a single operator. When Tunnels, LSPs or PWs cross operator boundaries, MIP_IDs are made unique by pre-pending them with the operator's Global_ID. [Question: do we want two formats or do we just spend the extra 4+ octets on all OAM]. [Note: Note - it has been proposed that when there is just one MIP to use the Node-ID only - need to discuss encoding for this] 7. Open issues 1. The lack of symmetry between the configuration of the "head" and "Tail" ends of an MPLS-TP LSP makes for difficulties in configuration and operational intuitiveness. Further it leads to interoperability issues with other possible implementations of protection. Finally there are issues with odd configurations with P2MP / MP2MP (2 endpoints on the same node) I've decided that the tunnel ID I previously proposed really should be changed. I propose to make it more like the PW-ID So instead of [Src-Global-ID]::Src-Node-ID::[Dst-Global-ID]:: Dst-Node- ID::Tunnel-nbr It would be [Src-Global-ID]::Src-Node-ID::Src-Tunnel-nbr:: [Dst-Global- ID]::Dst-Node-ID::Dst-Tunnel-nbr Likewise the Path-ID would go from Bocci & Swallow Expires January 14, 2010 [Page 10] Internet-Draft MPLS-TP Identifiers July 2009 [Src-Global-ID]::Src-Node-ID::[Dst-Global-ID]:: Dst-Node- ID::Tunnel-nbr::LSP-nbr to [Src-Global-ID]::Src-Node-ID::Src-Tunnel-nbr::Src-LSP-nbr:: [Dst-Global-ID]::Dst-Node-ID::Dst-Tunnel-nbr::Dst-LSP-nbr I would also change the IF-IDs and MEPs to Tunnel [Src-Global-ID]::Src-Node-ID::Src-Tunnel-nbr Path [Src-Global-ID]::Src-Node-ID::Src-Tunnel-nbr::Src-LSP-nbr 2. Can we do away with tunnel IDs all together and just use the IDs of the Working Path instead (irrespective of whether it is active or not) 3. We have two means of identifying operators. Should either be allowed in all cases or can we constain this. I.e. when there are both IP compatible and ITU compatible IDs for an Object can we constrain the operator ID to the corresponding format? Clearly when only one identifier is defined the both must be allowed. 4. Details on MEP and MIP identifiers need discussion. 5. Additional ICC identifiers for other entities may be required 6. Do we need IPv6 identifiers as well? 7. Identifiers for P2MP entities 8. Tandem connection Identification - the identification should be exactly the same as any other MPLS-TP LSP. However, in the ACH TLV draft we could have a different TLV with the same format as an MPLS-TP LSP, if there are places where the distinction becomes important. 9. Are there additional identifiers required for NMS functions? 8. References Bocci & Swallow Expires January 14, 2010 [Page 11] Internet-Draft MPLS-TP Identifiers July 2009 8.1. Normative References [1] 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. [2] Berger, L., "Generalized Multi-Protocol Label Switching (GMPLS) Signaling Functional Description", RFC 3471, January 2003. [3] Berger, L., "Generalized Multi-Protocol Label Switching (GMPLS) Signaling Resource ReserVation Protocol-Traffic Engineering (RSVP-TE) Extensions", RFC 3473, January 2003. [4] Bradner, S., "Key words for use in RFCs to Indicate Requirement Levels", BCP 14, RFC 2119, March 1997. [5] 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. [6] Metz, C., Martini, L., Balus, F., and J. Sugimoto, "Attachment Individual Identifier (AII) Types for Aggregation", RFC 5003, September 2007. [7] Lang, J., Rekhter, Y., and D. Papadimitriou, "RSVP-TE Extensions in Support of End-to-End Generalized Multi-Protocol Label Switching (GMPLS) Recovery", RFC 4872, May 2007. [8] Kompella, K., Rekhter, Y., and A. Kullberg, "Signalling Unnumbered Links in CR-LDP (Constraint-Routing Label Distribution Protocol)", RFC 3480, February 2003. [9] Kompella, K., Rekhter, Y., and L. Berger, "Link Bundling in MPLS Traffic Engineering (TE)", RFC 4201, October 2005. [10] Kompella, K. and G. Swallow, "Detecting Multi-Protocol Label Switched (MPLS) Data Plane Failures", RFC 4379, February 2006. [11] Aggarwal, R., Kompella, K., Nadeau, T., and G. Swallow, "BFD For MPLS LSPs", draft-ietf-bfd-mpls-07 (work in progress), June 2008. [12] Nadeau, T. and C. Pignataro, "Bidirectional Forwarding Detection (BFD) for the Pseudowire Virtual Circuit Connectivity Verification (VCCV)", draft-ietf-pwe3-vccv-bfd-06 (work in progress), July 2009. Bocci & Swallow Expires January 14, 2010 [Page 12] Internet-Draft MPLS-TP Identifiers July 2009 8.2. Informative References [13] Vigoureux, M., Ward, D., and M. Betts, "Requirements for OAM in MPLS Transport Networks", draft-ietf-mpls-tp-oam-requirements-02 (work in progress), June 2009. [14] Ohta, H., "Assignment of the 'OAM Alert Label' for Multiprotocol Label Switching Architecture (MPLS) Operation and Maintenance (OAM) Functions", RFC 3429, November 2002. [15] Niven-Jenkins, B., Brungard, D., Betts, M., Sprecher, N., and S. Ueno, "MPLS-TP Requirements", draft-ietf-mpls-tp-requirements-09 (work in progress), June 2009. [16] Bocci, M., Bryant, S., and L. Levrau, "A Framework for MPLS in Transport Networks", draft-ietf-mpls-tp-framework-02 (work in progress), July 2009. 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 Bocci & Swallow Expires January 14, 2010 [Page 13]