MED屬性典型的常被用於AS間的鏈路上,做為路徑選擇控制,但關於MED的指令分為bgp deterministic-met 及 bgp always-compare-med。一般而言MED是以到達相同的AS而有不同的peer來做MED的比較, 達到選路的效果。而bgp always-compare-med是在IOS中允許在不同的AS之間來比較MED。以低優先。bgp deterministic-met則在下面Lab來說明。
架構說明
lab說明在R1中查看,路由77.1.1.1/32會經過as200及as300宣告給as100到達R1。
其中r5宣告給r2及r3的MED值分別為100及150。
其中r1到達r2, r3, r4的igp cost為13, 11, 12。
BGP在接收一個prefix時,如果有二個以上,必需會選出最優的路徑,放進路由表並宣告給neighbor。
但如果收到的是三條prefix以上,BGP的比較方法,這時BGP並不是將三條或是四條拿到一起去比較,為二個二比較從上而下,最優的在跟下一個比較,且新收到的prefix會在最上面,表示最老的路徑(最穩定),會在最下面,但這會導致一些選路上的問題,這也是為何要做這個lab的原因。
LAB說明
查看R1 BGP路由
R1#show ip
bgp
BGP table
version is 11, local router ID is 11.1.1.1
Status codes:
s suppressed, d damped, h history, * valid, > best, i - internal,
r RIB-failure, S Stale, m
multipath, b backup-path, f RT-Filter,
x best-external, a
additional-path, c RIB-compressed,
Origin codes:
i - IGP, e - EGP, ? - incomplete
RPKI
validation codes: V valid, I invalid, N Not found
Network Next Hop Metric LocPrf Weight Path
* i 77.1.1.1/32 22.1.1.1 100 100
0 200 700 i
* i 33.1.1.1 150 100
0 200 700 i
*>i 44.1.1.1 0 100
0 300 700 i
我們來分析一下為何選擇R4來的路由根據選路原則,如何比較的呢?其實IOS是將最上面的r2及r3的比較後,最優的在與r4做比較選擇出best route。
比較過程:
比較r2及r3來的路由
weight相同
locpfr相同
都不是啟源於本地
As-path相同都是二跳
都是來至ibgp相同
比較MED r2優先
在比較r2與r4路由
weight相同
locpfr相同
都不是啟源於本地
As-path相同都是二跳
都是來至ibgp相同
比較MED 無法比較,因為來至不同AS,故會跳過
比較next-hop igp cost r4優先(12優於13)
這樣的比較結果是最合理的,對於MED的控制才能有效的利用上。
但是如果這時,r4中斷了,路由的變化為何呢?
我們去clear 一下r4的bgp在查看r1的bgp
R1#clear ip
bgp 44.1.1.1
R1#
*Jul 6 12:12:07.551: %BGP-5-ADJCHANGE: neighbor
44.1.1.1 Down User reset
*Jul 6 12:12:07.555: %BGP_SESSION-5-ADJCHANGE:
neighbor 44.1.1.1 IPv4
Unicast topology base removed from session User reset
*Jul 6 12:12:08.399: %BGP-5-ADJCHANGE: neighbor
44.1.1.1 Up
R1#show ip
bgp
BGP table
version is 13, local router ID is 11.1.1.1
Status codes:
s suppressed, d damped, h history, * valid, > best, i - internal,
r RIB-failure, S Stale, m
multipath, b backup-path, f RT-Filter,
x best-external, a
additional-path, c RIB-compressed,
Origin codes:
i - IGP, e - EGP, ? - incomplete
RPKI
validation codes: V valid, I invalid, N Not found
Network Next Hop Metric LocPrf Weight Path
* i 77.1.1.1/32 44.1.1.1 0 100
0 300 700 i
* i 22.1.1.1 100 100 0 200 700 i
*>i
33.1.1.1 150 100
0 200 700 i
看到了吧,選擇的結果,並不是r4了,這是為何呢?我們在來分析一下選路的經過你就會了解。由於老的路由會在下面,所以妳clear r4的路由就會在最上面。
比較經過:
這時會先比較r2及r4的路由
weight相同
locprf相同
都不是啟源於本地
As-path相同都是二跳
MED這時就不比較因為收來的as不相同
比較next-hop igp cost
r4優先(12優於13)
在比較r4及r3的路由
weight相同
locprf相同
都不是啟源於本地
As-path相同都是二跳
MED這時就不比較因為收來的as不相同
比較next-hop igp cost r3優先(11優於12)
我們在去做一次將r3的路徑clear一下,在看一次結果?
R1#clear ip
bgp 33.1.1.1
R1#
*Jul 6 12:23:03.959: %BGP-5-ADJCHANGE: neighbor
33.1.1.1 Down User reset
*Jul 6 12:23:03.959: %BGP_SESSION-5-ADJCHANGE:
neighbor 33.1.1.1 IPv4 Unicast topology
base removed from session User reset
*Jul 6 12:23:04.783: %BGP-5-ADJCHANGE: neighbor
33.1.1.1 Up
R1#show ip
bgp
BGP table
version is 15, local router ID is 11.1.1.1
Status codes:
s suppressed, d damped, h history, * valid, > best, i - internal,
r RIB-failure, S Stale, m
multipath, b backup-path, f RT-Filter,
x best-external, a
additional-path, c RIB-compressed,
Origin codes:
i - IGP, e - EGP, ? - incomplete
RPKI
validation codes: V valid, I invalid, N Not found
Network Next Hop Metric LocPrf Weight Path
* i 77.1.1.1/32 33.1.1.1 150 100
0 200 700 i
* i 44.1.1.1 0 100
0 300 700 i
*>i 22.1.1.1 100 100
0 200 700 i
看到了吧,這時選擇的是r2,這時各位有去比較一下,就會知道為何要選擇r2了,這我就不在細說。
這就是特別要拿出來說明的重點,因為如果網路不穩定,會影響到選路的話,那這就網路設計就不太好,因為網路的流量將無法達到控制,這是需要注意的地方。
這時有沒有辨法決解呢?答應是有的!使用bgp deterministic-med指令用來分組,bgp會將來至同一個as的進行分組,此時MED的比較將一定會運用上。
我們來實驗一下
R1#
*Jul 6 12:23:03.959: %BGP-5-ADJCHANGE: neighbor
33.1.1.1 Down User reset
*Jul 6 12:23:03.959: %BGP_SESSION-5-ADJCHANGE:
neighbor 33.1.1.1 IPv4 Unicast topology
base removed from session User reset
*Jul 6 12:23:04.783: %BGP-5-ADJCHANGE: neighbor
33.1.1.1 Up
R1#show ip
bgp
BGP table
version is 15, local router ID is 11.1.1.1
Status codes:
s suppressed, d damped, h history, * valid, > best, i - internal,
r RIB-failure, S Stale, m
multipath, b backup-path, f RT-Filter,
x best-external, a
additional-path, c RIB-compressed,
Origin codes:
i - IGP, e - EGP, ? - incomplete
RPKI
validation codes: V valid, I invalid, N Not found
Network Next Hop Metric LocPrf Weight Path
* i 77.1.1.1/32 33.1.1.1 150 100
0 200 700 i
* i 44.1.1.1 0 100
0 300 700 i
*>i 22.1.1.1 100 100
0 200 700 i
目前r1選擇的路門為r2,如果我們將bgp
deterministic-med指令用上。
R1(config)#router
bgp 100
R1(config-router)#bgp
deterministic-med
R1#sh ip bgp
BGP table
version is 16, local router ID is 11.1.1.1
Status codes:
s suppressed, d damped, h history, * valid, > best, i - internal,
r RIB-failure, S Stale, m
multipath, b backup-path, f RT-Filter,
x best-external, a
additional-path, c RIB-compressed,
Origin codes:
i - IGP, e - EGP, ? - incomplete
RPKI
validation codes: V valid, I invalid, N Not found
Network Next Hop Metric LocPrf Weight Path
* i 77.1.1.1/32 22.1.1.1 100 100
0 200 700 i
* i 33.1.1.1 150 100
0 200 700 i *>i 44.1.1.1 0 100
0 300 700 i
結果出來了,因r2及r3同面來至as 200所以會被排在同一組,同組內的會先比較,所以r2及r3總是會先比較,故MED的比較一定會執行到,這就不會產生我們上面的問題
沒有留言:
張貼留言