Your browser is out-of-date!

Update your browser to view this website correctly. Update my browser now

Vinllen Chen


To be a better coder

EIGRP协议

  EIGRP也被称为混合路由选择协议或高级距离矢量协议,因为他兼具距离矢量协议和链路状态协议的特征。例如,EIGRP不像OSPF那样发送链路状态分组,而发送传统的距离矢量更新,这种更新包含有关网络的信息以及从通告路由器前往这些网络的成本。EIGRP还具备链路状态协议的特征:启动时与邻居同步网络拓扑信息,随后只在拓扑发生变化时发送具体的更新。
  EIGRP默认跳数为100,最大可为255,RIP为16。EIGRP并不使用跳数来计算度量值。管理距离比较:


协议 管理距离
直连接口 0
静态路由 1
EIGRP 90
OSPF 110
RIP 120
外部EIGRP 170
未知 255

  EIGRP建邻居需要满足三个条件:1.收到了对方的Hello消息和确认;2.AS号相同;3.度量值计算参数(K值)相同。链路状态协议常常使用Hello消息建立邻居,不属于同一个AS的EIGRP路由器不会自动分享路由选择信息,因此不会成为邻居。
  EIGRP中,Hello消息默认发送间隔为5s。另外还存在一个保持定时器。保持定时器指的是路由器愿意为收到邻居的Hello消息而等待的时间。时间过后,路由器认为邻居失效,将从邻居表中删除,并重新计算依赖于该邻居的所有路由。有趣的是,保持定时器配置指定的并非当前路由器宣布邻居失效等待的时间,而是邻居宣布当前路由器失效前等待的时间。这意味着邻居路由器的保持定时器配置不必相同,因为保持定时器只是告诉邻居该等待多长时间。
  EIGRP只在刚通过交换Hello分组发现新邻居并建立邻居关系时才通告完整地路由信息。获悉邻居的全部路由后,仅在路由选择表发生变化时,将变更通告给邻居。
  EIGRP存在的几个概念:

  • 报告/通告距离(AD)。这是邻居报告的前往特定远程网络的度量值,比如:B路由器通告A,从B前往10.0.0.0的成本是1000。注意,管理距离也简称AD。
  • 可行距离(FD)。前往远程网络的最佳路径的度量值,包含邻居通告的前往该远程网络的度量值。比如:B路由器通告A,从B前往10.0.0.0的成本是1000,而A到B的成本是200,则A到10.0.0.0的FD就是1000+200=1200。路由选择表中的一条EIGRP路由一般会以如下形式给出:
    D 10.0.0.0/8 [90/1200] via 172.16.10.2, 00:27:46, Serial0/0
    其中90代表管理距离,1200为FD。
  • 邻居表。每台路由器都存储有关邻居的信息。在每个EIGRP会话期间,路由器都创建一个邻居表,并在其中存储所有已知直连邻居的信息,这包括邻接路由器的IP,保持定时器设置,平均往返定时器以及队列信息。它用于判断是否需要将拓扑变化告知邻接路由器。
  • 拓扑表。包含从各个邻居那里收到的路由通告,使用扩散更新算法(DUAL)来计算出前往每个远程网络的无环路最佳路径。拓扑表包含邻接路由器通告的所有目标网络。对于每个目标网络地址,列出了通告它的所有邻居。而对于每个邻居,都记录了通告距离和FD。加入路由选择表的路径称为后继路径。成本并非最低但也可行的路径也存储在拓扑表,称为可行后继路径
  • 可行后继路径(FS)。其也是拓扑表中的一个条目,表示一条劣于后继路由的路径。FS是通告距离比当前后继路由的可行距离小得路径,也被称为备用路径。在IOS15.0中,EIGRP最多可以在拓扑表中存储32条可行后继路径。
  • 后继路由。前往特定远程网络的最佳路由。也被复制到路由选择表中,这样IP就能够使用它前往相应地远程网络。

如果后继路径和可行后继路径的成本相等,EIGRP将做负载均衡。若不相等但也希望做负载均衡,那么需要设置variance变量,需要注意的是:1.进行非等成本负载均衡时,通常每条路由发送的流量与其成本成反比,意味着,最佳路径发送的流量多于次优路由;2.倘若两条路由的成本比大于两倍,需要设置variance大于2才能把高成本路由加入负载均衡组。3.倘若有三条路由需要做负载均衡,variance需要大于等于3。   EIGRP路由器使用一种专用协议来交换消息:可靠传输协议(RTP)。使用D类地址224.0.0.10来发送组播。每次发送组播时,EIGRP路由器都创建并维护一个列表,其中包含已做出应答的所有邻居。如果路由器未收到某个邻居对组播的应答,EIGRP将尝试使用单播重发同样地数据。如果重发16次仍然无应答,就认为失效。这个过程称为可靠组播
  另外,为了跟踪发送的信息,路由器给每个分组都指定序列号,这样就能知道未按顺序到达的信息是冗余的旧信息。
  EIGRP仅在拓扑发生变化时才发送更新,因此交换的信息很少,性能非常高。EIGRP在启动时同步路由选择数据库,随后只交换必要的更新来保持db一致。然后,这样做的确定在于:只要有任何更新分组丢失或处理顺序不对,db就会不正确。EIGRP使用以下五种分组:

  • 更新。更新分组包含路由信息。在度量值或者拓扑发生变化时,使用可靠组播发送更新分组;如果只有一台需要更新分组,则采用单播。由于始终需要确认,所以更新始终是可靠的。
  • 查询。路由器意识到前往特定网络的路径不可用,需要寻找代替路径时,就会发送查询信息。
  • 应答。对查询的响应。
  • Hello。
  • 确认。对更新的响应。

  EIGRP采用扩散更新算法(Diffusing Update Algorithm, DUAL)来选择并维护前往每个远程网络的最佳路径。DUAL让EIGRP能够完成如下任务:

  • 找出备用路径(如果有)
  • 支持变长子网掩码(VLSM)
  • 动态地恢复路由
  • 向邻居查询替代路由
  • 为替代路由发送查询

  DUAL优点在于让EIGRP的会聚速度超快。其原因有二:1.EIGRP路由器存储了所有邻居的路由,可据此计算前往每个远程网络的成本。当最佳路径不可用,EIGRP只需在拓扑表中查找可行后继路由;2.如果拓扑表中无可行后继路由,EIGRP路由器马上求助于邻居。DUAL的『扩散』特征正是源自于它的这种依赖策略,即利用其它路由器知道的信息。不像其他路由选择协议那样将更新传遍整个网络,而只是在有限范围内传播更新。DUAL正常运行需要满足的三个条件:

  1. 新邻居加入或既有邻居失效,能迅速获悉。
  2. 能正确地收到发送的消息。
  3. 能按检测到的顺序处理所有的拓扑变化和相关的消息。

  总结来说,与众多链路状态协议一样,EIGRP也支持邻居的概念,通过Hello发现邻居,并在发现后对其状态进行监视。与众多距离矢量协议一样,EIGRP也基于传言进行路由选择,这意味着对AS中的很多路由器来说,它们获悉的路由更新并非第一手资料。EIGRP存在三个表:

  1. 邻居表:建立邻居关系的表
  2. 拓扑表:AS全网路由
  3. 路由选择表:AS全网路由选择决策的路由

参考

CCNA

说明

装载请注明出处:http://vinllen.com/eigrp/


About the author

vinllen chen

Beijing, China

格物致知


Discussions

comments powered by Disqus