Network Working Group Tissa Senevirathne Internet Draft (Consultant) Document: draft-tsenevir-l2tp-vpls-00.txt Category: Informational Expires : March 2004 September 2004 L2TPv3 Extensions for VPLS signaling Status of this Memo This document is an Internet-Draft and is in full conformance with all provisions of Section 10 of RFC2026 [1]. 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 obsolete 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. For potential updates to the above required-text see: http://www.ietf.org/ietf/1id-guidelines.txt 1. Abstract L2TPv3 messaging and attribute extensions required for VPLS related signaling is presented in this document. VPLS is NSP layer application. Concepts presented in this document can be extended to other NSP layer applications that require similar operations. Senevirathne Informational 1 draft-tsenevir-l2tp-vpls-00.txt September 2003 Conventions used in this document 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 [2]. 2. Introduction PWE3 Architecture [3], present Native Service Processing (NSP) layer as the layer that specifies various applications such as VPLS and VPN. Signaling protocols such as L2TPV3 [4] present required signaling extensions to setup and maintain tunnels. Accompanying publications such as [5] present setting up tunnels to emulate various media types. This document present, required L2TPv3 signaling extensions for VPLS. In the proposed solution, a new L2TPv3 message type is defined to carry VPLS signaling. Set of attributes are defined within the VPLS message to define the semantics of signaling. Architecturally, content of VPLS message is transparent to the base L2TPv3. Hence, it is expected that VPLS signal processing to be independent from base L2TPv3. 3. Architecture We envision two basic requirements: 1. VPLS signaling extensions MUST be as transparent as possible to the base L2TP. 2. VPLS signaling extension MUST have capabilities to selectively request a response to a operation. In other words, VPLS signaling MUST have capabilities to selectively choose synchronus and asynchronus signaling. 3.1 VPLS message We propose to define a new message type called "VPLS-OP" (TBA-17) at the top level of L2TP. VPLS-OP message shall carry various attributes that define the semantics of VPLS signaling. These attributes and the applicable semantics are discussed below. 3.2 Request-Response Model We propose to implement a Request-Response model. VPLS Layer may need capabilities to implement some operations using uni- directional messaging and others operations using Request-Response model. In uni-directional messaging, VPLS layer send a single Senevirathne Informational 2 draft-tsenevir-l2tp-vpls-00.txt September 2003 message to the remote PE and does not expect an explicit response. In the Request-Response model, PE expect an explicit Response from the remote PE. We propose to define a new attribute that clearly differentiate between messages that need a response and messages that does not need a response. 3.3 Error Recovery VPLS application MUST have methods define to handle various error conditions associated with VPLS Layer signaling, such as time out of a Response. Exact implementation details of error recovery is application and configuration dependent, and out side the scope of this document. 4. VPLS attributes We propose to use existing L2TP attribute Application Code (AVP-TBA- 9) to indicate that the message is related to VPLS signaling. Following attributes are new definition and required for VPLS related signaling. VPLS-VPN-address (AVP-TBA-?) VPLS-Operation (AVP-TBA-?) VPLS-VLAN-Identifier (AVP-TBA-?) VPLS-Status (AVP-TBA-?) VPLS-Sequence (AVP-TBA-?) VPLS-Request-Response (AVP-TBA-?) 4.0.1 Application Code This attribute is defined in [4]. We propose to use value of (TBA-1) for VPLS and value of (TBA-2) for VPWS. Use of value in this attribute must be coordinated with the L2TPv3 WG and IANA. 4.0.2 VPLS-VPN-Address Description VPLS-VPN-address specifies the VPLS domain identifier for VPLS. Type 2 Length = 4 (TBD based on VPN address format) Value - VPN address Senevirathne Informational 3 draft-tsenevir-l2tp-vpls-00.txt September 2003 4.0.3 VPLS-VLAN-Identifier Description VPLS-VLAN-Identifier specifies the VLAN. Within a given VPLS domain there can be one or more VLAN. Call MUST be terminated if the value field contain reserved values. Type = 3 Length = 2 Value 0 - 4k All other values reserved. 4.0.4 VPLS-Operation Description VPLS-Operation specifies the required operation. Call MUST bee terminated if the value field contain reserved values. Type = 4 Length = 2 Value 0 - VPLS-ADD 1 - VPLS-WITHDRAW 2 - VLAN-ADD 3 - VLAN-WITHDRAW 4 - RESPONSE (see NOTE below) All other values reserved. All other values reserved. NOTE: If a RESPONSE was received for a message that did not request a response, the response message should be silently discarded. 4.0.5 VPLS-Status Description VPLS-Status indicates the status notified by the message. This attribute MUST be present only in NSP-ACK message Type = 4 Senevirathne Informational 4 draft-tsenevir-l2tp-vpls-00.txt September 2003 Length = 2 Value 0 - SUCCESS 1 - ERROR 2 - Unknown-attribute 3 - Unknown-attribute-value All other values reserved. All other values reserved. 4.0.6 VPLS-sequence Description VPLS-sequence attribute has 16 bit unsigned integer as the value. VPLS-sequence attribute SHOULD be used to identify applicable NSP- ACK messages, if asynchronous messaging is used between NSP layers. Type = 4 Length = 2 Value - Unsigned 16 bit integer. 4.0.7 VPLS-Request-Response Description VPLS-Request-Response attribute denotes whether an explicit response is required for the message. This attribute is optional. When the attribute is not used, remote device MUST consider it as a message that does not require an explicit Response. Type = 5 Length = 2 Value - 0 - No Response 1 - Req-Response all other values reserved. A response MUST be generated with error code of unknown attribute value, if the value field of this attribute contain reserved value. 5. Operation of VPLS signaling Senevirathne Informational 5 draft-tsenevir-l2tp-vpls-00.txt September 2003 In this section we present theory of operation of VPLS related signaling. Message Sequence VPLS Local PE Remote PE VPLS | | (1) Create -----> | ------> ICRQ | | | | ICRP <----- | | | | ------> ICCN | | | | | (2) VPLS-OP-(a)-> | ---(a)->VPLS-OP | ---(a)--> VPLS-OP | | (2.1)VPLS-OP<---- | VPLS-OP<----- | <------ VPLS-OP | | | | | | (3) VPLS-OP-(b)--> | ---(b)-->VPLS-OP | --(b)---> VPLS-OP | | (3.1)VPLS-OP <-----| VPLS-OP <---- | <------ VPLS-OP | | | | | | (4)Disconnect-----> | -----> CDN | ------> Disconnect (1) Create the session (2) Signal to create the VPLS (NSP) and (2.1) Bind VPLS instance to the session created at (1). (3) Signal to delete the VPLS (NSP), (3.1) Unbind the VPLS from session. (4) Delete the session (a) Message has VPLS-Operation attribute set to ADD. Hence effectively translating the semantics of the message to VPLS-ADD (b) Message has VPLS-Operation attribute set to DELETE. Hence effectively translating the semantics of the message to VPLS-DELETE Following AVP MUST be present in a VPLS Message that generate a Request Message Type (VPLS-OP) Local Session ID Remote Session ID Senevirathne Informational 6 draft-tsenevir-l2tp-vpls-00.txt September 2003 VPLS-VPN-address Application Code VPLS-Operation VPLS-Sequence Following attribute MAY be present in a message that generate a Request VPLS-VLAN-Identifier VPLS-Request-Response Following AVP MUST be present in the NSP message that is generated as a response to a request message. Message Type (VPLS-OP) Local Session ID Remote Session ID VPLS-VPN-address Application Code VPLS-Status VPLS-Sequence VPLS-Operation (set to RESPONSE) 5.1.1 Adding a PE to the VPLS domain Send standard ICRQ message to create the session NOTE: ICRQ message MUST contain additional attributes required by the [4], explanation of ICRQ message is outside the scope of this document and readers are referred to [4]. Send VPLS-OP message. In this message, VPLS-VPN-address and VPLS- Operation and VPLS-sequence attributes MUST be present. VPLS- Request-Response attribute SHOULD be present. VPLS-Request-Response attribute MAY be set to Req-Response (1). Additionally VPLS-VLAN-Identifier attribute MAY be present for each VLAN of the VPLS domain that the PE is member of. 5.1.2 Removing a PE from VPLS domain. Send VPLS-OP message. In this message, VPLS-VPN-address and VPLS- Operation and VPLS-Sequence attributes MUST be present. VPLS- Request-Response attribute SHOULD be present. VPLS-Request-Response attribute MAY be set to Req-Response (1). Additionally VPLS-VLAN-Identifier attribute MAY be present for each VLAN of the VPLS domain that the PE is member of and now wish to remove. Send standard CDN message to remove the session. NOTE: CDN message MUST contain attributes required by the [4]. Senevirathne Informational 7 draft-tsenevir-l2tp-vpls-00.txt September 2003 5.1.3 Adding a VLAN to the VPLS domain PE send VPLS-OP message. VPLS-OP message MUST contain, VPLS-VLAN- Identifier (one or more), VPLS-Operation and VPLS-Sequence and VPLS- VPN-address attributes. VPLS-Request-Response attribute SHOULD be present. VPLS-Request-Response attribute MAY be set to Req-Response. 5.1.4 Removing a VLAN from the VPLS domain PE send VPLS-OP message. VPLS-OP message MUST contain, VPLS-VLAN- Identifier, VPLS-Operation and VPLS-Sequence and VPLS-VPN-address attributes. VPLS-Request-Response attribute SHOULD be present. VPLS- Request-Response attribute MAY be set to Req-Response. 6. Security Considerations L2TPv3 related security issues are presented in [4]. Extensions presented in this document does not introduce addtionla security risk to L2TPv3 signaling layer. [6] present security analysis of VPLS. 7. Reference 1 Bradner, S., "The Internet Standards Process -- Revision 3", BCP 9, RFC 2026, October 1996. 2 Bradner, S., "Key words for use in RFCs to Indicate Requirement Levels", BCP 14, RFC 2119, March 1997 3 Bryant, Stewart et.al, PWE3 Architecture, Work In Progress, August 2003. 4 Lau, J, et.al, Layer Two Tunneling Prrotocol (version 3), Work In Progress, July 2003 5 Agrawal, R. et.al, Transport of Ethernet Frames over L2TPv3, Work In Progress, 6 Augustyn, W and et.al, Service Requirements for Virtual Private LAN services (VPLS), Work In Progress, March 2003. 8. Acknowledgments Mark Townsley provided valuable comments and suggestions. 11. Author's Addresses Tissa Senevirathne Senevirathne Informational 8 draft-tsenevir-l2tp-vpls-00.txt September 2003 1567 Belleville way, Sunnyvale, CA 94087 Phone: 408-245-5897 Email: tsenevir@hotmail.com Senevirathne Informational 9 draft-tsenevir-l2tp-vpls-00.txt September 2003 Full Copyright Statement "Copyright (C) The Internet Society (2003). All Rights Reserved. This document and translations of it may be copied and furnished to others, and derivative works that comment on or otherwise explain it or assist in its implementation may be prepared, copied, published and distributed, in whole or in part, without restriction of any kind, provided that the above copyright notice and this paragraph are included on all such copies and derivative works. However, this document itself may not be modified in any way, such as by removing the copyright notice or references to the Internet Society or other Internet organizations, except as needed for the purpose of developing Internet standards in which case the procedures for copyrights defined in the Internet Standards process must be followed, or as required to translate it into Senevirathne Informational 10