CCNP——EIGRP算法实验

本来只想通过视频课的讲解叙述一下就好了,发现自己做起实验来一些地方还是理解不到位,所以今天又把实验做了一遍复盘了一下,再来详细阐述一下这个实验,以便加深理解!!

实验名称:EIGRP算法实验

EIGRP实验

实验说明

图中四个路由器运行EIGRP路由协议,图中所标的IP地址为相应的路由器接口的IP地址,其中Loopback 0接口用来模拟路由器R4外接的一个网络,我们将通过查看四个路由器的信息来验证EIGRP的DUAL路由算法,并且说明metric的计算过程!!

实验步骤:

  • 为四个路由器配置IP地址和EIGRP
  • 验证DUAL算法
  • 查看接口信息说明计算metric的计算方法
  • 通过修改R3的链路带宽来验证路由表的变化
第一步比较简单,这里不再说明。现在我们来详细验证EIGRP的DUAL算法:

我们先来查看R4的拓扑表,如下图:
EIGRP拓扑表

从图中我们可以看到,R4到达4.4.4.0/24网络,有一个后继路由器,FD是128256,并且与4.4.4.0/24这个网络是直连关系(Connectce表示直连),并且是通过loopback 0接口进行的连接。

然后,我们再来看R3的拓扑表,如下图:
图2

我们发现:R3到达4.4.4.0/24网络,有一个后继路由器,FD是409600,经过的是10.0.34.4接口(该接口即R3与R4相连的接口),然后(409600/128256)表示FD是409600,AD是128256,与之相连的接口是Ethernet0/1。

最后,我们查看R1的拓扑表,如下图:
图3

从R1的拓扑表,我们可以看出R1到4.4.4.0/24网络有两条FD相同的路由,他们的FD都是435200,AD是409600,这是因为上下两条路由都采用的默认完全相同的设置,所以两条路到达4.4.4.0/24网络的metric值是相同的,所以这两条路由会同时加入到路由表当中,这就是EIGRP的等价负载均衡的特性。
我们来看一下R1的路由表:

图4

图中标注出的部分就是R1到达R4的两条EIGRP的路由!!

metric值的计算:我们以R1到达R4的FD值为435200进行计算:

先来看看metric值的计算方法:
五个参数共同参与Metric计算
  • bandwidth 带宽
  • delay 延迟
  • relibaility 可靠性
  • loading 负载
  • MTU 最大传输单元
计算公式:
  • [k1BW+(k2BW)/(256-LOAD)+k3*DLY]*k5/(RELIA+k4)
    • 默认k1=1,k2=0,k3=1,k4=0,k5=0
    • 默认情况下只有带宽和延迟参与计算
    • 在网络中只考虑出接口的延迟,不考虑入接口的延迟,延迟取值为沿路径上所有出接口延迟累加
    • DLY=延迟(us)/10*256
    • EIGRP路由metric计算默认为:BW+DLY
    • 带宽取值为沿路径上所有数据出接口带宽的最低值计算
    • BW=[10000000/带宽(kbps)]*256
通过上面的公式,我们把5个k值代入公式中发现:EIGRP默认的metric值计算:带宽+延迟。所以,我们先来看看Loopback 0口的带宽和延迟:

在这里插入图片描述

然后是Ethernet接口的带宽和延迟:

图6

然后代入公式:
  • DLY = (1000 + 1000 + 5000) / 10 * 256 = 179200
  • BW = (10000000 / 10000 ) * 256 = 256000
  • metric = 179200 + 256000 = 435200

注:公式里面带宽选择了10000kpbs,是因为EIGRP链路带宽的木桶效应的原因,按最低带宽来进行计算!!

修改R3的Ethernet 0/1接口的带宽,来查看拓扑表的变化,进而验证DUAL算法!

首先通过命令:

  • r3(config-if)#bandwidth 9000 修改接口带宽为9000kbps
    图7
修改带宽以后,我们发现R1拓扑表中到4.4.4.0/24的路由信息,由原来的两条变成了一条,这说明通过R3到达4.4.4.0/24网络的这条路径都没加入到拓扑表中,这个时候,我们来查看一下R3的拓扑表来找一下原因!

图8
我们发现R3到达4.4.4.0/24网络的FD值已经变成了438016,这时候当它作为AD值传给R1的时候,我们发现这个AD值大于了R2传递给R1的FD值435200,所以根据可行性条件FC,该条路由信息,不会加入到R1的拓扑表!!

通过查看R1的所有路径,我们可以更清晰地看到这个现象:

图9

下面我们来把带宽改为5000,看看会有什么变化:

图10

这个时候我们发现在R1上通过查看所有路径的命令也查不到R1通过R3到达4.4.4.0/24网络的路径,于是,我们来查看R3的拓扑表,来看看原因:

图11

我们通过查看R3的路由表发现:R3到达4.4.4.0/24网络的下一跳走的是R1!这就说明由于我们把带宽改为5000以后,经过R3到达4.4.4.0/24网络的metric值太大,以至于R3到达4.4.4.0/24的网络都不走R3到R4的链路,改成走R1了,所以在R1上查看所有路径没有到达R3的这条路径!
最后,我们再来把带宽改为9500,来看看路由有什么变化:

图12

这次我们修改以后,发现:从R3到达4.4.4.0/24网络的这条路由又加进了拓扑表中,这次R3变成了FS(可行后继路由器),一旦通过R2的那条路径出现故障,这条路由条目便会从拓扑表加入到路由表当中!
通过在R1上执行命令:
  • R1(config)#router eigrp 100
    R1(config-router)#variance 2
可以开启EIGRP的非等价负载均衡的功能,至于它的目的和作用可以查看上一篇博客:

CCNP——EIGRP路由协议算法详解

这时,我们再查看R1的路由表,我们发现:两条不同metric值的路径都加入了路由表!

图13

实验分析:

通过上述的模拟实验,我们深入了解了EIGRP执行的过程以及验证了在不同情况下拓扑表和路由表的变化!!最后,欢迎扫描下面二维码,关注公众号:蜂蜜橘子!我们一起来讨论其他有趣的问题!!

微信公众号

发布了82 篇原创文章 · 获赞 176 · 访问量 12万+

猜你喜欢

转载自blog.csdn.net/loveCC_orange/article/details/103980693