今天針對BGP的權重做了個實驗。目的也就是當本地出口路由器有多條外出自治系統的鍊路時,應用權重(Weight)屬性能夠決定資料流從本地路由器哪條出口鍊路流出本地自治系統。但這個是cisco私有的屬性。由于本地優先級針對本地AS屬性。MED屬性卻是不同的AS,MED不作比較。是以cisco私有的權重屬性也是重要的屬性,并且在cisco路由器中優先級是排名第一的。好的。下面就看一下拓撲圖:
一、拓撲圖:
二、實驗分析:
1、根據BGP路由選擇決策過程 對于特定的目的地,BGP隻選擇一條最佳路徑。但
如果到達目标有多條路徑,則将會依據以下這些政策進行路徑選擇:
A、選權重最高的路由(屬cisco私有屬性,隻在目前本地路由器有效)
B、選擇本地優先級最高的路由(注:隻用于本地AS内部)
C、選擇目前路由器的通告過的路由
D、選擇AS路徑最短的路由
E、選擇源頭編碼最小的路徑(依次為IGP<EGP<Incomplete)
F、選擇MED值最小的路徑
G、外部路徑(EBGP)優先于内部路徑(IBGP)
H、選擇經過最近的IGP鄰居的路徑
I、對于EBGP路徑,選擇最老的路由
J、選鄰居BGP路由器ID最小的路由
K、選擇鄰居IP位址最小的路由
2、那麼依次配置各台路由器IP位址和BGP協定之後,檢視R1的BGP和路由表:
R1#sh ip route
………………
Codes: C - connected, S - static, R - RIP, M - mobile, B - BGP
D - EIGRP, EX - EIGRP external, O - OSPF, IA - OSPF inter area
N1 - OSPF NSSA external type 1, N2 - OSPF NSSA external type 2
E1 - OSPF external type 1, E2 - OSPF external type 2
i - IS-IS, su - IS-IS summary, L1 - IS-IS level-1, L2 - IS-IS level-2
ia - IS-IS inter area, * - candidate default, U - per-user static route
o - ODR, P - periodic downloaded static route
Gateway of last resort is not set
C 192.168.4.0/24 is directly connected, FastEthernet0/0
C 192.168.1.0/24 is directly connected, Serial1/1
B 192.168.2.0/24 [20/0] via 192.168.1.2, 00:09:18
B 192.168.3.0/24 [20/0] via 192.168.4.1, 00:09:11
150.150.0.0/24 is subnetted, 1 subnets
B 150.150.1.0 [20/0] via 192.168.1.2, 00:09:18
R1#sh ip bgp
BGP table version is 7, local router ID is 192.168.4.2
Network Next Hop Metric LocPrf Weight Path
* 150.150.1.0/24 192.168.4.1 0 64515 64514 i
*> 192.168.1.2 0 64513 64514 i
* 192.168.1.0 192.168.1.2 0 0 64513 i
*> 0.0.0.0 0 32768 i
* 192.168.2.0 192.168.4.1 0 64515 64514 i
*> 192.168.1.2 0 0 64513 i
*> 192.168.3.0 192.168.4.1 0 0 64515 i
* 192.168.1.2 0 64513 64514 i
* 192.168.4.0 192.168.4.1 0 0 64515 i
3、檢視一下R1的BGP鄰居表:
R1#sh ip bgp neighbors
BGP neighbor is 192.168.1.2, remote AS 64513, external link
BGP version 4, remote router ID 192.168.2.1
BGP state = Established, up for 00:53:38
BGP neighbor is 192.168.4.1, remote AS 64515, external link
BGP version 4, remote router ID 192.168.4.1
BGP state = Established, up for 00:54:23
4、由于R2的router-id并且優先通告給R1。是以R1選擇R2作為下一跳到達150.150.1.0/24,但R1和R4之間是快速以太網鍊路,是以R1選錯了下一跳,并且由于本地優先級針對本地AS屬性, MED屬性卻是不同鄰居AS,MED不作比較。那麼下面我們通過cisco 私有的BGP的權重屬性來解決R1到150.150.1.0/24路徑選擇問題。
三、實驗步驟:
1、在R1上分别指定兩個鄰居的權重,讓R1優先選擇權重大的鍊路走:
R1(config)#router bgp 64512
R1(config-router)#nei 192.168.1.2 weight 50
R1(config-router)#nei 192.168.4.1 weight 100
2、軟涮新一下BGP資料庫,檢視一下:
R1#clear ip bgp * soft
Network Next Hop Metric LocPrf Weight Path
*> 150.150.1.0/24 192.168.4.1 100 64515 64514 i(現在選擇R4了)
* 192.168.1.2 50 64513 64514 i
* 192.168.1.0 192.168.1.2 0 50 64513 i (這條沒錯)
*> 0.0.0.0 0 32768 i
*> 192.168.2.0 192.168.4.1 100 64515 64514 i(但這條路徑就……)
* 192.168.1.2 0 50 64513 i
*> 192.168.3.0 192.168.4.1 0 100 64515 i
* 192.168.4.0 192.168.4.1 0 100 64515 i
*> 0.0.0.0 0 32768 i (為避免環路,直連權重值為最大)
3、通過對R1指定鄰居權重,R1到150.150.1.0/24發現是選擇了權重大的下一跳走,但卻發現R1到192.168.2.0/24也選擇了權重大的R4鍊路作為下一跳。而沒有選擇直連鍊路走,看來我們隻指定鄰居權重這種方法是拆東牆補西牆。并不是很完美的。但如果用路由圖調用設定權重就不一樣了。這樣可以針對目的位址設定權重,下面我們就把之前配置的權重no掉,并重建立一個route-map設定權重值。
R1(config-router)#no neighbor 192.168.1.2 weight 50
R1(config-router)#no neighbor 192.168.4.1 weight 100
R1(config)#access-list 10 per 150.150.1.0 0.0.0.255 (建立一個ACL)
R1(config)#route-map set_weight per 10 (建立一個路由圖名為set_weight)
R1(config-route-map)#match ip add 10 (比對ACL)
R1(config-route-map)#set weight 100 (針對route-map特定的目的網絡設定權重值100)
R1(config-route-map)#exit
R1(config)#route-map set_weight per 20 (再建立一個空路由圖以便其它路由都按預設方式轉發)
四、驗證明驗:
…………
*> 150.150.1.0/24 192.168.4.1 0 64515 64514 i(下一跳為R4)
*> 192.168.1.2 0 0 64513 i (下一跳為R2)
B 192.168.2.0/24 [20/0] via 192.168.1.2, 00:07:40
B 192.168.3.0/24 [20/0] via 192.168.4.1, 00:32:27
B 150.150.1.0 [20/0] via 192.168.4.1, 00:07:40
本文轉自wxs-163 51CTO部落格,原文連結:
http://blog.51cto.com/supercisco/272375