Network Working Group Dave Katz Internet Draft Juniper Networks, Inc. Expiration Date: August 2001 Derek Yeung Procket Networks, Inc. Kireeti Kompella Juniper Networks, Inc. Traffic Engineering Extensions to OSPF draft-katz-yeung-ospf-traffic-04.txt Status 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 protocol to support Traffic Engineering, using opaque LSAs. Katz, Yeung, Kompella Expires August 2001 [Page 1] Internet Draft draft-katz-yeung-ospf-traffic-04.txt February 2001 1. Introduction This document specifies a method of adding traffic engineering capabilities to OSPF [1]. The architecture of traffic engineering is described in [2]. The semantic content of the extensions is essentially identical to the corresponding extensions to IS-IS [3]. It is expected that the traffic engineering extensions to OSPF will continue to mirror those in IS-IS. The extensions provide a way of describing the traffic engineering topology (including bandwidth and administrative constraints). This topology does not necessarily match the regular routed topology, though this proposal depends on Network LSAs to describe multiaccess links. 2. LSA Format 2.1. LSA type This extension makes use of the Opaque LSA [4]. Three types of Opaque LSAs exist, each of which has different flooding scope. This proposal uses only Type 10 LSAs, which have area flooding scope. One new LSA is defined, the Traffic Engineering LSA. This LSA describes routers, point-to-point links, and connections to multiaccess networks (similar to a Router LSA). For traffic engineering purposes, the existing Network LSA suffices for describing multiaccess links, so no additional LSA is defined for this purpose. 2.2. LSA ID The LSA ID of an Opaque LSA is defined as having eight bits of type and 24 bits of type-specific data. The Traffic Engineering LSA uses type 1. The remaining 24 bits are broken up into eight bits of reserved space (which must be zero) and sixteen bits of instance: 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 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | 1 | Reserved | Instance | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ Katz, Yeung, Kompella Expires August 2001 [Page 2] Internet Draft draft-katz-yeung-ospf-traffic-04.txt February 2001 The Instance field is an arbitrary value used to maintain multiple Traffic Engineering LSAs. A maximum of 65536 Traffic Engineering LSAs may be sourced by a single system. The LSA ID has no topological significance. 2.3. LSA Format Overview 2.3.1. LSA Header The Traffic Engineering LSA starts with the standard LSA header: 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 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | LS age | Options | 10 | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | TBD | Reserved | Instance | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | Advertising Router | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | LS sequence number | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | LS checksum | length | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 2.3.2. TLV Header The LSA payload consists of one or more nested Type/Length/Value (TLV) triplets for extensibility. The format of each TLV is: 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 | length | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | Value... | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ The length field defines the length of the value portion in bytes (thus a TLV with no value portion would have a length of zero). The TLV is padded to four-byte alignment; padding is not included in the length field (so a three byte value would have a length of three, but the total size of the TLV would be eight bytes). Nested TLVs are also 32-bit aligned. Unrecognized types are ignored. All types between 32768 and 65535 are reserved for vendor-specific extensions. Katz, Yeung, Kompella Expires August 2001 [Page 3] Internet Draft draft-katz-yeung-ospf-traffic-04.txt February 2001 All other undefined type codes are reserved for future assignment by IANA. 2.4. LSA payload details An LSA contains one top-level TLV. There are two top-level TLVs defined: 1 - Router Address 2 - Link 2.4.1. Router Address TLV The Router Address TLV specifies a stable IP address of the advertising router that is always reachable if there is any connectivity to it. This is typically implemented as a "loopback address"; the key attribute is that the address does not become unusable if an interface is down. In other protocols this is known as the "router ID," but for obvious reasons this nomenclature is avoided here. The router address TLV is type 1, and has a length of 4, and the value is the four octet IP address. It must appear in exactly one Traffic Engineering LSA originated by a router. 2.4.2. Link TLV The Link TLV describes a single link. It is constructed of a set of sub-TLVs. There are no ordering requirements for the sub-TLVs. Only one Link TLV shall be carried in each LSA, allowing for fine granularity changes in topology. The Link TLV is type 2, and the length is variable. The following sub-TLVs are defined: Katz, Yeung, Kompella Expires August 2001 [Page 4] Internet Draft draft-katz-yeung-ospf-traffic-04.txt February 2001 1 - Link type (1 octet) 2 - Link ID (4 octets) 3 - Local interface IP address (4 octets) 4 - Remote interface IP address (4 octets) 5 - Traffic engineering metric (4 octets) 6 - Maximum bandwidth (4 octets) 7 - Maximum reservable bandwidth (4 octets) 8 - Unreserved bandwidth (32 octets) 9 - Resource class/color (4 octets) 32768-32772 - Reserved for Cisco-specific extensions The Link Type and Link ID sub-TLVs are mandatory, i.e., must appear exactly once. All other sub-TLVs defined here may occur at most once. These restrictions need not apply to future sub-TLVs. Unrecognized sub-TLVs are ignored. 2.5. Sub-TLV Details 2.5.1. Link Type The Link Type sub-TLV defines the type of the link: 1 - Point-to-point 2 - Multiaccess The Link Type sub-TLV is TLV type 1, and is one octet in length. 2.5.2. Link ID The Link ID sub-TLV identifies the other end of the link. For point- to-point links, this is the Router ID of the neighbor. For multiaccess links, this is the interface address of the designated router. The Link ID is identical to the contents of the Link ID field in the Router LSA for these link types. The Link ID sub-TLV is TLV type 2, and is four octets in length. 2.5.3. Local Interface IP Address The Local Interface IP Address sub-TLV specifies the IP address(es) of the interface corresponding to this link. If there are multiple local addresses on the link, they are all listed in this sub-TLV. Katz, Yeung, Kompella Expires August 2001 [Page 5] Internet Draft draft-katz-yeung-ospf-traffic-04.txt February 2001 The Local Interface IP Address sub-TLV is TLV type 3, and is 4N octets in length, where N is the number of local addresses. 2.5.4. Remote Interface IP Address The Remote Interface IP Address sub-TLV specifies the IP address(es) of the neighbor's interface corresponding to this link. This and the local address are used to discern multiple parallel links between systems. The Remote Interface IP Address sub-TLV is TLV type 4, and is 4N octets in length, where N is the number of neighbor addresses. 2.5.5. Traffic Engineering Metric The Traffic Engineering Metric sub-TLV specifies the link metric for traffic engineering purposes. This metric may be different than the standard OSPF link metric. The Traffic Engineering Metric sub-TLV is TLV type 5, and is four octets in length. 2.5.6. Maximum Bandwidth The Maximum Bandwidth sub-TLV specifies the maximum bandwidth that can be used on this link in this direction (from the system originating the LSA to its neighbor), in IEEE floating point format. This is the true link capacity. The units are *bytes* per second. The Maximum Bandwidth sub-TLV is TLV type 6, and is four octets in length. 2.5.7. Maximum Reservable Bandwidth The Maximum Reservable Bandwidth sub-TLV specifies the maximum bandwidth that may be reserved on this link in this direction, in IEEE floating point format. Note that this may be greater than the maximum bandwidth (in which case the link may be oversubscribed). The units are bytes per second. The Maximum Reservable Bandwidth sub-TLV is TLV type 7, and is four octets in length. Katz, Yeung, Kompella Expires August 2001 [Page 6] Internet Draft draft-katz-yeung-ospf-traffic-04.txt February 2001 2.5.8. Unreserved Bandwidth The Unreserved Bandwidth sub-TLV specifies the amount of bandwidth not yet reserved at each of the eight priority levels, in IEEE floating point format. Each value will be less than or equal to the maximum reservable bandwidth. The units are bytes per second. The Unreserved Bandwidth sub-TLV is TLV type 8, and is 32 octets in length. 2.5.9. Resource Class/Color The Resource Class/Color sub-TLV specifies administrative group membership for this link, in terms of a bit mask. A link that is a member of multiple groups will have multiple bits set. The Resource Class/Color sub-TLV is TLV type 9, and is four octets in length. 3. Elements of Procedure Routers shall originate Traffic Engineering LSAs whenever the LSA contents change, and whenever otherwise required by OSPF (an LSA refresh, for example). Upon receipt of a changed Traffic Engineering LSA or Network LSA (since these are used in traffic engineering calculations), the router should update its traffic engineering database. No SPF or other route calculations are necessary. 4. Compatibility Issues There should be no interoperability issues with routers that do not implement these extensions, as the Opaque LSAs will be silently ignored. The result of having routers that do not implement these extensions is that the traffic engineering topology will be missing pieces; however, if the topology is connected, TE paths can still be calculated and ought to work. Katz, Yeung, Kompella Expires August 2001 [Page 7] Internet Draft draft-katz-yeung-ospf-traffic-04.txt February 2001 5. Security Considerations This document raises no new security issues for OSPF. 6. References [1] Moy, J., "OSPF Version 2", RFC 2328, April 1998. [2] Awduche, D., et al, "Requirements for Traffic Engineering Over MPLS," RFC 2702, September 1999. [3] Smit, H. and T. Li, "ISIS Extensions for Traffic Engineering," draft-ietf-isis-traffic-03.txt, work in progress. [4] Coltun, R., "The OSPF Opaque LSA Option," RFC 2370, July 1998. 7. Authors' Addresses Dave Katz Juniper Networks 1194 N. Mathilda Ave. Sunnyvale, CA 94089 USA Phone: +1 408 745 2000 Email: dkatz@juniper.net Derek M. Yeung Procket Networks, Inc. 1100 Cadillac Court Milpitas, CA 95035 USA Phone: +1 408 635-7900 Fax: +1 408 987-6166 Kireeti Kompella Juniper Networks 1194 N. Mathilda Ave. Sunnyvale, CA 94089 USA Phone: +1 408 745 2000 Email: kireeti@juniper.net Katz, Yeung, Kompella Expires August 2001 [Page 8]