Interior Gateway Routing Protocol(IGRP)
 
1.Cisco专有的距离矢量协议(什么是专有? 专有的意思就是说网络中要运行IGRP协议,所用的路由器必须是Cisco的路由器.)
当你配置 IGRP 的时候 , 你必须以 AS 号作为配置参数 , 所有的 routers 必须使用相同的 AS 号来共享路由表信息
2. AD  100  
Metric(度量)采用了以下几个参数:
带宽  延迟  可靠性  负载  最大传输单元(MTU)
默认使用了带宽和延迟做为它的度量.
虽然IGRP没有使用跳数做为它的度量,但IGRP也有最大跳数,值为255,默认时为100
因此解决RIP最大15跳的限制,使的IGRP更加适合于大型网络
.
3.IGRP和RIP的比较:
                               IGRP                                 RIP
AD                          100                                   120
Metric                       5参数                                 跳数
更新时间                     90S                                   30S
是否有类                      有                                   V1有
                                                                   V2无
是否支持大型网络              支持                                 不支持
DV or Link-state                DV                                   DV
最大跳                        255,默认100                           15
更新地址                255.255.255.255                  V1 255.255.255.255
                                                           V2 224.0.0.9 (组播)
是否支持VLSM                否                                    否
是否支持不连续子网            否                                RIPV1不
                                                                V2支持
4.防止路由选择环路的机制:    
.水平分割  :从一个接口学到的东西不要再教给学到的那个接口
. 毒性逆转:  利用毒性逆转进行路径水平分割,包括更新路径,将其距离设为无限大  
 . 保持 失效定时器:当一条路由 metric改为更大值时,启动该定时器(默认180s),直到定时器超时,路由器才会在其路由表中添加可选路由。
.触发更新 :当有链路发生变化的时候,不等待更新周期的到来就立即发送路由更新信息,避免形成路由环路路。只发送包含有变动的路由。而周期性更新发送自己拥有的路由条目包含所有的可达路由,路由响应报文的类型只有一种所有从携带条目数量来判断是不是发生了触发更新。当触发更新出现的时候,要随机延迟 1到5秒,并且当有周期性更新即将发送的时候,触发更新会受到抑制。所以可能触发更新会发生在周期更新之后。
5.默认定时器值
IGRP Timers 
(1) 路由更新计时 : 默认 90 秒 
(2) 路由无效计时 : 默认 270 秒 
(3) 保持计时器 : 默认 280 (3 倍更新时间 +10
(4) 路由刷新时间 默认 630 秒 
6.IGRP默认也是支持4条等价负载均衡,最大支持6条 ,但是IGRP还可以支持非等价负载均衡。(什么是非等价均衡?就是去目的网络的度量不同,IGRP可以在度量不同的路径上转发数据包,RIP则不能)
7.配置IGRP路由
STEP1:启动IGRP进程
       Router(config)#router  igrp  AS号
 注意:如果要让路由器之间共享路由信息,那么每个路由器上的AS号必须相同
STEP2:宣告网络
      Router(config-router)#network xx.xx.xx.xx  (IGRP也是主类宣告)
实验拓扑:
8.验证调试命令
    Show ip route
Show ip protocols
    clear ip route *
debug ip igrp events      收发的路由数量以及路由的类型(内部 部还是系统路                  由,这些概念在NP中讲) 
    debug ip igrp transaction  收发的路由条目,包括网络地址和度量
  
9.被动接口的配置
   Router(config)#router  igrp  AS号
   Router(config-router)#passive-interface xx
   IGRP被动接口也是只收不发的
EIGRP Features and Operation 
1.  Cisco专有的混合型协议,是无类别路由协议, EIGRP 1 种无分类 (classless), 增强的距离向量路由协议 , IGRP 类似 ,EIGRP 也使用 AS, 但是和 IGRP 不同的是 ,EIGRP 在它的路由更新信息中要包含子网掩码的信息 . 这样 , 在我们设计的网络的时候 , 就允许我们使用 VLSM summarization.EIGRP 有时候也算是混合型路由协议 , 因为它同时具有了距离向量路和链路状态的一些特征 : 比如它不像 OSPF 那样发送链路状态包而发送传统的距离向量更新 ;EIGRP 也有链路状态协议的特征比如它在相邻 router 启动的时候同步路由表 , 然后只在拓扑结构发生变化的时候发送 些更新 . 这样就使得 EIGRP 能够很好的在 1 个大型网络中工作
2.  AD 90   (内部EIGRP路由)
内部路由就是属于同一AS内的路由
AD 170   (外部EIGRP路由)
外部EIGRP路由就是重分布进来的路由,这些路由代表源自其他AS的路由
Metric(度量)采用的参数和IGRP 相同,但是度量值是IGRP的256倍.
3.  EIGRP的四大功能部件:
协议相关模块PDM
可靠传输协议(RTP)   管理EIGRP路由器间的消息通信
邻居的发现和恢复
弥散更新算法(DUAL)
     Protocol-Dependent Module 
EIGRP 1 大特点是它可以支持几种网络层协议 :IP,IPX AppleTalk . 能像 EIGRP 那样支持数种网络层协议的还有 Intermediate System-to-Intermediate System(IS-IS) 协议 , 但是这个协议只支持 IP Connectionless Network Service(CLNS).EIGRP 通过 PDMs 来支持不同的网络层协议 . 每个 EIGRP PDM 保持 1 个单独的路由信息表来装载某种协议 ( 比如 IP) 的路由信息 . 也就是有 IP/EIGRP ,IPX/EIGRP 的表和 AppleTalk/EIGRP
   Reliable Transport Protocol(RTP) 
   EIGRP 使用一种叫做 RTP 的私有协议 , 来管理使用了 EIGRP router 之间的通信 , RTP 的         名字 , 可靠 (reliable) 即为这个协议的关键 .RTP 负责 EIGRP 数据包到所有邻居的有保证和按顺序的传输 . 它支持多组播或单点传送数据包的混合传输 .出于对效率的考虑 只有某些 E IGRP 数据包被保证可靠传输 .RTP 确保在相邻 router 间正在进行的通信能够被维持 . 因此 , 它为邻居维护了一张重传表 . 该表指示还没有被邻居确认的数据包 . 未确认的可靠数据包最多可以被重传 16 次或直到保持时间超时 , 以它们当中时间更长的那个为限 .EIGRP 所使用的多目组播地址是 224.0.0.10 
Diffusing Update Algorithm(DUAL) 
EIGRP 使用 DUAL 来选择和保持到远端的最佳路径 . 它能使 router 判决某邻居通告的一个路径是否处于循环状态 , 并允许 router 找到替代路径而无须等待来自其他 router 的更新 . 这样做有助于加快网络的汇聚 . 这个算法顾及以下几点
(1.) 备份的路由线路 
(2.) 支持 VLSM 
(3.) 动态路由恢复 
(4.) 没有发现线路的话发送查询寻找新路线 
4.  建邻居的必要条件:
收到Hello包  (EIGRP使用Hello包来发现和维持邻居关系,Hello发送地址是组播224.0.0.10)
AS号相同
相同的K值(K值是计算度量时和参数组合使用的系数)
    链路状态协议趋向于使用 Hello 信息来建立邻居关系 , 它不会像距离向量那样周期性的   发送路由更新 . 为了保持邻居关系 , 运行了 EIGRP router 必须持续从邻居那里收到 Hellos 
   如果不在 1 AS ,router 之间是不会共享路由信息的 , 也不会建立邻居关系 . 这样做的优点是在大型网络中可以减少特定某个 AS 内路由信息的传播 
EIGRP 发现新邻居的时候 , 就开始通告整个路由表给别的 router, 当所有的 router 都知道新成员的加入 , 学习到新的路径以后 , 从那开始 , 路由表中有变动的部分才会传播给别的 router. router 接收到邻居的更新以后 , 把它们保存在本地数据库表里
5.  EIGRP的三张表:
邻居表:存放有关已建立的邻居的信息
拓扑表:保存从每个邻居那里收到的路由通告,其中就有备份路由,即可行后继
路由表:存放着当前转发数据包的路由条目
6.  基本概念:
可行距离(FD):
到达每一个目的地的最小度量将作为该目的网络的可行距离。例如,路由器可能收到3条到达子网192.168.1.0的路由,这3条路由的度量分别是380672 12381440 和 660868,那么380672为可行距离(FD),因为它是经计算到达子网192.168.1.0的最小度量.
   
通告距离(AD):
这是邻居报告的到达一个网络的度量.它是邻居路由表中的度量值,即邻居到达网络的可行距离.
   
后继(S):
后继是EIGRP用来转发数据包的那条路由,它是储存在路由表中.
可行后继(FS):可行后继是一条比后继度量值大的路由,是后继的一个备份路由,它被储存在拓扑表中,度量值最小的那个路由就是后继路由,被放到路由表中或者当只存在一个可行后继时,目的网络才会从拓扑表中移到路由表中
可行性条件(FC):
可行性条件就是本地路由器的一个邻居通告的到一个目的网络的距离(AD)是否小于本地路由器到达相同目的网络的可行距离(FD),也就是AD是否小于FD.
   
7.  默认时,EIGRP可以支持最多4条链路的等价负载均衡,通过使用下列命令增大到 6条, 它也支持非等价负载均衡。
8. 
Router(config)#router eigrp AS号
Router(config-router)#maximum-paths ?
 <1--6>  Number of paths
另外,EIGRP的默认跳数为100,但可以被改为最大值255.修改命令如下:
Router(config)#router eigrp 1
Router(config-router)#metric maximum-hops ?
<1--255>  Hop count
9.  配置EIGRP
 Router(config)#router eigrp AS号 (1----65535)
 Router(config-router)#network xx.xx.xx.xx   xx.xxx.xx.xx(反掩码)
反掩码的使用可以缩小宣告的范围,使得让协议的配置更加灵活
 如果是主类宣告,那么反掩码可有可无,如果要宣告子网的话,则要加以便进行匹配要通告的网络
 反掩码的计算示例
 192.168.1.64     11000000.10101000.00000001.01000000
                  00000000.00000000.00000000.00111111   ß  0.0.0.63
10.配置被动接口
   Router(config)#router eigrp AS号
   Router(config-router)#passive-interface xx
   EIGRP的被动接口既不发也不收路由信息
11.配置不连续网络
默认情况下,EIGRP协议在网络边界执行自动汇总,但是可以关闭自动汇总功能,使得EIGRP协议支持不连续子网
关闭自动汇总命令:
Router(config)#router eigrp AS号
Router(config-router)#no auto-summary 
12.验证EIGRP命令
Show ip route          显示整个路由表
Show ip route eigrp      只显示路由表中的EIGRP路由
Show ip eigrp neighbors  查看邻居表信息
Show ip eigrp topology   查看拓扑表中的信息,路由前面的P字,表示路由是被动状态,是正常状态,如果为A字,是活动状态,则表明路由器丢失了此路由,并且正在进行查找替代路径 
观察FD和AD