idnits 2.17.1 draft-katz-yeung-ospf-traffic-05.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-03 ** 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: December 2001 Derek Yeung 4 Procket Networks, Inc. 5 Kireeti Kompella 6 Juniper Networks, Inc. 8 Traffic Engineering Extensions to OSPF 10 draft-katz-yeung-ospf-traffic-05.txt 12 Status 14 This document is an Internet-Draft and is in full conformance with 15 all provisions of Section 10 of RFC2026. 17 Internet-Drafts are working documents of the Internet Engineering 18 Task Force (IETF), its areas, and its working groups. Note that 19 other groups may also distribute working documents as Internet- 20 Drafts. 22 Internet-Drafts are draft documents valid for a maximum of six months 23 and may be updated, replaced, or obsoleted by other documents at any 24 time. It is inappropriate to use Internet- Drafts as reference 25 material or to cite them other than as "work in progress." 27 The list of current Internet-Drafts can be accessed at 28 http://www.ietf.org/ietf/1id-abstracts.txt 30 The list of Internet-Draft Shadow Directories can be accessed at 31 http://www.ietf.org/shadow.html. 33 Abstract 35 This document describes extensions to the OSPF protocol to support 36 Traffic Engineering, using opaque LSAs. 38 1. Introduction 40 This document specifies a method of adding traffic engineering 41 capabilities to OSPF [1]. The architecture of traffic engineering is 42 described in [2]. The semantic content of the extensions is 43 essentially identical to the corresponding extensions to IS-IS [3]. 44 It is expected that the traffic engineering extensions to OSPF will 45 continue to mirror those in IS-IS. 47 The extensions provide a way of describing the traffic engineering 48 topology (including bandwidth and administrative constraints). This 49 topology does not necessarily match the regular routed topology, 50 though this proposal depends on Network LSAs to describe multiaccess 51 links. 53 1.1. Applicability 55 Many of the extensions specified in this document are in response to 56 the requirements stated in [2], and thus are referred to as "traffic 57 engineering extensions", and are also commonly associated with MPLS 58 Traffic Engineering. A more accurate (albeit bland) designation is 59 "extended link attributes", as what is proposed is simply to add more 60 attributes to links in OSPF advertisements. 62 The information made available by these extensions can be used to 63 build an extended link state database just as router LSAs are used to 64 build a "regular" link state database; the difference is that the 65 extended link state database (referred to below as the traffic 66 engineering database) has additional link attributes. Uses of the 67 traffic engineering database include: 69 o monitoring the extended link attributes; 70 o local constraint-based source routing; and 71 o global traffic engineering. 73 For example, an OSPF-speaking device can participate in an OSPF area, 74 build a traffic engineering database, and thereby report on the 75 reservation state of links in that area. 77 In "local constraint-based source routing", a router R can compute a 78 path from a source node A to a destination node B; typically, A is R 79 itself, and B is specified by a "router address" (see below). This 80 path may be subject to various constraints on the attributes of the 81 links and nodes that the path traverses, e.g., use green links that 82 have unreserved bandwidth of at least 10Mbps. This path could then 83 be used to carry some subset of the traffic from A to B, forming a 84 simple but effective means of traffic engineering. How the subset of 85 traffic is determined, and how the path is instantiated is beyond the 86 scope of this document; suffice it to say that one means of defining 87 the subset of traffic is "those packets whose IP destinations were 88 learned from B", and one means of instantiating paths is using MPLS 89 tunnels. As an aside, note that constraint-based routing can be NP- 90 hard, or even unsolvable, depending on the nature of the attributes 91 and constraints and thus many implementations will use heuristics. 92 Consequently, we don't attempt to sketch an algorithm here. 94 Finally, for "global traffic engineering", a device can build a 95 traffic engineering database, input a traffic matrix and an 96 optimization function, crunch on the information, and thus compute 97 optimal or near-optimal routing for the entire network. The device 98 can subsequently monitor the traffic engineering topology and react 99 to changes by recomputing the optimal routes. 101 1.2. Limitations 103 The extensions specified in this document capture the reservation 104 state of point-to-point links. The reservation state of multiaccess 105 links is not accurately reflected, except in the special case that 106 there are only two devices in the multiaccess subnetwork. 108 2. LSA Format 110 2.1. LSA type 112 This extension makes use of the Opaque LSA [4]. 114 Three types of Opaque LSAs exist, each of which has different 115 flooding scope. This proposal uses only Type 10 LSAs, which have 116 area flooding scope. 118 One new LSA is defined, the Traffic Engineering LSA. This LSA 119 describes routers, point-to-point links, and connections to 120 multiaccess networks (similar to a Router LSA). For traffic 121 engineering purposes, the existing Network LSA suffices for 122 describing multiaccess links, so no additional LSA is defined for 123 this purpose. 125 2.2. LSA ID 127 The LSA ID of an Opaque LSA is defined as having eight bits of type 128 and 24 bits of type-specific data. The Traffic Engineering LSA uses 129 type 1. The remaining 24 bits are broken up into eight bits of 130 reserved space (which must be zero) and sixteen bits of instance: 132 0 1 2 3 133 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 134 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 135 | 1 | Reserved | Instance | 136 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 138 The Instance field is an arbitrary value used to maintain multiple 139 Traffic Engineering LSAs. A maximum of 65536 Traffic Engineering 140 LSAs may be sourced by a single system. The LSA ID has no 141 topological significance. 143 2.3. LSA Format Overview 145 2.3.1. LSA Header 147 The Traffic Engineering LSA starts with the standard LSA header: 149 0 1 2 3 150 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 151 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 152 | LS age | Options | 10 | 153 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 154 | TBD | Reserved | Instance | 155 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 156 | Advertising Router | 157 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 158 | LS sequence number | 159 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 160 | LS checksum | length | 161 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 163 2.3.2. TLV Header 165 The LSA payload consists of one or more nested Type/Length/Value 166 (TLV) triplets for extensibility. The format of each TLV is: 168 0 1 2 3 169 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 170 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 171 | Type | length | 172 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 173 | Value... | 174 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 176 The length field defines the length of the value portion in octets 177 (thus a TLV with no value portion would have a length of zero). The 178 TLV is padded to four-octet alignment; padding is not included in 179 the length field (so a three octet value would have a length of 180 three, but the total size of the TLV would be eight octets). Nested 181 TLVs are also 32-bit aligned. Unrecognized types are ignored. All 182 types between 32768 and 65535 are reserved for vendor-specific 183 extensions. All other undefined type codes are reserved for future 184 assignment by IANA. 186 2.4. LSA payload details 188 An LSA contains one top-level TLV. 190 There are two top-level TLVs defined: 192 1 - Router Address 193 2 - Link 195 2.4.1. Router Address TLV 197 The Router Address TLV specifies a stable IP address of the 198 advertising router that is always reachable if there is any 199 connectivity to it. This is typically implemented as a "loopback 200 address"; the key attribute is that the address does not become 201 unusable if an interface is down. In other protocols this is known 202 as the "router ID," but for obvious reasons this nomenclature is 203 avoided here. 205 If IS-IS is also active in the domain, this address can also be used 206 to compute the mapping between the OSPF and IS-IS topologies. 208 The router address TLV is type 1, and has a length of 4, and the 209 value is the four octet IP address. It must appear in exactly one 210 Traffic Engineering LSA originated by a router. 212 2.4.2. Link TLV 214 The Link TLV describes a single link. It is constructed of a set of 215 sub-TLVs. There are no ordering requirements for the sub-TLVs. 217 Only one Link TLV shall be carried in each LSA, allowing for fine 218 granularity changes in topology. 220 The Link TLV is type 2, and the length is variable. 222 The following sub-TLVs are defined: 224 1 - Link type (1 octet) 225 2 - Link ID (4 octets) 226 3 - Local interface IP address (4 octets) 227 4 - Remote interface IP address (4 octets) 228 5 - Traffic engineering metric (4 octets) 229 6 - Maximum bandwidth (4 octets) 230 7 - Maximum reservable bandwidth (4 octets) 231 8 - Unreserved bandwidth (32 octets) 232 9 - Resource class/color (4 octets) 234 32768-32772 - Reserved for Cisco-specific extensions 236 The Link Type and Link ID sub-TLVs are mandatory, i.e., must appear 237 exactly once. All other sub-TLVs defined here may occur at most 238 once. These restrictions need not apply to future sub-TLVs. 239 Unrecognized sub-TLVs are ignored. 241 2.5. Sub-TLV Details 243 2.5.1. Link Type 245 The Link Type sub-TLV defines the type of the link: 247 1 - Point-to-point 248 2 - Multiaccess 250 The Link Type sub-TLV is TLV type 1, and is one octet in length. 252 2.5.2. Link ID 254 The Link ID sub-TLV identifies the other end of the link. For point- 255 to-point links, this is the Router ID of the neighbor. For 256 multiaccess links, this is the interface address of the designated 257 router. The Link ID is identical to the contents of the Link ID 258 field in the Router LSA for these link types. 260 The Link ID sub-TLV is TLV type 2, and is four octets in length. 262 2.5.3. Local Interface IP Address 264 The Local Interface IP Address sub-TLV specifies the IP address(es) 265 of the interface corresponding to this link. If there are multiple 266 local addresses on the link, they are all listed in this sub-TLV. 268 The Local Interface IP Address sub-TLV is TLV type 3, and is 4N 269 octets in length, where N is the number of local addresses. 271 2.5.4. Remote Interface IP Address 273 The Remote Interface IP Address sub-TLV specifies the IP address(es) 274 of the neighbor's interface corresponding to this link. This and the 275 local address are used to discern multiple parallel links between 276 systems. 278 The Remote Interface IP Address sub-TLV is TLV type 4, and is 4N 279 octets in length, where N is the number of neighbor addresses. 281 2.5.5. Traffic Engineering Metric 283 The Traffic Engineering Metric sub-TLV specifies the link metric for 284 traffic engineering purposes. This metric may be different than the 285 standard OSPF link metric. 287 The Traffic Engineering Metric sub-TLV is TLV type 5, and is four 288 octets in length. 290 2.5.6. Maximum Bandwidth 292 The Maximum Bandwidth sub-TLV specifies the maximum bandwidth that 293 can be used on this link in this direction (from the system 294 originating the LSA to its neighbor), in IEEE floating point format. 295 This is the true link capacity. The units are *bytes* per second. 297 The Maximum Bandwidth sub-TLV is TLV type 6, and is four octets in 298 length. 300 2.5.7. Maximum Reservable Bandwidth 302 The Maximum Reservable Bandwidth sub-TLV specifies the maximum 303 bandwidth that may be reserved on this link in this direction, in 304 IEEE floating point format. Note that this may be greater than the 305 maximum bandwidth (in which case the link may be oversubscribed). 306 The units are bytes per second. 308 The Maximum Reservable Bandwidth sub-TLV is TLV type 7, and is four 309 octets in length. 311 2.5.8. Unreserved Bandwidth 313 The Unreserved Bandwidth sub-TLV specifies the amount of bandwidth 314 not yet reserved at each of the eight priority levels, in IEEE 315 floating point format. The values correspond to the bandwidth that 316 can be reserved with a setup priority of 0 through 7, arranged in 317 increasing order with priority 0 occurring at the start of the sub- 318 TLV, and priority 7 at the end of the sub-TLV. Each value will be 319 less than or equal to the maximum reservable bandwidth. The units 320 are bytes per second. 322 The Unreserved Bandwidth sub-TLV is TLV type 8, and is 32 octets in 323 length. 325 2.5.9. Resource Class/Color 327 The Resource Class/Color sub-TLV specifies administrative group 328 membership for this link, in terms of a bit mask. A link that is a 329 member of multiple groups will have multiple bits set. 331 The Resource Class/Color sub-TLV is TLV type 9, and is four octets in 332 length. 334 3. Elements of Procedure 336 Routers shall originate Traffic Engineering LSAs whenever the LSA 337 contents change, and whenever otherwise required by OSPF (an LSA 338 refresh, for example). 340 Upon receipt of a changed Traffic Engineering LSA or Network LSA 341 (since these are used in traffic engineering calculations), the 342 router should update its traffic engineering database. No SPF or 343 other route calculations are necessary. 345 4. Compatibility Issues 347 There should be no interoperability issues with routers that do not 348 implement these extensions, as the Opaque LSAs will be silently 349 ignored. 351 The result of having routers that do not implement these extensions 352 is that the traffic engineering topology will be missing pieces; 353 however, if the topology is connected, TE paths can still be 354 calculated and ought to work. 356 5. Security Considerations 358 This document raises no new security issues for OSPF. 360 6. References 362 [1] Moy, J., "OSPF Version 2", RFC 2328, April 1998. 364 [2] Awduche, D., et al, "Requirements for Traffic Engineering Over 365 MPLS," RFC 2702, September 1999. 367 [3] Smit, H. and T. Li, "ISIS Extensions for Traffic Engineering," 368 draft-ietf-isis-traffic-03.txt, work in progress. 370 [4] Coltun, R., "The OSPF Opaque LSA Option," RFC 2370, July 1998. 372 7. Authors' Addresses 374 Dave Katz 375 Juniper Networks 376 1194 N. Mathilda Ave. 377 Sunnyvale, CA 94089 USA 379 Phone: +1 408 745 2000 380 Email: dkatz@juniper.net 382 Derek M. Yeung 383 Procket Networks, Inc. 384 1100 Cadillac Court 385 Milpitas, CA 95035 USA 387 Phone: +1 408 635-7900 388 Fax: +1 408 987-6166 390 Kireeti Kompella 391 Juniper Networks 392 1194 N. Mathilda Ave. 393 Sunnyvale, CA 94089 USA 395 Phone: +1 408 745 2000 396 Email: kireeti@juniper.net