Changes to RIPE Routing-WG Recommendations For Coordinated Route-flap Damping Parameters
Legend | (+) Added | (-) Deleted |
---|---|---|
Changed | Tag Added | Tag Deleted |
insert: <a class="anchor-link" href="#introduction"> Introduction insert: </a> insert: </p>
insert: <p>insert: <a class="anchor-link" href="#history"> History and Background insert: </a> insert: </p>
insert: <p>insert: <a class="anchor-link" href="#analysis"> Analysis insert: </a> insert: </p>
insert: <p>insert: <a class="anchor-link" href="#recommendations"> Recommendations insert: </a> insert: </p>
insert: <p>insert: <a class="anchor-link" href="#references"> References and Further Reading insert: </a> insert: </p>
insert: <h2>insert: </h2>
insert: <h3>insert: <a name="introduction"> insert: </a> Introduction insert: </h3>
insert: <p>Route Flap Damping (RFD) [ insert: <a class="anchor-link" href="#ref1"> 1 insert: </a> ] is a mechanism for BGP speaking routers that penalises prefixes that exhibit a large number of updates (‘flapping'), and suppresses a route when the accumulated penalty exceeds a given threshold. The penalty decays over time until it reaches a lower threshold at which point the route is unsuppressed. RFD is intended to improve the overall stability of the Internet routing table and reduce the load on BGP speaking routers. In ripe-378 [ insert: <a class="anchor-link" href="#ref2"> 2 insert: </a> ] it was stated that due to the dynamics of BGP, especially a phenomenon called ‘path hunting,' the default configurations of flap damping can do more harm than good as it may suppress a prefix after it has only flapped a few times. Consequently RFD was deprecated due to the problem of over damping (see [ insert: <a class="anchor-link" href="#ref2"> 2 insert: </a> ] for more details). insert: </p>
insert: <p>A small number of prefixes on the Internet continue to flap rapidly and cause a disproportionate number of updates to BGP and load on BGP speaking routers. This document uses experimental data gathered from an operational environment to suggest changes to the RFD parameters to suppress the prefixes that flap the most, while minimising the suppression of other prefixes. insert: </p>
insert: <p>This document suggests parameters which would make RFD usable and is based around the work of Cristel Pelsser, Olaf Maennel, Pradosh Mohapatra, Randy Bush, and Keyur Patel presented at PAM2011[ insert: <a class="anchor-link" href="#ref3"> 3 insert: </a> ]. insert: </p>
insert: <h3>insert: <a name="history"> insert: </a> History and Background insert: </h3>
insert: <p>In the early 1990s the accelerating growth in the number of prefixes being announced to the Internet (often due to inadequate prefix aggregation), the denser meshing through multiple inter-provider paths, and increased instabilities started to cause significant impact on the performance and efficiency of some Internet backbone routers. Every time a routing prefix altered state because of a single line-flap, the withdrawal was advertised to the whole BGP-Speaking Zone (BSZ) and handled by every router that carried the full Internet routing table. insert: </p>
insert: <p>The load this processing placed on the control planes of routers caused further instability as the routers were not able to process other BGP updates or they dropped traffic transiting the device. This could produce cyclic crashing behaviour. insert: </p>
insert: <p>To overcome this situation RFD was developed in 1993 and has since been integrated into most router BGP software implementations. RFD is described in detail in RFC 2439[ insert: <a class="anchor-link" href="#ref1"> 1] insert: </a> . insert: </p>
insert: <p>When RFD was first implemented in commercial routers, vendor implementations had different default values and different characteristics. As this inconsistency would result in different rates of flap damping, and therefore introduce inconsistent path selection and behavior that was hard to diagnose, the operator community introduced a consistent set of recommendations for flap damping parameters, so that ISPs deploying RFD would treat flapping prefixes in the same way. insert: </p>
insert: <p>This call for consistency resulted in the RIPE Routing Working Group producing first ripe-178, then ripe-210, and finally the ripe-229 documents [ insert: <a class="anchor-link" href="#ref2a"> 2a insert: </a> ]. The parameters documented in ripe-229 were considered, at time of publication in 2001, the best current practice. In 2006, this was reviewed again and resulted in ripe-378 [ insert: <a class="anchor-link" href="#ref2"> 2 insert: </a> ] which recommended to disable RFD because it created more harm than good. insert: </p>
insert: <h3>insert: <a name="analysis"> insert: </a> Analysis insert: </h3>
insert: <p>In the work by Pelsser et al [ insert: <a class="anchor-link" href="#ref3"> 3 insert: </a> ], it is shown that 3% of all prefixes cause 36% of BGP updates, and just 0.01% of the prefixes cause 10% of the BGP updates. The aim is to only penalise those prefixes with excessive numbers of updates. insert: </p>
insert: <p>The default values used in current implementations of RFD apply a penalty of 1000 each time a route flaps, and suppresses the prefix when the penalty exceeds a figure in the region of 2000 (Cisco IOS) or 3000 (Juniper JunOS). insert: </p>
insert: <p>The table shows the percentage of prefixes above the suppress threshold and the percentage reduction in BGP churn for various values of suppress threshold. The current default suppress value of 2000 reduces BGP churn by 47%, but it suppressed 14% of the prefixes at some point over the lifetime of the experiment. Significantly larger values of suppress threshold such as 12000, 15000 or 18000 still reduced BGP churn, but suppressed far fewer prefixes which it is believed reduces the risk of penalising otherwise well-behaved prefixes. insert: </p>
insert: <p>insert: </p>
insert: <table class="listing"> insert: <p> insert: <b> Suppress insert: </b> insert: </p> insert: <p>insert: <b> Threshold insert: </b> insert: </p> insert: </td> | insert: <td> insert: <p> insert: <b> % prefixes insert: </b> insert: </p> insert: <p>insert: <b> suppressed insert: </b> insert: </p> insert: </td> | insert: <td> insert: <p> insert: <b> % reduction in BGP churn insert: </b> insert: </p> insert: <p>insert: <b> compared with no damping insert: </b> insert: </p> insert: </td> | insert: </tr>
insert: <p> 2000 insert: </p> insert: <p>4000 insert: </p> insert: <p>6000 insert: </p> insert: <p>12000 insert: </p> insert: <p>15000 insert: </p> insert: <p>18000 insert: </p> insert: </td> | insert: <td> insert: <p> 14 insert: </p> insert: <p>4.2 insert: </p> insert: <p>2.1 insert: </p> insert: <p>0.63 insert: </p> insert: <p>0.44 insert: </p> insert: <p>0.32 insert: </p> insert: </td> | insert: <td> insert: <p> 47 insert: </p> insert: <p>26 insert: </p> insert: <p>19 insert: </p> insert: <p>11.26 insert: </p> insert: <p>9.51 insert: </p> insert: <p>8.12 insert: </p> insert: </td> | insert: </tr>
insert: <a name="recommendations"> insert: </a> Recommendations insert: </h3>
insert: <p>In order to punish the biggest offenders - those prefixes that flap the most – yet without punishing others, the RIPE Routing-WG recommends vendors raise the maximum suppress threshold in router implementations to 50,000 and operators configure a suppress threshold value of at least 6,000. The vendors might also change the default suppress threshold to 6,000. But this might surprise operators who use the default. insert: </p>
insert: <p>This has a number of advantages: insert: </p>
insert: <ul>- insert: <li>
- it is easy to implement insert: </li> insert: <li>
- it will reduce the churn compared to the situation we havenow where no RFD is applied insert: </li> insert: <li>
- it spares the smaller offenders. insert: </li> insert: </ul>
Changing the default suppress threshold could result in an increase in forwarding table size or announcement rate for operators who use RFD with the default settings. This warrants further discussion. insert: </p>
insert: <h3>insert: <a name="references"> insert: </a> References and Further Reading insert: </h3>
insert: <p>insert: <a name="ref1"> insert: </a> [1] Curtis Villamizar, Ravi Chandra, Ramesh Govindan insert: </p>
insert: <p>RFC2439: BGP Route-flap Damping (Proposed Standard) insert: </p>
insert: <p>insert: <a href="ftp://ftp.ietf.org/rfc/rfc2439.txt"> ftp://ftp.ietf.org/rfc/rfc2439.txt insert: </a> insert: </p>
insert: <p>insert: </p>
insert: <p>insert: <a name="ref2"> insert: </a> [2] Most recent RIPE Document insert: </p>
insert: <p>insert: <a href="ftp://ftp.ripe.net/ripe/docs/ripe-378.txt"> ftp://ftp.ripe.net/ripe/docs/ripe-378.txt insert: </a> insert: </p>
insert: <p>insert: </p>
insert: <p>insert: <a name="ref2a"> insert: </a> [2a] Older RIPE Documents insert: </p>
insert: <p>insert: <a href="ftp://ftp.ripe.net/ripe/docs/ripe-178.txt"> ftp://ftp.ripe.net/ripe/docs/ripe-178.txt insert: </a> insert: </p>
insert: <p>insert: <a href="ftp://ftp.ripe.net/ripe/docs/ripe-210.txt"> ftp://ftp.ripe.net/ripe/docs/ripe-210.txt insert: </a> insert: </p>
insert: <p>insert: <a href="ftp://ftp.ripe.net/ripe/docs/ripe-229.txt"> ftp://ftp.ripe.net/ripe/docs/ripe-229.txt insert: </a> insert: </p>
insert: <p>insert: </p>
insert: <p>insert: <a name="ref3"> insert: </a> [3] Cristel Pelsser, Olaf Maennel, Pradosh Mohapatra, Randy Bush and Keyur Patel. "Route Flap Damping Made Usable". PAM 2011, March 2011. insert: </p>
insert: <p>insert: <a href="http://www.iij-ii.co.jp/en/lab/researchers/cristel/publications/Pelsser-RFD-PAM2011.pdf"> http://www.iij-ii.co.jp/en/lab/researchers/cristel/publications/Pelsser-RFD-PAM2011.pdf insert: </a> insert: </p>
insert: <p>insert: </p>
insert: <p>[4] Zhouqing Mao, Ramesh Govindan, George Varghese, Randy Katz insert: </p>
insert: <p>Route-flap Damping Exacerbates Internet Routing Congerence SIGCOMM 2002 insert: </p>
insert: <p>insert: <a href="http://www.eecs.umich.edu/~zmao/Papers/sig02.pdf"> http://www.eecs.umich.edu/~zmao/Papers/sig02.pdf insert: </a> insert: </p>
insert: <p>insert: </p>
insert: <p>[5] Randy Bush, Tim Griffin, Zhouqing Mao Route-flap Damping: Harmful? insert: </p>
insert: <p>NANOG 26 insert: </p>
insert: <p>insert: <a href="http://www.nanog.org/mtg-0210/ppt/flap.pdf"> http://www.nanog.org/mtg-0210/ppt/flap.pdf insert: </a> insert: </p>
insert: <p>insert: </p>
insert: <p>[6] Craig Labovitz, Abha Ahuja, Abhijit Bose, Farnam Jihanian insert: </p>
insert: <p>Delayed Internet Routing Convergence SIGCOMM 2000 insert: </p>
insert: <p>insert: <a href="http://conferences.sigcomm.org/sigcomm/2000/conf/paper/sigcomm2000-5-2.pdf"> http://conferences.sigcomm.org/sigcomm/2000/conf/paper/sigcomm2000-5-2.pdf insert: </a> insert: </p>