跨網域路由與 BGP

路由抖動(route flapping)

颳風時,房子上一扇沒固定好的百葉窗會砰地開、砰地關、開、關——吵得四周的人不得安寧。路由抖動(route flapping)就是網路版的這件事:一條 BGP 路由反覆地出現又消失——被宣告、被撤回、再被宣告、又被撤回——通常是因為一條不穩定的鏈路或一台不可靠的路由器一直上上下下。每一次翻動本身無害,但快速反覆才是問題。

為什麼它有害:每當路由變動一次,BGP 就必須送一則更新(一則宣告或一則撤回)給每個鄰居,鄰居必須重跑它的決策流程、可能改變它的最佳路徑、再把消息傳給「它們的」鄰居。因此,某個網路深處一條不穩定的鏈路,可能向網際網路大片區域輻射出一場更新風暴,讓各處的路由器在反覆重算中燃燒 CPU。最壞的情況下,一次抖動可能連鎖擴散,使遠超出原始故障範圍的路由變得不穩。

經典的防禦手段是路由抖動抑制(route flap damping):路由器觀察某條特定路由變動的頻率,每翻動一次就給它一個逐漸升高的懲罰值,一旦懲罰跨越門檻便壓抑該路由——即使它目前看起來是通的,也暫時拒絕使用或傳播它——直到它穩定夠久、讓懲罰值衰減下去為止。不過抑制必須小心調校:設得太激進,可能把一條其實已真正恢復的路由壓抑過久,所以現代的建議是溫和地抑制,或乾脆改用更穩定的硬體與軟體。

一條接頭鬆動的光纖每隔幾秒就忽通忽斷。每次它通了,連著的路由器就再宣告它的前綴;每次它斷了,就撤回它。鄰居們看到宣告/撤回/宣告/撤回,並把每次變動往外傳播,使遠處路由器的 CPU 飆高。抖動抑制會在幾個週期後壓抑這個前綴,直到光纖修好並保持通暢為止。

一條不穩定鏈路反覆的宣告/撤回週期,可向網際網路輻射出更新風暴;抑制機制會壓抑它。

抖動是穩定性問題,而非安全攻擊——但激進的抖動抑制是個眾所周知的自傷陷阱:它可能讓一條已完全恢復的路由被壓抑得遠比實際斷線時間更久,反而損害可達性。

又称
flapping路由抖動路由振盪