EIGRP:增强内部网关路由协议
IGP无类别距离矢量协议,组播更新地址224.0.0.10;跨层封装到3层,协议号88;Cisco私有协议;
增量更新—仅做触发更新,取消周期更新—更新量小,可靠传输
一、
eigrp的4大组件:
1、hello机制—使用hello包发现、建立、保活邻居关系
2、PDM—支持多种网络层协议模块
3、RTP—可靠传输协议—
确认、排序、重传、流控(不超过参考带宽的百分之50)
4、DUAL算法—扩散(弥散)更新算法
二、
EIGRP的5种数据包
1、
hello包—在接口带宽小于或等于2.048m时hello time为60s
大于2.048M时hello
time 为5s;hold time 为hello time 的3倍;
直连的邻居间hello包有三个参数必须完全一致,否则无法建立邻居关系
认证字段、AS号、k值;
2、
更新包—路由条目==目标网络号+度量
3、
查询包
4、
应答包
5、
ACK确认
三、
EIGRP的工作过程
启动配置完成后,本地发送hello包到所有运行了eigrp的接口;若同时可以接收到其他邻居的hello包,那么建立邻居关系,生成邻居表;
邻居表内记录本地所有的邻居,之后使用更新包更新本地的路由信息到所有邻居处;当收集到所有的路由信息后,本地生成拓扑表;
拓扑表中装载本地到达所有未知网段的最佳和备份路径;备份路径用于在最佳路径故障时,不用重新收敛,直接启用;同时备份路径也可以和最佳路径一起实现非等开销负载均衡;
默认将拓扑表中最佳路径加载于路由表中;收敛完成,仅hello包继续周期保活;
结构突变:
1、
新增网段—直连新增网段的设备,使用更新包将该信息触发给本地所有的邻居,之后扩散到全网;
2、
断开网段—直连断开网段的设备,使用查询包向本地剩余所有邻居发送查询包,之后该数据包逐级扩散到全网;
结果(1):查询包到达依然直连该网段的设备处,该设备使用应答包逐级扩散到全网,过程中所有设备的拓扑表和路由表发生改变
结果(2):查询包到达网络末节(本地所有邻居均向本地进行查询,但本地此时没有可达路径),末节回复无路径应答逐级扩散到全网,过程中所有设备的拓扑表和路由表发生改变;
3、
无法沟通—hold time 到时候,断开邻居关系,删除从该邻居学习到的所有信息;之后是否能够重新建立邻居关系,关注hello包;
注:1、最佳路径故障后直接启用备份路由的规则—不针对直连断开网段,因为断开网段必须使用查询和应答进行全网扩散收敛;实际该规则针对基于正在收敛路径递归所得的其他路由;----断开A网段,必须收敛A网段,那些以A网段为下一跳的路由可以启用备份路径
2、更新包、查询包、应答包均基于RTP协议进行传输
RTP要求只要接收到这三种包,必须进行ACK确认,排序,流控;
若不能确认,必须重传(一般为单播),默认最大重传16次,若依然无确认,将断开邻居关系,依赖hello包来重建邻居关系;
四、
配置
R1(config)#router eigrp 90 启动时需要配置AS号,理解为全网一致的进程号;
R1(config-router)#no auto-summary DV协议建议关闭自动汇总
宣告:激活
路由
R1(config-router)#network 1.1.1.1 0.0.0.0
R1(config-router)#network 10.0.0.0
Eigrp可以使用反掩码精确匹配,也可以直接宣告主类;
启动配置完成后,邻居间组播使用hello包建立邻居关系,生成邻居表:
R3#show ip eigrp nei
R3#show ip eigrp neighbors
EIGRP-IPv4
Neighbors for AS(90)
H Address Interface Hold Uptime SRTT
RTO Q Seq
(sec) (ms) Cnt
Num
1 34.1.1.2 Se1/1 12 00:00:02
15 100 0 6
0 23.1.1.1 Se1/0 13 00:00:16
15 100 0 10
邻居ip(下一跳)
直连接口(出接口)
SRTT:平均往返时间—路由更新的延时
RTO:重传超时时间—基于SRTT和重传的具体次数计算所得
Q CNT:收敛包数—若为1,标识有一条路由正在收敛中;
邻居关系建立后,所有邻居间使用更新包,共享路由信息;生成拓扑表:
R3#show ip eigrp topology
P 1.1.1.0/24, 2 successors, FD is 2323456
via 23.1.1.1 (2323456/409600), Serial1/0
via 34.1.1.2 (2323456/409600), Serial1/1
1、
拓扑表中字母
条目前端使用字母P标识该条目已经收敛完全,且最佳路由已经进入路由表;
A
2.2.2.0/24, 1 successors, FD is Infinity, Q
1
replies, active 00:00:02, query-origin: Local origin
Remaining replies:
via 23.1.1.2, r, Serial1/1
条目前端使用字母A标识活动中,证明该条目正在收敛中,不会出现在路由表内;
当条目进行收敛后,条目的后端存在一个字母来标识目前收敛到的具体阶段
Q :本地已经发出查询包,但还未收到ACK
Qr:本地已经接收到了对端的确认,但还未收到对端的应答
QR:本地收到应答,还未进行ACK
U:本地已经确认,之后基于条目内容进行判断—获取新路径,A转P
—没有可达路由,删除条目
2、
卡在活动状态—条目长期保持A状态;
原因:(1)网络深度过深
(2)错误的策略或配置导致
导致的问题:在活动计时器到时间时(默认3min),将断开邻居关系;导致整个网络eigrp协议邻居关系全部刷新,使的通讯不稳定;
解决方案:(1)针对网络过深—延长计时器
R2(config)#router eigrp 90
R2(config-router)#timers active-time ?
<1-65535> active state time
limit in minutes
disabled disable time limit for
active state
R2(config-router)#timers active-time 5
(2)EIGRP在IOS12.1以上增添一个卡在活动状态计时器
在活动计时器进行一半时,向邻居发送卡在活动状态查询,若能收到回复,活动计时器到时时仅删除条目不断开邻居关系;
3、
拓扑表中的数字
P 1.1.1.0/24, 2
successors, FD is 2323456
via 23.1.1.1
(2323456/409600), Serial1/0
via 34.1.1.2
(2323456/409600), Serial1/1
FD
AD
FD:可行距离—本地通过该路径到达目标的度量值
AD:通告距离—该路径上的邻居(下一跳)达到目标的度量值
FC:可行条件—成为备份路径的条件
-备份路径的AD小于且不等于最佳路径的FD值
4、非等开销负载均衡—将流量延最佳和备份路径按比例同时传输,来提高链路的利用率
R3(config)#interface s1/1
R3(config-if)#bandwidth 800 修改接口的参考带宽
参考带宽,不影响设备的实际带宽;仅用于影响路由协议选路
Maximum metric variance 1 默认差异值为1,默认EIGRP协议仅支持等开销负载均衡;
差异值:
备份路径的FD/最佳路径的FD 结果向上取整
通过修改差异值,可以实现非等开销负载均衡
R3(config)#router eigrp 90
R3(config-router)#variance 2 修改默认的差异值
默认EIGRP协议将最佳路径加载到路由表中:
字母D - EIGRP, EX - EIGRP external
D标识eigrp正常学习的路由
D
EX外部路由,由ASBR重发布导入路由
管理距离:D 内部90 D EX外部 170
度量:复合度量—集中参数混合计算
K值:(K1 = 1, K2 =
0, K3 = 1, K4 = 0, K5 = 0):
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值为权重值,其意义在于决定公式中哪些参数参与运算;
默认K值下:度量=带宽+延时
带宽=(10^7/整段路径最小带宽)*256
延时=(控制层面所有入口延时的总和/10)*256
注:256为放大因子—放大数值便于比较
兼容IGRP协议;
修改K值时,全网所有设备需要修改一致;k值仅决定哪个参数参与运算,并不能直接干涉选路;故若需要干涉选路,使用路由策略或者修改运算参数(如带宽、延时、可靠性等);另修改K值还可以扩大eigrp协议的工作半径;EIGRP
协议除100跳以外,还存在最大度量值2147483647;
R3(config-router)#metric weights 0 1 0 1 0
0 修改k值;
五、
EIGRP的扩展配置
1、
状态机—刷新邻居关系;因为eigrp为增量更新,故在修改路由条目参数后,必然需要刷新路由表来加载新的路由,删除原有信息;–在汇总、认证、策略。。。。
2、
被动接口—仅接收不发送路由协议信息,用于连接用户的接口,不得用于连接邻居的接口
R3(config)#router eigrp 90
R3(config-router)#passive-interface
ethernet 0/0
3、
认证—EIGRP协议仅支持MD5认证
R2(config)#key chain ccna
R2(config-keychain)#key 1
R2(config-keychain-key)#key-string cisco123
R2(config-keychain-key)#exit
R2(config-keychain)#exit
R2(config)#interface s1/1
R2(config-if)#ip authentication key-chain
eigrp 90 ccna
R2(config-if)#ip authentication mode eigrp
90 md5
注:必须修改为MD5模式,否则认证不生效
4、
手工汇总—在更新源路由器上,所有更新发出的接口上进行配置
R3(config)#int s1/0
R3(config-if)#ip summary-address eigrp 90
3.3.0.0 255.255.248.0
在汇总源设备自动生成空接口防环路由
5、
缺省路由
(1)
边界路由器上,连接内网的接口上进行汇总配置;汇总地址0.0.0.0/0
R1(config)#interface ethernet 0/0
R1(config-if)#ip summary-address eigrp 90
0.0.0.0 0.0.0.0
注:此时需要手工在边界路由器上缺省指向ISP;
(2)重发布静态
先在边界路由器上静态缺省指向ISP,然后通过重发布技术,将该条目共享到EIGRP协议中来
R1(config)#router eigrp 90
R1(config-router)#redistribute static
(3)宣告做法;先在边界路由器上静态缺省指向ISP;
然后在eigrp协议中宣告缺省路由
R1(config)#router eigrp 90
R1(config-router)#network 0.0.0.0
注:宣告0.0.0.0时,同时本地所有接口均被宣告
(4)ip
default-network做法
【1】边界路由器上配置
R1(config)#ip default-network 1.0.0.0 (边界路由器连接ISP的网段,–必须宣告主类号)
【2】该网段必须在eigrp协议中宣告过
【3】边界路由器上必须用到该主类网段的路由条目
6、
修改计时器
R3(config)#interface s1/1
R3(config-if)#ip hello-interval eigrp 90 5
R3(config-if)#ip hold-time eigrp 90 15
7、
EIGRP干涉选路,使用偏移列表,加大控制层面流量的度量值
8、
eigrp协议的小特性
【1】eigrp的接口带宽占用率—默认仅占用参考带宽的百分之50;
若人为将参考带宽修改的和实际物理带宽不一致,将可能出现过于占用,或过于减低传输的现象;
R2(config)#interface serial 1/1
R2(config-if)#ip bandwidth-percent eigrp 90
300 (占用率百分之300)
【2】eigrp的查询机制
1)
最佳路径故障时,同时本地没有备份路径
2)
路由进入活动状态
3)
发送查询包到所有的邻居,除了原连接最佳路径下一跳的路由器
4)
若邻居也没有此路由信息,查询包继续扩散
5)
到达末梢进行回复收敛
【3】复杂网络中的查询包管理
中心到站点拓扑结构中,中心没有必要到站点进行查询
限制查询范围:
1)
汇总配置—在中心站点传递路由给分支站点时,进行汇总配置传递;之后若中心站点的网段故障时,发出查询,由于分支仅拥有汇总条目,故只能回复不可达;但该方法会导致路由黑洞的出现;
2)
eigrp的末梢区域—分支站点配置为末梢区域,eigrp协议规定不会向末梢区域的设备发出查询包
R3(config)#router eigrp 90
R3(config-router)#eigrp stub
R3(config-router)#eigrp stub ?
connected Do advertise
connected routes
leak-map Allow dynamic
prefixes based on the leak-map
receive-only Set receive only
neighbor
redistributed Do advertise
redistributed routes
static Do advertise static
routes
summary Do advertise
summary routes