zoukankan      html  css  js  c++  java
  • 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网络的优化

  • 相关阅读:
    JBoss+MyEclipse+Mysql 的J2EE环境配置。
    编写一个Session EJB
    编写一个MDB (Message Drive Bean)
    轻便的客户端本地文件数据库 SQLite
    SSH(Struts+Spring+Hibernate)Summary/Profile
    Linux test命令
    mysql权限相关
    linux shell 查看进程的可执行程序路径
    添加dns
    Linux的shell变量
  • 原文地址:https://www.cnblogs.com/j-chao/p/12912732.html
Copyright © 2011-2022 走看看