例解EIGRP DUAL算法网络收敛原理图文教程




例解EIGRP DUAL算法网络收敛原理图文教程

2022-07-21 2:04:28 网络知识 官方管理员

最近有电脑用户反映对EIGRPDUAL算法网络收敛原理不太了解,下面小编结尾大家介绍一下,快来看看吧。

EIGRP是一个平衡混合型路由协议,既有像RIP那样的距离矢量路由协议的特点:有路由跳数的限制,路由信息依靠邻居路由器通告,遵守路由水平分割和反向毒化水平分割规则,路由自动汇总;又有像OSPF那样的链路状态路由协议的特点:当路由信息发生变化时,采用增量更新的方式,保留对网络拓扑信息、同时采用距离矢量和链路状态两种算法来计算路由开销。同时,该协议又具有自己独特的特点:支持非对等开销路由上的负载均衡,采用DUAL算法在确保无路由环路的前提下,收敛迅速。因而适用于中大型网络。但前面提到的IGRP是是距离矢量路由协议。

EIGRP采用的是DUAL(DiffusingUpdateAlgorithm,扩散更新算法)。这个算法可以确保在极短时间内无环路计算出路由结果,并且允许所有与拓扑改变相关的设备在同一时间进行同步更新。不受拓扑结构改变的路由器不会进行重新计算。这种收敛效率要远比其他已存的路由协议要高。

DUAL算法网络收敛原理解析示例

本节以一个稍微复杂的EIGRP网络收敛为例介绍UDAL的工作原理。本示例拓扑结构如图1的左图所示,其中RouterC、RouterD和RouterE是当前处于收敛状态时的拓扑表。

EIGRPDUAL算法收敛,算法收敛性分析

图1DUAL网络收敛原理解析示例二拓扑结构及拓扑表

从图中的拓扑表中可以看出,RouterC、RouterD和RouterE这三台路由器至少有一个通告度量(AD)小于它们自己的有限距离(FD)的有效路由到达RouterA所连接的网络(a)。其中标注为Successor的为当前Successor,标注为fs为可行后续。从中可以看出,这三台路由器中仅RouterC有一个备份用的FS,即RouterD,其它两个路由器均只有一个正在使用的Successor,如图2所示。

EIGRPDUAL算法收敛,算法收敛性分析

图2收敛状态时的三台路由器上到达目的网络的Successor和FS

此时,RouterC标识通过RouterB的路由作为当前使用的路由,因为这条路由的AD=1,小于RouterC上到达网络(a)的FD值3。RouterC同时也标识通过RouterD的路由作为备份使用的FS路由,因为这条路由的AD=2,小于RouterC上到达网络(a)的FD值3。但是通过RouterE的路由不能作为FS路由,因为这条路由的AD=3,与RouterC上到达网络(a)的FD值3相等,不符合成为FS的条件。

RouterD标识通过RouterB的路由作为当前使用的路由,因为这条路由的AD=1,小于RouterD上到达网络(a)的FD值2。但在RouterD中,通过RouterC的路由也不能作为FS路由,因为这条路由的AD=3,大于RouterD上到达网络(a)的FD值2,不符合成为FS的条件。

RouterE标识通过RouterD的路由作为当前使用的路由,因为这条路由的AD=2,小于RouterE上到达网络(a)的FD值3。但在RouterE中,通过RouterC的路由也不能作为FS路由,因为这条路由的AD=3,等于RouterE上到达网络(a)的FD值3,不符合成为FS的条件。

现假设RouterD与RouterB之间的链路断了。从前面的RouterD拓扑表可以知道,它原来只有RouterB这一个Successor,没有其它FS,所以RouterD需要使用DUAL计算新的路由到达网络(a)。同时从拓扑表中删除通过RouterB到达网络(a)的拓扑表项,如图3所示。

EIGRPDUAL算法收敛,算法收敛性分析

图3断开RouterD与RouterB之间的链后,RouterD删除通过RouterB的拓扑表项

此时RouterD因为没有可到达网络(a)的可行路径了,所以成为活跃状态(Active),开始向它的其它两个邻居路由器RouterC和RouterE发送查询包,声明自己没有到达网络(a)的FS了,问它们是否有可替代的路径。当RouterE收到这个来自同时为自己的Successor的RouterD的查询包后,从自己的拓扑表中删除通过RouterD到达网络(a)所对应的拓扑表项。如图4所示。

EIGRPDUAL算法收敛,算法收敛性分析

图4RouterD成为活跃状态,RouterE删除通过RouterD的拓扑表项

因为此时RouterE已再也没有其它路径到达网络(a)了,所以RouterE也转换为活跃状态。而当RouterC收来这个来自为自己FS的RouterD的查询包后,从自己的拓扑表中删除通过RouterD到达网络(a)所对应的拓扑表项。但是它不会转换为活跃状态,因为它此时仍有SuccessorRouterB可以到达网络(a)。然后,RouterC对RouterD的查询进行响应,告诉RouterD它还有一条有效的路径到达网络(a)。但此时RouterE也为活跃状态了,所以它在收到来自RouterD的查询包后仅转发到RouterC,询问是否有替代路径到达网络(a)。如图5所示。

EIGRPDUAL算法收敛,算法收敛性分析

图5RouterE成为活跃状态,RouterC删除通过RouterD的拓扑表项

RouterD在收到RouterC发来的应答包后,在自己的拓扑表中添加RouterC的拓扑表项,同时标识RouterC为Successor。与此同时,RouterC会对RouterE发来的查询包进行响应,同样告诉它有一条路径可以达到网络(a)。这样RouterE也会把RouterC作为Successor,并向RouterD应答,此时的从原来的3改变成了4。如图6所示。

EIGRPDUAL算法收敛,算法收敛性分析

图6RouterD添加通过RouterC和RouterE的拓扑表项,RouterE添加通过RouterC的拓扑表项

当RouterD收到RouterE发来的应答后(一直要等到收到所有邻居路由器发来的应答),更新拓扑表。此时它有两条可行的路径到达网络(a),一条是以RouterC为当前Successor的路径,另一条是以RouterE为FS的备用路径。此时的从原来的2改变成了5。如图7所示。

EIGRPDUAL算法收敛,算法收敛性分析

图7网络重新收敛后的拓扑结构和拓扑表

以上就是小编为大家讲解的EIGRPDUAL算法网络收敛原理,需要的朋友快来看看吧,想了解更多精彩教程请继续关注!


发表评论:

最近发表
网站分类
标签列表