Internet Draft Hang Liu draft-liu-gmpls-ospf-restoration-00.txt Dimitrios Pendarakis Expires: April 2003 Bala Rajagopalan Nooshin Komaee Tellium, Inc. October 2002 OSPF-TE Extensions in Support of Shared Mesh Restoration 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. Abstract This document describes extensions to the OSPF-TE routing protocol in support of path computation for shared mesh restoration. New optional sub-TLVs are added to the link TLV of the Traffic Engineering (TE) LSA so that the sharing information of the restoration resource on the TE link reserved for shared mesh restoration is disseminated. The extensions supports both SRLG-disjoint and node-disjoint paths. Liu, et. al. Expires - April 2003 [Page 1] draft-liu-gmpls-ospf-restoration-00.txt October 2002 1. Introduction In shared mesh restoration [1,2,3,4], the restoration LSP is pre-computed and its resource is reserved along the path through signaling protocols [5, 6, 7]. However no cross- connections are performed along the restoration path. The complete establishment of the restoration LSP occurs only after the working LSP fails, and requires some additional signaling. The common restoration resource reserved at a node or on a TE link may be shared by multiple restoration LSPs to restore multiple working LSPs. In order to avoid contention for the reserved restoration resource (bandwidth or channel) during a single SRLG/node failure, two restoration LSPs may share the common reserved restoration resource only if their respective working LSPs are mutually SRLG/node disjoint. One failure then does not disrupt both working LSPs simultaneously. Shared mesh restoration achieves efficient utilization of network resources by sharing the restoration resource. It can achieve reasonably fast switching time and guarantees successful recovery from a single SRLG/node failure. The resource reserved for restoration can even be used by the other path to carry the extra traffic during normal operation mode (i.e. while there are no failure on the working LSPs). Of course, the restoration path needs to be activated when the working path fails. It may result in a switching time longer than the dedicated 1+1 protection. Furthermore, since multiple restoration LSPs may share the common reserved restoration resource. The contention may occur on the reserved restoration resource when more than one of the working paths fails simultaneously due to multiple failures. This document specifies extensions to OSPF [8] in support of carrying link state information for the path computation for shared mesh restoration. It is based on the existing OSPF routing extensions required to support Traffic Engineering and GMPLS [9, 10, and 11]. Similar extensions described here can also be made to IS-IS. These extensions are initially focused on transport networks; however they are not meant to be exclusively for the transport networks. Liu, et. al. Expires - April 2003 [Page 2] draft-liu-gmpls-ospf-restoration-00.txt October 2002 2. Required Information In shared mesh restoration, multiple restoration LSPs can share the same reserved restoration resource on their common TE links only if the sets of SRLGs and/or nodes traversed by their respective working LSPs are disjoint in order to guarantee recovery from a single SRLG failure or a single node failure. This imposes additional constraints on the path computation. To compute the restoration LSP for the shared mesh restoration, the path computation module needs to have the restoration resource sharing information on the links in the network. In general, the more detail information is available, the better results the path computation algorithms can achieve. On the other hand, in order to reduce the amount of information handled by OSPF and improve the routing scalability, it may be desirable to aggregate the information on a TE link (bundle) [12]. To support path computation for shared mesh restoration, all or some information below can be disseminated by routing protocol. (1) Summarized information about the restoration resource sharing on a TE link for shared mesh restoration, such as the total number of restoration LSPs sharing the restoration resource reserved on the TE link for shared mesh restoration, the total number of SRLGs recovered by the reserved restoration resource on the TE link, the total number of nodes recovered by the reserved restoration resource on the TE link, the total sharable restoration bandwidth at each priority level. (2) The list of SRLGs recovered by the reserved restoration resource on the TE link and their respective sharable restoration bandwidth if the SRLG-disjointness is required to guarantee recovery in the event of a single SRLG failure. (3) The list of nodes recovered by the reserved restoration resource on the TE link and their respective sharable restoration bandwidth if the node-disjointness is also required to guarantee recovery in the event of a single node failure. By distinguishing node failure restoration from SRLG failure restoration, it provides the network operator with options to offer different levels of services and uses the Liu, et. al. Expires - April 2003 [Page 3] draft-liu-gmpls-ospf-restoration-00.txt October 2002 network resource more efficiently as explained later in this section. The list of SRLGs/nodes recovered by the TE link is defined as the union of SRLGs/nodes traversed by all the working LSPs whose respective restoration LSPs share the reserved restoration resource on this TE link. The common reserved restoration resource (e.g. an OC-48 channel) can be reused by a restoration LSP to recover a working LSP if no SRLG/node passed over by its working LSP appears in the list of SRLGs/nodes already recovered by the restoration resource. The sharable restoration bandwidth for a SRLG and/or node indicates the available restoration bandwidth on the TE link that can be reserved for recovering this SRLG/node failure. If a working LSP only traverses one SRLG, the available restoration bandwidth that its restoration LSP can share on this TE link is the sharable restoration bandwidth for this SRLG. When a working LSP traverses multiple SRLGs, the sharable restoration bandwidth available for its restoration LSP may become smaller on this TE link. It is the same case for a given node when the node-disjointness is required. The total sharable restoration bandwidth is the bandwidth reserved on the TE link for restoration, which is the union of the sharable restoration bandwidth for all SRLGs and nodes. A lot of equipment has its own recovery and high availability requirements. The operator may choose to guarantee recovery only from a single SRLG failure or from a SRLG/node failure based on the requirements of the end user applications. For example, an application requires 99.999% availability. The node can meet this requirement because it has its own equipment recovery mechanism. However the fiber links cannot meet this requirement. In order to meet the application availability requirements, the shared mesh restored LSP carrying this application traffic must guarantee recovery from a single SRLG failure, but it does not have to guarantee recovery from a single node failure. Then the common restoration resource can be reserved to restore two working LSPs that traverse a common node (no node-disjoint constraint); i.e. less constraints are required to compute the restoration path.By distinguishing node failure recovery guarantee and SRLG failure recovery guarantee, the operators can offer different Liu, et. al. Expires - April 2003 [Page 4] draft-liu-gmpls-ospf-restoration-00.txt October 2002 levels of services based on performance requirements of the end user applications and utilize the network resource more efficiently. 3. OSPF Extensions to Support Path Computation for Shared Mesh Restoration It is desirable to carry the sharing information of the restoration resource on a TE link with the OSPF so that the information may be used by the path computation algorithm to compute the restoration path for shared mesh restoration. This section specifies the extensions to OSPF-TE in support of shared mesh restoration. OSPF traffic engineering extensions [9] and GMPLS extensions [10,11] make use of the Opaque LSA [13]. An Opaque LSA, called Traffic Engineering LSA is defined to carry the additional attributes related to traffic engineering and GMPLS links. The information in the TE LSAs can be used to build an extended TE link state database just as router LSAs are used to build a regular link state database. The extensions here are based upon the OSPF-TE and GMPLS extensions, specifically, we add the following sub-TLVs to the link TLV of the TE LSA. 3.1 Restoration Information Summary Restoration Information Summary sub-TLV specifies the sharing information of the restoration resource reserved for shared mesh restoration on the TE link. The format of the Restoration Information Summary sub-TLV is as follows Liu, et. al. Expires - April 2003 [Page 5] draft-liu-gmpls-ospf-restoration-00.txt October 2002 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 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | Type(TBA) | Length | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | #Shared Restoration LSPs | #SRLGs recovered | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | #Nodes recovered | Reserved | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | Total Sharable Restoration Bandwidth at priority 0 | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | Total Sharable Restoration Bandwidth at priority 1 | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | Total Sharable Restoration Bandwidth at priority 2 | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | Total Sharable Restoration Bandwidth at priority 3 | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | Total Sharable Restoration Bandwidth at priority 4 | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | Total Sharable Restoration Bandwidth at priority 5 | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | Total Sharable Restoration Bandwidth at priority 6 | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | Total Sharable Restoration Bandwidth at priority 7 | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ Type: 16 bits The type of this sub-TLV is TBA. Length: 16 bits The length of this sub-TLV is 40 octets. #Shared Restoration LSPs: 16 bits This field indicates the number of restoration LSPs sharing the bandwidth reserved for the mesh restoration on this TE link. #SRLGs recovered: 16 bits Liu, et. al. Expires - April 2003 [Page 6] draft-liu-gmpls-ospf-restoration-00.txt October 2002 This field indicates the number of SRLGs recovered by the TE link. The SRLGs here includes all distinct SRLGs traversed by all the working LSPs whose respective restoration LSPs shares the reserved restoration bandwidth on this TE link. Zero means that this information is not available. #Nodes recovered: 16 bits This field indicates the number of nodes recovered by the TE link. The nodes here include all distinct nodes traversed by all the working LSPs whose respective restoration LSPs shares the reserved restoration bandwidth on this TE link. Zero means that this information is not available. Total Sharable Restoration Bandwidth at priority 0-7: 32 bits Total Sharable Restoration Bandwidth specifies the bandwidth that has been allocated for shared mesh restoration at each of the eight priority levels. The bandwidth might have been reserved by one or more shared restoration LSP. It is encoded in the IEEE floating point format, with 4 octets per priority. The Restoration Information Summary sub-TLV is optional and if a LSA doesnĘt carry the Restoration Information Summary sub- TLV, then it means that the information is unknown. 3.2 SRLG Sharable Restoration Bandwidth SRLG Sharable Restoration Bandwidth sub-TLV identifies the sharable restoration bandwidth range for a SRLG on this TE link. By allowing to specify a range instead of a fixed value, it may reduce the amount of information handled by the routing protocol. If the lower bound is equal to the upper bound of the range, it indicates a fixed value of the sharable restoration bandwidth. Its format is as follows Liu, et. al. Expires - April 2003 [Page 7] draft-liu-gmpls-ospf-restoration-00.txt October 2002 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 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | Type(TBA) | Length | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | Priority | Reserved | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | Sharable Restoration Bandwidth Lower Bound | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | Sharable Restoration Bandwidth Upper Bound | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | SRLG 1 | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | ... ... | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | SRLG N | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ Type: 16 bits The type of this sub-TLV is TBA. Length: 16 bits The length of this sub-TLV is the length of value field in octets. Priority: 8 bits This field indicates the priority of sharable restoration bandwidth. The SRLG sharable restoration bandwidth can be encoded per priority. If the SRLG sharable restoration bandwidth is not encoded per priority, the value of the priority field is set to 0xFF, which means the sharable restoration bandwidth is the same for all priorities. Sharable Restoration Bandwidth Lower Bound and Upper Bound: 32 bits Liu, et. al. Expires - April 2003 [Page 8] draft-liu-gmpls-ospf-restoration-00.txt October 2002 The Sharable Restoration Bandwidth Lower Bound and Sharable Restoration Bandwidth Upper Bound specify a range for sharable restoration bandwidth. The sharable restoration bandwidth for each of SRLG in the following list falls into this range, i.e. Sharable Restoration Bandwidth Lower Bound <= sharable restoration bandwidth for SRLG N < Sharable Restoration Bandwidth Upper Bound. If the lower bound is equal to the upper bound, a fixed value of sharable restoration bandwidth is specified and the sharable restoration bandwidth for each of SRLGs in the following list is equal to this value. SRLG: 32 bits The value is a list of 32-bit numbers, each of number identifies a SRLG. The SRLG Sharable Restoration Bandwidth sub-TLV is optional and if a LSA doesnĘt carry any SRLG Sharable Restoration Bandwidth sub-TLV, then it is assumed that the information is unknown. There may be more than one SRLG Sharable Restoration Bandwidth sub-TLVs in the LSA. However if there are one or more SRLG Sharable Restoration Bandwidth sub-TLVs in the LSAs, the sharable restoration bandwidth for the SRLGs not listed in these SRLG sharable restoration bandwidth sub-TLVs is assumed to be equal to the total sharable restoration bandwidth at that priority on this TE link. 3.3 Node Sharable Restoration Bandwidth Node Sharable Restoration Bandwidth sub-TLV identifies the sharable restoration bandwidth range that is reserved on this TE link for sharing by restoration LSPs to recover a node failure on their working path. It can be used by the path computation algorithms to compute the restoration LSP when it is required that multiple restoration LSP can share the common restoration resource on their common TE links only if their respective working LSPs are node disjoint. Its format is as follows Liu, et. al. Expires - April 2003 [Page 9] draft-liu-gmpls-ospf-restoration-00.txt October 2002 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 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | Type(TBA) | Length | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | Priority | Reserved | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | Sharable Restoration Bandwidth Lower Bound | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | Sharable Restoration Bandwidth Upper Bound | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | Node1 ID | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | ... ... | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | NodeN ID | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ Type: 16 bits The type of this sub-TLV is TBA. Length: 16 bits The length of this sub-TLV is the length of value field in octets. Priority: 8 bits This field indicates the priority of sharable restoration bandwidth. The node sharable restoration bandwidth can be encoded per priority. If the node sharable restoration bandwidth is not encoded per priority, the value of the priority field is set to 0xFF, which means the sharable restoration bandwidth is the same for all priorities. Sharable Restoration Bandwidth Lower Bound and Upper Bound: 32 bits Liu, et. al. Expires - April 2003 [Page 10] draft-liu-gmpls-ospf-restoration-00.txt October 2002 The Sharable Restoration Bandwidth Lower Bound and Sharable Restoration Bandwidth Upper Bound specify a range for sharable restoration bandwidth reserved on a TE link. The sharable restoration bandwidth for each of node in the following list falls into this range, i.e. Sharable Restoration Bandwidth Lower Bound <= sharable restoration bandwidth for Node N < Sharable Restoration Bandwidth Upper Bound. If the lower bound is equal to the upper bound, a fixed value of sharable restoration bandwidth is specified and the sharable restoration bandwidth for each of nodes in the following list is equal to this value. Node ID: 32 bits The value is a list of 32-bit numbers, each of number identifies a node. The Node Sharable Restoration Bandwidth sub-TLV is optional and if a LSA doesnĘt carry any Node Sharable Restoration Bandwidth sub-TLV, then it is assumed that the information is unknown. There may be more than one Node Sharable Restoration Bandwidth sub-TLVs in the LSA. However if there are one or more Node Sharable Restoration Bandwidth sub-TLVs in the LSAs, the sharable restoration bandwidth for the nodes not listed in these Node sharable restoration bandwidth sub-TLVs is assumed to be equal to the total sharable restoration bandwidth at that priority on this TE link. 4. Acknowledgments The authors would like to thank Ramu Ramamurthy, Eric Bouillet, Ahmet Akyamac, Jean-Francois Labourdette, and Sid Chaudhuri for extremely valuable discussions on path computation algorithms and useful input that they have provided in this work. Liu, et. al. Expires - April 2003 [Page 11] draft-liu-gmpls-ospf-restoration-00.txt October 2002 5. References 1. D. Papadimitriou, et al., "Analysis Grid for GMPLS-based Recovery Mechanisms," Internet Draft, work in progress, draft-papadimitriou-ccamp-gmpls-recovery-analysis-00.txt, April 2002. 2. E. Mannie, et al., "Recovery (Protection and Restoration) Terminology for GMPLS," Internet Draft, work in progress, draft-mannie-gmpls-recovery-terminology-00.txt, February 2002. 3. J. P. Lang, B. Rajagopalan, et al., "Generalized MPLS Recovery Functional Specification," Internet Draft, work in progress, draft-bala-gmpls-recovery-functional-00.txt, August, 2002. 4. G. Li, et al., "RSVP-TE Extensions for Shared-Mesh Restoration in Transport Networks," Internet Draft, work in progress, draft-li-shared-mesh-restoration-01.txt, November 2001. 5. P. Ashwood-Smith, et al, "Generalized MPLS - Signaling Functional Description," Internet Draft, work in progress, draft-ietf-mpls-generalized-signaling-08.txt, April 2002. 6. P. Ashwood-Smith, et al., "Generalized MPLS ū RSVP-TE Extensions," Internet Draft, work in progress, draft-ietf- mpls-generalized-rsvp-te-07.txt, April 2002. 7. P. Ashwood-Smith, et al., "Generalized MPLS Signaling - CR- LDP Extensions," Internet Draft, work in progress, draft- ietf-mpls-generalized-cr-ldp-06.txt, April 2002. 8. J. Moy, "OSPF Version 2", RFC 2328, April 1998. 9. D. Katz, et al., "Traffic Engineering Extensions to OSPF", Internet Draft, work in progress, draft-katz-yeung-ospf- traffic-06.txt, October 2001. 10. K. Kompella, et al., "Routing Extensions in Support of Generalized MPLS," Internet Draft, work in progress, draft- ietf-ccamp-gmpls-routing-04.txt, April 2002. 11. K. Kompella, et al., "OSPF Extensions in Support of Generalized MPLS", Internet Draft, work in progress, draft- ietf-ccamp-ospf-gmpls-extensions-05.txt, April 2002. Liu, et. al. Expires - April 2003 [Page 12] draft-liu-gmpls-ospf-restoration-00.txt October 2002 12. K. Kompella, et al., "Link Bundling in MPLS Traffic Engineering," Internet Draft, work in progress, draft- kompella-mpls-bundle-05.txt, February 2001. 13. Coltun, R., "The OSPF Opaque LSA Option," RFC 2370, July 1998. 6. Authors' Addresses Hang Liu Dimitrios Pendarakis Bala Rajagopalan Nooshin Komaee Tellium, Inc. 2 Crescent Place Oceanport, NJ 07757 USA Phone: +1 732 923 4100 Email: {hliu, dpendarakis, braja, nkomaee}@tellium.com Liu, et. al. Expires - April 2003 [Page 13]