Internet Draft Debanjan Saha Expiration Date: Sept., 1, 2000 Bala Rajagopalan Bo Tang Tellium Inc. RSVP Extensions for Signaling Optical Paths draft-saha-rsvp-optical-signaling-00.txt 1. Status of this Memo This document is an Internet-Draft and is in full conformance with all provisions of Section 10 of RFC2026. 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. 2. Abstact This document has two objectives. First, we identify signaling requirements for setting up and maintaining Optical Switched Paths (OSPs) in mesh-connected optical networks. We then propose extensions to RSVP to satisfy some of these requirements within the context of MPLS-based traffic engineering framework. 3. Introduction The IETF is currently in the process of defining and standardizing a control architecture for creating and managing switched OSPs. A number of contributions [2,3,5] submitted to IETF, and other standards bodies have already addressed some of the important aspects of this architecture. In this document we have identified several key requirements for signaling OSPs within the framework proposed in [2,3,5] that take into account some of the intricacies of an optical network. In light of these observations, we have proposed extensions to RSVP-TE to satisfy the signaling requirements of OSPs. Internet Draft draft-saha-rsvp-optical-signaling-00.txt 4. Optical Network Architecture The optical network model considered in this draft consists of multiple Optical Cross-Connects (OXCs) interconnected by optical links in a general topology referred to as an "optical mesh network". In general, it can be expected that topologically adjacent OXCs in an optical mesh network will be connected via multiple, parallel bi-directional links. Each link can carry one or more optical channels or wavelengths. Each wavelength can be further demultiplexed into multiple Sub-channels. We also assume that one or more control channels exist between neighboring OXCs for signaling purposes. Each OXC is assumed to be capable of switching a wavelength from a given input port to a given output port. This switching function is controlled by appropriately configuring a cross-connect table. In the most general case, the cross-connect table consists of entries of the form , indicating that the Sub-channel k, in wavelength j entering input port i will be switched to Sub-channel p in output wavelength n at output port j. An "optical path" from an ingress port in an OXC to an egress port in a remote OXC is established by setting up suitable cross-connects in the ingress, the egress and a set of intermediate OXCs such that a continuous physical path exists from the ingress to the egress port. Automated establishment of optical paths involves setting up the cross-connect table entries in the appropriate OXCs in a coordinated manner such that the desired physical path is realized. The request to establish an optical path may arise from either a router (or some other device) connected to the OXCs or from a management system. Such a request must identify the ingress and the egress OXC as endpoints of the optical path. In addition, it may also optionally specify the input and output ports, wavelengths, and Sub-channels. The request may also include bandwidth parameters and channel type (e.g., OC-48/OC-192, 10 GE/N), reliability parameters, restoration options, setup and holding priorities for the path etc. On receipt of the request, the ingress OXC computes a suitable route for the requested path, following applicable policies and constraints. Once the route has been computed, the ingress invokes RSVP to set up the path. The purpose of this draft is to identify special requirements for signaling OSPs and propose extensions to RSVP protocol to satisfy those requirements. 5. Signaling Requirements 5.1 Support for Bi-directional OSPs A OSP can be either unidirectional or bi-directional. However, bi- directional OSPs are far more typical than unidirectional OSPs. Although a bi-directional OSP can be modeled as a pair of unidirectional OSPs that can be setup independently, there are many limitations to this approach. Most importantly, two separately signaled unidirectional OSPs may follow two different paths Internet Draft draft-saha-rsvp-optical-signaling-00.txt altogether. Even if they follow the same path, it is quite likely that they will use two different ports/wavelengths/Sub-channels (on the same OXC) for the forward and the backward directions. Either scenario makes it difficult for the network management system to manage and maintain the OSPs, especially in the event of failures that trigger automatic fault isolation and restoration events such as SONET APS (Automatic Protection Switching). The ability to setup bi-directional OSPs also reduces the signaling complexity and setup time. Since RSVP is designed to setup unidirectional paths, extensions are required for signaling bi-directional paths. The tricky part here is the handling of the potential race condition. Since different nodes may autonomously initiate the signaling for optical paths, it is possible that two path set-up attempts are in progress at the same time. Specifically, while setting up an optical path, an OXC A may select output port i, which is connected to input port j of the "next" OXC B. Concurrently, OXC B may select output port j for setting up a different optical path, where the next downstream OXC is A. If they also happen to choose the same wavelength and Sub- channel (when applicable) this results in a "collision". There are two ways to deal with such collisions. First, collisions may be detected and the involved paths may be torn down and re-established. Or, collisions may be avoided altogether. The latter solution is preferred, if the complexity involved is acceptable. In Section 5 we propose extensions to RSVP-tunnel to handle this race condition which avoids collision. 5.2 Support for Protection Paths Another important requirement for lighpaths is protection. We consider two primary protection modes: 1. Span protection: In this mode the optical channel between every two adjacent OXCs along the primary path is protected individually. There are different modes of span protection, such as 1+1, M:N etc. 2. Path protection: In this mode end-to-end backup paths are provisioned for the primary paths. In path protection backup paths are typically link or link and node disjoint from the primary paths. There could be various levels of sharing among backup paths, such as completely dedicated backup paths (1+1 style), backup paths that are shared by multiple primary paths (M:N style), and backup paths that share resources (wavelengths) among themselves. In the first two cases the backup paths span between the same source and the destination pair and can be pre-setup. The backup paths that share resources among themselves can be pre-provisioned but can not be pre-setup. In this scenario the backup paths can span between different source and destination pairs. RSVP-TE has limited support for setting up protection paths. In section 7 we introduce new C-types to signal protection requirements for both span and path protection. We also introduce a new shared reservation style to enable sharing of resources among backup paths. Internet Draft draft-saha-rsvp-optical-signaling-00.txt 5.3 Support for Permanent OSPs RSVP relies on soft-state mechanisms to maintain OSPs. If the Path and Resv states corresponding to a OSPs are not refreshed within the configured timeout value, they are timed out and the OSP is deleted. The requirements for OSPs are quite different. Most OSPs are long- lived and should not be torn down unless explicitly requested. Also, the impact of transient partial failures must be minimized in an optical network. Specifically, optical paths that are not directly affected by a failure must not be torn down due to the failure. For example, the control processor in an OXC may fail, affecting signaling and other internodal control communication. Similarly, the control channel between OXCs may be affected temporarily by a failure. These failures may not affect already established OSPs passing through the OXC fabric. These requirements can be summarized as follows: 1. During setup OSPs can be configured as permanent OSPs. Permanent OSPs should not be torn down unless explicitly requested. 2. The Path and Resv states for permanent OSPs need not be refreshed and should not be timed out. 3. We need explicit mechanisms for tearing down permanent OSPs. This requires enhancements to PathTear and ResvTear messages since these messages are not refreshed and are not transported reliably. 6. Extensions for Bi-directional OSPs To avoid the potential race condition and collision in label assignment we propose a solution where the OXC with the higher node ID (IP address) is always the owner of the label space between two adjacent OXCs. For the purpose of this discussion we assume that a label consists of three components: (1) the port ID, (2) the wavelength ID, and (3) the sub-channel ID. We also assume that if port i on OXC1 is connected to port j on OXC2, both OXCs have that information available to them via link layer discovery protocol. The wavelength ID and the sub-channel ID are assumed to be the same on both OXCs. We define a new C_type for the label request object defined in [2] as follows: Label Request with OSP Class = 19, C_type = 10 (OSP_Tunnel) 0 1 2 3 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | Reserved | Flags | L3PID | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | Port ID | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | Wavelength ID | Sub-channel ID | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ Internet Draft draft-saha-rsvp-optical-signaling-00.txt Reserved: This field is reserved. It MUST be set to zero on transmission and MUST be ignored on receipt. Flags (8 bits): xxxxxxx0 û If the upstream OXC is the slave and no label has been picked. xxxxxxx1 û If the upstream OXC is the master has chosen the label for the OSP. L3PID (16 bits): An identifier of the layer 3 protocol using this path. Standard Ethertype values are used. Port ID (32 bits): Valid only when the LSB of the Flags is set. It is the Port ID of the downstream OXC. Wavelength ID (16 bits): Valid only when the LSB of the Flags is set. It is the wavelength ID within the port ID. Sub-channel ID (16 bits): Valid only when the LSB of the Flags is set. It is the sub-channel ID within the wavelength ID. The basic scheme is as follows. The upstream OXC sends the Label_Request object with of C_type 4 to the downstream OXC. If the upstream OXC is the master (has higher node ID) it picks the label and sets the LSB of Flags to 1. If the upstream OXC is the slave, it sets the LSB of the Flags to 0 and the label is picked by the downstream OXC. Since the master irrespective of the direction of the message flow always picks the label, no collision occurs. We also add a new C_Type (10: OSP_Tunnel) to the Label object. The LABEL object has the following format: LABEL class = 16, C_Type = 10 0 1 2 3 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | | // (Object contents) // | | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | Port ID | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | Wavelength ID | Sub-channel ID | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ The contents of a LABEL object are a stack of labels, where each label is encoded in 8 octets as shown above. The top of the stack is in the right 8 octets of the object contents. A LABEL object that contains no labels is illegal. Internet Draft draft-saha-rsvp-optical-signaling-00.txt 7. Extensions for Protection Paths To handle this issue we propose a new C_type for the SESSION_ATTRIBUTE object. 0 1 2 3 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | OSP type | Local Prot. | Local Prot. Extension | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | Setup Prio | Holding Prio | Reserved | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | | // Optional Subobjects // | | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ Class-Num: The Class-Num indicates that the object is 207. (TBD) C-Type: The C-Type OSP_Tunnel (10). (TBD) OSP Type (8 bits): 01 Permanent Uni-directional Primary Path 02 Primary Bi-directional Primary Path 03 Permanent Uni-directional Backup Path 04 Permanent Bi-directional Backup Path 05 Permanent Uni-directional Shared Backup Path 06 Permanent Bi-directional Shared Backup Path 07 Soft-state Uni-directional Primary Path 08 Soft-state Bi-directional Primary Path 09 Soft-state Uni-directional Backup Path 10 Soft-state Bi-directional Backup Path Local Protection (8 bits): 01 1+1 02 1:N Local Protection Extension (16 bits): Protection scheme specific information. Setup Priority: The priority of the session with respect to taking resources, in the range of 0 to 7. The value 0 is the highest priority. The Setup Priority is used in deciding whether this session can preempt another session. Holding Priority: The priority of the session with respect to holding resources, in the range of 0 to 7. The value 0 is the highest priority. Holding Priority is used in deciding whether this session can be preempted by another session. Besides the mandatory fields described above, the session attribute object may contain one or more optional subobjects. The subobjects are formatted as TLVs and are defined below. Internet Draft draft-saha-rsvp-optical-signaling-00.txt 0 1 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-------------//----------------+ | Type | Length | (Subobject contents) | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-------------//----------------+ Type: The Type indicates the type of contents of the subobject. Currently defined values are: 0 Reserved 1 PRIMARY_OSP subobject 2 SHARING_POLICY subobject The PRIMARY_OSP subobject may be included in the SESSION_ATTRIBUTE object while setting up a backup path. This subobject includes information about the primary OSP and may be used for functions such as local admission control, sharing of backup etc. The format and content of this subobject is TBD. SHARING_POLICY subobject may be included in the SESSION_ATTRIBUTE object while signaling to setup shared backup paths. This information can be used to facilitate local sharing decision. The format and content of this subobject is TBD. Note that for the shared backup paths the cross-connects can not be setup during the signaling for the backup path since multiple backup paths may share the same resource and can over-subscribe it. The idea behind shared backups is to make soft reservations and to claim the resource only when it is required. A shared backup path can be converted to a primary path by sending Path refresh messages with OSP Type set to 01 or 02 depending on the type of the backup path. 8. Extensions for Permanent OSPs In order to satisfy the requirements for a permanent OSP we need to the followings: 1. Add a new session attribute that identifies a OSP as a permanent OSP. If this new attribute is not present, by default an OSP is considered a ôsoft-stateö OSP. For permanent OSPs, the Path State Block (PSB) and the Resv State Block (RSB) are never timed out. The only way to delete a permanent OSP is through explicit signaling, that is via a PathTear or a ResvTear message. 2. Since the permanent OSPs are never timed out and the PathTear and ResvTear messages are not refreshed, we need additional mechanisms that can be used to tear down the permanent OSPs in a reliable way. One way to achieve this is to add reliability to PathTear and ResvTear messages as suggested in [4]. The other option is to change the OSP_TYPE of a permanent OSP to a soft-state OSP and then rely on RSVP soft-state mechanisms along with PathTear to tear down the OSP. Internet Draft draft-saha-rsvp-optical-signaling-00.txt 9. Summary This draft described some issues that arise in developing signaling procedures for path provisioning and restoration in optical networks. The following signaling requirements were identified: support for support for bi-directional optical path set-up with collision avoidance features, support for protected paths, and support for permanent OSPs. Other requirements may arise as work proceeds in this area. In light of these observations, we propose extensions to RSVP-TE to satisfy these requirements. 10. References 1. Awduche, D., Rekhter, Y., Drake, J., Coltun, R., "Multi-Protocol Lambda Switching: Combining MPLS Traffic Engineering Control With Optical Crossconnects", draft-awduche-mpls-te-optical-01.txt. 2. Awduche, et al, "Extensions to RSVP for LSR Tunnels," draft-ietf- mpls-rsvp-lsp-tunnel-04.txt, Work in progress, September 1999 3. Basak, D., Awduche, D., Drake, J., Rekhter, Y., "Multi-protocol Lambda Switching: Issues in Combining MPLS Traffic Engineering Control With Optical Crossconnects", draft-basak-mpls-oxc-issues- 00.txt 4. Berger L., Gan D., Swallow G., Pan P., Tommasi F., Molendini S., ôRSVP Refresh Overhead Reduction Extensionsö, draft-ietf-rsvp- refresh-reduct-02.txt. 5. Rajagopalan B., Saha D., Tang B., Krishna B., ôSignaling Framework for Automated Establishment and Restoration of Paths in Optical Mesh Networksö, dratf-rstb-optical-signaling-framework-00.txt, March 2000. 11. Author Information Debanjan Saha, Bala Rajagopalan, Bo Tang Tellium Inc. 2 Crescent Place P.O Box 901 Ocean Port, NJ 07757 Email: {dsaha, braja, btang}@tellium.com ********** This draft expires on Sept. 1, 2000 ***********