使用本地優先級影響選路
通常用於數據包如何離開本AS,越大越優先。
拓撲圖上:R4和R2 R3建立IBGP鄰居,R1同R2和R3建立直連的EBGP鄰居。
R1上通告三個環回接口到BGP中,R4和R5分別通告一個環回口到BGP中。 AS200內部使用RIP做為IGP協議。R4用來建立BGP鄰居的環回口為loop0,IP地址4.4.4.4。為避免路由通告失敗,R4上通告的路由是44.44.44.0/24。
本次實驗的目的是通過改變本地優先級來影響BGP的選路,本地優先級用於影響路由的出站流量,越大越優先。這個屬性會在AS內傳播,並不會傳遞給EBGP鄰居。
實驗一:R3針對R1通告的路由,更改本地優先級為200,觀察R3和R4BGP表,本地優先級的變化,以及R4選路的變化。本次實驗在R3上完成。
在R4看來,去往R1通告的路由,有兩條路徑可選,一為R2,一為R3,由於R2的Router-ID較小,所以R4優選R2出站去往1.1.1.0/24 10.1.1.0/24 100.1.1.0/24.
R3: route-policy prefrence permit node 10 apply local-preference 3333 bgp 200 router-id 3.3.3.3 peer 123.1.1.1 route-policy prefrence import
結果觀察:
- 觀察R3針對R1傳遞過來的路由的本地優先級
- 觀察R4針對R3傳遞過來的路由的本地優先級,是否會影響R4選路
-
觀察R5針對R4傳遞過來的1.1.1.0/24 10.1.1.0/24 100.1.1.0/24這幾條路由,其本地優先級是多少
-
觀察R3針對R1傳遞過來的路由的本地優先級
[R3-bgp]display bgp routing-table BGP Local router ID is 3.3.3.3 Status codes: * - valid, > - best, d - damped, h - history, i - internal, s - suppressed, S - Stale Origin : i - IGP, e - EGP, ? - incomplete Total Number of Routes: 5 Network NextHop MED LocPrf PrefVal Path/Ogn *> 1.1.1.0/24 123.1.1.1 0 3333 0 100i *>i 5.5.5.0/24 4.4.4.4 0 100 0 300i *> 10.1.1.0/24 123.1.1.1 0 3333 0 100i *>i 44.44.44.0/24 4.4.4.4 0 100 0 i *> 100.1.1.0/24 123.1.1.1 0 3333 0 100i
R3上在鄰居123.1.1.1的import方向應用了route-policy,更改了路由的本地優先級為3333.觀察R3的BGP表,這三條路由的本地優先級已經更改了。
-
觀察R4針對R3傳遞過來的路由的本地優先級,是否會影響R4選路
<R4>display bgp routing-table BGP Local router ID is 4.4.4.4 Status codes: * - valid, > - best, d - damped, h - history, i - internal, s - suppressed, S - Stale Origin : i - IGP, e - EGP, ? - incomplete Total Number of Routes: 8 Network NextHop MED LocPrf PrefVal Path/Ogn *>i 1.1.1.0/24 3.3.3.3 0 3333 0 100i * i 2.2.2.2 0 100 0 100i *> 5.5.5.0/24 45.1.1.5 0 0 300i *>i 10.1.1.0/24 3.3.3.3 0 3333 0 100i * i 2.2.2.2 0 100 0 100i *> 44.44.44.0/24 0.0.0.0 0 0 i *>i 100.1.1.0/24 3.3.3.3 0 3333 0 100i * i 2.2.2.2 0 100 0 100i
在R4上觀察BGP表,發現R4去往R1通告的三條路由,其最優的路徑是選擇R3做為下一跳。因為R3發布的路由有較高的本地優先級。
-
觀察R5針對R4傳遞過來的1.1.1.0/24 10.1.1.0/24 100.1.1.0/24這幾條路由,其本地優先級是多少
<R5>display bgp routing-table BGP Local router ID is 45.1.1.5 Status codes: * - valid, > - best, d - damped, h - history, i - internal, s - suppressed, S - Stale Origin : i - IGP, e - EGP, ? - incomplete Total Number of Routes: 5 Network NextHop MED LocPrf PrefVal Path/Ogn *> 1.1.1.0/24 45.1.1.4 0 200 100i *> 5.5.5.0/24 0.0.0.0 0 0 i *> 10.1.1.0/24 45.1.1.4 0 200 100i *> 44.44.44.0/24 45.1.1.4 0 0 200i *> 100.1.1.0/24 45.1.1.4 0 200 100i
R5上看到的關於1.1.1.0/24 10.1.1.0/24 100.1.1.0/24這幾條路由,其本地優先級為空。只有在IBGP傳遞的路由才會攜帶本地優先級屬性。
實驗二、在R3上做針對IBGP鄰居R4做出方向的route-policy,更改1.1.1.0/24 10.1.1.0/24 100.1.1.0/24這幾條路由的選路。
- 先去掉R3上的針對peer 123.1.1.1的route-policy相關配置。
- 配置針對R4的export方向的route-policy
peer 4.4.4.4 route-policy prefrence export - 在R4上使用refresh bgp all import/export刷新路由。
- 結論,在R3針對R4的出方向做路由策略後,R4針對R3發布的路由,其本地優先級進行了更改,策略生效。
實驗三、在R4上,針對IBGP鄰居R2發布的路由,入方向做路由策略,更改其發布的路由的本地優先級。
結論:生效。
總結:
- 在路由器上可以針對EBGP和IBGP鄰居的入站方向使用Route-policy影響本地及下遊路由器接收路由的本地優先級
- 在路由器上可以針對IBGP的出站方向使用route-policy影響本AS下遊路由器接收的路由的本地優先級。
- 本地優先級僅在IBGP鄰居之間傳遞,不會將屬性傳遞給EBGP鄰居。(第1條講的是,路由器針對EBGP鄰居在自己的入向做Route-Policy,影響自己及下遊路由器)
- 默認值為100,取值為0到42億之間。
使用本地優先級影響選路