目錄

簡介

必要條件

需求

採用元件

慣例

MED屬性

範例

bgp deterministic-med命令

範例

已停用bgp deterministic-med的BGP路由器

已啟用bgp deterministic-med的BGP路由器

相關資訊

簡介

本檔案將介紹 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訪問2個網路，這符合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更低（由於路徑來自同一個AS，因此本決策中使用了MED）。在組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 命令有何不同。

相關資訊

- 使用兩個不同服務提供商（多宿主）的BGP配置示例

- IP/BGP支援

- BGP 個案研究

- 思科技術支援與下載