EIGRP:增强内部网关路由协议
无类别距离矢量协议;组播更新:224.0.0.10;跨层封装到三层,协议号88;
增量更新---仅实施触发更新,不进行周期更新;支持等开销、非等开销负载均衡,默认4条最大6条,IOS版本12.4以上16条;
EIGRP的4大组件:
1、hello包 邻居关系的发现、建立、保活
2、RTP --可靠传输协议
确认、重传、流控(协议流量不超过查考带宽的百分之五十)、排序
3、PDM---支持多种网络层协议模块
4、DUAL--扩散更新、弥散更新算法
EIGRP的5种数据包:
1、hello包
2、更新包 路由条目=目标网络号+度量
3、查询包
4、应答包
5、ACK
EIGRP的工作过程:
1、启动配置完成后,EIGRP将向所有的邻居发出hello包,与它们建立邻居关系,生成邻居表;
2、邻居间组播发送更新包共享路由信息,对端收到更新包后必须使用ACK确认;若不进行确认,将实施单播重传,默认最大重传次数为16次;若依然失败,将断开邻居关系,能否重建参考hello包;
3、当接收到全网的更新包后,本地生成拓扑表;----实际装载所有的最佳及备份路径;
4、当拓扑表完成后,本地将拓扑表中所有最佳路径加载到路由表;收敛完成,仅hello包周期保活即可;
5、结构突变
1)新增网段----直连新增网段者发送更新包到所有的邻居,对端使用ACK确认,正常加表(路由表);
2)断开网段----直连断开网段的设备将向所有的邻居发送查询包;
之后查询包扩散到全网,通过应答包收集到的新的路径,或者删除原有路径;
注:更新包、查询包、应答包基于RTP工作;
EIGRP的配置:
r1(config)#router eigrp 90
启动EIGRP协议,启动时必须配置AS号;可理解全网一致的进程号;
r1(config-router)#no auto-summary 关闭自动汇总
宣告:1、激活 2、路由
r1(config-router)#network 1.0.0.0
r1(config-router)#network 124.1.1.1 0.0.0.0
可以直接宣告主类,也可使用反掩码进行精确匹配;
一、启动配置完成后,邻居间使用hello包建立邻居关系,生成邻居表:
Hello包---用于邻居关系的发现、建立、保活 hello time 5s或60s hold time为hello time
的3倍;当接口带宽大于或等于2.048M时hello time 为5s,小于2.048M为60s;
邻居间hello包存在3个参数必须完全一致,否则无法建立邻居关系:
AS号、认证字段、K值;
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 12 00:05:40 32 200 0 8
1 23.1.1.2 Se1/1 11 00:05:52 42 252 0 10
0 124.1.1.1 Fa0/0 14 00:05:59 213 1278 0 7
SRTT:平均往返时间 5min内,本地发出更新、查询、应答后收到ACK的平均时间;
RTO:重传超时时间 基于SRTT和具体的重传次数来自动计算的重传间隔时间;
Q cnt:为1标示还有一条路由正在收敛中;
二、邻居间路由收发完成后,将生成拓扑表:
表中记录所有最佳及备份路径;
r3#show ip eigrp topology 查看拓扑表--最佳和备份路径
r3#show ip eigrp topology all-links 查看所有的路径
【1】拓扑表中字母
r3(config)#interface s1/1
r3(config-if)#bandwidth 800 修改接口参考带宽,仅影响路由协议的选路,不影响实际传输速率
r3#show ip eigrp topology
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 00:00:04, query-origin: Local origin
Remaining replies:
via 23.1.1.2, r, Serial1/1
前端显示A,标示该条目正在收敛中;此时后方使用字母标示收敛到的具体阶段;
后端Q标示本地已经发出查询包,但还未收到ACK
后端Qr 本地已经收到ACK,但还未收到应答;
后端QR 本地已经收到应答,但本地还未回复确认;
后端U 本地已经回复确认,路由审核,新路由加表,A转P;无路由删除;
【2】解决卡在活动状态
卡在活动状态----1、网络深度过深 2、错误的配置或策略导致
当卡在活动状态出现后,将激活活动计时器,默认3min,到时时将删除条目断开邻居关系;
1)针对网络深度过深,建议修改活动计时器
r3(config)#router eigrp 90
r3(config-router)#timers active-time ?
<1-65535> EIGRP active-state time limit in minutes
disabled disable EIGRP time limit for active state
<cr>
r3(config-router)#timers active-time 5
2)错误的配置或策略----在IOS12以上默认增加卡在活动状态计时器;
在活动计时器进行到一半时,向邻居发出卡在活动状态查询,若可以收到应答,那么活动计时器结束时仅删除条目不断开邻居关系;
【3】非等开销负载均衡
r3#show ip eigrp topology
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
备份路径的作用在于可和最佳路径一起实现非等开销负载均衡;
非等开销负载均衡----当到达一个目标时,存在最佳和备份路径;可以让设备将流量按比例沿这些路径同时传输;
r3#show ip protocols
Routing Protocol is "eigrp 90"
EIGRP maximum metric variance 1 默认差异值为1;
差异值=备份的FD/最佳路径的FD=向上取整 例:1.1为2;
默认差异值为1,及标示仅支持等开销负载均衡;
若修改差异值为2,那么拓扑表中2倍最佳路径的备份路径将进入到路由表;
r3(config)#router eigrp 90
r3(config-router)#variance 2
注:IOS版本12.3以下修改差异值后,必须刷新路由表;
三、默认拓扑表生成后,将拓扑表中最佳路径加载路由表;
使用字母D标示正常通过eigrp协议学习的路由;
使用字母 D EX标示通过其他协议或AS学习的路由重发布进入EIGRP协议;
管理距离为90,若重发布进入的路由为170;
度量:复合度量
K值---权重值---默认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值,那么度量=BW+delay
BW=(10^7/整段路径最小带宽)*256
Delay=(整段路径控制层面入口延时总和/10)*256
256为放大因子---1、放大数字便于比较 2、兼容IGRP
r1(config)#router eigrp 90
r1(config-router)#metric weights 0 1 1 1 1 1 全网必须完全一致
注:修改K值的作用:1、代入新的参数来运算 2、扩大协议工作半径
若希望干涉选路,可以通过修改带宽、延时、负载、可靠性;或者策略来实现;
四、扩展配置
0、状态机
EIGRP邻居关系刷新;-----因为EIGRP协议为增量更新---故当配置了新的数据包时,EIGRP协议选择重置关系来让邻居刷新路由表;
1、手工汇总--在更新源路由器上所有更新发出的接口上配置
r3(config)#interface s1/0
r3(config-if)#ip summary-address eigrp 90 3.3.0.0 255.255.248.0
汇总配置完成后,本地自动生成到达汇总地址的空接口防环路径;
2、认证--EIGRP仅支持MD5认证
r2(config)#key chain ccna
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 ccna
r2(config-if)#ip authentication mode eigrp 90 md5
3、被动接口---仅接收不发送路由协议信息,只能用于连接用户的接口,不得配置于连接邻居的接口,否则无法建立邻居关系
r3(config)#router eigrp 90
r3(config-router)#passive-interface fastEthernet 0/0
4、加快收敛 5s或60s的hello time
r2(config)#interface s1/1
r2(config-if)#ip hello-interval eigrp 90 5
r2(config-if)#ip hold-time eigrp 90 15
建议邻居间一直
5、缺省
1)在边界路由器所有连接内网的接口上进行汇总配置,汇总地址0.0.0.0/0
r1(config)#int f0/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
6、干涉选路--偏移列表
在控制层面流量的进或出接口上增加度量值,来干涉选路;
r2(config)#access-list 1 permit 3.3.0.0
r2(config)#router eigrp 90
r2(config-router)#offset-list 1 in 100 serial 1/1