CCNP3:EIGRP——增强型内部网关路由协议


说明:这篇文章是以我的另一篇文章为基础,将内容丰富度、深度进行了提升,所写的CCNP阶段的博客
这个是我那篇文章的链接: CCNA5:EIGRP——增强型内部网关路由协议
这是此次EIGRP对应的实验: CCNP3实验:EIGRP——增强型内部网关路由协议

CCNP3:EIGRP——增强型内部网关路由协议

EIGRP协议是Cisco私有的协议,它是无类别距离矢量协议,协议号88,组播更新地址:224.0.0.10。管理距离为90、度量采用复合度量。

一、EIGRP特点:

特性特点
EIGRP厉害之处增量更新:仅触发、无周期更新
EIGRP是唯一 一个支持非等开销负载均衡,按比例使用链路利用率
高级距离矢量更新
EIGRP相较OSPF的优势灵活的网络设计:OSPF需要划分区域
支持在任何接口做手工汇总,OSPF只能做区域汇总
局域网和广域网中配置很简单
EIGRP一般特点收敛快、占用资源少
支持多种网络层协议(现在已经没有多大用处,已经由IP协议取代其它协议)
组播更新和单播更新取代广播更新(意义不大,因为没有做组播部署,和广播差不多)
仅仅依靠自己无法100%出环
可以自动生成空接口防环路由

二、EIGRP的数据包:

数据包注解
Hello包用于邻居的发现、建立、保活
Updata包路由条目(目标网络号+度量值)
查询包、应答包、update包均服务于RTP(Real Time Protocol)可靠传输协议。
ACK包对更新包、查询包、应答包进行确认

Hello包:
hello time 5s、60s;hold time 为 hello time 的3倍
接口带宽小于等于2.048M时,hello time 为60s;大于为5s。这样的设计主要是因为带宽,带宽高的时候,hello time 5s 低的时候为60s

三、EIGRP的4大组件:

RTP可靠传输协议,借鉴TCP的4种可靠机制——确认、重传、排序、流控(不能超过链路带宽的50%),这是EIGRP增量更新的可靠性。
DUAL扩散更新(弥散更新)通过查询(包)邻居是否能够到达自己所不能到达的网段,邻居在向其他邻居查询,在查的过程中,被查的去往该网段的路由在路由表中会被删除,然后放到拓扑表中。查到直到所有邻居查完或已经查到有路径可以抵达,再将那条无效路径从拓扑表中删除,增加一条新的路由到路由表中。然后所有路由器应答,完成更新。
Hello机制通过hello包认识所有邻居
PDM支持多种网络协议(现在比较鸡肋)

1、DUAL扩散更新详解:

(1)第一种情况:R2的直连断了,然后向R3查询,直到R1回复,最后添加新的路由。
在这里插入图片描述
(2)第二种情况:R1、R2之间没有交换机,那么此时R1也会发出查询包,经过不断扩散,R4发现两边的人都在向它询问。因此,它向两边的路由器都发出应答包,告诉R3、R5自己到达不了12.0.0.0网段。
在这里插入图片描述

四、EIGRP的工作过程:

启动配置后,运行EIGRP协议的路由器,通过组播224.0.0.10向所有的邻居发送hello包。收到邻居的hello包后及标识认识了邻居,生成邻居表

邻居关系建立后,邻居间使用更新包进行路由信息的共享,共享过程中需满足水平分割规则。
收集到所有的路由条目后,本地生成拓扑表(用于装载所有的最佳和备份路径)

本地默认将拓扑表中的最佳路径全部加载到路由表中,之后收敛完成。收敛完成后,仅hello包周期保活即可,没有周期更新

结构突变注解
新增网段直连新增网段的设备,使用更新包告知所有的邻居即可
断开网段直连断开网段的设备向所有邻居发出查询包,通过DUAL算法,让所有路由器更新,若查询包扩散到网络末梢,依然没有可达路径,由末梢设备返回应答包到全网,更新所有设备的拓扑表。
设备断电
(无法沟通)
Hello time 5s,hold time 15s 等待超时然后断开。

注意:
更新包、查询包、应答包均为RTP提供服务。
接收到更新包、查询包、应答包时需要 ACK来确认 ,若未进行确认将单播重传, 最大16次 ,若依然失败,断开邻居关系。RTP在转发这三种包时,还会对其进行排序和流控,是否能够重建邻居关系,依赖 Hello 包。

五、EIGRP的配置:

这里我会用下面这张图来讲解EIGRP的配置:
在这里插入图片描述

1、基本配置:

(1)启动EIGRP、宣告网段:

r1(config)#router eigrp 90  //启动时配置AS号,0~65535,其实就是进程号
r1(config)#no auto-summary //DV协议建议关闭自动汇总
r1(config-router)#network 1.0.0.0 //EIGRP宣告时,可以向RIP一样直接配置主类,也可以像OSPF一样使用反掩码进行匹配。
r1(config-router)#network 124.1.1.1 0.0.0.0

(2)修改接口带宽实现非等开销负载均衡:

R3(config)#interface f0/0
R3(config-if)#bandwidth 800		//修改接口参考带宽,参考带宽不影响接口的实际传输带宽,它将影响协议对该接口的判断。

注意:一个接口的实际传输带宽受硬件、QOS影响。而参考带宽并不影响实际的传输带宽,只影响路由。

2、EIGRP的三张表:邻居、拓扑、路由

(1)邻居表
启动配置完成后,邻居间使用hello包建立邻居关系,生成邻居表
由于R2的邻居最多,下面是以R2的邻居表的示例:
在这里插入图片描述

其它参数注解
SRTT平均往返时间,5min统计一次该时间:将发出10次更新、查询、应答后收到ACK所花时间,再除以10即平均往返时间
RTO重传超时时间,基于重传到第几次,和SRTT自动计算所得
Q Cnt标记还有多少条路由正在重传中,0表示收敛完成。
Seq Num序列编号,收到的最新的更新包的编号

(2)拓扑表
当邻居关系建立后,邻居间使用更新包收敛路由条目,生成拓扑表
这里,我将修改过后的参考带宽修改回去,再查看一下它的拓扑表
在这里插入图片描述
Ⅰ、拓扑表中的最佳、备份路径
中的 2 successors 表示去往 124.1.1.0/24 网段存在两条最佳路径,紧接着下面的两个下一跳就是两条路径的最佳下一跳。

对于 1 successors 表示去往该网段存在一条最佳路径,下面两个下一跳中的第一个下一跳为最佳路径,另外一个为备份路径。

因此拓扑表装的就是本地到达目的地的最佳和备份路径(注意是拓扑表)。

Ⅱ、查看拓扑表中的路由
对于本地到目的地的所有学习到的路由条目可以用以下命令查看:

R3#show ip eigrp topology all-links

Ⅲ、拓扑表中的字母:
前端字母P标识该条目已经收敛完成,且最佳路径将被加载到路由表中。
在这里插入图片描述
前端字母A标识该条目正在收敛中,后端Q部分的字母,标识具体卡在了哪个阶段:
在这里插入图片描述
比如:R2断掉了2.2.2.2/24的环回,此时它就需要向R3查询是否可以到,R3首先回复ACK表示收到,查询包,接着会发个应答包,R2收到之后会回复一个ACK给R3。
在这里插入图片描述

状态注解
Q本地已经发出查询,但是没有收到ACK
Qr标识已经收到ACK,但未收到应答
QR标识已经收到应答,还未回复ACK
U标识已经回复ACK:
若收到的应答中为新的路径,那么 AP ,最佳路径加载到路由表。
若收到的应答中为没有可达路径,删除条目。

在特殊情况下(如下),EIGRP协议将可能卡在活动状态:
①网络深度过深
②错误的配置或策略导致

默认存在活动计时器,计时3分钟,活动计时器到时时将删除条目,同时断开邻居关系。可能导致错误的邻居断开,使得网络不稳定。

解决方案:
①针对网络深度过深——建议增大计时器

R2(config)#router eigrp 90
R2(config-router)#timers active-time 5 //单位为分钟

②在IOS12以上版本中,添加卡在活动状态计时器:
当活动计时器行进到一半时,本地发出卡在活动状态查询,若能收到回复,那么在活动计时器到时时,仅删除体条目不断开邻居关系。
在这里插入图片描述
如果没有活动计时器进行到一半就发出活动状态查询的机制,就会导致R1、R2、R3之间它们的邻居关系也断开:

因为,R3再等R4回复的时候,实际上R1也在等R2、R2在等R3,这样也会让R1、R2、误以为R2、R3也卡住了,有了这个活动计时器在一半就查询的机制,就很好避免了R1、R2、R3邻居之间关系的误断。

Ⅳ、拓扑表中的数字(FD/AD):
在这里插入图片描述

数字注解
FD可行距离:本地通过该路径到达目标的度量
AD可行后继距离(通告距离):本地的下一跳到达目标的度量值
FC可行条件(成为备份路径的条件)邻居到达目标网段的度量值小于最佳路径的FD值

在这里插入图片描述
备份路径的意义在于可以和最佳路径一起完成 非等开销负载均衡

非等开销负载均衡 :当到达一个目标地址时,如存在两条开销相近的路径时,可以让设备将流量 按比例 沿这些路径同时传输,提高链路的利用率。在EIGRP协议中,只能通过最佳和备份路径实现。

R1(config)#router eigrp 90
R1(config-router)#variance 2

R1#show ip protocols
 EIGRP maximum metric **variance 2** 

FD / AD = 3842560 / 2300416=2
差异值:备份路径的FD ÷ 最佳路径的FD=向上取整。
在这里插入图片描述
设备默认的差异值规定为1,表示仅支持等开销负载均衡,若修改差异值为2,那么两倍关系内的备份路径将进入路由表和最佳路径,一起传输数据。
我们可以用下面的指令详细查看 R3 去往 1.1.1.0/24 网段的详细内容。
在这里插入图片描述
信息中包含了度量、延时、可靠性、负载、跳数、最小带宽、最小MTU等详细信息。

(3)EIGRP 的路由表:
当正常更新包收敛后,协议会将拓扑中的最佳路径加载于路由表中:
在这里插入图片描述
EIGRP的路由表有两种类型:

标识管理距离注释
D(D - EIGRP)90(内)标识正常通过EIGRP协议学习产生的路由
D EX(EX - EIGRP external)170(外)标识通过其他协议或其他进程学习后,通过重发布技术导入EIGRP内的路由

度量:复合度量,由多种参数共同决定。
K值为权重值: 要求全网要一致,该参数将影响带入运算的具体数据:

K1K2K3K4、K5
带宽负载延时可靠性(255最好)

修改K值:

R3(config)#router eigrp 90
R3(config-router)#metric weights 0 1 1 1 1 1
其中,第一个0指的是服务类型,而后面的51分别对应:K1、K2、K3、K4、K5

那么我们为什么要修改K值呢?

首先我们需要知道得是: EIGRP的工作半径为100跳,度量值不得超过环回数量2147483647
K值的修改并不是用于直接干涉选路,而是在于缩小度量值,通过公式我们发现当K5取值后,度量就会变小,从而扩大EIGRP的工作半径。还可以拉入其他的参数来参与运算
在这里插入图片描述
备注:EIGRP邻居间 hello包 必须有三个参数完成一致,否则无法完成建邻。这三个参数分别是:K值、AS号、认证字段

2、扩展配置:

(0)状态机(邻居关系刷新):
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认证,故在没有修改模式前,认证是无意义的。

(2)手工汇总:在更新源路由器上,所有更新发出接口上进行配置

R3(config)#interface s1/0
R3(config-if)#ip summary-address eigrp 90 1.1.2.0 255.255.254.0

EIGRP汇总配置完成后,在汇总设备上将自动产生指向汇总地址的空接口防环路由。

(3)被动接口:只接收不发送路由协议信息,用于连接非用户的接口,不能用于连接邻居的接口。

R3(config)#router eigrp 90
R3(config-router)#passive-interface loopback 0

(4)加快收敛:hello 5s,hold time15s,一般不用改,时间已经比较短了,若为60s可以修改。

r3(config)#interface s1/1
r3(config-if)#ip hello-interval eigrp 90 5
r3(config-if)#ip hold-time eigrp 90 15

(5)缺省路由:
方法一:
在边界路由器上先配置一条静态缺省指向ISP,然后使用重发布技术,将这条静态缺省路由共享到EIGRP域内。

R1(config)#router eigrp 90
R1(config-router)#redistribute static

方法二:
在边界路由器上先配置一条静态缺省指向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

(6)干涉选路:
干涉选路使用偏移列表,在控制层面流量得进或出的接口上,抓取路由信息,然后增大其中的度量值,最终影响选路。

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

R1(config)#router eigrp 90
R1(config-router)#offset-list 1 in 21 f0/0
                ACL编号、方向、增加的度量、对应的接口
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值