目录

简介

先决条件

要求

使用的组件

规则

案例研究

场景 1

场景 2

相关信息

简介

本文档介绍当边界网关协议(BGP)多出口标识符(MED)属性通过在不同场景中实施而跨越自治系统(AS)边界时。

当到达特定路由的途中存在其他自治系统，而且该自治系统有多个入口点时，MED 可提供一种动态的方法来影响该自治系统。BGP遵循系统化过程来选择最佳路径。在考虑MED属性之前，还要考虑其他重要属性，如权重、本地优先级、发起路由和AS路径。因此，如果这些条件中的任何一个匹配，则不考虑MED属性。

注意：当所有其他因素条件相当时，则会优先使用 MED 值最低的出口点。

先决条件

要求

建议本文的读者具备 BGP 的基础知识。

使用的组件

本文档中的信息都是基于特定实验室环境中的设备编写的。本文档中使用的所有设备最初均采用原始（默认）配置。如果您的网络处于活动状态，请确保您了解任何命令的潜在影响。”

本文档不限于特定的软件和硬件版本。本文中讨论的场景使用了以下硬件和软件版本：

- 情形 1：运行 Cisco IOS® 软件版本 12.4 或更高版本的思科 2600 路由器

- 方案 2：运行 Cisco IOS® 软件版本 12.4 或更高版本的思科 2600 路由器

规则

有关文档规则的详细信息，请参阅思科技术提示规则。

案例研究

场景 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。当包含特定指标的更新进入自治系统后，该指标会被用于在自治系统内部做出决策。

从R2选中show ip bgp命令后，显示xx.xx.xx.xx的度量值，该值来自iBGP neighbor xxx.x.xx.x，MED值为100。

R2 和 R3 之间运行了 eBGP，因为它们属于不同的自治系统。当前述更新传递到第三个自治系统（例如 AS 101）时，指标将变回到为 0。

从R3选中后，show ip bgp命令将删除其度量，因为xx.xx.xx.xx跨越AS边界(101)。

从此场景中，MED属性显然会影响来自邻居自治系统的入站流量。

MED属性不会影响远程自治系统的路由决策。当BGP发言者从对等体获取路由时，它可以将路由的MED传递到任何iBGP对等体，但不能传递到eBGP对等体。

因此，MED仅在邻居自治系统之间具有相关性。

场景 2

如果注入到BGP的路由(通过etworkorredistribute命令)来自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 进行了配置，将 RIP 网络注入到 BGP 的重新分发操作在 R2 中执行。

路由器 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值。在这种情况下，IGP 也就是 RIP。前缀10.0.0.0使用IGP MED值（即RIP的度量1）进行通告。

从下面的输出中可以看到这一点：

在此场景中，在通过thentworkorredistribute命令将网络注入BGP路由器时，MED的行为会在实际MED值替换为IGP度量的MED值时显示。

鉴于此属性是向外部邻居提示有关AS中路径首选项的提示。如前所述，如果有其他更重要的属性可用于确定最佳路由，MED 属性不一定会被纳入考虑。

为了对更具确定性的属性具有相同效果，请在路由映射下使用set as-path prepend命令。

如果为某些路由预置AS路径，则其他AS会继续看到该路径。有关As-path prepend的用法的详细信息，请参阅Use of Set-aspath prepend命令。

相关信息

- 调试输出中显示“BGP:常见问题

- BGP 案例分析

- BGP 支持页

- BGP 多宿主：设计和故障排除 - 网络直播视频

- 技术支持和文档 - Cisco Systems