原理概述:
當一台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次方。
網絡圖:
![](https://img.laitimes.com/img/_0nNw4CM6IyYiwiM6ICdiwiI0gTMx81dsQWZ4lmZf1GLlpXazVmcvwFciV2dsQXYtJ3bm9CX9s2RkBnVHFmb1clWvB3MaVnRtp1XlBXe0xCMy81dvRWYoNHLwEzX5xCMx8FesU2cfdGLwMzX0xiRGZkRGZ0Xy9GbvNGLpZTY1EmMZVDUSFTU4VFRR9Fd4VGdsYTMfVmepNHLrJXYtJXZ0F2dvwVZnFWbp1zczV2YvJHctM3cv1Ce-cmbw5iN1MDN1Q2M1YjYldzMwATYyYzXyQzMwATM4AzLcZDMyIDMy8CXn9Gbi9CXzV2Zh1WavwVbvNmLvR3YxUjLyM3Lc9CX6MHc0RHaiojIsJye.png)
接下來,為R1, R2, R3, R4配置BGP協定:
檢視R1的BGP鄰居情況:
可以看到,R1和R2 , R3 形成了EBGP的關系
在R4上檢視BGP路由表:
在R2上檢視BGP路由表:
可以看到,Local Preference屬性不會通告給EBGP對等體,僅在AS内傳遞時才會通告。
修改R3的Local preference的值為200:
再次檢視R4的BGP路由表:
可以看到,從R4到R1,權經過R3路由器
從R4到R1的跟蹤:
實作從R4到R1 ,經過R2
設定了R2的Local Preference的值 為500,再看從R4到R1的跟蹤路徑: