一、优选MED属性值最小的路由
BGP路由属性中的MED(Multi-Exit Discriminator,多出口鉴别器) 是一个可选的非传输属性,其设计目的是影响EBGP邻居的路由选择。MED是一个4字节的整数,其值的范围从0到4294967295。默认情况下,MED的值为0。
MED属性相当于IGP使用的度量值(Metrics),它用于判断流量进入AS时的最佳路由。当一个运行BGP的设备通过不同的EBGP对等体得到目的地址相同但下一跳不同的多条路由时,在其它条件相同的情况下,将优先选择MED值较小者作为最佳路由。
默认情况下BGP只会对来自同一个AS的相同路由比较MED值,可以通过命令开启来自不同AS的相同路由也比较MED值,双方都需要开启比较不同AS MED值。
应用场景:
当RouterA从同一个AS中有两个邻居对等体时,可以通过MED值控制从哪个对等体接收路由更新。
MED简单讲就是cost开销,值越小越优先。可以通过路由策略或者修改默认MED值修改。
二、实验配置
MED值的比较优先级较低,在前面五条选路原则都相同的情况下可以通过配置MED值影响路由选路。
配置:
# AR2配置
# 配置前缀列表
ip ip-prefix med index 10 permit 192.168.1.0 24
# 配置路由策略
route-policy med permit node 10
if-match ip-prefix med
apply cost 20
#
route-policy med permit node 20
# BGP配置
bgp 100
peer 1.1.1.1 as-number 100
peer 1.1.1.1 connect-interface LoopBack0
peer 3.3.3.3 as-number 100
peer 3.3.3.3 connect-interface LoopBack0
peer 10.1.24.4 as-number 200
#
ipv4-family unicast
undo synchronization
peer 1.1.1.1 enable
peer 1.1.1.1 route-policy med export # 向AR1通告路由时调用路由策略
peer 1.1.1.1 next-hop-local
peer 3.3.3.3 enable
peer 10.1.24.4 enable
在AR1上查看BGP路由信息。
发现从AR2通告的路由的确MED为20,但是还是优选的。这里有一个前提需要注意默认情况下只会对来自同一个AS的路由进行比较,而这里AR2发布的路由是AS 200,而AR3发布的路由是AS 300,如果需要比较不同AS学习到的相同路由需要命令开启。
AR1配置:
# 配置
bgp 100
peer 2.2.2.2 as-number 100
peer 2.2.2.2 connect-interface LoopBack0
peer 3.3.3.3 as-number 100
peer 3.3.3.3 connect-interface LoopBack0
#
ipv4-family unicast
undo synchronization
compare-different-as-med # 开启比较不同AS的MED值功能
peer 2.2.2.2 enable
peer 3.3.3.3 enable
最后验证:
总结:MED属性相当于IGP使用的度量值(Metrics),它用于判断流量进入AS时的最佳路由。当一个运行BGP的设备通过不同的EBGP对等体得到目的地址相同但下一跳不同的多条路由时,在其它条件相同的情况下,将优先选择MED值较小者作为最佳路由。默认情况只比较来自同一个AS的路由。
如果对文章感兴趣欢迎微信搜索公众号:不喜欢热闹的孩子
本文由 mdnice 多平台发布