在构建大型网络时,尤其是全Cisco的设备的时候,我们更加喜欢使用EIGRP而胜过OSPF。

这是因为好多EIGRP中的Features在OSPF里面我们无法实现,比如:EIGRP是唯一一个支持非等值负载均衡技术的路由协议,或者说我们更加乐意去用Cisco的设备去搭配Cisco的Protocol。

那么,是什么决定着EIGRP在转发数据包的时候的路径规则呢?这就需要用到FD、AD,后继和可行后继的关系了。

AD,下一跳节点到目标网络之间的大家开销,这个大家比较好理解,就是以目前你所站的路由器开始算,下一跳与目标网络之间的cost。

FD=从本地路由器开始算起到目标网络之间的cost,

这样换算下来:

FD=下一跳路由器的AD+本地路由器到下一跳路由器之间的cost。这点对于初学者来说是一个不好理解的地方,不过没关系,画个TOP,然后慢慢看看就会明白的。

那么由此可以得出,最佳路径=最小开销=最小开销的FD

后继=现在EIGRP所用的最佳的路径,那么为什么说EIGRP的汇聚速度是很快的呢?那就是,当EIGRP在计算路径的时候会一次性的计算2条路径,一条最佳的称作后继,那么另外一条backup路径,称为FS,即:可行后继,EIGRP会同时算出这两条路径,一个现在用,一个留着以后备用,所以EIGRP的汇聚速度是非常快的。

那么,是不是任何的路径都可以成为FS呢?其实不是的,成为FS需要一个条件,那就是(FS的AD必须要小于后继的FD)

所以,在构建EIGRP网络的时候,需要考虑的因素就有,FD,后继,可行后继(当然,是在大型冗余网络中)

关于DUAL:
DUAL为每个目标网络选择低开销值,无环路的路径
AD:邻居到目的网络的开销(cost)叫做AD,
FD:自身通过该邻居到达目的网络的开销(cost)叫做FD。
Successor:FD最低的路由器叫做successor,successor用来转发数据包,如果FD相同,可以存在多个successor。默认情况下,最多4个successor会添加进路由表(可以被配置到最多6个)。
Feasible successor :DUAL还会保留备份路径,备份路由器被叫做可行后继。成为可行后继路由器的条件是,这台路由器的AD比当前后继路由器的FD小。

DUAL是一个有限状态机,用于选择将哪些信息存储到拓扑表和路由选择表中。因此,DUAL内嵌了用于完成所有EIGRP路由计算的决策进程。它记录邻居通告的所有路由,根据度量值来选择到每个目的地的有效的,无环路路径,并将其加入到路由选择表中。
   
    通告距离和可行距离
    AD是邻居路由器前往特定网络的EIGRP度量值,这是下一跳路由器到目标网络的路径的度量值。
    FD是当前路由器前往特定网络的EIGRP度量值,它是从EIGRP邻居获悉的AD和当前路由器前往该邻居的EIGRP度量值之和。

后继站和可行后继站
    后继站是一台用于转发分组的路由器,它有一条成本最低且没有环路的到目的地的路径。
    如果EIGRP拓扑表中有多条前往给定目标网络的路径的FD相同,则所有这些后继站(默认最多4条)都将被加入到路由选择表中。注意,是FD而不是AD决定了哪条路径是最佳的,并被加入到路由选择表中;AD只是被用来计算FD。
    可行后继站(FS)是提供备用路由的路由器。经由可行后继站的路由必须是无环路的,换句话说,它不能环回到当前的后继站。
    在确定后继站的同时也选定可行后继站。要成为FS,下一跳路由器前往特定网络的AD必须小于当前后继路由的FD。可行后继路由存储在拓扑表中,可同时存储多条前往同一个网络的可行后继路由。

DUAL运算过程
    确保FS没有环路的数学公式要求备用路由的AD小于后继路由的FD。如果次优路由的AD大于或等于后继路由的FD,将没有FS。在这种情况下,将使用发现过程来查找到网络的替代路由,该过程使用EIGRP查询和应答。
    当DUAL确定需要给邻居传输一个分组时,并没有实际生成分组,而是直到传输的那一刻才生成。传输队列中包含一些小型号的定长数据结构,指出了传输分组时应将拓扑表的哪些部分包含在分组中,这意味着传输队列并不会占用大量内存,同时分组中包含的是最新的信息,如果某条路由多次改变状态,分组只指出其最后的状态,从而减少了占用的链路带宽。

转载于:https://blog.51cto.com/haolun/993158

EIGRP中AD与FD的区别相关推荐

  1. 路由拓扑表中AD和FD以及FD的计算

    FD:Feasible Distance(可行性距离),指路由器到达目的网络的最小度量值. AD:Advertised Distance(通告距离)也称报告距离(Reported Distance,R ...

  2. Linux中线程和进程的区别

    Linux中线程和进程的区别 进程是具有一定独立功能的程序关于某个数据集合上的一次运行活动,它是系统进行资源分配和调度的一个独立单位.例如,用户运行自己的程序,系统就创建一个进程,并为它分配资源,包括 ...

  3. python中break和continue的区别

    python中break和continue的区别 break 结束for 或者while 循环  后面还没循环到的 不再循环 continue 当满足某种条件时结束当前值的循环 后面没有循环的继续循环 ...

  4. java中separator_java - File.separator和路径中的斜杠之间的区别

    java - File.separator和路径中的斜杠之间的区别 在Java Path-String中使用/和普通的File.separator有什么区别? 与双反斜杠相比,/平台独立似乎不是原因, ...

  5. PHP中self和static的区别,php中self与static的区别

    原文链接,猛击这里. php中self与static的区别 通过一些示例,我们可以很容易看出self和static的区别.假定我们有class Car – 它有两个方法,model和getModel. ...

  6. php 抽象类 接口 区别,PHP中抽象类、接口的区别与选择分析

    本文实例分析了PHP中抽象类.接口的区别与选择.分享给大家供大家参考,具体如下: 区别: 1.对接口的使用是通过关键字implements.对抽象类的使用是通过关键字extends.当然接口也可以通过 ...

  7. php $this self,php中self与$this的区别

    学习php中self与$this的区别. 先来看下parent与self的例子: /* * parent与self的区别 * by www.jbxue.com */ class A{ function ...

  8. mysql中char与varchar的区别分析(补充一句,int和integer没区别)

    转自:http://www.jb51.net/article/23575.htm 在mysql教程中char与varchar的区别呢,都是用来存储字符串的,只是他们的保存方式不一样罢了,char有固定 ...

  9. python中bytearray和java中byte[]的区别_Python经典面试题:说说Python中xrange和range的区别?...

    昨晚一小伙后台问xrange和range有啥区别,讲了下他倒领悟的挺快,其实这也是你各面试Python岗位,经常会遇到的Python面试题,长个心眼哈,说不定明年3月你找工作就用上了. 废话不多说,开 ...

  10. python中函数和方法的区别?Python编程判断当前获取的对象是函数还是方法

    python中函数和方法的区别?Python编程判断当前获取的对象是函数还是方法 目录

最新文章

  1. vs2015使用GIt连接git.oschina.net/
  2. 为Feign设置Header信息
  3. NHibernate3剖析:Query篇之NHibernate.Linq标准查询
  4. 中国血液制品行业供给预测与投资风险分析报告2022版
  5. 新版本秒级自动部署,K8S才是永远的容器之神!
  6. JsonUtils.java
  7. 微软将人工智能嵌入Windows 10更新
  8. 【转】教你何时开启水果机上的HDR拍照
  9. java webdriver page object_Selenium2(java)页面对象模型(Page Object) 八
  10. Android Butterknife
  11. Web前端面试指导(十七):一个满屏 品 字布局 如何设计?
  12. Chap 06 HTML使用表格
  13. JAVA内存管理+String创建字符串对象+常量池详解(合集)
  14. 【STM32+STM32CubeMX】控制ws2812b灯珠
  15. java自制语音识别,JAVA作的语音识别
  16. MySQL 安装及配置 Navicat 工具
  17. 使用excel、python、tableau对招聘数据进行数据处理及可视化分析
  18. Laravel SQL查询中first、pluck、lists方法的使用
  19. eureka集群只注册一个_闲聊注册中心——ZK、Eureka、Sofa-Registry
  20. [构造] Codeforces Gym 101173 CERC 16 K BZOJ 4796 Key Knocking

热门文章

  1. [PM2][ERROR] Script not found 和 npm in fork_mode
  2. 怎么保护自己的音乐作品不被盗用,用FL制作防盗水印片段。
  3. Java并发编程笔记之ArrayBlockingQueue源码分析
  4. oozie JAVA Client 编程提交作业
  5. verilog中generate用法及参数传递(转)
  6. 如何正确处理HTTP 404错误页面
  7. poj 楼天成的男人八题系列 A New Stone Game 博弈问题
  8. inDesign教程,如何使用 Pantone 颜色为黑白图像着色?
  9. inDesign教程,如何创建和编辑页面?
  10. 苹果Mac数据库管理开发工具:JetBrains DataGrip