
BGP协议的MED属性只能在一个自治域内传递。
BGP的MED属性(Multi-Exit Discriminator)并非仅能在一个自治域内传递,其传递规则需结合邻居关系和配置场景具体分析。作为可选非传递属性,MED主要用于引导外部自治系统(AS)选择进入本地AS的最优路径,默认值为0且数值越小优先级越高。
在IBGP邻居之间,MED属性会被保留并传递。例如,当AS内路由器通过IBGP共享路由时,即使未显式设置MED值,该属性仍会随路由在自治域内传播。如拓扑中RT2(AS100)将从RT3(AS200)学到的MED=200的路由传递给IBGP邻居RT1时,RT1仍能接收到该MED值。
对于EBGP邻居,MED的传递存在默认限制:若路由的MED值由本地AS设置(如通过network或import命令注入且来源为IGP),则会传递给相邻EBGP对等体;若MED值是从其他AS接收的,则默认不向后续EBGP邻居转发。例如,RT2将本地生成的MED=100的路由传递给EBGP邻居RT3,但不会将从RT1学到的MED值转发给RT3。
存在两种特殊场景打破默认规则:当路由通过network/import命令从IGP引入BGP时,MED会自动继承IGP的Cost值并传递给EBGP邻居;若路由源自直连网段,MED默认设为0并可传递给EBGP。例如,RT3将OSPF Cost为20的路由注入BGP后,EBGP邻居RT4可收到MED=20的路由。
通过修改配置可实现MED跨AS传递。例如在华为设备上配置apply cost-type internal,或在Cisco设备使用bgp always-compare-med命令,可强制路由器在EBGP邻居间保留MED值。这在复杂网络中可用于跨多个AS引导流量,但需谨慎操作以避免选路异常。
综上,MED的传递范围取决于邻居类型、路由起源及显式配置:IBGP内默认传递,EBGP内默认不传递但可通过配置改变。理解这一特性需区分“本地生成”与“接收转发”的MED值,并结合实际网络拓扑设计流量工程策略。如何在多AS环境中平衡MED的灵活性与网络稳定性,仍是BGP配置中的关键挑战。