1. 程式人生 > >華為路由器BGP路由選路和負載均衡

華為路由器BGP路由選路和負載均衡

session 1 華為路由器BGP選路

       BGP的路由選路是根據路由所攜帶的屬性,和IGP不一樣(igp是根據metric),選路的原則就是屬性,每個屬性的選路優先順序不一樣,在華為裝置中有幾個重點選路屬性,分別為:bgp協議優先順序、下一跳屬性、本地優先順序屬性、AS_path屬性、MED屬性等。以下面拓撲為例說明bgp的選路:


一、bgp協議優先順序,影響不同協議的路由選擇。

[AR1]bgp 1

[AR1-bgp]ipv4

[AR1-bgp]ipv4-family unicast 

[AR1-bgp-af-ipv4]preference 1 2 10                   優先順序用於比較不同協議之間的路由選擇,值小優先,設定ebgp優先順序1,ibgp優先順序1,本地建立的優先順序。

[AR1-bgp-af-ipv4]quit
[AR1-bgp]quit
[AR1]

二、next-hop下一跳屬性,影響ebgp傳遞給ibgp鄰居的路由選擇

        路由器將自己從ebgp鄰居學到的路由傳遞給ibgp鄰居時,因為下一跳地址沒有改變,所以被ibgp鄰居標記為路由不可達從而無法進入bgp路由表成為有效路由,需要在路由器上做next-hop屬性修改將傳遞給ibgp鄰居的路由的下一跳指向自己。


       上述拓撲中R1從自己的ebgp鄰居R2學習到100.1.1.1/32,下一跳為12.1.1.2/24的路由,那麼他在傳遞給自己的ibgp鄰居R3時預設是不會改變100.1.1.1/32路由的下一跳地址,依然是12.1.1.2/24,當R3收到這條路由時發現下一跳是12.1.1.2/24不可達時就會將這條路由標記為無效路由,無法進入RIB路由表,需要在R1上修改該路由的next-hop屬性讓傳遞給R3的100.1.1.1/32的路由下一跳指向自己13.1.1.1/24,從而讓R3學到有效的路由。

[AR1]bgp 1

[AR1-bgp]ipv4-family unicast

[AR1-bgp-af-ipv4]peer 3.3.3.3 next-hop-local           傳遞給3.3.3.3(r-id)的路由下一跳修改為自己

[AR1-bgp-af-ipv4]quit
[AR1-bgp]quit
[AR1]

三、BGP路由首選值(大為優),華為私有,優先順序大於其他任何屬性,但僅在本地有效

[AR1]bgp 1

[AR1-bgp]ipv4-family unicast

[AR1-bgp-af-ipv4]peer 3.3.3.3 preferred-value 10         鄰居3.3.3.3走的路由首選值改為10(預設為0)讓去往100.1.1.1/32從AR3走

[AR1-bgp-af-ipv4]quit
[AR1-bgp]quit
[AR1]

四、Local_Pref本地優先順序屬性,此屬性用於選擇離開AS域時做路由的選路,當有多條路徑(多個IBGP鄰居)通往AS外部的同一個目的地址時用於路由選路,值越大優先順序越高,本地有效,此屬性表明的是路由器的優先順序而不是路由的優先順序(只作用於IBGP鄰居)

[AR3]bgp 1

[AR3-bgp]ipv4-family unicast

[AR3-bgp-af-ipv4]default local-preference 200           當需要從AR3去往AS外部的100.1.1.1/32的時候,修改AR3的本地優先順序屬性,讓流量從AR3走

[AR3-bgp-af-ipv4]quit

[AR3-bgp]quit
[AR3]

五、AS_path屬性

        比較的as_path中包含數字的多少,而不是大小,優選as_path數量少的(100=200=999,但是1 1>100)
as_path的數值只能增加不能減少,並且從某個as出去的路由不能回到該AS了,為了防止環路。比如設定as_path為11 22 33,那麼這條路由就不能再傳遞給as11、as22、as33中的路由器了,所以為了避免as_path的防環機制影響可以將as_path增加數量而不改變數字,如可以修改為11 11 11或者2 2 2 2這種相同數字不同數量的。
範圍:EBGP鄰居。
規則:優選as_path數量少的。
方向:as_path屬性支援雙向的。

[AR1]route-policy AR1-AR3 permit node 10                  建立路由策略,名稱AR1-AR3,模式為允許,策略節點序號為10

[AR1-route-policy]apply as-path 11 11 11 additive       二選一additive引數在原有的AS_path中新增11 22 33三個as_path

[AR1-route-policy]apply as-path 11 11 11 overwrite     二選一overwrite引數把原有的AS_path修改為11 22 33三個as_path

[AR1-route-policy]quit

[AR1]bgp 1

[AR1-bgp]ipv4-family unicast 

[AR1-bgp-af-ipv4]peer 3.3.3.3 route-policy AR1-AR3 export           修改as_path用於AR1-AR3的出方向(也可以在AR3上配置AR1-AR3的import入方向)

[AR1-bgp-af-ipv4]quit

[AR1-bgp]

六、路由MED屬性,此屬性相當於IGP中的metric屬性,優選MED值小的為優先路由,MED的值預設為0優先順序最大

[AR1]route-policy AR1-AR3 permit node 10

[AR1-route-policy]apply cost 100                                  在路由策略中指定路由的cost為100,以變為次優路由

[AR1-route-policy]quit

[AR1]bgp 1

[AR1-bgp]ipv4-family unicast 

[AR1-bgp-af-ipv4]peer 3.3.3.3 route-policy AR1-AR3 import           將cost修改為100應用在AR1入方向,AR1收到3.3.3.3的路由的MED修改為100,變為次優,這樣因為從2.2.2.2收到的路由的med預設是0,所以去往100.1.1.1/32會從MED值小的AR2走(也可以在AR3上用於export出方向,將AR3傳送給AR1的路由的cost修改為100)

[AR1-bgp-af-ipv4]quit
[AR1-bgp]quit
[AR1]

session 2 華為路由器BGP負載均衡

       在網路中,到達同一目的通常會存在多條有效路由,但是BGP只會將最優路由釋出給對等體(BGP預設不允許負載分擔),這一特點會造成無法進行流量的負載分擔。形成負載分擔的條件要求路由的屬性完全一致,否則會根據BGP路由的選路原則(屬性)選出最優路由而無法達到負載分擔的目的。

[AR1]bgp 1

[AR1-bgp]ipv4-family unicast 

[AR1-bgp-af-ipv4]maximum load-balancing 2      配置形成負載分擔的最大路由條目數為2條(僅當去往100.1.1.1/32路由在AR2和AR3上的屬性一致時生效)

[AR1-bgp-af-ipv4]quit
[AR1-bgp]quit
[AR1]

session 3 BGP路由的團體屬性

       BGP的團體屬性不受AS的限制,由對等體之間相互傳遞的路由策略。

[AR1]route-policy aaa permit node 10                                    

[AR1-route-policy]apply community no-export           配置bgp路由團體屬性為不傳遞

[AR1-route-policy]quit

[AR1]bgp 1

[AR1-bgp]ipv4-family unicast 

[AR1-bgp-af-ipv4] peer 3.3.3.3 route-policyaaa export           使AR1釋出給給AR3的BGP路由不再被AR3傳遞給其他AS

[AR1-bgp-af-ipv4] peer 3.3.3.3 advertise-community              允許將團體屬性傳遞給AR3

[AR1-bgp-af-ipv4] quit

[AR1-bgp]quit