MED - Multi-Exit Discriminator
- 32bit 值,越低,优先级越高
- 可选的 Non-Transitive BGP PA ,只在直连的邻居上接收,不会继续传递
- 目的是影响来自不同AS的流量
- IGP的Metric值 被自动设为 MED值,当路由从IGP进入BGP时
- 可以用在eBGP之间,也可以用在 iBGP之间
- MED值只有在同1个AS宣告的路由间才有意义。 如果2个不同的AS,宣告相同的路由,同时带了MED,那么此时MED不会作为路由选择的依据,因为AS_PATH 不一样
Missing MED Behavior
- 默认情况下,Cisco的设备如果从eBGP 端收到1条没有配置 MED的路由,就会将其设置为0,作为最优路径向iBGP 宣告
- RFC4451 也指明 没有携带 MED的路由,需要设置 Priority ,可以将其设置为 Infinity
- bgp bestpath med missing-as-worst 将med 设置为 32bit 的最大值
Always Compare MED
- 上面讲过,如果是来自不同AS的相同路由条目,是不比较MED的 —— 但是如果在这种情况下,还需要使用MED,可以通过bgp always-compare-med 命令 —— 不常用
BGP Determinstic MED
- 以下面这张图为例,在没有开启 always-compare-med 情况下,R5 先收到了来自R4 的172.16.0.0/24 宣告,之后即使来自不同AS的R3、R2相继宣告拥有更优MED的路由,也是会被R5忽略掉
- 如果想在这样的场景下,选择R3为最佳路由,需要怎么做 —— BGP deterministic MED
- 先基于AS分组,组内先比较,然后就结束了 ?
Use IGP Metric for MED
- 在R2上执行:redistribute ospf 100 metric
- 修改 ospf metric,再次观察结果