注册 | 登录 忘记密码? 51cto首页 | 博客 | 论坛 | 招聘
热点文章 负载均衡技术沙龙问答汇集
 帮助

关于EIGRP的扩散更新算法(DUAL)


2008-04-08 21:48:23
 标签:EIGRP DUAL 扩散更新   [推送到技术圈]

版权声明:原创作品,允许转载,转载时请务必以超链接形式标明文章 原始出处 、作者信息和本声明。否则将追究法律责任。http://andysea.blog.51cto.com/347525/70547
 
 
DUAL算法是EIGRP操作的核心内容,它保证了EIGRP100%无环路。在弄懂DUAL之前,需要先介绍几个术语:
 
1)  可行距离(feasible distance, FD-----指路由器到达目的网络的最小度量。很重要的是最小两个字。如图:可见下图中A到达目的网络的可行距离为121.
  
 
2)  报告距离(reported distance, RD-----也叫做公布距离(AD),有邻居路由器公布的,如果说目的网络是源的话,就是由“上游路由器”公布的,因为“上游路由器”离目的网络应该比你近,这也构成了所谓的FC。上图中H B D的报告距离分别是30 21 140.
 
3)  可行性条件(feasible condition, FC-----是指报告距离比可行距离小的条件(RD^AD<FD)。这个条件很重要,是保证无环的根本。上图中的D并不满足此条件。
 
4)  后继路由器(successor-----满足可行条件并具有到达目的网络最短距离的相邻路由器,即为下一跳路由器。上图中的后继路由器为B
 
5)  可行后继路由器(feasible successor-----满足FC但是没有被选作后继的一个邻居路由器。它相当于后继的一个backup。上图中的H即为可行后继路由器。可行后继路由器同时也减少了扩散计算的数量,提高了网络性能。
 
6)  被动路由-----表明路由器当前有一个合法后继,并且EIGRP工作正常。在路由器上使用sho ip eigrp top可以查看eigrp的拓扑图,其中路由条目前的p就表示该路由当前为被动路由
 
7)  主动路由-----表示路由器已经失去了它的后继,它没有任何可用的可行后继,并且当前该路由器正在主动搜寻替代的路由以实现收敛。和6)一样,路由条目前的a表示当前为主动路由。
 
补充一点,在做实验的时候为了方便可以直接指定链路的度量值,方法是先metric weight 0 0 0 1 0 0即为只用delay参考,然后再用delay命令指定延迟就好。
 
基本的术语解释完毕,下面给出一个规则说明DUAL是怎么工作的。这个规则成为DUAL有限状态机。
 
在正常状况下,EIGRP的每一条路由都处于被动路由的状态下,在产生一个输入输入事件的时候,路由器会重新评估一条路由的可行后继列表。这些事件可以是直连链路的代价或状态(up or down)发生变化,收到一个查询,答复,更新时。
 
路由器重新评估的第一步是做一个本地计算,也就是对于所有的可行后继路由器重新计算。如果发现可用可行后继,路由讲继续保持被动状态。如果没有一台可用的可行后继,则路由条目变成active状态(回头应该写一个SIA的东西,呵~)并进行扩散计算。
 
路由器通过向所有的邻居发送查询开始扩散计算,邻居收到查询后进入local computation阶段,如果邻居有到达目的网络的一条或多条可行后继,则答复请求,请求中包括到达目的网络。如果没有邻居会开始进行扩散计算。
 
在一个路由器开始进行扩散计算的时候,会有一个被设置为3mintimer,如果在活动计时器超时之后还没有收到回复,该条路由就会“stuck in active(SIA).没有被答复的邻居路由器会被从邻居表里删除。下篇blog再举例子说明DUAL吧,这个写的太长了,累了。
 
 
 
 

本文出自 “慕枫的部落格~” 博客,请务必保留此出处http://andysea.blog.51cto.com/347525/70547





    文章评论
 
 

发表评论

昵   称:
验证码:  点击图片可刷新验证码  博客过2级,无需填写验证码
内   容: