一.EIGRP路由协议简介
是Cisco的私有路由协议,它综合了距离矢量和链路状态2者的优点,它的特点包括:
1.快速收敛:链路状态包(Link-State Packet,LSP)的转发是不依靠路由计算的,所以大型网络可以较为快速的进行收敛.它只宣告链路和链路状态,而不宣告路由,所以即使链路发生了变化,不会引起该链路的路由被宣告.但是链路状态路由协议使用的是Dijkstra算法,该算法比较复杂,并且较占CPU和内存资源和其他路由协议单独计算路由相比,链路状态路由协议采用种扩散计算(diffusingcomputations ),通过多个路由器并行的记性路由计算,这样就可以在无环路产生的情况下快速的收敛.
2.减少带宽占用:EIGRP不作周期性的更新,它只在路由的路径和度发生变化以后做部分更新.当路径信息改变以后,DUAL只发送那条路由信息改变了的更新,而不是发送整个路由表.和更新传输到一个区域内的所有路由器上的链路状态路由协议相比,DUAL只发送更新给需要该更新信息的路由器。 在WAN低速链路上,EIGRP可能会占用大量带宽,默认只占用链路带宽50%,之后发布的IOS允许使用命令ip bandwidth-percent eigrp来修改这一默认值 .
3.支持多种网络层协:EIGRP通过使用“协议相关模块”(即protocol-dependentmodule<PDM>),可以支持IPX,ApplleTalk,IP,IPv6NovellNetware等协议.
4.无缝连接数据链路层协议和拓扑结构:EIGRP不要求对OSI参考模型的层2协议做特别是配置.不像OSPF,OSPF对不同的层2协议要做不同配置,比如以太网和帧中继总之,EIGRP能够有效的工作在LAN和WAN中,而且EIGRP保证网络不会产生环路(loop-free);而且配置起来很简单;支持VLSM;它使用多播和单播,不使用广播,这样做节约了带宽;它使用和IGRP一样的度的算法,但是是32位长的;它可以做非等价的路径的负载平衡.
二.EIGRP的四个组件
1.Protocol-Dependent Module(PDM)

2.可靠传输协议(Reliable Transport Protocol,RTP)
3.邻居的发现/恢复
4.弥散更新算法(Diffusing Update Algorithm,DUAL)

三.RTP-EIGRP的可靠传输协议
  
RTP负责EIGRP packet(下面有讲)的按顺序(可靠)的发送和接收,这个可靠的保障是通过Cisco私有的一个算法,reliable multicast实现的,使用组播地址224.0.0.10,每个邻居接收到这个可靠的组播包的时候就会以一个unicast作为确认按顺序的发送是通过packet里的2个序列号实现的,每个packet都包含发送方分配的1个序列号,发送方每发送1个packet,这个序列号就递增1.另外,发送方也会把最近从目标路由器接收到的packet的序列号放在这个要发送的packet里,在某些情况下,RTP也可以使用无需确认的不可靠的发送,并且使用这种不可靠发送的packet中不包含序列号.
四.EIGRP-Metric计算
 EIGRP选择一条主路由(最佳路由)和一条备份路由放在topology table(EIGRP到目的地支持最多6条链路).它支持几种路由类型:内部,外部(非EIGRP)和汇总路由.EIGRP使用混合度.
i.EIGRP Metric的5个标准
1.带宽:10的7次方除以源和目标之间最低的带宽乘以256
2.延迟(delay):接口的累积延迟乘以256,单位是10微秒
3.可靠性(reliability):根据keepalive而定的源和目的之间最不可靠的可靠度的值
4.负载(loading):根据包速率和接口配置带宽而定的源和目的之间最不差的负载的值
5.最大传输单元(MTU):路径中最小的MTU.MTU包含在EIGRP的路由更新里,但是一般不参与EIGRP度的运算
ii. 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是Cisco专有的一种路由协议,它集成了链路状态算法和距离向量算法的优点,是一种混合的算法.它包括以下一些特点:
更快的收敛速度
EIGRP使用扩散更新算法DUAL(Diffusing Update Algorithm)获得更快的收敛速度.一台运行EIGRP的路由器在本地存储备份路由,需要时可快速的变为侯选路由,在本地路由表中找不到所需的路由或备份路由时,EIGRP向其邻居发出请求以获得侯选路由,这些请求不断地被复制直到找到侯选路由.
降低带宽利用率
EIGRP不做周期性的刷新,只有在一条路由的路径或度量发生变化时它才把变化的部分发送出去.当路径信息变化时,DUAL算法只发送关于该连接的更新,而不是整个路由表.另外,这些信息只发送给需要它的路由器,不像链路状态算法那样发给域内所有的路由器.
多种网络层协议支持
EIGRP支持Apple Talk , IP, Novell NetWare等多种协议.

配置EIGRP协议详解
EIGRP是结合了链路状态和距离矢量型路由选择协议优点的Cisco专用协议 EIGRP是源于距离矢量型路由选择协议。容易进行配置并能适合各种网络拓朴结构。它增加了几种链路状态特性,比如动态邻居发现,这使它成为一种高级的距离矢量型路由选择协议。

EIGRP的特点:
l快速收敛---EIGRP采用弥散修正算法(DUAL)来实现快速收敛。
l减少带宽占用---EIGRP不发送定期的路由更新信息。
l支持多种网络层协议---Appletalk、Ip、Nevell的Netware。

EIGRP是源于距离矢量型路由选择协议。容易进行配置并能适合各种网络拓朴结构。它增加了几种链路状态特性,比如动态邻居发现,这使它成为一种高级的距离矢量型路由选择协议。

EIGRP比传统的距离矢量型路由选择协议提供了更多的好处,最重要的好处之一是对带宽的使用方面。采用EIGRP时,路由运行数据流主要是通过多目组播方式而不是广播,其结果是,未端站点不受路由更新或查询信息的影响。
EIGRP采用IGRP中的算法来计算度量值,但该值是以32比特的格式来表示,EIGRP的度量值是将IGRP的度量值乘以256。EIGRP的一个重要优点是它支持非等度量值负载均衡,从而允许管理员能够在网络中更好地分布数据流。载有E IPRP信息的IP数据包在它们的头部中使用协议号88。

EIGRP是被设计来同时在局域网和广域网环境中运行的,邻居关系是通过可靠的多目组播方式来形成和维护的,它同时支持体系化IP编址。E IGRP也支持VLSM,这促进了IP地址的有效分配,缺省地,EIGRP在主网络边界进行路由归纳,EIGRP支持超级网络(supernet)的创建或聚合的地址块。

EIGRP相关术语:
l邻居表---每台EIGRP路由器都维护着一个列有相邻路由器的路由表。该表与OSPF所使用的邻居(毗邻关系)数据库是可比的。
l拓朴结构表---EIGRP路由器为所配置的第种网络协议都有维护着一个拓朴结构表
l路由表---EIGRP从拓朴结构表中选择到目的地的最佳路径,并将这些路由放到路由表中。
l后继路由器(successor)---这是用来到期达目的地的主要路由器。
l可行后继路由器(Feasible Successor , FS)---一条到达目的地的备份路由。

EIGRP采用下面的五种类型数据包:
lHELLO---HELLO数据包用地发现邻居。
l更新---更新信息被发送来通告已被某台路由器认为达到收敛的路由
l查询---当路由器进行路由计算但没能发现可行的后继路由时,它就向他邻居发送一个查询数据包以询问它们是否有一个到目的地的可行后继路由。
l答复---答复数据包是用于对查询数据包进行应答。
l确认(ACK)---确认是用来确认更新、查询和答复的。


EIGRP的可靠性:
EIGRP的可靠性技术确保了到期相邻路由器的关键路由信息的传输。这些信息是EIGRP维护无环路拓朴结构所需要的。所有传递路由信息(更新、查询和答复)的数据都被可靠地发送。
可靠传输协议RTP,负责EIGRP数据包到所有邻居的有保证和按顺序的传输。它支持多目组播或单点传送数据包的混合传输。出于对效率的考虑,只有某些E IGRP数据包被保证可靠传输。
RTP确保在相邻路由器间正在进行的通信能够被维持。因此,它为第个邻居维护了一张重传表。该表指示还没有被邻居确认的数据包。未确认的可靠数据包最多可以被重传1 6次或直到保持时间超时,以它们当中时间更长的那个为限。

EIGRP所使用的多目组播地址是224.0.0.10

通过HELLO协议,EIGRP路由器可以动态地发现直接与它相连的其它路由器。

查看IP邻居表:
show ip eigrp neighbors
查看拓朴结构表中所有IP条目:
show ip eigrp topology all-links
显示IP路由的后继路由和可行后继路由
show ip eigrp topology

EIGRP路由选择过程与其它路由选择协议不同,它具有如下特点:
lEIGRP选择主路由与备份路由,并将这些路由加到期拓朴结构表中(每个目的地最多有6个)然后将主路由放到期路由表中。
lEIGRP度量值是IGRP度量值乘以256。该度量值的计算可以使用下面5个变量
----带宽:源和目的地间最少带宽;
----延时:路径上的累积接口延时;
----可靠性:根据keepalive信息的源与目的地间的最差可靠性;
----负载:在源和目的地之间链路上的最重负载;
----最大传输单元(MTU):路径中最小MTU;
lEIGRP采用DUAL算法计算到目的地的最佳路由。

备份路径中的下一跳路由器也被子称为可行后继路由器(FS)。


配置EIGRP

配置EIGRP的步骤:
1.启用EIGRP,并定义自治系统。
Router(config)#Router eigrp autonomous-system-number
2.说明哪些网络中EIGRP自治系统的一部分
Router(config-router)#network network-number

3.定义链路的带宽
router(config-if)#bandwidth kilobits

配置归纳
关闭自动归纳:
router(config-router)#no auto-summary
创建一条路由归纳:
router(config-if)#ip summary-address eigrp as-number address mask
Ip summary-address eigrp 命令描述
As-numberEIGRP自治系统号
Address作为归纳地址被通告的IP地址
Mask被用来创建归纳地址的IP掩码

EIGRP对链路带宽的使用:
缺省的EIGRP将使用在接口或子接口上宣布的最多50%的带宽。这个百分比可以通过下面的接口命令在接口上进行调整:
Router(config-if)#ip bandwidth-percent eigrp as-number percent

核验EIGRP的运行:
核验EIGRP运行的命令
命令描述
Show ip eigrp neighbors显示EIGRP所发现的邻居
Show ip eigrp topology显示EIGRP拓朴结构表
Show ip route eigrp显示当前在路由表中的EIGRP条目
Show ip protocols显示活跃路由选择协议进程的参数和当前状态
Show ip eigrp traffic显示发送和接收的EIGRP数据包数量

DEBUG命令
命令描述
Debug eigrp packets显示发送和接收的EIGRP数据包类型
Debug eigrp neighbors显示EIGRP所发现的邻居和HELLO数据包的内容
Debug ip eigrp显示在接口上发送和接收的EIGRP数据包
Debug ip eigrp summary显示EIGRP活动的归纳信息