idnits 2.17.1 draft-katz-yeung-ospf-traffic-02.txt: Checking boilerplate required by RFC 5378 and the IETF Trust (see https://trustee.ietf.org/license-info): ---------------------------------------------------------------------------- ** Looks like you're using RFC 2026 boilerplate. This must be updated to follow RFC 3978/3979, as updated by RFC 4748. Checking nits according to https://www.ietf.org/id-info/1id-guidelines.txt: ---------------------------------------------------------------------------- ** The document seems to lack a 1id_guidelines paragraph about 6 months document validity -- however, there's a paragraph with a matching beginning. Boilerplate error? == No 'Intended status' indicated for this document; assuming Proposed Standard Checking nits according to https://www.ietf.org/id-info/checklist : ---------------------------------------------------------------------------- ** The document seems to lack an IANA Considerations section. (See Section 2.2 of https://www.ietf.org/id-info/checklist for how to handle the case when there are no actions for IANA.) ** The document seems to lack separate sections for Informative/Normative References. All references will be assumed normative when checking for downward references. Miscellaneous warnings: ---------------------------------------------------------------------------- -- The document seems to lack a disclaimer for pre-RFC5378 work, but may have content which was first submitted before 10 November 2008. If you have contacted all the original authors and they are all willing to grant the BCP78 rights to the IETF Trust, then this is fine, and you can ignore this comment. If not, you may need to add the pre-RFC5378 disclaimer. (See the Legal Provisions document at https://trustee.ietf.org/license-info for more information.) -- Couldn't find a document date in the document -- date freshness check skipped. Checking references for intended status: Proposed Standard ---------------------------------------------------------------------------- (See RFCs 3967 and 4897 for information about using normative references to lower-maturity documents in RFCs) ** Downref: Normative reference to an Informational RFC: RFC 2702 (ref. '2') == Outdated reference: A later version (-05) exists of draft-ietf-isis-traffic-01 ** Downref: Normative reference to an Informational draft: draft-ietf-isis-traffic (ref. '3') ** Obsolete normative reference: RFC 2370 (ref. '4') (Obsoleted by RFC 5250) Summary: 7 errors (**), 0 flaws (~~), 2 warnings (==), 2 comments (--). Run idnits with the --verbose option for more detailed information about the items above. -------------------------------------------------------------------------------- 1 Network Working Group Dave Katz 2 Internet Draft Juniper Networks, Inc. 3 Expiration Date: February 2001 Derek Yeung 4 Procket Networks, Inc. 6 Traffic Engineering Extensions to OSPF 8 draft-katz-yeung-ospf-traffic-02.txt 10 Status 12 This document is an Internet-Draft and is in full conformance with 13 all provisions of Section 10 of RFC2026. 15 Internet-Drafts are working documents of the Internet Engineering 16 Task Force (IETF), its areas, and its working groups. Note that 17 other groups may also distribute working documents as Internet- 18 Drafts. 20 Internet-Drafts are draft documents valid for a maximum of six months 21 and may be updated, replaced, or obsoleted by other documents at any 22 time. It is inappropriate to use Internet- Drafts as reference 23 material or to cite them other than as "work in progress." 25 The list of current Internet-Drafts can be accessed at 26 http://www.ietf.org/ietf/1id-abstracts.txt 28 The list of Internet-Draft Shadow Directories can be accessed at 29 http://www.ietf.org/shadow.html. 31 Abstract 33 This document describes extensions to the OSPF protocol to support 34 Traffic Engineering, using opaque LSAs. 36 1. Introduction 38 This document specifies a method of adding traffic engineering 39 capabilities to OSPF [1]. The architecture of traffic engineering is 40 described in [2]. The semantic content of the extensions is 41 essentially identical to the corresponding extensions to IS-IS [3]. 42 It is expected that the traffic engineering extensions to OSPF will 43 continue to mirror those in IS-IS. 45 The extensions provide a way of describing the traffic engineering 46 topology (including bandwidth and administrative constraints). This 47 topology does not necessarily match the regular routed topology, 48 though this proposal depends on Network LSAs to describe multiaccess 49 links. 51 2. LSA Format 53 2.1 LSA type 55 This extension makes use of the Opaque LSA [4]. 57 Three types of Opaque LSAs exist, each of which has different 58 flooding scope. This proposal uses only Type 10 LSAs, which have 59 area flooding scope. 61 One new LSA is defined, the Traffic Engineering LSA. This LSA 62 describes routers, point-to-point links, and connections to 63 multiaccess networks (similar to a Router LSA). For traffic 64 engineering purposes, the existing Network LSA suffices for 65 describing multiaccess links, so no additional LSA is defined for 66 this purpose. 68 2.2 LSA ID 70 The LSA ID of an Opaque LSA is defined as having eight bits of type 71 and 24 bits of type-specific data. The Traffic Engineering LSA uses 72 type 1. The remaining 24 bits are broken up into eight bits of 73 reserved space (which must be zero) and sixteen bits of instance: 75 0 1 2 3 76 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 77 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 78 | 1 | Reserved | Instance | 79 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 81 The Instance field is an arbitrary value used to maintain multiple 82 Traffic Engineering LSAs. A maximum of 65536 Traffic Engineering 83 LSAs may be sourced by a single system. The LSA ID has no 84 topological significance. 86 2.3 LSA Format Overview 88 2.3.1 LSA Header 90 The Traffic Engineering LSA starts with the standard LSA header: 92 0 1 2 3 93 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 94 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 95 | LS age | Options | 10 | 96 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 97 | TBD | Reserved | Instance | 98 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 99 | Advertising Router | 100 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 101 | LS sequence number | 102 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 103 | LS checksum | length | 104 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 106 2.3.2 TLV Header 108 The LSA payload consists of one or more nested Type/Length/Value 109 (TLV) triplets for extensibility. The format of each TLV is: 111 0 1 2 3 112 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 113 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 114 | Type | length | 115 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 116 | Value... | 117 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 119 The length field defines the length of the value portion in bytes 120 (thus a TLV with no value portion would have a length of zero). The 121 TLV is padded to four-byte alignment; padding is not included in the 122 length field (so a three byte value would have a length of three, but 123 the total size of the TLV would be eight bytes). Nested TLVs are 124 also 32-bit aligned. Unrecognized types are ignored. All types 125 between 32768 and 65535 are reserved for vendor-specific extensions. 126 All other undefined type codes are reserved for future assignment by 127 IANA. 129 2.4 LSA payload details 131 An LSA contains one top-level TLV. 133 There are two top-level TLVs defined: 135 1 - Router Address 136 2 - Link 138 2.4.1 Router Address TLV 140 The Router Address TLV specifies a stable IP address of the 141 advertising router that is always reachable if there is any 142 connectivity to it. This is typically implemented as a "loopback 143 address"; the key attribute is that the address does not become 144 unusable if an interface is down. In other protocols this is known 145 as the "router ID," but for obvious reasons this nomenclature is 146 avoided here. 148 The router address TLV is type 1, and has a length of 4, and the 149 value is the four octet IP address. It must appear in exactly one 150 Traffic Engineering LSA originated by a router. 152 2.4.2 Link TLV 154 The Link TLV describes a single link. It is constructed of a set of 155 sub-TLVs. There are no ordering requirements for the sub-TLVs. 157 Only one Link TLV shall be carried in each LSA, allowing for fine 158 granularity changes in topology. 160 The Link TLV is type 2, and the length is variable. 162 The following sub-TLVs are defined: 164 1 - Link type (1 octet) 165 2 - Link ID (4 octets) 166 3 - Local interface IP address (4 octets) 167 4 - Remote interface IP address (4 octets) 168 5 - Traffic engineering metric (4 octets) 169 6 - Maximum bandwidth (4 octets) 170 7 - Maximum reservable bandwidth (4 octets) 171 8 - Unreserved bandwidth (32 octets) 172 9 - Resource class/color (4 octets) 174 32768-32772 - Reserved for Cisco-specific extensions 176 Each sub-TLV may occur only once. Unrecognized types are ignored. 177 All of the defined sub-TLVs are mandatory (though future sub-TLVs may 178 not necessarily be mandatory.) 180 2.5 Sub-TLV Details 182 2.5.1 Link Type 184 The Link Type sub-TLV defines the type of the link: 186 1 - Point-to-point 187 2 - Multiaccess 189 The Link Type sub-TLV is TLV type 1, and is one octet in length. 191 2.5.2 Link ID 193 The Link ID sub-TLV identifies the other end of the link. For point- 194 to-point links, this is the Router ID of the neighbor. For 195 multiaccess links, this is the interface address of the designated 196 router. The Link ID is identical to the contents of the Link ID 197 field in the Router LSA for these link types. 199 The Link ID sub-TLV is TLV type 2, and is four octets in length. 201 2.5.3 Local Interface IP Address 203 The Local Interface IP Address sub-TLV specifies the IP address of 204 the interface corresponding to this link. If the link is unnumbered, 205 the Local Interface IP Address is set to the Router Address of the 206 advertising router. 208 The Local Interface IP Address sub-TLV is TLV type 3, and is four 209 octets in length. 211 2.5.4 Remote Interface IP Address 213 The Remote Interface IP Address sub-TLV specifies the IP address of 214 the neighbor's interface corresponding to this link. This and the 215 local address are used to discern multiple parallel links between 216 systems. 218 If the link is unnumbered, the first octet of the Remote Interface IP 219 address is set to zero, and the last three octets are set to an 220 interface index. The choice of the interface index is a local matter 221 and is up to the implementation; the only requirements are that each 222 unnumbered link on the advertising router has a unique interface 223 index; and that the OSPF module and the MPLS signalling module agree 224 on the index. The SNMP IfIndex is a reasonable candidate. 226 The Remote Interface IP Address sub-TLV is TLV type 4, and is four 227 octets in length. 229 2.5.5 Traffic Engineering Metric 231 The Traffic Engineering Metric sub-TLV specifies the link metric for 232 traffic engineering purposes. This metric may be different than the 233 standard OSPF link metric. 235 The Traffic Engineering Metric sub-TLV is TLV type 5, and is four 236 octets in length. 238 2.5.6 Maximum Bandwidth 240 The Maximum Bandwidth sub-TLV specifies the maximum bandwidth that 241 can be used on this link in this direction (from the system 242 originating the LSA to its neighbor), in IEEE floating point format. 243 This is the true link capacity. The units are *bytes* per second. 245 The Maximum Bandwidth sub-TLV is TLV type 6, and is four octets in 246 length. 248 2.5.7 Maximum Reservable Bandwidth 250 The Maximum Reservable Bandwidth sub-TLV specifies the maximum 251 bandwidth that may be reserved on this link in this direction, in 252 IEEE floating point format. Note that this may be greater than the 253 maximum bandwidth (in which case the link may be oversubscribed). 254 The units are bytes per second. 256 The Maximum Reservable Bandwidth sub-TLV is TLV type 7, and is four 257 octets in length. 259 2.5.8 Unreserved Bandwidth 261 The Unreserved Bandwidth sub-TLV specifies the amount of bandwidth 262 not yet reserved at each of the eight priority levels, in IEEE 263 floating point format. Each value will be less than or equal to the 264 maximum reservable bandwidth. The units are bytes per second. 266 The Unreserved Bandwidth sub-TLV is TLV type 8, and is 32 octets in 267 length. 269 2.5.9 Resource Class/Color 271 The Resource Class/Color sub-TLV specifies administrative group 272 membership for this link, in terms of a bit mask. A link that is a 273 member of multiple groups will have multiple bits set. 275 The Resource Class/Color sub-TLV is TLV type 9, and is four octets in 276 length. 278 3. Elements of Procedure 280 Routers shall originate Traffic Engineering LSAs whenever the LSA 281 contents change, and whenever otherwise required by OSPF (an LSA 282 refresh, for example). 284 Upon receipt of a changed Traffic Engineering LSA or Network LSA 285 (since these are used in traffic engineering calculations), the 286 router should update its traffic engineering database. No SPF or 287 other route calculations are necessary. 289 4. Compatibility Issues 291 There should be no interoperability issues with routers that do not 292 implement these extensions, as the Opaque LSAs will be silently 293 ignored. 295 The result of having routers that do not implement these extensions 296 is that the traffic engineering topology will be missing pieces; 297 however, if the topology is connected, TE paths can still be 298 calculated and ought to work. 300 5. Security Considerations 302 This document raises no new security issues for OSPF. 304 6. References 306 [1] Moy, J., "OSPF Version 2", RFC 2328, April 1998. 308 [2] Awduche, D., et al, "Requirements for Traffic Engineering Over 309 MPLS," RFC 2702, September 1999. 311 [3] Smit, H. and T. Li, "ISIS Extensions for Traffic Engineering," 312 draft-ietf-isis-traffic-01.txt, work in progress. 314 [4] Coltun, R., "The OSPF Opaque LSA Option," RFC 2370, July 1998. 316 7. Authors' Addresses 318 Dave Katz 319 Juniper Networks 320 1194 N. Mathilda Ave. 321 Sunnyvale, CA 94086 USA 323 Phone: +1 408 745 2000 324 Email: dkatz@juniper.net 326 Derek M. Yeung 327 Procket Networks, Inc. 328 3850 North First Street 329 San Jose, CA 95134 USA 331 Phone: +1 408 954-7900 332 Fax: +1 408 987-6166