diff options
Diffstat (limited to 'doc/rfc/rfc8541.txt')
-rw-r--r-- | doc/rfc/rfc8541.txt | 843 |
1 files changed, 843 insertions, 0 deletions
diff --git a/doc/rfc/rfc8541.txt b/doc/rfc/rfc8541.txt new file mode 100644 index 0000000..ca6edb3 --- /dev/null +++ b/doc/rfc/rfc8541.txt @@ -0,0 +1,843 @@ + + + + + + +Internet Engineering Task Force (IETF) S. Litkowski +Request for Comments: 8541 Orange Business Service +Category: Informational B. Decraene +ISSN: 2070-1721 Orange + M. Horneffer + Deutsche Telekom + March 2019 + + + Impact of Shortest Path First (SPF) Trigger and Delay Strategies + on IGP Micro-loops + +Abstract + + A micro-loop is a packet-forwarding loop that may occur transiently + among two or more routers in a hop-by-hop packet-forwarding paradigm. + + This document analyzes the impact of using different link state IGP + implementations in a single network with respect to micro-loops. The + analysis is focused on the Shortest Path First (SPF) delay algorithm + but also mentions the impact of SPF trigger strategies. + +Status of This Memo + + This document is not an Internet Standards Track specification; it is + published for informational purposes. + + This document is a product of the Internet Engineering Task Force + (IETF). It represents the consensus of the IETF community. It has + received public review and has been approved for publication by the + Internet Engineering Steering Group (IESG). Not all documents + approved by the IESG are candidates for any level of Internet + Standard; see Section 2 of RFC 7841. + + Information about the current status of this document, any errata, + and how to provide feedback on it may be obtained at + https://www.rfc-editor.org/info/rfc8541. + + + + + + + + + + + + + + +Litkowski, et al. Informational [Page 1] + +RFC 8541 SPF Impact on IGP Micro-loops March 2019 + + +Copyright Notice + + Copyright (c) 2019 IETF Trust and the persons identified as the + document authors. All rights reserved. + + This document is subject to BCP 78 and the IETF Trust's Legal + Provisions Relating to IETF Documents + (https://trustee.ietf.org/license-info) in effect on the date of + publication of this document. Please review these documents + carefully, as they describe your rights and restrictions with respect + to this document. Code Components extracted from this document must + include Simplified BSD License text as described in Section 4.e of + the Trust Legal Provisions and are provided without warranty as + described in the Simplified BSD License. + +Table of Contents + + 1. Introduction ....................................................3 + 2. Problem Statement ...............................................4 + 3. SPF Trigger Strategies ..........................................6 + 4. SPF Delay Strategies ............................................6 + 4.1. Two-Step SPF Delay .........................................7 + 4.2. Exponential Back-Off Delay .................................7 + 5. Mixing Strategies ...............................................9 + 6. Benefits of Standardized SPF Delay Behavior ....................13 + 7. Security Considerations ........................................14 + 8. IANA Considerations ............................................14 + 9. References .....................................................14 + 9.1. Normative References ......................................14 + 9.2. Informative References ....................................15 + Acknowledgements ..................................................15 + Authors' Addresses ................................................15 + + + + + + + + + + + + + + + + + + + +Litkowski, et al. Informational [Page 2] + +RFC 8541 SPF Impact on IGP Micro-loops March 2019 + + +1. Introduction + + Link state IGP protocols are based on a topology database on which + the SPF algorithm is run to find a consistent set of non-looping + routing paths. + + Specifications like IS-IS [RFC1195] propose some optimizations of the + route computation (see Appendix C.1 of [RFC1195]), but not all + implementations follow those non-mandatory optimizations. + + In this document, we refer to the events that lead to a new SPF + computation based on the topology as "SPF triggers". + + Link state IGP protocols, like OSPF [RFC2328] and IS-IS [RFC1195], + use multiple timers to control the router behavior in case of churn: + SPF delay, Partial Route Computation (PRC) delay, Link State Packet + (LSP) generation delay, LSP flooding delay, and LSP retransmission + interval. + + Some of the values and behaviors of these timers are standardized in + protocol specifications, and some are not. The SPF computation- + related timers have generally remained unspecified. + + Implementations are free to implement non-standardized timers in any + way. For some standardized timers, implementations may offer + dynamically adjusted timers to help control the churn rather than use + static configurable values. + + "SPF delay" refers to the timer in most implementations that + specifies the required delay before running an SPF computation after + an SPF trigger is received. + + A micro-loop is a packet-forwarding loop that may occur transiently + among two or more routers in a hop-by-hop packet-forwarding paradigm. + These micro-loops are formed when two routers do not update their + Forwarding Information Bases (FIBs) for a certain prefix at the same + time. The micro-loop phenomenon is described in [MICROLOOP-LSRP]. + + Two micro-loop mitigation techniques have been defined by IETF. The + mechanism in [RFC6976] has not been widely implemented, presumably + due to the complexity of the technique. The mechanism in [RFC8333] + has been implemented. However, it does not prevent all micro-loops + that can occur for a given topology and failure scenario. + + + + + + + + +Litkowski, et al. Informational [Page 3] + +RFC 8541 SPF Impact on IGP Micro-loops March 2019 + + + In multi-vendor networks, using different implementations of a link + state protocol may favor micro-loop creation during the convergence + process due to discrepancies in timers. Service providers already + know to use timers with similar values and behaviors for all of the + network as a best practice, but this is sometimes not possible due to + the limitations of implementations. + + This document presents reasons for service providers to have + consistent implementation of link state protocols across vendors. In + particular, this document analyzes the impact of using different link + state IGP implementations in a single network with regard to micro- + loops. The analysis focuses on the SPF delay algorithm. + + [RFC8405] defines a solution that partially addresses this problem + statement, and this document captures the reasoning of the provided + solution. + +2. Problem Statement + + S ---- E + | | + 10 | | 10 + | | + D ---- A + | 2 + Px + + Figure 1: Network Topology Experiencing Micro-loops + + Figure 1 represents a small network composed of four routers (S, D, + E, and A). Router S primarily uses the SD link to reach the prefixes + behind router D (named Px). When the SD link fails, the IGP + convergence occurs. If S converges before E, S will forward the + traffic to Px through E; however, because E has not converged yet, E + will loop the traffic back to S, leading to a micro-loop. + + The micro-loop appears due to the asynchronous convergence of nodes + in a network when an event occurs. + + Multiple factors (or a combination of factors) may increase the + probability of a micro-loop appearing: + + o Delay of failure notification: The greater the time gap between E + and S being advised of the failure, the greater the chance that a + micro-loop may appear. + + + + + + +Litkowski, et al. Informational [Page 4] + +RFC 8541 SPF Impact on IGP Micro-loops March 2019 + + + o SPF delay: Most implementations support a delay for the SPF + computation to catch as many events as possible. If S uses an SPF + delay timer of x ms, E uses an SPF delay timer of y ms, and x < y, + E would start converging after S, leading to a potential micro- + loop. + + o SPF computation time: This is mostly a matter of CPU power and + optimizations like incremental SPF. If S computes its SPF faster + than E, there is a chance for a micro-loop to appear. Today, CPUs + are fast enough to consider the SPF computation time as negligible + (on the order of milliseconds in a large network). + + o SPF computation ordering: An SPF trigger can be common to multiple + IGP areas or levels (e.g., IS-IS Level 1 and Level 2) or to + multiple address families with multi-topologies. There is no + specified order for SPF computation today, and it is + implementation dependent. In such scenarios, if the order of SPF + computation done in S and E for each area, level, topology, or SPF + algorithm is different, there is a possibility for a micro-loop to + appear. + + o RIB and FIB prefix insertion speed or ordering: This is highly + dependent on the implementation. + + Even if all of these factors increase the probability of a micro-loop + appearing, the SPF delay plays a significant role, especially in case + of churn. As the number of IGP events increases, the delta between + the SPF delay values used by routers becomes significant; in fact, it + becomes the dominating factor (especially when one router increases + its timer exponentially while another one increases it in a smoother + way). Another important factor is the time to update the FIB. As of + today, the total FIB update time is the major factor for IGP + convergence. However, for micro-loops, what matters is not the total + time but the difference in installing the same prefix between nodes. + The time to update the FIB may be the main part for the first + iteration but not for subsequent IGP events. In addition, the time + to update the FIB is very implementation specific and difficult or + impossible to standardize, while the SPF delay algorithm may be + standardized. + + As a consequence, this document will focus on an analysis of SPF + delay behavior and associated triggers. + + + + + + + + + +Litkowski, et al. Informational [Page 5] + +RFC 8541 SPF Impact on IGP Micro-loops March 2019 + + +3. SPF Trigger Strategies + + Depending on the change advertised in the LSP or LSA (Link State + Advertisement), the topology may or may not be affected. An + implementation may avoid running the SPF computation (and may only + run an IP reachability computation instead) if the advertised change + does not affect the topology. + + Different strategies can trigger the SPF computation: + + 1. An implementation may always run a full SPF for any type of + change. + + 2. An implementation may run a full SPF only when required. For + example, if a link fails, a local node will run an SPF for its + local LSP update. If the LSP from the neighbor (describing the + same failure) is received after SPF has started, the local node + can decide that a new full SPF is not required as the topology + has not changed. + + 3. If the topology does not change, an implementation may only + recompute the IP reachability. + + As noted in Section 1, SPF optimizations are not mandatory in + specifications. This has led to the implementation of different + strategies. + +4. SPF Delay Strategies + + Implementations of link state routing protocols use different + strategies to delay SPF computation. The two most common SPF delay + behaviors are the following: + + 1. Two-step SPF delay + + 2. Exponential back-off delay + + These behaviors are explained in the following sections. + + + + + + + + + + + + + +Litkowski, et al. Informational [Page 6] + +RFC 8541 SPF Impact on IGP Micro-loops March 2019 + + +4.1. Two-Step SPF Delay + + The SPF delay is managed by four parameters: + + o rapid delay: the amount of time to wait before running SPF after + the initial SPF trigger event. + + o rapid runs: the number of consecutive SPF runs that can use the + rapid delay. When the number is exceeded, the delay moves to the + slow delay value. + + o slow delay: the amount of time to wait before running an SPF. + + o wait time: the amount of time to wait without detecting SPF + trigger events before going back to the rapid delay. + + Figure 2 displays the evolution of the SPF delay timer (based on a + two-step delay algorithm) upon the reception of multiple events. + Figure 2 considers the following parameters for the algorithm: rapid + delay (RD) = 50 ms, rapid runs = 3, slow delay (SD) = 1 s, wait time + = 2 s. + + SPF delay time + ^ + | + | + SD- | x xx x + | + | + | + RD- | x x x x + | + +---------------------------------> Events + | | | | || | | + < wait time > + + Figure 2: Two-Step SPF Delay Algorithm + +4.2. Exponential Back-Off Delay + + The algorithm has two modes: fast mode and back-off mode. In fast + mode, the SPF delay is usually delayed by a very small amount of time + (fast reaction). When an SPF computation is run in fast mode, the + algorithm automatically moves to back-off mode (a single SPF run is + authorized in fast mode). In back-off mode, the SPF delay increases + exponentially in each run. When the network becomes stable, the + algorithm moves back to fast mode. The SPF delay is managed by four + parameters: + + + +Litkowski, et al. Informational [Page 7] + +RFC 8541 SPF Impact on IGP Micro-loops March 2019 + + + o first delay: amount of time to wait before running SPF. This + delay is used only when SPF is in fast mode. + + o incremental delay: amount of time to wait before running SPF. + This delay is used only when SPF is in back-off mode and + increments exponentially at each SPF run. + + o maximum delay: maximum amount of time to wait before running SPF. + + o wait time: amount of time to wait without events before going back + to fast mode. + + Figure 3 displays the evolution of the SPF delay timer (based on an + exponential back-off delay algorithm) upon the reception of multiple + events. Figure 3 considers the following parameters for the + algorithm: first delay (FD) = 50 ms, incremental delay (ID) = 50 ms, + maximum delay (MD) = 1 s, wait time = 2 s + + SPF delay time + ^ + MD- | xx x + | + | + | + | + | + | x + | + | + | + | x + | + FD- | x x x + ID | + +---------------------------------> Events + | | | | || | | + < wait time > + FM->BM -------------------->FM + + Figure 3: Exponential Back-Off Delay Algorithm + + + + + + + + + + + +Litkowski, et al. Informational [Page 8] + +RFC 8541 SPF Impact on IGP Micro-loops March 2019 + + +5. Mixing Strategies + + Figure 1 illustrates a flow of packets from S to D. S uses optimized + SPF triggering (full SPF is triggered only when necessary) and two- + step SPF delay (rapid delay = 150 ms, rapid runs = 3, slow delay = 1 + s). As the implementation of S is optimized, PRC is available. For + PRC delay, we consider the same timers as for SPF delay. E uses an + SPF trigger strategy that always computes a full SPF for any change + and uses the exponential back-off strategy for SPF delay (first delay + = 150 ms, incremental delay = 150 ms, maximum delay = 1 s). + + Consider the following sequence of events: + + o t0=0 ms: A prefix is declared down in the network. This event + happens at time=0. + + o 200 ms: The prefix is declared up. + + o 400 ms: The prefix is declared down in the network. + + o 1000 ms: S-D link fails. + + +---------+-------------------+------------------+------------------+ + | Time | Network Event | Router S Events | Router E Events | + +---------+-------------------+------------------+------------------+ + | t0=0 | Prefix DOWN | | | + | 10 ms | | Schedule PRC (in | Schedule SPF (in | + | | | 150 ms) | 150 ms) | + | | | | | + | | | | | + | 160 ms | | PRC starts | SPF starts | + | 161 ms | | PRC ends | | + | 162 ms | | RIB/FIB starts | | + | 163 ms | | | SPF ends | + | 164 ms | | | RIB/FIB starts | + | 175 ms | | RIB/FIB ends | | + | 178 ms | | | RIB/FIB ends | + | | | | | + | 200 ms | Prefix UP | | | + | 212 ms | | Schedule PRC (in | | + | | | 150 ms) | | + | 214 ms | | | Schedule SPF (in | + | | | | 150 ms) | + | | | | | + | | | | | + | 370 ms | | PRC starts | | + | 372 ms | | PRC ends | | + | 373 ms | | | SPF starts | + + + +Litkowski, et al. Informational [Page 9] + +RFC 8541 SPF Impact on IGP Micro-loops March 2019 + + + | 373 ms | | RIB/FIB starts | | + | 375 ms | | | SPF ends | + | 376 ms | | | RIB/FIB starts | + | 383 ms | | RIB/FIB ends | | + | 385 ms | | | RIB/FIB ends | + | | | | | + | 400 ms | Prefix DOWN | | | + | 410 ms | | Schedule PRC (in | Schedule SPF (in | + | | | 300 ms) | 300 ms) | + | | | | | + | | | | | + | | | | | + | | | | | + | 710 ms | | PRC starts | SPF starts | + | 711 ms | | PRC ends | | + | 712 ms | | RIB/FIB starts | | + | 713 ms | | | SPF ends | + | 714 ms | | | RIB/FIB starts | + | 716 ms | | RIB/FIB ends | RIB/FIB ends | + | | | | | + | 1000 ms | S-D link DOWN | | | + | 1010 ms | | Schedule SPF (in | Schedule SPF (in | + | | | 150 ms) | 600 ms) | + | | | | | + | | | | | + | 1160 ms | | SPF starts | | + | 1161 ms | | SPF ends | | + | 1162 ms | Micro-loop may | RIB/FIB starts | | + | | start from here | | | + | 1175 ms | | RIB/FIB ends | | + | | | | | + | | | | | + | | | | | + | | | | | + | 1612 ms | | | SPF starts | + | 1615 ms | | | SPF ends | + | 1616 ms | | | RIB/FIB starts | + | 1626 ms | Micro-loop ends | | RIB/FIB ends | + +---------+-------------------+------------------+------------------+ + + Table 1: Route Computation When S and E Use Different Behaviors and + Multiple Events Appear + + + + + + + + + +Litkowski, et al. Informational [Page 10] + +RFC 8541 SPF Impact on IGP Micro-loops March 2019 + + + In Table 1, due to discrepancies in the SPF management and after + multiple events of different types, the values of the SPF delay are + completely misaligned between node S and node E, leading to the + creation of micro-loops. + + The same issue can also appear with only a single type of event as + shown below: + + +---------+-------------------+------------------+------------------+ + | Time | Network Event | Router S Events | Router E Events | + +---------+-------------------+------------------+------------------+ + | t0=0 | Link DOWN | | | + | 10 ms | | Schedule SPF (in | Schedule SPF (in | + | | | 150 ms) | 150 ms) | + | | | | | + | | | | | + | 160 ms | | SPF starts | SPF starts | + | 161 ms | | SPF ends | | + | 162 ms | | RIB/FIB starts | | + | 163 ms | | | SPF ends | + | 164 ms | | | RIB/FIB starts | + | 175 ms | | RIB/FIB ends | | + | 178 ms | | | RIB/FIB ends | + | | | | | + | 200 ms | Link DOWN | | | + | 212 ms | | Schedule SPF (in | | + | | | 150 ms) | | + | 214 ms | | | Schedule SPF (in | + | | | | 150 ms) | + | | | | | + | | | | | + | 370 ms | | SPF starts | | + | 372 ms | | SPF ends | | + | 373 ms | | | SPF starts | + | 373 ms | | RIB/FIB starts | | + | 375 ms | | | SPF ends | + | 376 ms | | | RIB/FIB starts | + | 383 ms | | RIB/FIB ends | | + | 385 ms | | | RIB/FIB ends | + | | | | | + | 400 ms | Link DOWN | | | + | 410 ms | | Schedule SPF (in | Schedule SPF (in | + | | | 150 ms) | 300 ms) | + | | | | | + | | | | | + | 560 ms | | SPF starts | | + | 561 ms | | SPF ends | | + + + + +Litkowski, et al. Informational [Page 11] + +RFC 8541 SPF Impact on IGP Micro-loops March 2019 + + + | 562 ms | Micro-loop may | RIB/FIB starts | | + | | start from here | | | + | 568 ms | | RIB/FIB ends | | + | | | | | + | | | | | + | 710 ms | | | SPF starts | + | 713 ms | | | SPF ends | + | 714 ms | | | RIB/FIB starts | + | 716 ms | Micro-loop ends | | RIB/FIB ends | + | | | | | + | 1000 ms | Link DOWN | | | + | 1010 ms | | Schedule SPF (in | Schedule SPF (in | + | | | 1 s) | 600 ms) | + | | | | | + | | | | | + | | | | | + | | | | | + | 1612 ms | | | SPF starts | + | 1615 ms | | | SPF ends | + | 1616 ms | Micro-loop may | | RIB/FIB starts | + | | start from here | | | + | 1626 ms | | | RIB/FIB ends | + | | | | | + | | | | | + | | | | | + | | | | | + | 2012 ms | | SPF starts | | + | 2014 ms | | SPF ends | | + | 2015 ms | | RIB/FIB starts | | + | 2025 ms | Micro-loop ends | RIB/FIB ends | | + | | | | | + | | | | | + +---------+-------------------+------------------+------------------+ + + Table 2: Route Computation upon Multiple Link Down Events When S and + E Use Different Behaviors + + + + + + + + + + + + + + + +Litkowski, et al. Informational [Page 12] + +RFC 8541 SPF Impact on IGP Micro-loops March 2019 + + +6. Benefits of Standardized SPF Delay Behavior + + Table 3 uses the same event sequence as Table 1. Fewer and/or + shorter micro-loops are expected using a standardized SPF delay. + + +---------+-------------------+------------------+------------------+ + | Time | Network Event | Router S Events | Router E Events | + +---------+-------------------+------------------+------------------+ + | t0=0 | Prefix DOWN | | | + | 10 ms | | Schedule PRC (in | Schedule PRC (in | + | | | 150 ms) | 150 ms) | + | | | | | + | | | | | + | 160 ms | | PRC starts | PRC starts | + | 161 ms | | PRC ends | | + | 162 ms | | RIB/FIB starts | PRC ends | + | 163 ms | | | RIB/FIB starts | + | 175 ms | | RIB/FIB ends | | + | 176 ms | | | RIB/FIB ends | + | | | | | + | 200 ms | Prefix UP | | | + | 212 ms | | Schedule PRC (in | | + | | | 150 ms) | | + | 213 ms | | | Schedule PRC (in | + | | | | 150 ms) | + | | | | | + | | | | | + | 370 ms | | PRC starts | PRC starts | + | 372 ms | | PRC ends | | + | 373 ms | | RIB/FIB starts | PRC ends | + | 374 ms | | | RIB/FIB starts | + | 383 ms | | RIB/FIB ends | | + | 384 ms | | | RIB/FIB ends | + | | | | | + | 400 ms | Prefix DOWN | | | + | 410 ms | | Schedule PRC (in | Schedule PRC (in | + | | | 300 ms) | 300 ms) | + | | | | | + | | | | | + | | | | | + | | | | | + | 710 ms | | PRC starts | PRC starts | + | 711 ms | | PRC ends | PRC ends | + | 712 ms | | RIB/FIB starts | | + | 713 ms | | | RIB/FIB starts | + | 716 ms | | RIB/FIB ends | RIB/FIB ends | + | | | | | + | 1000 ms | S-D link DOWN | | | + + + +Litkowski, et al. Informational [Page 13] + +RFC 8541 SPF Impact on IGP Micro-loops March 2019 + + + | 1010 ms | | Schedule SPF (in | Schedule SPF (in | + | | | 150 ms) | 150 ms) | + | | | | | + | | | | | + | 1160 ms | | SPF starts | | + | 1161 ms | | SPF ends | SPF starts | + | 1162 ms | Micro-loop may | RIB/FIB starts | SPF ends | + | | start from here | | | + | 1163 ms | | | RIB/FIB starts | + | 1175 ms | | RIB/FIB ends | | + | 1177 ms | Micro-loop ends | | RIB/FIB ends | + +---------+-------------------+------------------+------------------+ + + Table 3: Route Computation When S and E Use the Same Standardized + Behavior + + As displayed above, there can be other parameters, like router + computation power and flooding timers, that may also influence micro- + loops. In all the examples in this document comparing the SPF timer + behavior of router S and router E, we have made router E a bit slower + than router S. This can lead to micro-loops even when both S and E + use a common standardized SPF behavior. However, by aligning + implementations of the SPF delay, we expect that service providers + may reduce the number and duration of micro-loops. + +7. Security Considerations + + This document does not introduce any security considerations. + +8. IANA Considerations + + This document has no actions for IANA. + +9. References + +9.1. Normative References + + [RFC1195] Callon, R., "Use of OSI IS-IS for routing in TCP/IP and + dual environments", RFC 1195, DOI 10.17487/RFC1195, + December 1990, <https://www.rfc-editor.org/info/rfc1195>. + + [RFC2328] Moy, J., "OSPF Version 2", STD 54, RFC 2328, + DOI 10.17487/RFC2328, April 1998, + <https://www.rfc-editor.org/info/rfc2328>. + + + + + + + +Litkowski, et al. Informational [Page 14] + +RFC 8541 SPF Impact on IGP Micro-loops March 2019 + + + [RFC8405] Decraene, B., Litkowski, S., Gredler, H., Lindem, A., + Francois, P., and C. Bowers, "Shortest Path First (SPF) + Back-Off Delay Algorithm for Link-State IGPs", RFC 8405, + DOI 10.17487/RFC8405, June 2018, + <https://www.rfc-editor.org/info/rfc8405>. + +9.2. Informative References + + [MICROLOOP-LSRP] + Zinin, A., "Analysis and Minimization of Microloops in + Link-state Routing Protocols", Work in Progress, + draft-ietf-rtgwg-microloop-analysis-01, October 2005. + + [RFC6976] Shand, M., Bryant, S., Previdi, S., Filsfils, C., + Francois, P., and O. Bonaventure, "Framework for Loop-Free + Convergence Using the Ordered Forwarding Information Base + (oFIB) Approach", RFC 6976, DOI 10.17487/RFC6976, July + 2013, <https://www.rfc-editor.org/info/rfc6976>. + + [RFC8333] Litkowski, S., Decraene, B., Filsfils, C., and P. + Francois, "Micro-loop Prevention by Introducing a Local + Convergence Delay", RFC 8333, DOI 10.17487/RFC8333, March + 2018, <https://www.rfc-editor.org/info/rfc8333>. + +Acknowledgements + + The authors would like to thank Mike Shand and Chris Bowers for their + useful comments. + +Authors' Addresses + + Stephane Litkowski + Orange Business Service + + Email: stephane.litkowski@orange.com + + + Bruno Decraene + Orange + + Email: bruno.decraene@orange.com + + + Martin Horneffer + Deutsche Telekom + + Email: martin.horneffer@telekom.de + + + + +Litkowski, et al. Informational [Page 15] + |