如上图所示:全网运行eigrp,从A到D有两条路径可达,那么eigrp怎么计算metric,怎么选路呢?
首先咱们先回顾一下eigrp的概念:
EIGRP偶尔会被描述为具备链路状态路由协议动做的距离矢量路由协议。全部距离矢量路由协议一个共有的特性就是,把本地整个路由表发送给直连邻居。(链路状态路由协议只是把本身的直连链路的状态信息通告出去,可是全部本路由协议域内的其余路由器均可以学习到这个信息。)距离矢量路由协议存在的最大问题就是路由环路和跳数无限制,也就必须使用水平分割,计时器等方法来避免这些问题。由于全部的距离矢量路由器在发送路由更新前,都要先对接收到的新的路由进行路由计算,这样在比较大的网络环境中,直接影响了路由收敛的速度。距离矢量路由协议的路由更新就是本地路由表,这样拓扑中一个很是重要的链路变化会致使许多路由变化的通告。
Eigrp的几个名词:
Feasible distance(FD)-路由器计算到达目的网络的最低的metrci值。
Feasible condition(FC)-用来匹配邻居通告的metric值,是否大于本身的FD。FC的做用其实是防环,若是邻居通告的到达同一目的网络的metric值比路由器的FD大,彻底有多是邻居到达目的网络的路径包括本路由器,也就是形成环路。
Feasible successor-路由器到达目的网络的下一跳。
好,eigrp的概念咱们先复习到这,具体看上面的top图,咱们来看metric的计算方法。
Eigrp的metric的计算公式=igrp的metric*256
Igrp的metric计算公式=[(10000000/链路上的最小带宽)+sum(delay)/10]*256
因此,上图D学到了A的lo0的路由,从A-B-C-D链路上到达lo0的metric为 [10000000/64 + (6000+5000)/10]*256 = (156250+1100)*256 =40281600
上述公式当中的延迟请注意,除了每条链路上的延迟,lo0口的延迟不要忘了算,lo0口的延迟默认为5000.
咱们再看从A-X-Y-Z-D的路径metric。
Metric=[(10000000/256)+(8000+5000)/10]*256=(39062.5+1300)*256=10332672
此时注意:10000000/256 除出来的数不是整数,是带小数的,这时怎么取值呢,在这里咱们不须要四舍五入,直接取整就能够。还有一种状况,假设除出来的数是0.xx怎么办,这个时候咱们就不能取0了,而是取1.
此时 metric计算完毕,eigrp将选择metric低的链路到达lo0