簡介
本檔案介紹邊界閘道通訊協定(BGP) MED屬性在不同案例中透過實作跨越AS邊界時的說明。
必要條件
需求
思科建議您瞭解BGP的基本知識。
採用元件
本文件所述內容不限於特定軟體和硬體版本。本文檔中討論的方案使用以下硬體和軟體版本:
本文中的資訊是根據特定實驗室環境內的裝置所建立。文中使用到的所有裝置皆從已清除(預設)的組態來啟動。如果您的網路運作中,請確保您瞭解任何指令可能造成的影響。
慣例
如需更多文件慣例的相關資訊,請參閱思科技術提示慣例。
背景資訊
多出口鑑別器(MED)提供了一種動態方式,當存在用於該AS的多個入口點時,可影響另一自治系統(AS)到達特定路由的方式。BGP使用系統程式來實現最佳路徑選擇。在您考慮MED屬性之前,還會考慮其他重要屬性,例如weight、local preference、originate route和AS path。因此,如果其中任一條件匹配,則不考慮MED屬性。
注意:當所有其他因素相等時,優先使用具有最低MED的退出點。
個案研究
案例 1
當BGP發言者從對等體獲知路由時,路由MED會傳遞給其他內部BGP (iBGP)對等體,但不會傳遞給外部BGP (eBGP)對等體。
路由器R1和路由器R2被視為同一AS,例如AS#100,而路由器R3屬於AS#101。為了便於使用,使用/24塊中的IP地址。
路由器R1和R2配置如下:
路由器1 |
(Config)#interface Loopback10
(Config-if)#ip address xx.xx.xx.xx xxx.xxx.xxx.xxx
(Config-if)#interface FastEthernet0/0
(Config-if)#ip address xx.xx.xx.xx xxx.xxx.xxx.xxx
(Config)#router bgp 100
(Config-router)#no synchronization
(Config-router)#bgp router-id xx.xx.xx.xx
(Config-router)#bgp log-neighbor-changes
(Config-router)#network xx.xx.xx.xx mask xxx.xxx.xxx.xxx route-map ATTACH_MED
(Config-router)#neighbor xxx.x.xx.x remote-as xxx
(Config-router)#no auto-summary
(Config)#access-list 10 permit xx.xx.xx.xx
(Config)#route-map ATTACH_MED permit xx
(Config)#match ip address xx
(Config)#set metric xxx |
路由器2 |
(Config)#interface FastEthernet0/0
(Config-if)#ip address xxx.x.xx.x xxx.xxx.xxx.x
(Config-if)#interface Serial1/0
(Config-if)#ip address xxx.x.xx.x xxx.xxx.xxx.x
(Config-if)#encapsulation frame-relay IETF
(Config-if)#no fair-queue
(Config-if)#frame-relay map ip xxx.x.xx.x 203 broadcast
(Config-if)#no frame-relay inverse-arp
(Config-if)#frame-relay lmi-type ansi
(Config)#router bgp 100
(Config-router)#no synchronization
(Config-router)#bgp router-id xx.xx.xx.xx
(Config-router)#bgp log-neighbor-changes
(Config-router)#neighbor xxx.x.xx.x remote-as 100
(Config-router)#neighbor xxx.x.xx.x remote-as 101
(Config-router)#neighbor xxx.x.xx.x ebgp-multihop 3
(Config-router)#no auto-summary |
路由器R3的配置如下所示:
路由器3 |
(Config)#interface Serial1/0
(Config-if)#ip address xxx.x.xx.x xxx.xxx.xxx.x
(Config-if)#encapsulation frame-relay IETF
(Config-if)#no fair-queue
(Config-if)#frame-relay map ip xxx.x.xx.x 302 broadcast
(Config-if)#no frame-relay inverse-arp
(Config-if)#frame-relay lmi-type ansi
(Config)#router bgp 101
(Config-router)#no synchronization
(Config-router)#bgp log-neighbor-changes
(Config-router)#neighbor xxx.x.xx.x remote-as 100
(Config-router)#neighbor xxx.x.xx.x ebgp-multihop 3
(Config-router)#no auto-summary
|
在此設定中,R1和R2運行iBGP。因此,當更新以特定度量輸入AS時,該度量用於在AS內部做出決策。
show ip bgp命令在從R2進行檢查時顯示xx.xx.xx.xx的度量值,該度量值來自iBGP鄰居xxx.x.xx.x,MED值為100。
eBGP在R2和R3之間運行,因為它們位於不同的AS中。當同一更新傳遞到第三個AS時(例如AS#101),該度量會返回到0。
show ip bgp命令(從R3中選中)已將其度量刪除,因為xx.xx.xx.xx會越過AS邊界(101)。
從這個場景來看,很明顯MED屬性可以影響來自鄰居自治系統的入站流量。
MED屬性不能影響更多遠端自治系統的路由決策。當BGP揚聲器從對等體獲知路由時,它可以將路由的MED傳遞給任何iBGP對等體,但不能傳遞給eBGP對等體。
因此,MED僅在鄰居自治系統之間具有相關性。
案例 2
如果注入BGP的路由(透過etworkorredistributecommand)來自IGP(RIP或EIGRP或OSPF),則MED從IGP度量中生成,且路由會通告給具有此MED的eBGP鄰居。
在此網路中,R1配置為在RIP網路中運行。路由器R2和R3運行BGP,其中R2配置為AS 100,而R3配置為AS 101。
路由器R1配置如下:
路由器R1 |
(Config)#interface Loopback10
(Config-if)#ip address xx.xx.xx.xx xxx.xxx.xxx.xxx
(Config-if)#interface FastEthernet0/0
(Config-if)#ip address xxx.x.xx.x xxx.xxx.xxx.x
(Config)#router rip
(Config-router)#network xx.x.x.x
(Config-router)#network xxx.x.xx.x
(Config-router)#no auto-summary
|
路由器R2和R3配置了BGP,在R2中進行重分配,以便將RIP網路注入BGP。
路由器R2 |
(Config)#interface FastEthernet0/0
(Config-if)#ip address xxx.x.xx.x xxx.xxx.xxx.x
(Config-if)#interface Serial1/0
(Config-if)#ip address xxx.x.xx.x xxx.xxx.xxx.x
(Config-if)#encapsulation frame-relay IETF
(Config-if)#no fair-queue
(Config-if)#frame-relay map ip xxx.x.xx.x 203 broadcast
(Config-if)#no frame-relay inverse-arp
(Config-if)#frame-relay lmi-type ansi
(Config)#router rip
(Config-router)# network xxx.x.xx.x
(Config-router)#no auto-summary
(Config-router)#router bgp 100
(Config-router)#no synchronization
(Config-router)#bgp router-id xx.xx.xx.xx
(Config-router)#bgp log-neighbor-changes
(Config-router)#neighbor xxx.x.xx.x remote-as 101
(Config-router)#neighbor xxx.x.xx.x ebgp-multihop 3
(Config-router)#redistribute rip metric 1
Config-router)#no auto-summary
|
路由器R3 |
(Config)#interface Serial1/0
(Config-if)#ip address xxx.x.xx.x xxx.xxx.xxx.x
(Config-if)#encapsulation frame-relay IETF
(Config-if)#no fair-queue
(Config-if)#frame-relay map ip xxx.x.xx.x 302 broadcast
(Config-if)#no frame-relay inverse-arp
(Config-if)#frame-relay lmi-type ansi
(Config)#router bgp 101
(Config-router)# no synchronization
(Config-router)#bgp router-id xx.xx.xx.xx
(Config-router)#bgp log-neighbor-changes
(Config-router)#neighbor xxx.x.xx.x remote-as 100
(Config-router)#neighbor xxx.x.xx.x ebgp-multihop 3
(Config-router)#no auto-summary |
RIP和BGP都在R2上運行。如果使用show ip bgp 命令進行檢查,則可以看到字首xx.x.x.x網路顯示時的度量為1,該度量源自RIP。
但是,在eBGP上運行的R3中,透過考慮從IGP派生的MED值來通告網路。在本例中為RIP。字首10.0.0.0使用IGP MED值進行通告,MED值是RIP的度量1。 可從以下輸出中看到這種情況。
在這種情況下,透過etworkorredistributecommand將網路注入BGP路由器時,MED的行為如下:實際MED值替換為IGP度量的值。
由於此屬性是對外部鄰居有關進入AS的路徑優先順序的提示(如前所述),因此並不總是考慮是否還有其他更重要的屬性來確定最佳路由。
為了對更具確定性的屬性具有相同的效果,請在路由對映下使用set as-path prepend 命令。
如果為某些路由增加了AS路徑,則其他AS會繼續看到該路徑。有關AS-path prepend用法的詳細資訊,請參閱使用set-aspath prepend命令。
相關資訊