idnits 2.17.1 draft-ietf-lsr-ospf-reverse-metric-01.txt: Checking boilerplate required by RFC 5378 and the IETF Trust (see https://trustee.ietf.org/license-info): ---------------------------------------------------------------------------- No issues found here. Checking nits according to https://www.ietf.org/id-info/1id-guidelines.txt: ---------------------------------------------------------------------------- No issues found here. Checking nits according to https://www.ietf.org/id-info/checklist : ---------------------------------------------------------------------------- No issues found here. Miscellaneous warnings: ---------------------------------------------------------------------------- == The copyright year in the IETF Trust and authors Copyright Line does not match the current year -- The document date (June 29, 2020) is 1394 days in the past. Is this intentional? Checking references for intended status: Proposed Standard ---------------------------------------------------------------------------- (See RFCs 3967 and 4897 for information about using normative references to lower-maturity documents in RFCs) No issues found here. Summary: 0 errors (**), 0 flaws (~~), 1 warning (==), 1 comment (--). Run idnits with the --verbose option for more detailed information about the items above. -------------------------------------------------------------------------------- 2 Link State Routing K. Talaulikar 3 Internet-Draft P. Psenak 4 Intended status: Standards Track Cisco Systems, Inc. 5 Expires: December 31, 2020 H. Johnston 6 AT&T Labs 7 June 29, 2020 9 OSPF Reverse Metric 10 draft-ietf-lsr-ospf-reverse-metric-01 12 Abstract 14 This document specifies the extensions to OSPF that enables a router 15 to signal to its neighbor the metric that the neighbor should use 16 towards itself using link-local advertisement between them. The 17 signalling of this reverse metric, to be used on link(s) towards 18 itself, allows a router to influence the amount of traffic flowing 19 towards itself and in certain use-cases enables routers to maintain 20 symmetric metric on both sides of a link between them. 22 Status of This Memo 24 This Internet-Draft is submitted in full conformance with the 25 provisions of BCP 78 and BCP 79. 27 Internet-Drafts are working documents of the Internet Engineering 28 Task Force (IETF). Note that other groups may also distribute 29 working documents as Internet-Drafts. The list of current Internet- 30 Drafts is at https://datatracker.ietf.org/drafts/current/. 32 Internet-Drafts are draft documents valid for a maximum of six months 33 and may be updated, replaced, or obsoleted by other documents at any 34 time. It is inappropriate to use Internet-Drafts as reference 35 material or to cite them other than as "work in progress." 37 This Internet-Draft will expire on December 31, 2020. 39 Copyright Notice 41 Copyright (c) 2020 IETF Trust and the persons identified as the 42 document authors. All rights reserved. 44 This document is subject to BCP 78 and the IETF Trust's Legal 45 Provisions Relating to IETF Documents 46 (https://trustee.ietf.org/license-info) in effect on the date of 47 publication of this document. Please review these documents 48 carefully, as they describe your rights and restrictions with respect 49 to this document. Code Components extracted from this document must 50 include Simplified BSD License text as described in Section 4.e of 51 the Trust Legal Provisions and are provided without warranty as 52 described in the Simplified BSD License. 54 Table of Contents 56 1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . 2 57 1.1. Requirements Language . . . . . . . . . . . . . . . . . . 3 58 2. Use Cases . . . . . . . . . . . . . . . . . . . . . . . . . . 3 59 2.1. Symmetrical Metric Based on Reference Bandwidth . . . . . 3 60 2.2. Adaptive Metric Signaling . . . . . . . . . . . . . . . . 4 61 3. Solution . . . . . . . . . . . . . . . . . . . . . . . . . . 5 62 4. LLS Reverse Metric TLV . . . . . . . . . . . . . . . . . . . 6 63 5. LLS Reverse TE Metric TLV . . . . . . . . . . . . . . . . . . 6 64 6. Procedures . . . . . . . . . . . . . . . . . . . . . . . . . 7 65 7. Backward Compatibility . . . . . . . . . . . . . . . . . . . 9 66 8. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 9 67 9. Security Considerations . . . . . . . . . . . . . . . . . . . 9 68 10. Contributors . . . . . . . . . . . . . . . . . . . . . . . . 10 69 11. Acknowledgements . . . . . . . . . . . . . . . . . . . . . . 10 70 12. References . . . . . . . . . . . . . . . . . . . . . . . . . 10 71 12.1. Normative References . . . . . . . . . . . . . . . . . . 10 72 12.2. Informative References . . . . . . . . . . . . . . . . . 11 73 Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . 11 75 1. Introduction 77 Routers running the Open Shortest Path First (OSPFv2) [RFC2328] and 78 OSPFv3 [RFC5340] routing protocols originate a Router-LSA (Link State 79 Advertisement) that describes all its links to its neighbors and 80 includes a metric which indicates its "cost" of reaching the neighbor 81 over that link. Consider two routers R1 and R2 that are connected 82 via a link. The metric for this link in direction R1->R2 is 83 configured on R1 and in the direction R2->R1 is configured on R2. 84 Thus the configuration on R1 influences the traffic that it forwards 85 towards R2 but does not influence the traffic that it may receive 86 from R2 on that same link. 88 This document describes certain use-cases where it is desirable for a 89 router to be able to signal what we call as the "reverse metric" (RM) 90 to its neighbor to adjust the routing metric on the inbound 91 direction. When R1 signals its reverse metric on its link to R2, 92 then R2 advertises this value as its metric to R1 in its Router-LSA 93 instead of its locally configured value. Once this information is 94 part of the topology then all other routers do their computation 95 using this value which results in the desired change in traffic 96 distribution that R1 wanted to achieve towards itself over the link 97 from R2. 99 This document proposes an extension to OSPF link-local signaling 100 (LLS) [RFC5613] for signalling the OSPF reverse metric using the LLS 101 Reverse Metric TLV in Section 4, the reverse Traffic Engineering (TE) 102 metric [RFC3630] using the LLS Reverse TE Metric TLV in Section 5 and 103 describes the related procedures in section Section 6. 105 1.1. Requirements Language 107 The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT", 108 "SHOULD", "SHOULD NOT", "RECOMMENDED", "NOT RECOMMENDED", "MAY", and 109 "OPTIONAL" in this document are to be interpreted as described in BCP 110 14 [RFC2119] [RFC8174] when, and only when, they appear in all 111 capitals, as shown here. 113 2. Use Cases 115 This section describes certain use-cases that OSPF reverse metric 116 helps to address. The usage of OSPF reverse metric need not be 117 limited to these cases and is intended to be a generic mechanism. 119 2.1. Symmetrical Metric Based on Reference Bandwidth 121 Certain OSPF implementations and deployments deduce the metric of 122 links based on their bandwidth using a reference bandwidth. The OSPF 123 MIB [RFC4750] has ospfReferenceBandwidth that is used by entries in 124 the ospfIfMetricTable. This mechanism is leveraged in deployments 125 where the link metrics get lowered or increased as bandwidth capacity 126 is removed or added e.g. consider layer-2 links bundled as a layer-3 127 interface on which OSPF is enabled. In the situations where these 128 layer-2 links are directly connected to the two routers, the link and 129 bandwidth availability is detected and updated on both sides. This 130 allows for schemes where the metric is maintained to be symmetric in 131 both directions based on the bandwidth. 133 Now consider variation of the same deployment where the links between 134 routers are not directly connected and instead are provisioned over a 135 layer-2 network consisting of switches or other mechanisms for a 136 layer-2 emulation. In such scenarios, as show in Figure 1, the 137 router on one side of the link would not detect when the neighboring 138 router has lost one of its layer-2 link and has reduced capacity to 139 its layer-2 switch. Note that the number of links and their 140 capacities on the router R0 may not be the same as those on R1, R2 141 and R3. The left hand side diagram shows the actual physical 142 topology in terms of the layer-2 links while the right hand side 143 diagram shows the logical layer-3 link topology between the routers. 145 +--------+ 146 | R0 | 147 | Router | 148 +--------+ +--------+ 149 (a) Physical ^ ^ ^ (b) Layer-3 | R0 | 150 Topology | | | Topology +--------+ 151 v v v ^ ^ ^ 152 +----------------+ | | | 153 | Layer 2 Switch | | | | 154 | (Aggregation) | +---+ | +---+ 155 +----------------+ | | | 156 ^^ ^ ^ ^ ^ ^ v | v 157 || | | | | | +------+ | +------+ 158 +----+| | | | | | | R1 | | | R3 | 159 | +---+ | | | | +----+ +------+ | +------+ 160 v v v v v v v v 161 +--------+ +--------+ +--------+ +--------+ 162 | R1 | | R2 | | R3 | | R2 | 163 | Router | | Router | | Router | +--------+ 164 +-- -----+ +--------+ +--------+ 166 Figure 1: Routers Interconnected over Layer-2 Network 168 In such a scenario, the amount of traffic that can be forwarded in 169 bidirectional manner between say R0 and R1 is dictated by the lower 170 of the link capacity of R0 and R1 to the layer-2 transport network. 171 In this scenario, when one of the link from R1 to the switch goes 172 down, it would increase its link metric to R0 from say 20 to 40. 173 However, similarly R0 also needs to increase its link metric to R1 as 174 well from 20 to 40 as otherwise, the traffic will hit congestion and 175 get dropped. 177 When R1 has the ability to signal the OSPF reverse metric of 40 178 towards itself to R0, then R0 can also update its metric without any 179 manual intervention to ensure the correct traffic distribution. 180 Consider if some destinations were reachable from R0 via R1 181 previously and this automatic metric adjustment now makes some of 182 those destinations reachable from R0 via R3. This allows some 183 traffic load on the link R0 to R1 to now flow via R3 to these 184 destinations. 186 2.2. Adaptive Metric Signaling 188 Now consider another deployment scenario where, as show in Figure 2, 189 two routers AGGR1 and AGGR2 are connected to a bunch of routers R1 190 thru RN that are dual homed to them and aggregating the traffic from 191 them towards a core network. At some point T, AGGR1 loses some of 192 its capacity towards the core or is facing some congestion issue 193 towards the core and it needs to reduce the traffic going through it 194 and perhaps redirect some of that load via AGGR2 which is not facing 195 a similar issue. Altering its own metric towards Rx routers would 196 influence the traffic flowing through it in the direction from core 197 to the Rx but not the other way around as desired. 199 Core Network 200 ^ ^ 201 | | 202 V v 203 +----------+ +----------+ 204 | AGGR1 | | AGGR2 | 205 +----------+ +----------+ 206 ^ ^ ^ ^ 207 | | | | 208 | +-----------+ | 209 | | | | 210 | +--------+ | | 211 v v v v 212 +-----------+ +-----------+ 213 | R1 | | RN | 214 | Router | ... | Router | 215 +-----------+ +-----------+ 217 Figure 2: Adaptive Metric for Dual Gateways 219 In such a scenario, the AGGR1 router could signal an incremental 220 value of OSPF reverse metric towards some or all of the Rx routers. 221 When the Rx routers apply this signaled reverse metric offset value 222 to the original metric on their links towards AGGR1 then the path via 223 AGGR2 becomes a better path causing traffic towards the core getting 224 diverted away from it. Note that the reverse metric mechanism allows 225 such adaptive metric changes to be applied on the AGGR1 as opposed to 226 being provisioning statically on the possibly large number of Rx 227 routers. 229 3. Solution 231 To address the use-cases described earlier and to allow an OSPF 232 router to indicate its reverse metric for a specific point-to-point 233 or point-to-multipoint link to its neighbor, this document proposes 234 to extend OSPF link-local signaling to advertise the Reverse Metric 235 TLV in OSPF Hello packets. This ensures that the RM signaling is 236 scoped ONLY to each specific link individually. The router continues 237 to include the Reverse Metric TLV in its Hello packets on the link as 238 long as it needs its neighbor to use that metric value towards 239 itself. Further details of the procedures involve are specified in 240 Section 6. 242 The RM signaling specified in this document is not required for 243 broadcast or non-broadcast-multi-access (NBMA) links since the same 244 objective is achieved there using the OSPF Two-Part Metric mechanism 245 [RFC8042]. 247 4. LLS Reverse Metric TLV 249 The Reverse Metric TLV is a new LLS TLV. It has following format: 251 0 1 2 3 252 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 253 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 254 | Type | Length | 255 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 256 | MTID | Flags |O|H| Reverse Metric | 257 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 259 where: 261 Type: TBD, suggested value 19 263 Length: 4 octet 265 MTID : the multi-topology identifier of the link ([RFC4915]) 267 Flags: 1 octet, following are defined currently and the rest MUST 268 be set to 0 and ignored on reception. 270 * H (0x1) : Indicates that neighbor should use value only if 271 higher than its current metric value in use 273 * O (0x2) : Indicates that the reverse metric value provided is 274 an offset that is to be added to the original metric 276 Reverse Metric: 2 octets, the value or offset of reverse metric to 277 be used 279 5. LLS Reverse TE Metric TLV 281 The Reverse TE Metric TLV is a new LLS TLV. It has following format: 283 0 1 2 3 284 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 285 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 286 | Type | Length | 287 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 288 | Flags |O|H| RESERVED | 289 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 290 | Reverse TE Metric | 291 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 293 where: 295 Type: TBD, suggested value 20 297 Length: 4 octet 299 Flags: 1 octet, following are defined currently and the rest MUST 300 be set to 0 and ignored on reception. 302 * H (0x1) : Indicates that neighbor should use value only if 303 higher than its current TE metric value in use 305 * O (0x2) : Indicates that the reverse TE metric value provided 306 is an offset that is to be added to the original TE metric 308 RESERVED: 24-bit field. SHOULD be set to 0 on transmission and 309 MUST be ignored on receipt. 311 Reverse TE Metric: 4 octets, the value or offset of reverse 312 traffic engineering metric to be used 314 6. Procedures 316 When a router needs to signal a RM value that its neigbhor(s) should 317 use towards itself, it includes the Reverse Metric TLV in the LLS 318 block of its hello messages sent on the link and continues to include 319 this TLV for as long as it needs it's neighbor to use this value. 320 The mechanisms used to determine the value to be used for the RM is 321 specific to the implementation and use-case and is outside the scope 322 of this document. e.g. in the use-case related to symmetric metric 323 described in Section 2.1, the RM value may be derived based on the 324 router's link's bandwidth with respect to the reference bandwidth. 326 A router receiving a hello packet from its neighbor that contains the 327 Reverse Metric TLV on its link SHOULD use the RM value to derive the 328 metric for the link in its Router-LSA to the advertising router. 330 When the O flag is set, the value in the TLV needs to be added to the 331 existing original metric provisioned on the link to derive the new 332 metric value to be used. When the O flag is clear, the value in the 333 TLV should be directly used as the metric to be used. When H flag is 334 set and O flag is clear, this is done only when the RM value signaled 335 is higher than the provisioned metric value being used already. This 336 mechanism applies only for point-to-point, point-to-multipoint and 337 hybrid broadcast point-to-multipoint ( [RFC6845]) links. For 338 broadcast and NBMA links the OSPF Two-Part Metric mechanism [RFC8042] 339 should be used in similar use-cases. 341 Implementations SHOULD provide a configuration option to enable the 342 signaling of RM from a router to its neighbors and MAY provide a 343 configuration option to disable the acceptance of the RM from its 344 neighbors. 346 A router stops including the Reverse Metric TLV in its hello messages 347 when it needs its neighbors to go back to using their own provisioned 348 metric values. When that happens, a router which had modified its 349 metric in response to receiving a Reverse Metric TLV from its 350 neighbor should revert back to using its original provisioned metric 351 value. 353 In certain scenarios, it is possible that two or more routers start 354 the RM signaling on the same link. This could create collision 355 scenarios. The following rules MUST be adopted by routers to ensure 356 that there is no instability in the network due to churn in their 357 metric due to signaling of RM: 359 o The RM value that is signaled by a router to its neighbor MUST NOT 360 be derived from the reverse metric being signaled by any of its 361 neighbor on any of its links. 363 o The RM value that is signaled by a router MUST NOT be derived from 364 its own metric which has been modified on account of a RM signaled 365 from any of its neighbors on any of its links. RM signaling from 366 other routers can affect the router's own metric advertised in its 367 Router-LSA. When deriving the RM values that a router signals to 368 its neighbors, it should use its "original" local metric values 369 not influenced by any RM signaling. 371 Based on these rules, a router MUST never start or stop or change its 372 RM metric signaling based on the RM metric signaling initiated by 373 some other router. Based on the local configuration policy, each 374 router would end up accepting the RM value signaled by its neighbor 375 and there would be no churn of metrics on the link or the network on 376 account of RM signaling. 378 In certain use-case as described in Section 2.1 when symmetrical 379 metrics are desired, the RM signaling can be enabled on routers on 380 either ends of a link. In other use-cases as described in 381 Section 2.2 RM signaling may need to be enabled on only router at one 382 end of a link. 384 When using multi-topology routing with OSPF [RFC4915] a router MAY 385 include multiple instances of the Reverse Metric TLV in the LLS block 386 of its hello message - one for each of the topology for which it 387 desires to signal the reserve metric for. 389 In certain scenarios, the OSPF router may also require the 390 modification of the TE metric being advertised by its neighbor router 391 towards itself in the inbound direction. The Reverse TE Metric TLV, 392 using similar procedures as described above, MAY be used to signal 393 the reverse TE metric by a router. The neighbor SHOULD use the 394 reverse TE metric value to derive the TE metric to be used in the TE 395 Metric sub-TLV of the Link TLV in its TE Opaque LSA [RFC3630]. 397 7. Backward Compatibility 399 The signaling specified in this document happens at a link-local 400 level between routers on that link. A router which does not support 401 this specification would ignore the Reverse Metric and Reverse TE 402 Metric LLS TLVs and take no actions to updates its metric in the 403 other LSAs. As a result, the behavior would be the same as before 404 this specification. Therefore, there are no backward compatibility 405 related issues or considerations that need to be taken care of when 406 implementing this specification. 408 8. IANA Considerations 410 This specification updates Link Local Signalling TLV Identifiers 411 registry. 413 Following values are requested for allocation: 415 o TBD (Suggested value 19) - Reverse Metric TLV 417 o TBD (Suggested value 20) - Reverse TE Metric TLV 419 9. Security Considerations 421 The security considerations for "OSPF Link-Local Signaling" [RFC5613] 422 also apply to the extension described in this document. The usage of 423 the reverse metric TLVs is to alter the metrics used by routers on 424 the link and influence the flow and routing of traffic over the 425 network. Hence, modification of the Reverse Metric and Reverse TE 426 Metric TLVs may result in misrouting of traffic. If authentication 427 is being used in the OSPF routing domain [RFC5709][RFC7474], then the 428 Cryptographic Authentication TLV [RFC5613] SHOULD also be used to 429 protect the contents of the LLS block. 431 Receiving a malformed LLS Reverse Metric or Reverse TE Metric TLVs 432 MUST NOT result in a hard router or OSPF process failure. The 433 reception of malformed LLS TLVs or sub-TLVs SHOULD be logged, but 434 such logging MUST be rate- limited to prevent denial-of-service (DoS) 435 attacks. 437 10. Contributors 439 Thanks to Jay Karthik for his contributions on the use-cases related 440 to symmetric metric and the review of the solution. 442 11. Acknowledgements 444 12. References 446 12.1. Normative References 448 [RFC2119] Bradner, S., "Key words for use in RFCs to Indicate 449 Requirement Levels", BCP 14, RFC 2119, 450 DOI 10.17487/RFC2119, March 1997, 451 . 453 [RFC2328] Moy, J., "OSPF Version 2", STD 54, RFC 2328, 454 DOI 10.17487/RFC2328, April 1998, 455 . 457 [RFC3630] Katz, D., Kompella, K., and D. Yeung, "Traffic Engineering 458 (TE) Extensions to OSPF Version 2", RFC 3630, 459 DOI 10.17487/RFC3630, September 2003, 460 . 462 [RFC5340] Coltun, R., Ferguson, D., Moy, J., and A. Lindem, "OSPF 463 for IPv6", RFC 5340, DOI 10.17487/RFC5340, July 2008, 464 . 466 [RFC5613] Zinin, A., Roy, A., Nguyen, L., Friedman, B., and D. 467 Yeung, "OSPF Link-Local Signaling", RFC 5613, 468 DOI 10.17487/RFC5613, August 2009, 469 . 471 [RFC8174] Leiba, B., "Ambiguity of Uppercase vs Lowercase in RFC 472 2119 Key Words", BCP 14, RFC 8174, DOI 10.17487/RFC8174, 473 May 2017, . 475 12.2. Informative References 477 [RFC4750] Joyal, D., Ed., Galecki, P., Ed., Giacalone, S., Ed., 478 Coltun, R., and F. Baker, "OSPF Version 2 Management 479 Information Base", RFC 4750, DOI 10.17487/RFC4750, 480 December 2006, . 482 [RFC4915] Psenak, P., Mirtorabi, S., Roy, A., Nguyen, L., and P. 483 Pillay-Esnault, "Multi-Topology (MT) Routing in OSPF", 484 RFC 4915, DOI 10.17487/RFC4915, June 2007, 485 . 487 [RFC5709] Bhatia, M., Manral, V., Fanto, M., White, R., Barnes, M., 488 Li, T., and R. Atkinson, "OSPFv2 HMAC-SHA Cryptographic 489 Authentication", RFC 5709, DOI 10.17487/RFC5709, October 490 2009, . 492 [RFC6845] Sheth, N., Wang, L., and J. Zhang, "OSPF Hybrid Broadcast 493 and Point-to-Multipoint Interface Type", RFC 6845, 494 DOI 10.17487/RFC6845, January 2013, 495 . 497 [RFC7474] Bhatia, M., Hartman, S., Zhang, D., and A. Lindem, Ed., 498 "Security Extension for OSPFv2 When Using Manual Key 499 Management", RFC 7474, DOI 10.17487/RFC7474, April 2015, 500 . 502 [RFC8042] Zhang, Z., Wang, L., and A. Lindem, "OSPF Two-Part 503 Metric", RFC 8042, DOI 10.17487/RFC8042, December 2016, 504 . 506 Authors' Addresses 508 Ketan Talaulikar 509 Cisco Systems, Inc. 510 India 512 Email: ketant@cisco.com 514 Peter Psenak 515 Cisco Systems, Inc. 516 Apollo Business Center 517 Mlynske nivy 43 518 Bratislava 821 09 519 Slovakia 521 Email: ppsenak@cisco.com 522 Hugh Johnston 523 AT&T Labs 524 USA 526 Email: hugh_johnston@labs.att.com