#

6. DUAL算法

1. DUAL 术语

DUAL有限状态机用于计算路由,保证无环网络

Advertise Distance AD = 后继到达目的地

Feasible Distance FD = 当前路由器通过后继到目标网络的距离

Successor 后继 = 拥有最低成本路径的下一跳邻居(最低的FD,最低的Metric)

Feasible successor FS 可行后继 = 次佳路径的下一跳邻居(AD小于经由后继的FD)

FC 可行条件 = AD要小于当前的FD

2. 如果后继失效,并且没有可行后继,将触发路由发现进程

尝试向外发送query,发送给所有邻居,内容为关于丢失的路由的查询消息

并且等待回应(reply)

邻居设备收到query之后会回应ack,用于RTP的确认,同时向外传递query消息,直至网络边界

边界设备则开始逐跳回应reply消息

直到所有query消息都得到了reply的回应,才开始重新评估可行后继列表

把该条目的可行后继条件设置为无穷大

然后把所有可能路径计算出FD,这样所有的邻居都会是FS

从中选取最优的作为后继

然后根据当前选举出的后继,就可以得到真正的FC

然后根据当前的FC,得出是否有可行后继

3. DUAL有限状态机

a. 产生输入事件,将重新评估FS列表

输入事件:当路由器直连链路发生变化(up / down、开销变化),收到更新、查询、回复报文

重新评估的过程:

  1. 本路由器执行一个本地计算,实际上是计算到达所有可能的FS的距离
  2. 如果距离发生变化,将进行相应的操作,并更新给邻居
  3. 在没有FS 的情况下,将执行DUAL计算

路由器执行DUAL计算的同时,不能做以下操作:(事件应有序的一次一个的被处理)

  1. 改变后继路由器
  2. 改变正在通告的路由的距离
  3. 改变路由的FD
  4. 开始路由的另一个DUAL计算

b. 当EIGRP失去后继或失去路由时,将立刻查询拓扑表是否有可行后继;

​ 有:立即提升为后继,并通知邻居

​ 没有:进行DUAL计算,即发送查询分组,直至收到所有回复

对于被查询的邻居:

  1. 有相关路由,则回复后继的相应的合法度量值
  2. 没有相关路由,有其他邻居,则继续传递查询
  3. 没有相关路由,没有其他邻居,回复度量值为无穷大的回复分组,表示没有可替换的路由

c. 海选

DUAL计算完成时,始发者会将该路由的FD设置为无穷大,确保所有合法度量应答都满足可行条件,并成为FS,至此DUAL结束

之后执行本地计算,先选取一个合法FD最小的成为后继,然后将不符合实际FC条件的条目从拓扑表中删除

作业:

在合适的位置对R2和R5 上的10.1.x.x的环回口做合理汇总,实现EIGRP网络的优化

posted @ 2020-05-18 20:16  苒苒物华休&  阅读(355)  评论(0编辑  收藏  举报