BGP路徑屬性之origin 實驗分析
BGP路徑屬性之起源(origin)
作用:說明路由是如何成為BGP路由的
總共只有三個值:
IGP (i):在BGP中用network命令宣告的路由
EGP (e):從EGP協議重分佈進BGP中的
Incomplete(?):從IGP協議或者靜態路由重分佈進BGP的路由
這三個值有大小之分:
i<e<? //在用來比較時,越小越優
修改origin的值可以影響EBGP鄰居選路
GNS3實驗分析路徑屬性origin
檢視R1的bgp database
R1#show ip bgp
Network Next Hop Metric LocPrf Weight Path
*> 172.16.0.1/32 3.3.3.3 0 234 5 i
* 2.2.2.2 0 234 8 8 8 5 i
* 172.16.1.1/32 3.3.3.3 0 234 5 i
*> 2.2.2.2 0 234 5 i
* 172.16.2.1/32 3.3.3.3 0 234 5 i
*> 2.2.2.2 0 234 5 i
* 172.16.3.1/32 3.3.3.3 0 234 5 i
*> 2.2.2.2 0 234 5 i
*> 192.168.0.1/32 0.0.0.0 0 32768 i可以看到172.16.1.1的路由origin值為"i",因為它是通過R5宣告的。
目前去往172.16.1.1的最佳路由是走向R2的,現在需要修改R2的origin值,使172.16.1.1的最佳路由走向R3
實驗部署
要求:172.16.1.1的路由預設走的是R2,通過修改origin屬性改為走R3
控制:EBGP鄰居起作用,所以不能在R2與R4之間配置,只能在R1與R2之間配置
本實驗以在R1上配置為例:
實驗步驟
第一步,通過Prefix-list抓取路由
R1(config)#ip prefix-list ORIGIN permit 172.16.1.1/32
第二步,通過route-map呼叫prefix-list並設定策略
R1(config)#route-map ORIGIN permit 10
R1(config-route-map)#match ip address prefix-list ORIGIN
R1(config-route-map)#set origin incomplete //通過路由策略修改origin為incomplete即"?"
R1(config)#route-map ORIGIN permit 20
第三步,針對鄰居1.1.1.1呼叫應用策略
R1(config)#router bgp 1
R1(config-router)#nei 2.2.2.2 route-map ORIGIN in
修改origin後,檢視R1的bgp database
R1#show ip bgp
Network Next Hop Metric LocPrf Weight Path
*> 172.16.0.1/32 3.3.3.3 0 234 5 i
* 2.2.2.2 0 234 8 8 8 5 i
*>172.16.1.1/32 3.3.3.3 0 234 5 i
* 2.2.2.2 0 234 5 ?
* 172.16.2.1/32 3.3.3.3 0 234 5 i
*> 2.2.2.2 0 234 5 i
* 172.16.3.1/32 3.3.3.3 0 234 5 i
*> 2.2.2.2 0 234 5 i
*> 192.168.0.1/32 0.0.0.0 0 32768 i可以看到172.16.1.1的最佳路由從R2修改成R3了,並且R2的origin被修改成“?”