1、BGP中MED的取值范围是0-4294967295。
我们在华为路由器的CLI中验证一下,如下图
OK,那么这个值是怎么来的呢?
这个取值实际上是一个32位的二进制数值在十进制中的值,
当32位全为0时,此值在十进制中为0;
当32位全为1时,此值在十进制中计算如下:
32位二进制数值全为1时,这个值代表着32位无符号整数的最大值。在十进制中,这个值计算为:
所以32位二进制全为1代表的十进制数值是4294967295。
2、BGP路由的MED取值继承路由器IGP路由的Metric值,也即Cost值。
静态路由和直连路由为0,因为静态路由器和直连路由cost=0。
我们用实验来理解一下上面这句话
实验如下图:
如图在标示红色的部分,AR1、AR2、AR5路由器通过OSPF路由已经全部打通。在AR1和AR2上启动了BGP。配置如下
AR1:
#
bgp 100
peer 192.168.3.1 as-number 200
#
ipv4-family unicast
undo synchronization
import-route ospf 1 //重点看这条
peer 192.168.3.1 enable
AR2:
bgp 100
peer 192.168.4.1 as-number 200
#
ipv4-family unicast
undo synchronization
import-route ospf 1 //重点看这条
peer 192.168.4.1 enable
AR1和AR2都引入了OSPF路由。
那我们来看AR1的BGP路由表:
AR1到192.168.1.0的MED是0 ,为什么是0呢?因为这个直连路由,直连路由的MED是0;
AR1到192.168.2.0和192.168.100.0的MED是2,为什么是2呢? 这里取值自IGP(这里是OSPF),OSPF以累计COST为度量值,也即流量从源到目的网络所经过的路由器出接口的COST总和。显然,AR1到这两个网段经过了两个出接口,所以COST值是2,因为BGP路由的MED取值继承路由器IGP路由的Metric值,也即Cost值。所以这里的MED值=Cost值=2。
总结:
1、BGP中MED的取值范围是0-4294967295。
2、BGP路由的MED取值继承路由器IGP路由的Metric值,也即Cost值。
静态路由和直连路由为0,因为静态路由器和直连路由cost=0。