一, EIGRP[Enhance Interior Gateway Routing Protocol][增强的内部网关路由协议],是Cisco的私有路由协议,它综合了距离矢量和链路状态2者的优点,简单、节省内存和处理器资源。
二, EIGRP的特点:
●快速收敛---EIGRP采用弥散修正算法(DUAL)来实现快速收敛。
●减少带宽占用---EIGRP不发送定期的路由更新信息。
●支持多种网络层协议---AppletalkIpNevellNetware
三,EIGRP的特殊点
    EIGRP是源于距离矢量型路由选择协议。容易进行配置并能适合各种网络拓朴结构。它增加了几种链路状态特性,比如动态邻居发现,这使它成为一种高级的距离矢量型路由选择协议。
EIGRP比传统的距离矢量型路由选择协议提供了更多的好处,最重要的好处之一是对带宽的使用方面。采用EIGRP时,路由运行数据流主要是通过多目组播方式而不是广播,其结果是,未端站点不受路由更新或查询信息的影响。
  EIGRP采用IGRP中的算法来计算度量值,但该值是以32比特的格式来表示,EIGRP的度量值是将IGRP的度量值乘以256EIGRP的一个重要优点是它支持非等度量值负载均衡,从而允许管理员能够在网络中更好地分布数据流。载有E IPRP信息的IP数据包在它们的头部中使用协议号88
EIGRP是被设计来同时在局域网和广域网环境中运行的,邻居关系是通过可靠的多目组播方式来形成和维护的,它同时支持体系化IP编址。E IGRP也支持VLSM,这促进了IP地址的有效分配,缺省地,EIGRP在主网络边界进行路由归纳,EIGRP支持超级网络(supernet)的创建或聚合的地址块。
EIGRP的更多优点<?xml:namespace prefix = o ns = "urn:schemas-microsoft-com:office:office" />

前面的章节中讲述了EIGRP的关键优点,但是一些关系网络效率的小问题仍然存在。
增量更新

EIGRP只对路由表中更改的部分进行改动。
更新组播化

EIGRP使用组播和单播两种更新方式。一些包用可靠的RTP[Real-Time Protocol]协议发送。这是一个Cisco用来监视EIGRP包交换的私有协议。这些包都以顺序数字排列以达到可靠的数据传输目的。
增量更新不能预计,因此,更新、询问和回应包都必须为认证的邻居接收。
更新是以可靠的组播形式发送。地址是D类段地址:224.0.0.10。当邻居接收到一个组播时,它会认为收到一个不可靠的单播包。
EIGRP所使用的组播发送更新的方法是很重要的,因为这代表着在协议上的改。早期的协议都是使用广播,这将会导致问题,而组播不要求主机强制接收但同时也保留了广播“一对多”的特性。
不等代价负载均衡
Cisco的所有IP协议都支持等代价负载均衡。而EIGRP是唯一支持不等代价负载均衡的协议。
不等代价负载均衡使用最优的FD[可行性距离]并且将变化着进行组播。所有非最优FD的路径将用来负载均衡。这个方案非常好,因为现在256kbps的链路将与一条384kbps链路协同工作--并且EIGRP做到了更好的一点。EIGRP均衡不等价负载。EIGRP将分担一部分流量到各个端口。384kbps链路将负责60%的流量,而256kpbs链路将负担40%的流量。它将允许所有链路按自身通路负担一定的流量但并不会影响各个链路
四,EIGRP的四个组件
    1.Protocol-Dependent Module(PDM)
2.可靠传输协议(Reliable Transport Protocol,RTP)
3.邻居的发现/恢复
4.弥散更新算法(Diffusing Update Algorithm,DUAL)
五,EIGRP相关术语:
●邻居表---每台EIGRP路由器都维护着一个列有相邻路由器的路由表。该表与OSPF所使用的邻居(毗邻关系)数据库是可比的。
●拓朴结构表---EIGRP路由器为所配置的第种网络协议都有维护着一个拓朴结构表
●路由表---EIGRP从拓朴结构表中选择到目的地的最佳路径,并将这些路由放到路由表中。
●后继路由器(successor---这是用来到期达目的地的主要路由器。
●可行后继路由器(Feasible Successor , FS---一条到达目的地的备份路由。
六,EIGRP采用下面的五种类型数据包:
HELLO---HELLO数据包用地发现邻居。
●更新---更新信息被发送来通告已被某台路由器认为达到收敛的路由
●查询---当路由器进行路由计算但没能发现可行的后继路由时,它就向他邻居发送一个查询数据包以询问它们是否有一个到目的地的可行后继路由。
●答复---答复数据包是用于对查询数据包进行应答。
●确认(ACK---确认是用来确认更新、查询和答复的。
七,EIGRP的可靠性
确保了到期相邻路由器的关键路由信息的传输。这些信息是EIGRP维护无环路拓朴结构所需要的。所有传递路由信息(更新、查询和答复)的数据都被可靠地发送。
  可靠传输协议RTP,负责EIGRP数据包到所有邻居的有保证和按顺序的传输。它支持多目组播或单点传送数据包的混合传输。出于对效率的考虑,只有某些E IGRP数据包被保证可靠传输。
  RTP确保在相邻路由器间正在进行的通信能够被维持。因此,它为第个邻居维护了一张重传表。该表指示还没有被邻居确认的数据包。未确认的可靠数据包最多可以被重传1 6次或直到保持时间超时,以它们当中时间更长的那个为限。
EIGRP所使用的多目组播地址是224.0.0.10
RTP负责EIGRP packet的按顺序(可靠)的发送和接收,这个可靠的保障是通过Cisco私有的一个算法,reliable multicast实现的,每个邻居接收到这个可靠的组播包的时候就会以一个unicast作为确认按顺序的发送是通过packet里的2个序列号实现的,每个packet都包含发送方分配的1个序列号,发送方每发送1packet,这个序列号就递增1.另外,发送方也会把最近从目标路由器接收到的packet的序列号放在这个要发送的packet里,在某些情况下,RTP也可以使用无需确认的不可靠的发送,并且使用这种不可靠发送的packet中不包含序列号.
八,EIGRP-Metric计算
   EIGRP选择一条主路由(最佳路由)和一条备份路由放在topology table(EIGRP到目的地支持最多6条链路).它支持几种路由类型:内部,外部(EIGRP)和汇总路由.EIGRP使用混合度量。.
九,EIGRP Metric5个标准
1.带宽:107次方除以源和目标之间最低的带宽乘以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的配置
配置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掩码
4EIGRP对链路带宽的使用:
缺省的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数据包数量
5DEBUG命令
命令描述
Debug eigrp packets显示发送和接收的EIGRP数据包类型
Debug eigrp neighbors显示EIGRP所发现的邻居和HELLO数据包的内容
Debug ip eigrp显示在接口上发送和接收的EIGRP数据包
Debug ip eigrp summary显示EIGRP活动的归纳信息
十一,EIGRP高级配置EIGRP负载均衡

试验目的:
1EIGRP等价负载均衡的实现方法 
2EIGRP非等价负载均衡的实现方法
3修改EIGRP度量值方法
4可行距离FD 、通告距离RD以及可行性条件FC的深层含义
试验拓扑图如下:
试验步骤
R1(config)#INterface fastEthernet 1/0              配置R1的接口IP地址
R1(config-if)#ip add 172.16.14.1 255.255.255.0
R1(config-if)#no shutdown
R1(config)#interface s0/0
R1(config-if)#ip address 172.16.12.1 255.255.255.0
R1(config-if)#clock rate 64000
R1(config-if)#no shutdown
R1(config-if)#exit
R1(config)#router eigrp 1                         开启EIGRP协议1
R1(config-router)#network 172.16.12.0 <?xml:namespace prefix = st1 ns = "urn:schemas-microsoft-com:office:smarttags" />0.0.0.255    宣告所在网段及反掩码
R1(config-router)#network 172.16.14.0 0.0.0.255
R1(config-router)#no auto-summary                  关闭EIGRP路由汇总功能
R1(config-router)#exit

 

R2(config)#interface s0/0              配置R1的接口IP地址
R2(config-if)#ip add 172.16.12.2 255.255.255.0
R2(config-if)#no shutdown
R2(config)#interface s0/1
R2(config-if)#ip address 172.16.23.1 255.255.255.0
R2(config-if)#clock rate 64000
R2(config-if)#no shutdown
R2(config-if)#exit
R2(config)#router eigrp 1                         开启EIGRP协议1
R2(config-router)#network 172.16.12.0 0.0.0.255    宣告所在网段及反掩码
R2(config-router)#network 172.16.23.0 0.0.0.255
R2(config-router)#no auto-summary                  关闭EIGRP路由汇总功能
R2(config-router)#exit

 

R3(config)#interface s0/0              配置R1的接口IP地址
R3(config-if)#ip add 172.16.34.1 255.255.255.0
R3(config-if)#no shutdown
R3(config)#interface s0/1
R3(config-if)#ip address 172.16.23.2 255.255.255.0
R3(config-if)#clock rate 64000
R3(config-if)#no shutdown
R3(config-if)#exit
R3(config)#router eigrp 1                         开启EIGRP协议1
R3(config-router)#network 172.16.23.0 0.0.0.255    宣告所在网段及反掩码
R3(config-router)#network 172.16.34.0 0.0.0.255
R3(config-router)#no auto-summary                  关闭EIGRP路由汇总功能
R3(config-router)#exit

 

R4(config)#interface s0/0              配置R1的接口IP地址
R4(config-if)#ip add 172.16.34.2 255.255.255.0
R4(config-if)#no shutdown
R4config)#interface f1/0
R4(config-if)#ip address 172.16.14.2 255.255.255.0
R4(config-if)#no shutdown
R4(config-if)#exit
R4(config)#router eigrp 1                         开启EIGRP协议1
R4(config-router)#network 172.16.14.0 0.0.0.255    宣告所在网段及反掩码
R4(config-router)#network 172.16.34.0 0.0.0.255
R4(config-router)#no auto-summary                  关闭EIGRP路由汇总功能
R4(config-router)#exit

 

R1#ping 172.16.23.2
Type escape sequence to abort.
Sending 5, 100-byte ICMP Echos to 172.16.23.2, timeout is 2 seconds:
!!!!!
R3#ping 172.16.14.2
Type escape sequence to abort.
Sending 5, 100-byte ICMP Echos to 172.16.14.2, timeout is 2 seconds:
!!!!!
R4#show ip route eigrp

     172.16.0.0/24 is subnetted, 6 subnets
D       172.16.23.0 [90/2681856] via 172.16.34.1, 00:20:18, Serial0/0
D       172.16.12.0 [90/2172416] via 172.16.14.1, 00:20:18, FastEthernet1/0
D       172.16.2.0 [90/2300416] via 172.16.14.1, 00:20:18, FastEthernet1/0

 

R4#show ip eigrp topology                              /查看拓扑表
IP-EIGRP Topology Table for AS(1)/ID(172.16.4.4)

 

Codes: P - Passive, A - Active, U - Update, Q - Query, R - Reply,
       r - reply Status, s - sia Status

 

P 172.16.34.0/24, 1 successors, FD is 2169856
        via Connected, Serial0/0
P 172.16.23.0/24, 1 successors, FD is 2681856
        via 172.16.34.1 (2681856/2169856), Serial0/0
P 172.16.12.0/24, 1 successors, FD is 2172416
        via 172.16.14.1 (2172416/2169856), FastEthernet1/0
P 172.16.14.0/24, 1 successors, FD is 28160
        via Connected, FastEthernet1/0
P 172.16.4.0/24, 1 successors, FD is 128256
        via Connected, Loopback0
P 172.16.2.0/24, 1 successors, FD is 2300416
        via 172.16.14.1 (2300416/2297856), FastEthernet1/0
        via 172.16.34.1 (2809856/2297856), Serial0/0
///via 172.16.14.1 (2300416/2297856), FastEthernet1/0为最佳路由   Serial0/0为可行性后继
/// 等价负载通过 variance 命令来实现非等价负载均衡

R4#show ip route eigrp              没有实现非等价负载均衡之前
     172.16.0.0/24 is subnetted, 6 subnets
D       172.16.23.0 [90/2681856] via 172.16.34.1, 00:26:48, Serial0/0
D       172.16.12.0 [90/2172416] via 172.16.14.1, 00:26:48, FastEthernet1/0
D       172.16.2.0 [90/2300416] via 172.16.14.1, 00:26:48, FastEthernet1/0

 

R4(config)#router eigrp 1
R4(config-router)#va
R4(config-router)#variance 2
R4(config-router)#exit

 

R4#show ip route eigrp
     172.16.0.0/24 is subnetted, 6 subnets
D       172.16.23.0 [90/2681856] via 172.16.34.1, 00:00:43, Serial0/0
D       172.16.12.0 [90/2172416] via 172.16.14.1, 00:00:43, FastEthernet1/0
D       172.16.2.0 [90/2809856] via 172.16.34.1, 00:00:43, Serial0/0
                   [90/2300416] via 172.16.14.1, 00:00:43, FastEthernet1/0

 

实现等价负载均衡
R4(config)#interface f1/0
R4(config-if)#delay 2000
R4(config-if)#exit
R4#show ip route eigrp
     172.16.0.0/24 is subnetted, 6 subnets
D       172.16.23.0 [90/2681856] via 172.16.34.1, 00:00:01, Serial0/0
D       172.16.12.0 [90/2681856] via 172.16.14.1, 00:00:01, FastEthernet1/0
D       172.16.2.0 [90/2809856] via 172.16.34.1, 00:00:01, Serial0/0
                   [90/2809856] via 172.16.14.1, 00:00:01, FastEthernet1/0