首页 > 思科网络 > EIGRP路由协议详细解释
2013
11-15

EIGRP路由协议详细解释


EIGRP路由协议简介
EIGRP:Enhanced Interior Gateway Routing Protocol

是Cisco的私有路由协议,只能在cisco设备上使用,是一个混合路由协议,它综合了距离矢量和链路状态两者的优点


它的特点包括: 
通过发送和接收hello包来建立和维系邻居关系,并交换路由信息触发更新,快速收敛、减少带宽占用;对多种网络层协议的支持;增强的距离矢量能力;100%无环路;部分更新、支持手动路由汇总 对可变长子网掩码VLSM、不连续网络和无类别路由CIDR的支持;eIGRP最多支持6条(默认4条)负载均衡;(支持等价非等价)使用可靠的传输协议RTP保证路由信息传输的可靠性 ,对每一种协议都维持独立的邻居表拓扑表和路由表存储整个网络的拓扑结构信息,以便快速的适应网络变化与IGRP兼容采用组播224.0.0.10或单播进行路由更新管理距离值为90或170。

相关解释: 
RTP,可靠传输协议Reliable Transport Protocol(不同于Real-time Transport Protocol,实时传输协议),是Cisco公司专有路由协议EIGRP的一部分。由于EIGRP是三层协议无关的(通过PDM实现),支持多种三层协议(IP/IPX /AppleTalk等),因此它不能使用IP协议上层的TCP/UDP服务。EIGRP使用RTP提供可靠/不可靠传输,来取代TCP/UDP的功能。
虽然名称中包含“可靠”,但RTP并不仅仅提供可靠传输,它也提供不可靠传输。当使用可靠传输时,RTP要求对方发回ACK确认;当使用不可靠传输时,RTP不要求ACK。

RTP使用单播或者多播(224.0.0.10)来发送消息。


EIGRP的相关术语 
邻居表:保存建立邻接邻居状态信息、端口地址的一个表目的确保直连邻居之间能够进行通信 
拓扑表:接收邻居发来的所有目标网络的信息,也就是它把邻居路由表存储在拓扑表中. 拓扑表包括以下内容: 目标网络的FD. 所有的FD. 每一个FS所宣告的到达目标网络的距离.本地路由器计算出的,经过每个FS到达目标网络的距离,即基于FS所宣告到达目标网络的距离和本地路由器到达那个FS的链路的cost.发现FS的网络相连的接口.

路由表:存储到达每个目标网络的最佳路由,目的用于数据转发。最小的FD被添加到路由表 

通告距离值(AD):邻居到达目标网络度量值 
可行距离(FD):当前路由到达邻居的度量值+邻居到达目标网络度量值 
可行条件 (FC,): 邻居宣告到达目标网络的的距离小于本地路由器到达目标网络的FD AD < FD => FC=ture.
后续站:到目标网络的的成本最低可行距离( (FD)的邻接路由器
即提供最佳路由的邻居

可行后续站(FS):提供备用路由的邻居当后续站不可用时起用可行后续站,这样可以避免从新计算路由了。如果一个邻居宣告到达目标网络的距离满足FC,那么这个邻居就成为FS.比如,路由器到达目标网络172.16.5.0的FD为380672,而他邻居所 宣告到达目标网络的距离为355072,这个邻居路由器满足FC,它就成为FS;如果邻居路由器宣告到达目标网络的距离为 380928,即不满足FC,那么这个邻居路由器就不能成为FS,FS和FC是避免环路的核心技术,FS也是downstream router(下游路由器),因为从FS到达目标网络的距离比本地路由器到达目标网络的FD要小,存在一个或多个FS的目标网络被记录在拓扑表中。

三个表的关系

1每台路由器都将其ip路由选择表的副本发给邻居表指定的所有邻接邻居,

2每台路由器都将邻接邻居的路由选择表存储在拓扑表中,

3每台路由器都根据拓扑表来确定到每个目标网络的最佳路径和其他可行路径,

4将拓扑表中到每个目标网络的最佳路径加入到路由选择表中 ,

5路由器为每种协议(比如IP,IPX)各 自保持1张单独是路由表.通过DUAL 算出最优路径

弥散更新算法(Diffusing Update Algorithm,DUAL) 
(弥散更新算法可以保证路由100%无环路loopfree)为了能够让DUAL正确的操作,低层协议必须满足以下几个条件: 
1. 一个节点要在有限的时间里检测到新邻居的存在或和一个邻居的连接的丢失 
2. 在链路上传输的所有信息必须在有限的时间里按正确的顺序收到 
3. 所有的消息,包括链路cost的更改,链路故障,和新邻居的发现,都应该是在有限时间里,一个一个的依次处理Cisco的EIGRP使用邻居的发现/恢复和RTP来确保上述前提条件 
DUAL内置了执行所有路由计算的决策进程,能计算出前往目的地的最佳路由.它跟踪所有邻居通告的所有路由,并根据距离信息来选择前往目的地的无环路路径。
DUAL根据复合度量值来选择路由,EIGRP使用 
32位来表示度量值
EIGRP分组
EIGRP发送5种类型的分组,这些分组用于在邻居之间建立邻接关系以及确保拓扑表和路由选择表是最新的. 
1.Hello:Hello分组用于建立邻接关系
2.更新:更新分组包含路由变更,只发送给受影响的路由器.发现新路由并汇聚完毕后,以组播形式发送更新.更新是以可靠方式发送的
3.查询:路由器计算路由但没有找到可行后继时,向邻居发送查询分组,询问它们是否有前往目标网络的可行后继.查询是以多播发送
4.应答:用于响应查询分组
5.确认:用于确认更新、查询和应答。 
EIGRP-Metric计算方法

EIGRP选择一条主路由(最佳路由)和一条备份路由放在topology table(EIGRP到目的地支持最多6条链路).它支持几种路由类型:内部,外部(非EIGRP)和汇总路由.EIGRP使用混合度. 


i.EIGRP Metric的5个标准 
1.带宽:10的7次方除以源和目标之间最低的带宽乘以256 
2.延迟(delay):接口的累积延迟乘以256,单位是微秒 
3.可靠性(reliability):根据keepalive而定的源和目的之间最不可靠的可靠度的值 
4.负载(loading):根据包速率和接口配置带宽而定的源和目的之间最不差的负载的值 

5.最大传输单元(MTU):路径中最小的MTU.MTU包含在EIGRP的路由更新里,但是一般不参与EIGRP度的运算 


EIGRP Metric的计算
:EIGRP使用DUAL来决定到达目的地的最佳路由(successor).当最佳路由出问题的时候,EIGRP不使用
holddown timer而立即使用备份路由(feasible successor),这样就使得EIGRP可以进行快速收敛 
EIGRP计算度的公式,K是常量,公式如下: 
metric=[K1*bandwidth+(K2*bandwidth)/(256–load)+K3*delay]*[K5/reliability+K4] 
默认:K1=1,K2=0,K3=1,K4=1,K5=0 不推荐修改K值.K值通过EIGRP的hello包运载.如果两个路由器的K值不匹配的话它们是

不会形成邻居关系的 Metric weight Tos K1 K2 K3 K4 K5 来修改K值,Tos 默认为0.


EIGRP Packet
EIGRP使用多种类型的packet(数据包),这些packet通过IP头部信息里的协议号88来标识:
1. Hello packet:用来发现和恢复邻居,通过组播的方式发送,使用不可靠的发送.
2. ACK(acknowledgement) packet:不包含数据(data)的Hello包,使用unicast的方式,不可靠的发送.
3. Update packet:传播路由更新信息,不定期的,通过可靠的方式发送(比如网络链路发生变化).当只有一台路由器需要路由更新 时,update通过unicast的方式发送;当有多个路由器需要路由更新的时候,通过组播的方式发送.
4. Query(查询) & Reply(应答) packet:是DUAL finite state machine用来管理扩散计算用的,查询包可以是组播或unicast;应答包是通过unicast的方式发送,并且方式都是可靠的.

5. Request(请求) packet:最初是打算提供给路由服务器(server)使用的,但是从来没实现过.


EIGRP的邻居发现/恢复协议
EIGRP路由器彼此交换路由必须是邻居,建立邻居关系要满足一下三点:
收到hello或ACK
匹配AS号
EIGRP的Update包是非周期性发送的,
1.Hello包在一般的网络中(比如点到点,point-to-point)是每5秒组播1次(要随机减去1个很小的时间防止同步);
2.在多点(multipoint)X.25,帧中继(Frame Relay,FR)和ATM接口(比如ATM SVC)和ISDN PRI接口上,Hello包的发送间隔是60 
秒.
在所有的情况中,Hello包是不需要确认的.可以在接口配置模式下修改该接口的Hello包默认的发送间隔,命令为
ip hello-interval eigrp 
当一个路由器收到从邻居发来的Hello包的时候,这个Hello包包含了一个holdown time,这个holdown time告诉这个路由器等待后续Hello包的最大时间.如果在超出这个holdown time之前没有收到后续Hello包,那么这个邻居就会被宣告为不可达,并通知DUAL这个邻居已丢失.默认hold time是3倍于Hello包发送间隔的, 更高链路 -- 默认Hello间隔和保持时间是5s和15s T1或低于T1链路 -- 分别是60s和180s 可以在接口配置模式下修改这个默认的holdown time, 命令为
ip hold-time eigrp. 
EIGRP邻居信息都记录在邻居表(neighbor table)中,使用show ip eigrp neighbors命令查看IP EIGRP的邻居.IGRP与EIGRP路由协议
增强的内部网关路由选择协议(EIGR)是增强版的 IGRP 协议。 IGRP 是思科提出的一种用于 TCP/IP 和 OSI 因特网的内部网关路由选择协议。它被视为是一种内部网关协议,但作为一种用于域间路由选择的外部网关协议,它也得到了广泛的应用。
EIGRP 与其它路由选择协议之间主要区别包括:快速收敛(fast convergence)、支持变长子网掩码(subnet mask)、局部更新和多网络层协议。
运行 EIGRP 的路由器存储了所有其相邻路由器的路由表,以便于它能快速选择路径(alternate route)。如果没有合适路径, EIGRP 查询其邻居以获取所需路径。直到找到合适路径, EIGRP 查询才会终止,否则一直持续下去。 
EIGRP 协议对所有的 EIGRP 路由进行任意掩码长度的路由聚合,从而减少路由信息传输,节省带宽。另外 EIGRP 协议 通过配置,可以在任意接口的位边界上支持路由聚合。
EIGRP 不作周期性更新。取而代之,当路由改变时, EIGRP 只发送局部更新(partial update)信息。局部更新信息的传输自动受到限制,从而使得只有那些需要信息的路由器才会更新。基于以上这两种性能,因此 EIGRP 消耗的带宽比 IGRP 少得多。 
IGRP(Interior Gateway Routing Protocol,内部网关路由选择协议)是Cisco特有的基于距离矢量的路由协议,虽然同样应用于规模较小的局域网络,但是,与RIP路由协议有所不同,IGRP使用IP层的端口号9进行报文交换,而RIP则是使用520端口进行报文交换。
IGRP同样是一种动态距离向量路由协议,它由Cisco公司20世界80年代中期设计推出, 使用跳数来确定到达一个网络的最佳路径,使用延迟、带宽、可靠性和负载来确定最优路由。默认状态下,IGRP每90秒钟发送一次路由更新广播,在3个更新 周期(即270秒)内,如果没有从路由中的第一个路由器接受到更新,则宣布路由器不可访问。在7个周期(即630秒)后,Cisco IOS(网际操作系统)软件会从路由表中清除该路由。
EIGRP结合了链路状态和距离矢量型路由选择协议的Cisco专用协议,采用弥散修正算法(DUAL)来实现快速收敛,可以不发送定期的路由更新信息以减少带宽的占用,支持Appletalk、IP、Novell和NetWare等多种网络层 协议。自从EIGRP路由协议诞生后,IGRP路由协议便很少再被使用了。

本文来源鸿鹄论坛。
本人博客CCNA的内容百度收录灰常好,其他文章就算不怎么收录,顺便调戏下百度蜘蛛,整篇思科的文章,看收录情况如何。(事实证明,确实收录好,而且排名靠前,访问量高,update 2014-08-23)
本博客地址:http://www.wusiwei.com