目录

简介

先决条件

要求

使用的组件

规则

案例研究

场景 1

场景 2

相关信息

简介

本文档通过在不同场景下实施边界网关协议 (BGP) 的多出口鉴别 (MED) 属性，帮助您更好地理解如何使用该属性跨越自治系统 (AS) 边界。

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

注意：当所有其他因素相等时，首选具有最低MED的出口点。

先决条件

要求

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

使用的组件

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

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

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

规则

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

案例研究

场景 1

当 BGP Speaker 从对等体获取路由时，该路由的 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 10.10.10.10 255.255.255.255

(Config-if)#interface FastEthernet0/0

(Config-if)#ip address 192.1.12.1 255.255.255.0

(Config)#router bgp 100

(Config-router)#no synchronization

(Config-router)#bgp router-id 10.10.10.10

(Config-router)#bgp log-neighbor-changes

(Config-router)#network 10.10.10.10 mask 255.255.255.255 route-map ATTACH_MED

(Config-router)#neighbor 192.1.12.2 remote-as 100

(Config-router)#no auto-summary

(Config)#access-list 10 permit 10.10.10.10

(Config)#route-map ATTACH_MED permit 10

(Config)#match ip address 10

(Config)#set metric 100

路由器 2

(Config)#interface FastEthernet0/0

(Config-if)#ip address 192.1.12.2 255.255.255.0

(Config-if)#interface Serial1/0

(Config-if)#ip address 192.1.23.2 255.255.255.0

(Config-if)#encapsulation frame-relay IETF

(Config-if)#no fair-queue

(Config-if)#frame-relay map ip 192.1.23.3 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 22.22.22.22

(Config-router)#bgp log-neighbor-changes

(Config-router)#neighbor 192.1.12.1 remote-as 100

(Config-router)#neighbor 192.1.23.3 remote-as 101

(Config-router)#neighbor 192.1.23.3 ebgp-multihop 3

(Config-router)#no auto-summary

路由器 R3 配置如下：

路由器 3

(Config)#interface Serial1/0

(Config-if)#ip address 192.1.23.3 255.255.255.0

(Config-if)#encapsulation frame-relay IETF

(Config-if)#no fair-queue

(Config-if)#frame-relay map ip 192.1.23.2 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 192.1.23.2 remote-as 100

(Config-router)#neighbor 192.1.23.2 ebgp-multihop 3

(Config-router)#no auto-summary

在以上设置中，R1 和 R2 之间运行了 iBGP。当包含特定指标的更新进入自治系统后，该指标会被用于在自治系统内部做出决策。从R2选中后，show ip bgp 命令会显示10.10.10.10的度量值，该值通过iBGP邻居192.1.12.1而且MED值为100。

R2 的输入如下所示：

R2 和 R3 之间运行了 eBGP，因为它们属于不同的自治系统。当同一更新传递到第三个AS（例如AS#101）时，该度量将返回到0。从R3选中后，show ip bgp 命令将删除其度量，因为10.10.10.10跨越AS边界(101)。

R3 的输入如下所示：

此场景明确表明，MED 属性能够影响邻居自治系统的传入流量，但是不会影响距离更远的自治系统的路由决策。当 BGP Speaker 从对等体获取路由时，会将该路由的 MED 传递到所有 iBGP 对等体，但是不会传递到 eBGP 对等体。因此，MED 仅在相邻的自治系统之间具有相关性。

场景 2

如果注入到 BGP 的路由（无论是使用 network 命令，还是使用 redistribute 命令）来自 IGP（RIP、EIGRP 或 OSPF），则 MED 值将衍生自 IGP 指标，而且该路由在通告到 eBGP 邻居时会带有该 MED。

此场景对应的网络设置如下图所示：

在这个网络中，R1 配置为在 RIP 网络中运行。路由器 R2 和 R3 之间运行了 BGP。其中，R2 属于 AS 100，R3 属于 AS 101。

路由器 R1 配置如下：

路由器 R1

(Config)#interface Loopback10

(Config-if)#ip address 10.10.10.10 255.255.255.255

(Config-if)#interface FastEthernet0/0

(Config-if)#ip address 192.1.12.1 255.255.255.0

(Config)#router rip

(Config-router)#network 10.0.0.0

(Config-router)#network 192.1.12.0

(Config-router)#no auto-summary

路由器 R2 和 R3 针对 BGP 进行了配置，将 RIP 网络注入到 BGP 的重新分发操作在 R2 中执行。

路由器 R2

(Config)#interface FastEthernet0/0

(Config-if)#ip address 192.1.12.2 255.255.255.0

(Config-if)#interface Serial1/0

(Config-if)#ip address 192.1.23.2 255.255.255.0

(Config-if)#encapsulation frame-relay IETF

(Config-if)#no fair-queue

(Config-if)#frame-relay map ip 192.1.23.3 203 broadcast

(Config-if)#no frame-relay inverse-arp

(Config-if)#frame-relay lmi-type ansi

(Config)#router rip

(Config-router)# network 192.1.12.0

(Config-router)#no auto-summary

(Config-router)#router bgp 100

(Config-router)#no synchronization

(Config-router)#bgp router-id 22.22.22.22

(Config-router)#bgp log-neighbor-changes

(Config-router)#neighbor 192.1.23.3 remote-as 101

(Config-router)#neighbor 192.1.23.3 ebgp-multihop 3

(Config-router)#redistribute rip metric 1

Config-router)#no auto-summary

路由器 R3

(Config)#interface Serial1/0

(Config-if)#ip address 192.1.23.3 255.255.255.0

(Config-if)#encapsulation frame-relay IETF

(Config-if)#no fair-queue

(Config-if)#frame-relay map ip 192.1.23.2 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 33.33.33.33

(Config-router)#bgp log-neighbor-changes

(Config-router)#neighbor 192.1.23.2 remote-as 100

(Config-router)#neighbor 192.1.23.2 ebgp-multihop 3

(Config-router)#no auto-summary

RIP和BGP都在R2上运行。如果使用show ip bgp命令进行检查，您会看到前缀10.0.0.0网络显示的度量为1，该度量由RIP派生而来。

R2 的输入如下所示：

但是在 eBGP 中运行的 R3 上，网络通告会认为此 MED 值衍生自 IGP。在这种情况下，IGP 也就是 RIP。前缀为 10.0.0.0 的网络在通告时会带有 IGP 的 MED 值，即 RIP 的指标 1。

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

在此场景中，网络是通过 network 命令 或 redistribute 命令注入到 BGP 路由器的，MED 的行为明显与前一种场景不同，因为实际 MED 值被 IGP 指标替代。在这种情况下，MED 属性会被外部邻居作为判断自治系统路径优先级的线索。如前所述，如果有其他更重要的属性可用于确定最佳路由，MED 属性不一定会被纳入考虑。要使该属性像其他更有决定性的属性一样发挥效力，可在路由映射下使用 set as-path prepend 命令。如果预先添加自治系统路径用于特定路由，就可以使其一直能够被其他自治系统发现。有关 as-path prepend 命令的具体使用方法，请参阅使用 set as-path prepend 命令。

相关信息

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

- BGP 案例分析

- BGP 支持页

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

- 技术支持和文档 - Cisco Systems