簡介
本檔案將介紹 bgp deterministic-med
命令並解釋其對基於多出口鑑別器(MED)的路徑選擇的影響。
必要條件
需求
本文件沒有特定需求。
採用元件
本文件所述內容不限於特定軟體和硬體版本。
本文中的資訊是根據特定實驗室環境內的裝置所建立。文中使用到的所有裝置皆從已清除(預設)的組態來啟動。如果您的網路運作中,請確保您瞭解任何指令可能造成的影響。
慣例
如需文件慣例的詳細資訊,請參閱思科技術提示慣例。
MED屬性
MED 是一個可選的非傳遞屬性。MED向外部鄰居提示通向具有多個入口點的自治系統(AS)的首選路徑。MED也稱為路由的外部度量。較低MED值比較高值優先。
本節介紹如何使用MED影響相鄰AS做出的路由決定的示例。
網路拓撲
網路拓撲
範例
在此案例中,AS 65502是具有AS 65501的ISP的使用者。R4連線到ISP端的兩台不同的路由器以實現冗餘,並將兩個網路(10.4.0.0/16和10.5.0.0/16)通告給ISP。本節顯示一些相關的組態。
R4 |
!
version 12.3
!
hostname r4
!
ip cef
!
!
interface Loopback10
ip address 10.4.0.1 255.255.0.0
!
interface Loopback11
ip address 10.5.0.1 255.255.0.0
!
interface Serial0/0
ip address 192.168.20.4 255.255.255.0
!
interface Serial1/0
ip address 192.168.30.4 255.255.255.0
!
router bgp 65502
no synchronization
bgp log-neighbor-changes
network 10.4.0.0 mask 255.255.0.0
network 10.5.0.0 mask 255.255.0.0
neighbor 192.168.20.2 remote-as 65501
neighbor 192.168.30.3 remote-as 65501
no auto-summary
!
ip classless
!
!
line con 0
exec-timeout 0 0
line aux 0
line vty 0 4
exec-timeout 0 0
login
!
!
end |
R2 |
!
version 12.3
!
hostname r2
!
ip cef
!
!
interface Loopback0
ip address 10.2.2.2 255.255.255.255
!
interface Ethernet0/0
ip address 172.16.0.2 255.255.255.0
!
interface Serial1/0
ip address 192.168.1.2 255.255.255.0
serial restart-delay 0
!
interface Serial2/0
ip address 192.168.20.2 255.255.255.0
serial restart-delay 0
!
router ospf 1
log-adjacency-changes
redistribute connected
passive-interface Serial2/0
network 10.2.2.2 0.0.0.0 area 0
network 172.16.0.2 0.0.0.0 area 0
network 192.168.1.2 0.0.0.0 area 0
network 192.168.20.2 0.0.0.0 area 0
!
router bgp 65501
no synchronization
bgp log-neighbor-changes
neighbor 10.1.1.1 remote-as 65501
neighbor 10.1.1.1 update-source Loopback0
neighbor 10.3.3.3 remote-as 65501
neighbor 10.3.3.3 update-source Loopback0
neighbor 192.168.20.4 remote-as 65502
no auto-summary
!
ip classless
!
!
line con 0
exec-timeout 0 0
transport preferred all
transport output all
line aux 0
transport preferred all
transport output all
line vty 0 4
exec-timeout 0 0
login
transport preferred all
transport input all
transport output all
!
end |
R1和R3的配置與R2類似。R3具有與R4對等的eBGP以及與R1對等的iBGP。
R1有一個iBGP,它與R2對等且與R3對等一個。檢視R1、R2和R3 BGP表對於R4通告的兩個網路的顯示內容:
r2# show ip bgp 10.4.0.1
BGP routing table entry for 10.4.0.0/16, version 7
Paths: (2 available, best #1, table Default-IP-Routing-Table)
Advertised to non peer-group peers:
10.1.1.1 10.3.3.3
65502
192.168.20.4 from 192.168.20.4 (10.4.4.4)
Origin IGP, metric 0, localpref 100, valid, external, best
65502
192.168.30.4 (metric 74) from 10.3.3.3 (10.3.3.3)
Origin IGP, metric 0, localpref 100, valid, internal
r2# show ip bgp 10.5.0.1
BGP routing table entry for 10.5.0.0/16, version 6
Paths: (2 available, best #2, table Default-IP-Routing-Table)
Advertised to non peer-group peers:
10.1.1.1 10.3.3.3
65502
192.168.30.4 (metric 74) from 10.3.3.3 (10.3.3.3)
Origin IGP, metric 0, localpref 100, valid, internal
65502
192.168.20.4 from 192.168.20.4 (10.4.4.4)
Origin IGP, metric 0, localpref 100, valid, external, best
r3# show ip bgp 10.4.0.1
BGP routing table entry for 10.4.0.0/16, version 8
Paths: (2 available, best #2, table Default-IP-Routing-Table)
Advertised to non peer-group peers:
10.1.1.1 10.2.2.2
65502
192.168.20.4 (metric 74) from 10.2.2.2 (10.2.2.2)
Origin IGP, metric 0, localpref 100, valid, internal
65502
192.168.30.4 from 192.168.30.4 (10.4.4.4)
Origin IGP, metric 0, localpref 100, valid, external, best
r3# show ip bgp 10.5.0.1
BGP routing table entry for 10.5.0.0/16, version 10
Paths: (2 available, best #1, table Default-IP-Routing-Table)
Advertised to non peer-group peers:
10.1.1.1 10.2.2.2
65502
192.168.30.4 from 192.168.30.4 (10.4.4.4)
Origin IGP, metric 0, localpref 100, valid, external, best
65502
192.168.20.4 (metric 74) from 10.2.2.2 (10.2.2.2)
Origin IGP, metric 0, localpref 100, valid, internal
r1# show ip bgp 10.4.0.1
BGP routing table entry for 10.4.0.0/16, version 11
Paths: (2 available, best #1, table Default-IP-Routing-Table)
Not advertised to any peer
65502
192.168.20.4 (metric 128) from 10.2.2.2 (10.2.2.2)
Origin IGP, metric 0, localpref 100, valid, internal, best
65502
192.168.30.4 (metric 128) from 10.3.3.3 (10.3.3.3)
Origin IGP, metric 0, localpref 100, valid, internal
r1# show ip bgp 10.5.0.1
BGP routing table entry for 10.5.0.0/16, version 10
Paths: (2 available, best #2, table Default-IP-Routing-Table)
Not advertised to any peer
65502
192.168.30.4 (metric 128) from 10.3.3.3 (10.3.3.3)
Origin IGP, metric 0, localpref 100, valid, internal
65502
192.168.20.4 (metric 128) from 10.2.2.2 (10.2.2.2)
Origin IGP, metric 0, localpref 100, valid, internal, best
R2和R3都從R4中選取外部路由作為最佳路徑,根據BGP最佳路徑選擇演算法可以預期該外部路由。如需詳細資訊,請參閱BGP最佳路徑選取演演算法。
同樣,R1選擇R2訪問兩個網路,這符合BGP最佳路徑規則 — 選擇路由器ID最低的路徑。由於R2路由器ID是10.2.2.2,而R3路由器ID是10.3.3.3,因此選擇R2。在此基本配置中,預設情況下,發往AS 65502中兩個網路的所有流量從R1通過R2,然後通過R4傳輸。現在,假設R4要對其從AS 65501接收的流量進行負載均衡。 為了在不對R4 ISP進行任何修改的情況下完成此操作,您可以將R4配置為利用MED將一個網路的流量強制下行,並將另一個網路的流量強制下行。
以下是應用所需組態後R4的組態:
R4 |
!
version 12.3
!
hostname r4
!
ip cef
!
!
!
interface Loopback10
ip address 10.4.0.1 255.255.0.0
!
interface Loopback11
ip address 10.5.0.1 255.255.0.0
!
interface Serial0/0
ip address 192.168.20.4 255.255.255.0
!
interface Serial1/0
ip address 192.168.30.4 255.255.255.0
!
router bgp 65502
no synchronization
bgp log-neighbor-changes
network 10.4.0.0 mask 255.255.0.0
network 10.5.0.0 mask 255.255.0.0
neighbor 192.168.20.2 remote-as 65501
neighbor 192.168.20.2 route-map setMED-R2 out
neighbor 192.168.30.3 remote-as 65501
neighbor 192.168.30.3 route-map setMED-R3 out
no auto-summary
!
ip classless
no ip http server
!
!
access-list 1 permit 10.4.0.0 0.0.255.255
access-list 2 permit 10.5.0.0 0.0.255.255
!
route-map setMED-R3 permit 10
match ip address 1
set metric 200
!
route-map setMED-R3 permit 20
match ip address 2
set metric 100
!--- The route-map MED-R3 is applying a MED of 200 to the 10.4.0.0/16 !--- network and a MED of 100 to the 10.5.0.0/16 network. !--- The route-map is being applied outbound towards R3. ! route-map setMED-R2 permit 10 match ip address 1 set metric 100 ! route-map setMED-R2 permit 20 match ip address 2 set metric 200 !--- The route-map MED-R2 is applying a MED of 100 to the 10.4.0.0/16 !--- network and a MED of 200 to the 10.5.0.0/16 network. !--- The route-map is being applied outbound towards R2. ! ! ! line con 0 exec-timeout 0 0 line aux 0 line vty 0 4 exec-timeout 0 0 login ! ! end |
註:您需要使用 clear ip bgp * soft out
命令,例如,使這些配置生效。
R1現在將通過R2的路由視為網路10.4.0.0/16的最佳路徑,因為從R2收到的更新的MED為100,而R3通告的MED為200。同樣,R1使用R3和R3 - R4鏈路來訪問10.5.0.0/16:
r1# show ip bgp 10.4.0.1
BGP routing table entry for 10.4.0.0/16, version 14
Paths: (1 available, best #1, table Default-IP-Routing-Table)
Flag: 0x800
Not advertised to any peer
65502
192.168.20.4 (metric 128) from 10.2.2.2 (10.2.2.2)
Origin IGP, metric 100, localpref 100, valid, internal, best
r1#sh ip bgp 10.5.0.1
BGP routing table entry for 10.5.0.0/16, version 13
Paths: (1 available, best #1, table Default-IP-Routing-Table)
Flag: 0x800
Not advertised to any peer
65502
192.168.30.4 (metric 128) from 10.3.3.3 (10.3.3.3)
Origin IGP, metric 100, localpref 100, valid, internal, best
檢視R2的顯示屏:
r2# show ip bgp 10.4.0.1
BGP routing table entry for 10.4.0.0/16, version 10
Paths: (1 available, best #1, table Default-IP-Routing-Table)
Advertised to non peer-group peers:
10.1.1.1 10.3.3.3
65502
192.168.20.4 from 192.168.20.4 (10.4.4.4)
Origin IGP, metric 100, localpref 100, valid, external, best
r2# show ip bgp 10.5.0.1
BGP routing table entry for 10.5.0.0/16, version 11
Paths: (2 available, best #1, table Default-IP-Routing-Table)
Advertised to non peer-group peers:
192.168.20.4
65502
192.168.30.4 (metric 74) from 10.3.3.3 (10.3.3.3)
Origin IGP, metric 100, localpref 100, valid, internal, best
65502
192.168.20.4 from 192.168.20.4 (10.4.4.4)
Origin IGP, metric 200, localpref 100, valid, external
R2隻顯示10.4.0.0/16的一個路徑的原因在於,R3在注意到R3使用R2訪問10.4.0.0/16(在所有可用路徑上運行BGP bestpath之後)後撤消(傳送帶有無法到達度量的更新)10.4.0.0/16的更新:
r3# show ip bgp 10.4.0.0
BGP routing table entry for 10.4.0.0/16, version 20
Paths: (2 available, best #1, table Default-IP-Routing-Table)
Advertised to non peer-group peers:
192.168.30.4
65502
192.168.20.4 (metric 74) from 10.2.2.2 (10.2.2.2)
Origin IGP, metric 100, localpref 100, valid, internal, best
65502
192.168.30.4 from 192.168.30.4 (10.4.4.4)
Origin IGP, metric 200, localpref 100, valid, external
這允許R2儲存一些記憶體,因為它不必儲存這些無用的資訊。如果R2和R4之間的BGP會話發生故障,R2會向R3傳送針對10.4.0.0/16的不可達更新。此更新將觸發R3通過R4向R2傳送帶有R3路由10.4.0.0/16的更新。R2可以開始通過R3進行路由。
bgp deterministic-med命令
如果您啟用 bgp deterministic-med
命令,它刪除基於MED的最佳路徑決策的任何時間依賴性。它確保對所有從同一自治系統(AS)接收的路由進行準確的MED比較。
如果您禁用 bgp deterministic-med
中,接收路由的順序可能會影響基於MED的最佳路徑決策。當從具有完全相同路徑長度但不同MED的多個AS或聯盟子AS收到相同路由時,可能會發生這種情況。
範例
例如,考慮下一條路由:
entry1: ASPATH 1, MED 100, internal, IGP metric to NEXT_HOP 10
entry2: ASPATH 2, MED 150, internal, IGP metric to NEXT_HOP 5
entry3: ASPATH 1, MED 200, external
接收BGP路由的順序是entry3、entry2和entry1(entry3是BGP表中最早的條目,entry1是最新條目)。
已停用bgp deterministic-med的BGP路由器
BGP路由器,帶 bgp deterministic-med
disabled會選擇entry2而非entry1,因為到達NEXT_HOP的IGP度量較低(本決定中未使用MED,因為entry1和entry2來自兩個不同的AS)。然後,它會優先使用entry3而非entry2,因為它是外部的。但是,entry3的MED高於entry1。有關BGP路徑選取標準的詳細資訊,請參閱BGP最佳路徑選取演演算法。
已啟用bgp deterministic-med的BGP路由器
此時,來自相同AS的路由將分組到一起,並比較每個組的最佳條目。在指定的範例中,有兩個AS,AS 1和AS 2。
Group 1: entry1: ASPATH 1, MED 100, internal, IGP metric to NEXT_HOP 10
entry3: ASPATH 1, MED 200, external
Group 2: entry2: ASPATH 2, MED 150, internal, IGP metric to NEXT_HOP 5
在組1中,最佳路徑是entry1,因為MED較低(在此決策中使用MED,因為路徑來自同一AS)。在組2中,只有一個條目(條目2)。然後,通過比較各組的獲勝者確定最佳路徑(預設情況下,此比較不使用MED,因為各組的獲勝者來自不同的AS。當您啟用 bgp always-compare-med
它更改此預設行為)。現在,當您比較entry1(第1組的獲勝者)和entry2(第2組的獲勝者)時,entry2可以成為獲勝者,因為它具有比下一跳更好的IGP度量。
如果 bgp always-compare-med
當您比較entry1(第1組的獲勝者)和entry 2(第2組的獲勝者)時,由於該MED較低,entry 1可能是獲勝者。
思科建議您啟用 bgp always-compare-med
在所有新網路部署中。此外,如果 bgp always-compare-med
已啟用,BGP MED決策始終具有確定性。
欲知關於 bgp deterministic-med
和 bgp always-compare-med
命令,請參閱bgp deterministic-med命令與bgp always-compare-med命令之間的區別。
相關資訊