CCNP——EIGRP算法实验
本来只想通过视频课的讲解叙述一下就好了,发现自己做起实验来一些地方还是理解不到位,所以今天又把实验做了一遍复盘了一下,再来详细阐述一下这个实验,以便加深理解!!
实验名称:EIGRP算法实验
实验说明
图中四个路由器运行EIGRP路由协议,图中所标的IP地址为相应的路由器接口的IP地址,其中Loopback 0接口用来模拟路由器R4外接的一个网络,我们将通过查看四个路由器的信息来验证EIGRP的DUAL路由算法,并且说明metric的计算过程!!
实验步骤:
- 为四个路由器配置IP地址和EIGRP
- 验证DUAL算法
- 查看接口信息说明计算metric的计算方法
- 通过修改R3的链路带宽来验证路由表的变化
第一步比较简单,这里不再说明。现在我们来详细验证EIGRP的DUAL算法:
我们先来查看R4的拓扑表,如下图:
从图中我们可以看到,R4到达4.4.4.0/24网络,有一个后继路由器,FD是128256,并且与4.4.4.0/24这个网络是直连关系(Connectce表示直连),并且是通过loopback 0接口进行的连接。
然后,我们再来看R3的拓扑表,如下图:
我们发现:R3到达4.4.4.0/24网络,有一个后继路由器,FD是409600,经过的是10.0.34.4接口(该接口即R3与R4相连的接口),然后(409600/128256)表示FD是409600,AD是128256,与之相连的接口是Ethernet0/1。
最后,我们查看R1的拓扑表,如下图:
从R1的拓扑表,我们可以看出R1到4.4.4.0/24网络有两条FD相同的路由,他们的FD都是435200,AD是409600,这是因为上下两条路由都采用的默认完全相同的设置,所以两条路到达4.4.4.0/24网络的metric值是相同的,所以这两条路由会同时加入到路由表当中,这就是EIGRP的等价负载均衡的特性。
我们来看一下R1的路由表:
图中标注出的部分就是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接口的带宽和延迟:
然后代入公式:
- 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
修改带宽以后,我们发现R1拓扑表中到4.4.4.0/24的路由信息,由原来的两条变成了一条,这说明通过R3到达4.4.4.0/24网络的这条路径都没加入到拓扑表中,这个时候,我们来查看一下R3的拓扑表来找一下原因!
我们发现R3到达4.4.4.0/24网络的FD值已经变成了438016,这时候当它作为AD值传给R1的时候,我们发现这个AD值大于了R2传递给R1的FD值435200,所以根据可行性条件FC,该条路由信息,不会加入到R1的拓扑表!!
通过查看R1的所有路径,我们可以更清晰地看到这个现象:
下面我们来把带宽改为5000,看看会有什么变化:
这个时候我们发现在R1上通过查看所有路径的命令也查不到R1通过R3到达4.4.4.0/24网络的路径,于是,我们来查看R3的拓扑表,来看看原因:
我们通过查看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,来看看路由有什么变化:
这次我们修改以后,发现:从R3到达4.4.4.0/24网络的这条路由又加进了拓扑表中,这次R3变成了FS(可行后继路由器),一旦通过R2的那条路径出现故障,这条路由条目便会从拓扑表加入到路由表当中!
通过在R1上执行命令:
- R1(config)#router eigrp 100
R1(config-router)#variance 2