首页/网络/BGP 与广域网速查/MED:向外部邻居建议入口
BGP 选路与策略62 条

MED:向外部邻居建议入口

MED(Multi-Exit Discriminator)是可选非传递属性,数值小者优先;用于向同一对端 AS 建议从哪个入口进来,默认值为 0。

BGP 与广域网速查网络更新于 2026-10-13

MED 是什么

MED(Multi-Exit Discriminator,多出口鉴别器)是可选非传递属性,数值小者优先,默认 0。它的用途是向同一个对端 AS 建议从哪个入口进来:在两条出口链路上发布不同 MED,对端比较时倾向于选择数值更小的那条。MED 只是建议,对端可以用优先级更高的属性覆盖。

非传递意味着什么

MED 只会传给你的直接 eBGP 邻居,邻居再向它的对端发布更新时不会带上这个值(除非它自己重新设置)。因此 MED 的影响范围止步于下一跳 AS,跨多个 AS 的流量引导要靠 AS-PATH 预置或与对端约定社区,不能指望 MED 穿透多层。

基本信息

属性类型可选非传递
数值方向小者胜
默认值0
决策位置第 6 位,且默认只在同一邻居 AS 的路径间比较
传播范围可发给 eBGP 邻居,但不再跨 AS 继续透传
配置方向针对 eBGP 邻居的 out 方向

典型使用场景

  • 双运营商接入,希望对端从主用链路进入:主用链路发布 MED 50,备用发布 MED 100
  • 同城双机房分担入向流量:按机房容量设置不同 MED,控制流量比例
  • 数据中心双上行,规划入向走低时延链路
  • 变更前调整某个网段的入向入口,而不用改对端配置
  • 多 AS 场景下 MED 仅对同一对端 AS 有效,需与 AS-PATH 预置一起核对出口设计
  • 对端有多个边界设备时,用 MED 引导它选择你希望的落地点

配置示例

配置示例
router bgp 65001
 default-metric 100                    # 重分发路由的默认 MED
!
ip prefix-list PFX-BIZ permit 192.168.100.0/24
route-map RM-MED permit 10
 match ip address prefix-list PFX-BIZ  # 只对指定前缀设值
 set metric 50                         # 命中前缀 MED 改为 50(越小越优)
!
router bgp 65001
 neighbor 10.0.0.2 route-map RM-MED out    # 对 eBGP 邻居的出向生效
!
show ip bgp neighbors 10.0.0.2 advertised-routes

观察与核对

观察与核对
show ip bgp 10.1.1.0/24               # 输出中的 metric 列即 MED
show ip bgp neighbors 10.0.0.2 advertised-routes | include 10.1
# 再到对端设备查看同一前缀的 metric,确认收到的就是你设置的值

与相邻属性对照

属性作用方向数值偏好是否跨 AS 传递
AS-PATH 预置影响对端选路路径短者优随更新传递并累积
MED建议对端入口小者胜可发邻居,不再透传
LOCAL_PREF决定本 AS 出口大者胜仅在 AS 内 iBGP 传播
Weight本机选路大者胜不出本机
MED 只在同一邻居 AS 的路径之间默认比较;若两条路径来自不同 AS,会跳过 MED 直接进入后续步骤。
MED 是建议而非强制:对端若用自己的 LOCAL_PREF 或开启 always-compare-med,设置值可能不产生预期效果,落地前先与对端确认比较规则。
验证分两步:本机看 advertised-routes 里该前缀的 metric 是否为设置值,再请对端确认它学到并采用了这条路径;只看本机输出无法证明入向流量已经改变。
多出口且对端只有一个 AS 号时,MED 是最直接的入向引导手段:它不改变路由可达性,只调整对端的入口偏好,出问题时撤销设置即可恢复,比修改对端策略更安全。
两个 AS 号相同的上游(同一运营商的不同落地设备)是最典型的 MED 使用场景;若发现两条路径的 AS_PATH 首段不同,说明它们来自不同 AS,此时应改用在出口侧做 AS-PATH 预置或与对端协商社区。

常见误区

想法实际情况正确做法
设了 MED 对端就按我的意愿走对端可能用 LOCAL_PREF 或权重更高的属性覆盖与对端确认比较规则后再设置
MED 可以跨 AS 传递非传递属性不随更新继续透传跨多层用 AS-PATH 预置或社区约定
两条不同 AS 的路径会比较 MED默认仅同邻居 AS 之间比较同 AS 双链路场景才以 MED 为主
MED 值越大越优先小者胜,方向容易记反主用链路设小值

易错点

  • 把 MED 当成强制手段:对端若配置了更高优先级的属性策略,MED 不生效
  • 同一对端不同邻居设置不同 MED 却期待一致结果:先确认对端比较规则,同 AS 默认才比 MED
  • set metric 写在 in 方向:改的是自己收到的值,对引导对端入口没有帮助
  • default-metric 的影响面被误解:它只作用于重分发引入的路由,不改变其他路由的 MED
  • 只在本机核对 metric 就宣布完成:对端是否采用还要看它的比较规则,需请对端或 looking glass 复核

数据来源与参考

  • RFC 4271: MED 属性
  • Cisco: BGP MED 配置指南
​‌‌​​‌​​​‌‌​‌‌‌‌​‌‌​​​‌‌​‌‌‌​​‌‌​​‌​‌‌‌​​‌‌‌​​​‌​‌‌​‌​​‌​‌‌‌​​​‌​‌‌​‌​​‌​‌‌​​​‌‌​‌‌‌​‌​​​‌‌​‌‌‌‌​​‌​‌‌‌​​‌‌​​​‌‌​‌‌​‌‌‌‌​‌‌​‌‌​‌