BGP Dampening

1.設計目標

1.1 目標

①提供一種機制,減小某條路由路徑頻繁浮動造成的不穩定性

②防止持續振盪的發生

③某條路由路徑的浮動不應當影響其它路由路徑的正常工作(收斂)

1.2 Dampening的功能

針對於某條eBGP路由路徑,BGP進程將跟蹤其路由狀態,當其flap次數較大時,通過分配相應的懲罰值,使該路由路徑暫時無法參與最佳路徑選舉

而當該路由路徑趨於穩定時,當前該路由恢復最佳路徑參選資格,其歷史flap記錄將被保存一段時間直至完全穩定後清除


2.Dampening參數

2.1 Penalty

①當某條路徑發生浮動時,該路徑將被分配一個penalty

Ciscodampening實現中,默認路由路徑的penalty0,翻動一次增加1000,只有屬性改變時,增加500

HUAWEIdampening實現中,發生翻動,penalty值增加1000

③每隔一定的時間,penalty值都將減小,其減小的具體取值是由Half Life決定的——half-life越大,penalty減小得越緩慢

penalty值不可配置

2.2 History State

①開啓dampening後,收到withdrawn message時並不會在BGP轉發表中將該路徑刪除,而是將其stateflag置爲h

當路由路徑的flagh時,此路由無法進行轉發

②由於屬性改變而造成flap時,不會設置flag h

③設置flag h後如果收到Update message,如果未被抑制,其flag回到*

2.3 Suppress Limit

①是一個可配置的值

②當penalty達到或超過該值時,當前路由路徑將不再具有參與最佳路徑選舉的資格

2.4 Damp State

①一旦路由路徑penalty值達到suppress limit後,其stateflag被置爲d

②此時如果路由路徑被回收,在Ciscodampening實現中不再設置flagh而是以d代替

HUAWEIdampening實現中,只要路由被回收,其flag都將設置爲h,而再次收到更新時纔會切換爲d

③此時如果收到Update messageflag d不會消失,而是顯示*d——路由路徑有效,但是無資格參選最佳路徑

2.5 Half Life

①是一個可配置的值

②指的是penalty值減小一半所需要的時間間隔。penalty值越大時,由於需要在halflife時間內減小到當前值的一半,其penalty的減幅也會越大

2.6 Reuse Limit

①是一個可配置的值

②一旦penalty達到suppress limit而失去參選資格後,只有在penalty值減小到reuselimit以內後才能恢復參選資格

2.7 Maximum Suppress LimitCeiling

①在Cisco實現中可以通過配置max-suppress-time來獲得maximumsuppress limit

HUAWEI的實現中,該值可以直接配置,該參數被稱爲ceiling

maximum suppress limitceiling)是一個penalty的上限值,防止路由flap時,penalty無限制上升

Cisco實現:221335994.png

要求:

reuse-limit < suppress-limit < max-penalty

HUAWEI實現:221415830.png

要求:

reuse-limit < suppress-limit < ceiling

max-suppress-time 1——ceiling/reuse足夠大


3.作用對象

①該特性僅針對eBGP路由

以路徑爲單位,如果某條路由存在多條路徑,其中一條浮動時對其它路徑不影響


4.實現

4.1 如何被視爲flap一次

①當前設備收到withdrawn message時,即認爲此路由flap一次——此時增加penalty 1000

注意:

收到NLRI時並不視作flap

②在Ciscodampening實現中,收到Updatemessage中的Attributes發生改變也被視爲flap——此時增加penalty 500

4.2 案例

221439949.png

如上圖所示,R1R2建立eBGP peerR1產生Net A並通告給R2R2學習到更新,其state flag*>

R2上運行BGP Dampening,設置half-life2 minreuse-limit2000suppress-limit3000maximum-suppress-time2 min,即maximum-suppress-limit4000

R1上取消Net A的通告

R2收到R1Update message後,並不刪除Net A,而是將其state flag置爲h,並且增加penalty值爲1000flap count1

R1再次通告Net AR2收到Update message後,將其state flag置爲*>flap count1

R1上修改Net AMED100,並通告更新,R2收到後,state flag依然爲*>,假定此前penalty已經減小到900

此時Cisco實現中,penalty值爲1900flap count2

HUAWEI實現中,penalty依然爲900flap count1

R1取消通告Net AR2state flagh

Cisco實現中,penalty2900flap count3

HUAWEI實現中,penalty1900flap count2

R1先後兩次再通告Net A,然後再次取消通告,假定此前penalty減小到2500,此時penalty值爲3500,超過suppress-limit

Cisco實現中,其state flagdflap count5

HUAWEI實現中,其stateflaghflap count4

R1通告Net AR2

Cisco實現中,state flag*dpenalty3500flap count5

HUAWEI實現中,state flagdpenalty3500flap count4

⑨一段時間後,R2penalty值小於2000state flag變爲*>;當達到2 min時,penalty值減小到dampening時的一半,爲1750

⑩在相當的時間後,penalty值回到0,對於該路由路徑的所有flap記錄將被清空


5.相關配置

5.1 配置命令

1Cisco

Router(config-router-af)#bgpdampening <half-life> <reuse-limit> <suppress-limit><maximum-suppress-time>


Router(config-router-af)#bgp dampening route-map <name> //針對特定的路由部署dampening

與上一個命令相互間爲替代關係

route-map寫法示例:

route-map <name> permit <id>

match ……

set dampening <half-life> <reuse-limit><suppress-limit> <maximum-suppress-time>

2HUAWEI

[Huawei-bgp-af-ipv4]dampening<half-life> <reuse> <suppress> <ceiling>


[Huawei-bgp-af-ipv4]dampeningroute-policy <name>


[Huawei-bgp-af-ipv4]dampening<half-life> <reuse> <suppress> <ceiling> route-policy<name>

HUAWEI的實現中,允許route-policy與全局dampening共同使用,此時對於route-policy中匹配的路由,route-policy中設置的dampening值生效

如果route-map中只匹配路由而不設定dampening值,此時dampening將與全局保持一致

5.2 查看命令

1Cisco

①查看dampening參數值

Router#show ip bgp ipv4unicast dampening parameters

示例:

221501265.png

②查看浮動路由的信息

Router#show ip bgp ipv4unicast dampening flap-statistics

示例:

221538841.png

③查看已經被抑制的路由

Router#show ip bgp ipv4unicast dampening dampened-paths

示例:

221607479.png

④查看某個鄰居通告更新的浮動信息

Router#show ip bgpneighbors <a.b.c.d> flap-statistics

示例:

221634688.png

⑤查看某個對等體通告的被抑制的路由

Router#show ip bgpneighbors <a.b.c.d> dampened-routes

示例:

221659543.png

2HUAWEI

①查看dampening參數值

<Huawei>displaybgp routing-table damepening parameter

示例:

221725344.png

②查看浮動路由的信息

<Huawei>displaybgp routing-table flap-info

示例:

221743493.png

③查看已經被抑制的路由

<Huawei>displaybgp routing-table dampened

示例:

221807173.png

5.3 清除命令

1Cisco

Router#clear ip bgpdampening

2HUAWEI

<Huawei>reset bgpdampening


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章