EIGRP:增强型内部网关路由选择协议详解

EIGRP:Ciso增强型内部网关路由选择协议 

EIGRP简介:

  1.   Cisco私有;
  2. 无类别距离矢量协议;
  3. 跨层封装协议,
  4. 封装于网络层--协议号88;
  5. 组播更新:224.0.0.10   支持非等开销负载均衡
  6. 增量更新(部分更新)----仅触发、无周期 ---hello机制必须存在,触发更新量小(路由非拓扑),可靠性极高

EIGRP的4大组件:

保活机制--hello

PDM---支持多种网络层协议

RTP协议---可靠协议,借鉴TCP的4种可靠传输机制--确认、重传、排序、流控(更新数据不得超过占用链路总带宽的百分之50)

DUAL--扩散更新、弥散更新算法

EIGRP的数据包类型:

Hello包  : 用于邻居的发现,建立,保活  使用组播224.0.0.10每5秒发送一次。

                 hello time 5s或60s   hold time 为hello time的3倍

                    接口带宽小于或等于2.048M时hello time 为60s          大于为5s;

更新包:   携带路由条目;   目标网络号+度量  

查询包 :(Query) 

应答包:以单播方式可靠地应答查询数据包。

确认包(ACK):  确认更新包、查询包、应答包.以单播方式发送。用来确认UPDATE、QUERY以及REPLY数据包。ACK分组是上面3种数据包可靠传输的保障。

EIGRP的工作过程:

  1. 当启动配置完成后,进行hello的收发;当接收到邻居的hello包后,建立邻居关系,生成邻居表
  2. 当邻居关系建立后,邻居间使用更新包共享本地的路由表信息,共享过程中需满足水平分割规则;
  3. 各个邻居间的路由共享完成后,设备上生成拓扑表
  4. 本地到达的最佳及备份路径装载于拓扑表中;
  5. 默认将最佳路径加载于本地的路由表中,完成收敛;

      注:  收敛完成后,仅hello包周期保活即可;没有周期更新;

结构突变:

  1. 新增网段---直连新增网段设备,直接使用更新包共享路由到邻居即可。
  2. 断开网段---直连断开网段的设备向所有的邻居发送查询包,该查询包将逐一通过邻居扩散到全网;若依然存在可达路径,那么由直连可达路径的设备返还应答包到全网,让所有路由器更新;若查询包扩散到网络末梢,依然没有可达路径,由末梢设备返回应答包到全网,更新所有设备;
  3. 无法沟通----无法接收到邻居的hello包,hold time到时时,断开邻居关系,删除邻居表;

              删除通过该邻居学习到的所有路由信息;

切记:更新包、查询包、应答包均基于RTP工作;在接收到这些数据包时,本地必须进行确认,若未收到邻居的ACK,将进行重传,默认最大重传16次;若16次重传依然没有确认,将直接断开邻居;是否能够重建邻居关系,依赖hello

配置:

r1(config)#router eigrp ?       启动时需要配置AS号;

  <1-65535>  Autonomous system number  全网一致的进程号

r1(config)#router eigrp 90

r1(config-router)#no auto-summary   //DV协议建议关闭自动汇总

宣告:1、激活   2、路由

r1(config-router)#network 1.0.0.0

r1(config-router)#network 124.1.1.1 0.0.0.0

即可主类宣告,也可以使用反掩码精确匹配

启动配置完成后,所有设备间收发hello包,建立邻居关系,生成邻居表

r2#show ip eigrp neighbors

IP-EIGRP neighbors for process 90

  • H   Address                 Interface       Hold Uptime   SRTT   RTO  Q  Seq
  •                                             (sec)           (ms)     Cnt Num
  • 2   124.1.1.4               Fa0/0             11 00:00:54   36   216   0    8
  • 1   23.1.1.2                Se1/1             14 00:01:08   34   204   0   11
  • 0   124.1.1.1               Fa0/0             14 00:01:19  233  1398   0    8

    下一跳                   出接口     

SRTT平均往返时间:5min内发出更新、查询、应答后收到ACK的平均间隔时间

RTO 重传超时时间:基于重传到第几次,和SRTT自动计算所得

Q CNT :标记还有多少条路由正常重传中; 

当邻居关系建立后,邻居间使用更新包共享路由条目;生成拓扑表

r3#show ip eigrp topology    //本地到达目标的最佳和备份路径;

r3#show ip eigrp topology all-links   //查看本地到达路由的所有学习路径;

r3(config)#interface s1/1

r3(config-if)#bandwidth 800

 修改接口的参考带宽;参考带宽不影响接口的实际传输带宽;将影响协议对接口的判定

 

【1】关于拓扑表中的字母

P 1.1.1.0/24, 1 successors, FD is 2300416

        via 23.1.1.1 (2300416/156160), Serial1/0

        via 34.1.1.2 (3842560/156160), Serial1/1

前端字母P标识该条目已经收敛完成,且最佳路径一被加载于路由表中

A 2.2.2.0/24, 1 successors, FD is Inaccessible, Q

    1 replies, active never, query-origin: Local origin

      Remaining replies:

         via 23.1.1.2, r, Serial1/1

前端字母A标识该条目正在收敛中;后端Q部分的字母,标识具体卡在哪个阶段

Q 本地已经发出查询,但是没有收到ACK

Qr 标识已经收到ACK,当未收到应答

QR标识已经收到应答,还未回复ACK

U  标识已经回复ACK --若收到的应答中为新的的路径,那么A转P,最佳路径加载路由表

若收到的应答中为没有可达路径,删除条目

在特殊情况下,EIGRP协议将可能卡在活动状态;

  1. 网络深度过深
  2. 错误的配置或策略导致

默认存在活动计时器,计时3min;活动计时器到时时将删除条目,同时断开邻居关系;

可能导致错误的邻居断开,使得网络不稳定;

解决方案:

  1. 针对网络深度过深--建议增大计时器

r2(config)#router eigrp 90

r2(config-router)#timers active-time ?

  <1-65535>  EIGRP active-state time limit in minutes

  disabled   disable EIGRP time limit for active state

  1. 在IOS12以上版本中,添加卡在活动状态计时器

当活动计时器行进到一半时,本地发出卡在活动状态查询,若能收到回复,那么在活动计时器到时时,仅删除条目不断开邻居关系;

【2】关于拓扑表中的数字

P 1.1.1.0/24, 1 successors, FD is 2300416

        via 23.1.1.1 (2300416/156160), Serial1/0

        via 34.1.1.2 (3842560/156160), Serial1/1

                    FD      AD

FD:可行距离--本地到达目标的度量值

AD:通告距离--本路径中的邻居(下一跳)到达目标的度量值

FC:可行条件---成为备份路径的条件---备份路径的AD必须小于且不等于最佳路径的FD

 

非等开销负载均衡:当到达同一目标地址时,若存在两条度量相似的路径时,可以让设备将流量按比例延这些路径同时传输;在EIGRP协议中,只能通过最佳和备份路径实现;

r3#show ip protocols

  EIGRP maximum metric variance 1  默认差异值为1,标识仅支持等开销负载均衡

差异值=备份路径的FD/最佳路径的FD=向上取整

若修改差异值为2,那么两倍关系内的备份路径将进入路由表和最佳路径一起传输数据;

r3(config)#router eigrp 90

r3(config-router)#variance 2  修改差异值

 

 

 

 

正常更新包收敛后,协议会将拓扑中最佳路径加载于路由表内:

字母D - EIGRP, EX - EIGRP external

D 标识正常通过EIGRP协议学习产生的路由;

D EX 标识通过其他协议或其他进程学习后,通过重发布技术导入EIGRP内的路由

 

管理距离:

字母D标记为内部路由---管理距离为90

字母D EX标识为外部路由--管理距离为170

 

 

度量:复合度量--多种参数共同构建

Formula with default K values (K1 = 1, K2 = 0, K3 = 1, K4 = 0, K5 = 0):默认k值

r1(config)#router eigrp 90

r1(config-router)#metric weights 0 1 1 1 1 1 修改K值

K值为权重值:全网所有设备必须一致;该参数将影响带入运算的具体数据;

K5为0:

Metric = [K1 * BW + ((K2 * BW) / (256 – load)) + K3 * delay]

K5大于0:

Metric = [K1 * BW + ((K2 * BW) / (256 – load)) + K3 * delay] * [K5 / (reliability + K4)]

 

使用默认的k值时,度量=带宽+延时

带宽=(10^7/整段路径最小带宽)*256

延时=(控制层面所有入口延时的总和/10)*256

 

256为放大因子:

  1. 让EIGRP协议兼容IGRP协议
  2. 放大参数便于比较

切记:K值的修改不是用于直接干涉选路;而是所有度量值,扩大eigrp的工作半径;

Eigrp工作半径为--100跳  度量不得超过2147483647;还可以拉入其他的参数来参与运算;

真正直接影响选路的关键位---带宽、延时、负载、可靠性

 

备注:EIGRP邻居间hello包必须用三个参数完成一致,才可以建立邻居关系;

  1. K值     2、AS号     3、认证字段

 

 

 

 

  • EIGRP扩展配置
  1. 状态机

邻居关系刷新;EIGRP为增量更新协议,若需要修改之前的更新数据时,将刷新邻居关系;先让邻居删除原有信息,然后再接收新的路由;

 

 

  1. 认证

先配置秘钥库

r2(config)#key chain a

r2(config-keychain)#key 1

r2(config-keychain-key)#key-string cisco123

再直连邻居的接口上调用

r2(config)#interface s1/1

r2(config-if)#ip authentication key-chain eigrp 90 a

r2(config-if)#ip authentication mode eigrp 90 md5

注:eigrp进行支持MD5认证,故在没有修改模式时认证不生效

 

 

  1. 汇总--在更新源路由上所有更新发出的接口上配置

r3(config)#interface s1/1

r3(config-if)#ip summary-address eigrp 90 3.3.0.0 255.255.248.0

汇总后,eigrp将自动生成空接口防环路由

 

 

  1. 被动接口---只接收不发送路由协议信息;仅用于连接用户的接口,不得用于连接邻居的接口

r3(config)#interface s1/1

r3(config-if)#ip summary-address eigrp 90 3.3.0.0 255.255.248.0

 

 

  1. 加快收敛  若hello time 为5s时不建议加快收敛;若为60s可以进行修改;

r3(config)#interface s1/1

r3(config-if)#ip hello-interval eigrp 90 5

r3(config-if)#ip hold-time eigrp 90 15

邻居间建议一致

  1. 缺省路由

【1】在边界路由器上先配置一条静态缺省指向ISP;然后再在边界路由上所有连接内网的接口上进行手工汇总--汇总地址为0.0.0.0/0

r1(config)#interface fastEthernet 0/0

r1(config-if)#ip summary-address eigrp 90 0.0.0.0 0.0.0.0

【2】在边界路由器上先配置一条静态缺省指向ISP;然后使用重发布技术,将这条静态缺省路由共享到EIGRP域内

r1(config)#router eigrp 90

r1(config-router)#redistribute static

  1. 干涉选路 ---偏移列表;在控制层面流量的进或出的接口上,抓取路由信息,然后增大其中的度量值,最终影响选路;

r1(config)#access-list 1 permit 4.4.4.0  抓取网络号

r1(config)#router eigrp 90

r1(config-router)#offset-list  1         in      21          fastEthernet 0/0

                      ACL编号   方向    增加的数值   对应的接口

 

posted @ 2018-12-18 19:42  ASQW234  阅读(378)  评论(0编辑  收藏  举报