idnits 2.17.1 draft-ketant-ospf-reverse-metric-00.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 (March 1, 2018) is 2248 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: September 2, 2018 H. Johnston 6 AT&T Labs 7 March 1, 2018 9 OSPF Reverse Metric 10 draft-ketant-ospf-reverse-metric-00 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 Requirements Language 24 The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT", 25 "SHOULD", "SHOULD NOT", "RECOMMENDED", "MAY", and "OPTIONAL" in this 26 document are to be interpreted as described in RFC 2119 [RFC2119]. 28 Status of This Memo 30 This Internet-Draft is submitted in full conformance with the 31 provisions of BCP 78 and BCP 79. 33 Internet-Drafts are working documents of the Internet Engineering 34 Task Force (IETF). Note that other groups may also distribute 35 working documents as Internet-Drafts. The list of current Internet- 36 Drafts is at https://datatracker.ietf.org/drafts/current/. 38 Internet-Drafts are draft documents valid for a maximum of six months 39 and may be updated, replaced, or obsoleted by other documents at any 40 time. It is inappropriate to use Internet-Drafts as reference 41 material or to cite them other than as "work in progress." 43 This Internet-Draft will expire on September 2, 2018. 45 Copyright Notice 47 Copyright (c) 2018 IETF Trust and the persons identified as the 48 document authors. All rights reserved. 50 This document is subject to BCP 78 and the IETF Trust's Legal 51 Provisions Relating to IETF Documents 52 (https://trustee.ietf.org/license-info) in effect on the date of 53 publication of this document. Please review these documents 54 carefully, as they describe your rights and restrictions with respect 55 to this document. Code Components extracted from this document must 56 include Simplified BSD License text as described in Section 4.e of 57 the Trust Legal Provisions and are provided without warranty as 58 described in the Simplified BSD License. 60 Table of Contents 62 1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . 2 63 2. Use Cases . . . . . . . . . . . . . . . . . . . . . . . . . . 3 64 2.1. Symmetrical Metric Based on Reference Bandwidth . . . . . 3 65 2.2. Adaptive Metric Signaling . . . . . . . . . . . . . . . . 4 66 3. Solution . . . . . . . . . . . . . . . . . . . . . . . . . . 5 67 4. LLS Reverse Metric TLV . . . . . . . . . . . . . . . . . . . 6 68 5. Procedures . . . . . . . . . . . . . . . . . . . . . . . . . 6 69 6. Backward Compatibility . . . . . . . . . . . . . . . . . . . 8 70 7. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 8 71 8. Security Considerations . . . . . . . . . . . . . . . . . . . 8 72 9. Contributors . . . . . . . . . . . . . . . . . . . . . . . . 8 73 10. Acknowledgements . . . . . . . . . . . . . . . . . . . . . . 8 74 11. References . . . . . . . . . . . . . . . . . . . . . . . . . 8 75 11.1. Normative References . . . . . . . . . . . . . . . . . . 8 76 11.2. Informative References . . . . . . . . . . . . . . . . . 9 77 Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . 9 79 1. Introduction 81 Routers running the Open Shortest Path First (OSPFv2) [RFC2328] and 82 OSPFv3 [RFC5340] routing protocols originate a Router-LSA (Link State 83 Advertisement) that describes all its links to its neighbors and 84 includes a metric which indicates its "cost" of reaching the neighbor 85 over that link. Consider two routers R1 and R2 that are connected 86 via a link. The metric for this link in direction R1->R2 is 87 configured on R1 and in the direction R2->R1 is configured on R2. 88 Thus the configuration on R1 influences the traffic that it forwards 89 towards R2 but does not influence the traffic that it may receive 90 from R2 on that same link. 92 This document describes certain use-cases where it is desirable for 93 R1 to be able to signal what we call as the reverse metric (RM) that 94 R2 should use on the link towards R1. Once R1 signals its reverse 95 metric on its link to R2, then R2 advertises this value as its metric 96 to R1 in its Router-LSA instead of its locally configured value. 97 Once this information is part of the topology then all other routers 98 do their computation using this value which results in the desired 99 change in traffic distribution that R1 wanted to achieve towards 100 itself over the link from R2. 102 This document proposes an extension to OSPF link-local signaling 103 (LLS) [RFC5613] for signalling the OSPF Reverse Metric using the LLS 104 Reverse Metric TLV in Section 4 and describes the related procedures 105 in section Section 5. 107 2. Use Cases 109 This section describes certain use-cases that OSPF reverse metric 110 helps to address. The usage of OSPF reverse metric need not be 111 limited to these cases and is intended to be a generic mechanism. 113 2.1. Symmetrical Metric Based on Reference Bandwidth 115 Certain OSPF implementations and deployments deduce the metric of 116 links based on their bandwidth using a reference bandwidth. The OSPF 117 MIB [RFC4750] has ospfReferenceBandwidth that is used by entries in 118 the ospfIfMetricTable. This mechanism is leveraged in deployments 119 where the link metrics get lowered or increased as bandwidth capacity 120 is removed or added e.g. consider layer-2 links bundled as a layer-3 121 interface on which OSPF is enabled. In the situations where these 122 layer-2 links are directly connected to the two routers, the link and 123 bandwidth availability is detected and updated on both sides. This 124 allows for schemes where the metric is maintained to be symmetric in 125 both directions based on the bandwidth. 127 Now consider variation of the same deployment where the links between 128 routers are not directly connected and instead are provisioned over a 129 layer-2 network consisting of switches or other mechanisms for a 130 layer-2 emulation. In such scenarios, as show in Figure 1, the 131 router on one side of the link would not detect when the neighboring 132 router has lost one of its layer-2 link and has reduced capacity to 133 its layer-2 switch. Note that the number of links and their 134 capacities on the router R0 may not be the same as those on R1, R2 135 and R3. The left hand side diagram shows the actual physical 136 topology in terms of the layer-2 links while the right hand side 137 diagram shows the logical layer-3 link topology between the routers. 139 +--------+ 140 | R0 | 141 | Router | 142 +--------+ +--------+ 143 (a) Physical ^ ^ ^ (b) Layer-3 | R0 | 144 Topology | | | Topology +--------+ 145 v v v ^ ^ ^ 146 +----------------+ | | | 147 | Layer 2 Switch | | | | 148 | (Aggregation) | +---+ | +---+ 149 +----------------+ | | | 150 ^^ ^ ^ ^ ^ ^ v | v 151 || | | | | | +------+ | +------+ 152 +----+| | | | | | | R1 | | | R3 | 153 | +---+ | | | | +----+ +------+ | +------+ 154 v v v v v v v v 155 +--------+ +--------+ +--------+ +--------+ 156 | R1 | | R2 | | R3 | | R2 | 157 | Router | | Router | | Router | +--------+ 158 +-- -----+ +--------+ +--------+ 160 Figure 1: Routers Interconnected over Layer-2 Network 162 In such a scenario, the amount of traffic that can be forwarded in 163 bidirectional manner between say R0 and R1 is dictated by the lower 164 of the link capacity of R0 and R1 to the layer-2 transport network. 165 In this scenario, when one of the link from R1 to the switch goes 166 down, it would increase its link metric to R0 from say 20 to 40. 167 However, similarly R0 also needs to increase its link metric to R1 as 168 well from 20 to 40 as otherwise, the traffic will hit congestion and 169 get dropped. 171 When R1 has the ability to signal the OSPF reverse metric of 40 172 towards itself to R0, then R0 can also update its metric without any 173 manual intervention to ensure the correct traffic distribution. 174 Consider if some destinations were reachable from R0 via R1 175 previously and this automatic metric adjustment now makes some of 176 those destinations reachable from R0 via R3. This allows some 177 traffic load on the link R0 to R1 to now flow via R3 to these 178 destinations. 180 2.2. Adaptive Metric Signaling 182 Now consider another deployment scenario where, as show in Figure 2, 183 two routers AGGR1 and AGGR2 are connected to a bunch of routers R1 184 thru RN that are dual homed to them and aggregating the traffic from 185 them towards a core network. At some point T, AGGR1 loses some of 186 its capacity towards the core or is facing some congestion issue 187 towards the core and it needs to reduce the traffic going through it 188 and perhaps redirect some of that load via AGGR2 which is not facing 189 a similar issue. Altering its own metric towards Rx routers would 190 influence the traffic flowing through it in the direction from core 191 to the Rx but not the other way around as desired. 193 Core Network 194 ^ ^ 195 | | 196 V v 197 +----------+ +----------+ 198 | AGGR1 | | AGGR2 | 199 +----------+ +----------+ 200 ^ ^ ^ ^ 201 | | | | 202 | +-----------+ | 203 | | | | 204 | +--------+ | | 205 v v v v 206 +-----------+ +-----------+ 207 | R1 | | RN | 208 | Router | ... | Router | 209 +-----------+ +-----------+ 211 Figure 2: Adaptive Metric for Dual Gateways 213 In such a scenario, the AGGR1 router could signal an incremental 214 value of OSPF reverse metric towards some or all of the Rx routers. 215 When the Rx routers apply this signaled reverse metric offset value 216 to the original metric on their links towards AGGR1 then the path via 217 AGGR2 becomes a better path causing traffic towards the core getting 218 diverted away from it. Note that the reverse metric mechanism allows 219 such adaptive metric changes to be applied on the AGGR1 as opposed to 220 being provisioning statically on the possibly large number of Rx 221 routers. 223 3. Solution 225 To address the use-cases described earlier and to allow an OSPF 226 router to indicate its reverse metric for a specific point-to-point 227 or point-to-multipoint link to its neighbor, this document proposes 228 to extend OSPF link-local signaling to advertise the Reverse Metric 229 TLV in OSPF Hello packets. This ensures that the RM signaling is 230 scoped ONLY to each specific link individually. The router continues 231 to include the Reverse Metric TLV in its Hello packets on the link as 232 long as it needs its neighbor to use that metric value towards 233 itself. Further details of the procedures involve are specified in 234 Section 5. 236 The RM signaling specified in this document is not required for 237 broadcast or non-broadcast-multi-access (NBMA) links since the same 238 objective is achieved there using the OSPF Two-Part Metric mechanism 239 [RFC8042]. 241 4. LLS Reverse Metric TLV 243 The Reverse Metric TLV is a new LLS TLV. It has following format: 245 0 1 2 3 246 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 247 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 248 | Type | Length | 249 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 250 | Flags |O|H| Reverse Metric | 251 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 253 where: 255 Type: TBD, suggested value 19 257 Length: 4 octet 259 Flags: Following are defined currently and the rest MUST be set to 260 0 and ignored on reception. 262 * H (0x1) : Indicates that neighbor should use value only if 263 higher than its current metric value in use 265 * O (0x2) : Indicates that the reverse metric value provided is 266 an offset that is to be added to the original metric 268 Reverse Metric: The value or offset of reverse metric to be used 270 5. Procedures 272 When a router needs to signal a RM value that its neigbhor(s) should 273 use towards itself, it includes the Reverse Metric TLV in the LLS 274 block of its hello messages sent on the link and continues to include 275 this TLV for as long as it needs it's neighbor to use this value. 276 The mechanisms used to determine the value to be used for the RM is 277 specific to the implementation and use-case and is outside the scope 278 of this document. e.g. in the use-case related to symmetric metric 279 described in Section 2.1, the RM value may be derived based on the 280 router's link's bandwidth with respect to the reference bandwidth. 282 A router receiving a hello packet from its neighbor that contains the 283 Reverse Metric TLV on its link SHOULD use the RM value to derive the 284 metric for the link in its Router-LSA to the advertising router. 285 When the O flag is set, the value in the TLV needs to be added to the 286 existing original metric provisioned on the link to derive the new 287 metric value to be used. When the O flag is clear, the value in the 288 TLV should be directly used as the metric to be used. When H flag is 289 set and O flag is clear, this is done only when the RM value signaled 290 is higher than the provisioned metric value being used already. This 291 mechanism applies only for point-to-point, point-to-multipoint and 292 hybrid broadcast point-to-multipoint ( [RFC6845]) links. For 293 broadcast and NBMA links the OSPF Two-Part Metric mechanism [RFC8042] 294 should be used in similar use-cases. 296 Implementations SHOULD provide a configuration option to enable the 297 signaling of RM from a router to its neighbors and MAY provide a 298 configuration option to disable the acceptance of the RM from its 299 neighbors. 301 A router stops including the Reverse Metric TLV in its hello messages 302 when it needs its neighbors to go back to using their own provisioned 303 metric values. When that happens, a router which had modified its 304 metric in response to receiving a Reverse Metric TLV from its 305 neighbor should revert back to using its original provisioned metric 306 value. 308 In certain scenarios, it is possible that two or more routers start 309 the RM signaling on the same link. This could create collision 310 scenarios. The following rules MUST be adopted by routers to ensure 311 that there is no instability in the network due to churn in their 312 metric due to signaling of RM: 314 o The RM value that is signaled by a router to its neighbor MUST NOT 315 be derived from the reverse metric being signaled by any of its 316 neighbor on any of its links. 318 o The RM value that is signaled by a router MUST NOT be derived from 319 its own metric which has been modified on account of a RM signaled 320 from any of its neighbors on any of its links. RM signaling from 321 other routers can affect the router's own metric advertised in its 322 Router-LSA. When deriving the RM values that a router signals to 323 its neighbors, it should use its "original" local metric values 324 not influenced by any RM signaling. 326 Based on these rules, a router MUST never start or stop or change its 327 RM metric signaling based on the RM metric signaling initiated by 328 some other router. Based on the local configuration policy, each 329 router would end up accepting the RM value signaled by its neighbor 330 and there would be no churn of metrics on the link or the network on 331 account of RM signaling. 333 In certain use-case as described in Section 2.1 when symmetrical 334 metrics are desired, the RM signaling can be enabled on routers on 335 either ends of a link. In other use-cases as described in 336 Section 2.2 RM signaling may need to be enabled on only router at one 337 end of a link. 339 6. Backward Compatibility 341 The signaling specified in this document happens at a link-local 342 level between routers on that link. A router which does not support 343 this specification would ignore the Reverse Metric LLS TLV and take 344 no actions to updates its metric in the other LSAs. As a result, the 345 behavior would be the same as before this specification. Therefore, 346 there are no backward compatibility related issues or considerations 347 that need to be taken care of when implementing this specification. 349 7. IANA Considerations 351 This specification updates Link Local Signalling TLV Identifiers 352 registry. 354 Following values are requested for allocation: 356 o TBD (Suggested value 19) - Reverse Metric TLV 358 8. Security Considerations 360 Implementations must assure that malformed LLS TLV and Sub-TLV 361 permutations do not result in errors which cause hard OSPF failures. 363 9. Contributors 365 Thanks to Jay Karthik for his contributions on the use-cases related 366 to symmetric metric and the review of the solution. 368 10. Acknowledgements 370 11. References 372 11.1. Normative References 374 [RFC2119] Bradner, S., "Key words for use in RFCs to Indicate 375 Requirement Levels", BCP 14, RFC 2119, 376 DOI 10.17487/RFC2119, March 1997, 377 . 379 [RFC2328] Moy, J., "OSPF Version 2", STD 54, RFC 2328, 380 DOI 10.17487/RFC2328, April 1998, 381 . 383 [RFC5340] Coltun, R., Ferguson, D., Moy, J., and A. Lindem, "OSPF 384 for IPv6", RFC 5340, DOI 10.17487/RFC5340, July 2008, 385 . 387 [RFC5613] Zinin, A., Roy, A., Nguyen, L., Friedman, B., and D. 388 Yeung, "OSPF Link-Local Signaling", RFC 5613, 389 DOI 10.17487/RFC5613, August 2009, 390 . 392 11.2. Informative References 394 [RFC4750] Joyal, D., Ed., Galecki, P., Ed., Giacalone, S., Ed., 395 Coltun, R., and F. Baker, "OSPF Version 2 Management 396 Information Base", RFC 4750, DOI 10.17487/RFC4750, 397 December 2006, . 399 [RFC6845] Sheth, N., Wang, L., and J. Zhang, "OSPF Hybrid Broadcast 400 and Point-to-Multipoint Interface Type", RFC 6845, 401 DOI 10.17487/RFC6845, January 2013, 402 . 404 [RFC8042] Zhang, Z., Wang, L., and A. Lindem, "OSPF Two-Part 405 Metric", RFC 8042, DOI 10.17487/RFC8042, December 2016, 406 . 408 Authors' Addresses 410 Ketan Talaulikar 411 Cisco Systems, Inc. 412 S.No. 154/6, Phase I, Hinjawadi 413 PUNE, MAHARASHTRA 411 057 414 India 416 Email: ketant@cisco.com 418 Peter Psenak 419 Cisco Systems, Inc. 420 Apollo Business Center 421 Mlynske nivy 43 422 Bratislava 821 09 423 Slovakia 425 Email: ppsenak@cisco.com 426 Hugh Johnston 427 AT&T Labs 428 USA 430 Email: hugh_johnston@labs.att.com