天天看點

BGP 路徑選擇--Local Preference

原理概述:

      當一台BGP路由器中存在多條去往同一目标網絡的BGP路由時,BGP協定會對這些BGP路由的屬性進行比較,以确定去往該目标的最優BGP路由。BGP首先比較的是路由資訊

的首選值(PreVal),如果PreVal相同,就會比較本地優先級(Local Preference,縮寫為LocPrf)屬性。

      Local Preference屬性可以用于選擇流量離開AS時的最佳路由,也就是控制流量從哪個出口離開AS。當BGP路由器通過不同的IBGP對等體接收到目标網絡相同但下一跳不同的

多條路由時,将優先選擇Local Preference值較高的路由。

      Local Preference隻在IBGP對等體之間進行通告,EBGP對等體之間傳遞BGP路由時,不攜帶Local Preference屬性。預設情況下,本地使用network指令通告或者import指令引

入到BGP中的路由的Local Preference值為空。當從IBGP對等體接收到的路由的Local Preference值為空時,接收路由器會傅100作為這條路由的Local Preference預設值。當從IBGP

對等體接收到的路由的Local Preference值不為空時,接收路由器預設不做修改。

      Local Preference值是一個32比特的整數,取值範圍是0到2的32次方。

網絡圖:

BGP 路徑選擇--Local Preference
BGP 路徑選擇--Local Preference
BGP 路徑選擇--Local Preference
BGP 路徑選擇--Local Preference
BGP 路徑選擇--Local Preference

 接下來,為R1, R2, R3, R4配置BGP協定:

BGP 路徑選擇--Local Preference
BGP 路徑選擇--Local Preference
BGP 路徑選擇--Local Preference
BGP 路徑選擇--Local Preference

檢視R1的BGP鄰居情況:

BGP 路徑選擇--Local Preference

 可以看到,R1和R2 , R3 形成了EBGP的關系

在R4上檢視BGP路由表:

BGP 路徑選擇--Local Preference

 在R2上檢視BGP路由表:

BGP 路徑選擇--Local Preference

可以看到,Local Preference屬性不會通告給EBGP對等體,僅在AS内傳遞時才會通告。

修改R3的Local preference的值為200:

BGP 路徑選擇--Local Preference

 再次檢視R4的BGP路由表:

BGP 路徑選擇--Local Preference

 可以看到,從R4到R1,權經過R3路由器

從R4到R1的跟蹤:

BGP 路徑選擇--Local Preference

實作從R4到R1 ,經過R2

BGP 路徑選擇--Local Preference
BGP 路徑選擇--Local Preference

 設定了R2的Local  Preference的值 為500,再看從R4到R1的跟蹤路徑:

BGP 路徑選擇--Local Preference