EIGRP enhanced interior gateway routing protocol 增强型内部网关路由协议
– 无类别
– 距离矢量型协议
– 适用范围:IGP协议;Cisco私有;
– 基于IP封装,跨层封装到网络层,协议号88;
– 更新方式:
- 组播更新:224.0.0.10 支持等开销、非等开销;
- 增量更新----无周期更新,仅触发更新;---- 单次的更新流量少,极高可靠性
– 支持多种网络层协议(PDM)-- 支持多种网络层协议(PDM)
– 在低速链路与高速链路中配置相同(RTP流控机制)
1、4大组件:
- hello包 ----邻居的发现、建立、保活
- RTP -可靠传输协议----确认、排序、重传、流控
(eigrp的更新流量不得超过链路带宽的百分之50) - PDM–支持多种网络层协议模块,用于兼容不同网络层协议
- DUAL–扩散更新算法、弥散更新算法
2、工作过程:
启动配置后,EIGRP协议将向本地所有的邻居发送hello包,建立邻居关系,生成邻居表;邻居关系建立后,邻居间使用更新包,共享本地路由信息;共享完成后,所有设备生成拓扑表—最佳和备份路径表;再基于最佳选路规则,将拓扑表中的最佳路径放置于路由表中;-----收敛完成,仅hello包周期保活即可;
结构突变:
新增网段—直连新增网段的设备,使用更新包,将路由传递给所有的邻居即可
断开网段—直连断开网段的设备,将向所有的邻居发送查询包,该查询包将扩散到网络的末梢,之后使用应答包进行回复;结果:
1)寻找到新的路由
2)删除所有信息
无法沟通 —无法收到邻居的ACK、hello,标志着邻居关系存在故障,将在hold time 到时时断开邻居关系,能否重建,看hello包;
注:更新包、查询包、应答包—基于RTP工作-可靠传输
这三种包发送到邻居处后,邻居必须进行ACK的确认;若收不到确认,将进行单播重传,最大默认重传16次,16次后若依然没有ACK,将断开邻居关系;这些信息还将被排序,被流控;
3、EIGRP邻居建立条件:
- AS号必须一致
- K值必须一致
- 认证(仅MD5)
双方接口IP必须在同一网段,主类掩码可以不同(EIGRP更新源检测),可以使用辅助地址(第二地址)建立邻居,但是发送EIGRP报文只能是主地址(EIGRP不能关闭更新源检测)
EIGRP router-ID 在15.0以上IOS中,邻居之间router-ID若一致,不影响邻居的正常建立,但是不会学习对方的直连路由
4、具体配置:
r1(config)#router eigrp 90 //启动时需要配置AS号;理解为全网一致的进程号;
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包建立邻居关系,生成邻居表:
Hello包—hello time 5s或60s,hold time 为hello 的3倍;
接口带宽小于2.048M为60s,大于或等于2.048M为5s;时间与链路封装有关
邻居间hello包中必须完全一致的参数: 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 10 00:03:51 36 216 0 9
1 23.1.1.2 Se1/1 14 00:04:04 28 200 0 11
0 124.1.1.1 Fa0/0 14 00:05:04 42 252 0 8
邻居接口ip地址 和邻居直连的接口
上述表中的特性含义:
- H:建立邻居的顺序
- SRTT:平均往返时间—5min内发出数据包到邻居后返回ack的平均时间
- RTO:重传间隔时间(单播)----基于SRTT和具体重传的次数来自动计算
(multicast flow timer:组播流计时器,使用组播方式发送报文。需要单播重传的等待时间) - Qcnt:队列统计—若为数字1,标示有一条路由正在收敛中;
- Seq num:该接口发送最后一个报文里的序列号
邻居关系建立,邻居间使用更新包共享路由信息;在收集到所有邻居的信息后,本地生成拓扑表: —最佳和备份路径
r3(config)#interface s1/1
r3(config-if)#bandwidth 800 //修改接口参考带宽
真实的物理带宽----硬件、QOS;参考带宽不影响实际带宽,仅用于影响路由协议的计算;
r3#show ip eigrp topology 查看拓扑表
IP-EIGRP Topology Table for AS(90)/ID(3.3.3.3)
Codes: P - Passive, A - Active, U - Update, Q - Query, R - Reply,
r - reply Status, s - sia Status
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
【1】关于拓扑表中的字母
P 1.1.1.0/24, 1 successors, FD is 2300416
条目前端字母P,标示该条目已经收敛完成,且最佳路径加载于路由表中;
A 2.2.2.0/24, 1 successors, FD is Inaccessible, Q
1 replies, active 00:00:03, query-origin: Local origin
Remaining replies:
via 23.1.1.2, r, Serial1/1
条目前端字母A,标示该条目正处于收敛中;在收敛过程中,条目后方存在字母来标示具体的阶段;
Q标示本地已经发出查询,正在等待ACK;
Qr标示本地已经收到邻居的ACK,正在等待邻居的应答包;
QR标示邻居已经回复应答,准备发出ACK;
U 本地已经回复ACK;
(若应答为无路,将直接删除该条目;若应答新的路径,那么最佳路径被加表;同时A转P;)
【2】S—卡在活动状态—本地拓扑表中的条目信息一直处于活动中,无法收敛完成;
原因:
- 网络深度过深
- 错误的配置或策略导致
默认eigrp协议存在活动计时器—3min;一条条目最多活动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
2、针对错误的配置或策略,IOS12以上存在–卡在活动状态计时器
活动计时器进行到一半时,向邻居发送卡在活动状态查询,若收到回复,那么活动计时到时时,仅删除信息,不断开邻居关系;
【3】EIGRP非等开销负载均衡
拓扑表中的括号内容
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
EIGRP maximum metric variance 1 差异值
差异值:备份路径的FD/最佳路径的FD= 向上取整 --1.1为2;
注:默认差异值为1,标示仅支持等开销负载均衡;
r3(config)#router eigrp 90
r3(config-router)#variance 2
修改差异值为2,表示2倍关系内的备份路径将加载到路由表中;
Variance 128可以匹配所有的路径
拓扑表生成后,默认将最佳路径加载于路由表中;
D - EIGRP, EX - EIGRP external
使用字母D表示EIGRP计算产生的路由条目;
D EX 标示ASBR(自治系统边界路由器、协议边界路由器)从其他协议中学习到的路由,共享进入EIGRP;
管理距离----D 90 D EX170
度量:
(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值,度量=带宽+延时
- 带宽=(10^7/整段路径路由传播入方向最小带宽)*256
- 负载=(最大负载)
- 延时=(整段路径控制层面入口延时总和/10)*256
- 可靠性=(最小可靠性)
- MTU=(最小MTU)
256放大因子:1、放大数值便于比较 2、兼容IGRP;
K值的修改—1、引入其他的参数来进行度量计算 2、扩大EIGRP协议的工作半径
切记:选路的干涉是靠修改实际的参数–带宽、延时、可靠性、负载;或者使用策略;
修改K值:
r1(config)#router eigrp 90
r1(config-router)#metric weights 0 1 1 1 1 1
切记:全网必须一致,否则无法建立邻居关系;
5、扩展配置:
状态机–刷新邻居关系—若更新信息中,产生与之前不同的信息时,EIGRP为增量更新,必须让设备通过刷新邻居关系的方法来清除原有的信息;
手工汇总–在更新源路由器上所有更新发出的接口上配置
1)支持CIDR汇总
2)在路由传播方向出方向上实施
3)自动产生指向null 0的路由,防止黑洞可能导致的路由换路(RIP不会产生)
4)汇总路由的AD值为5(可以重写一条静态,吓一跳或出接口随便写一个,然后后面跟个AD值,在看路由进行验证,重写的AD值不变>5则不变,<5路由条目则改变)
5)汇总后metric为最小的
6)当所有明细消失之后,汇总才会消失
汇总可以使用leak-map泄露某些明细路由
leak-map:就是route-map,最后调用写成leak-map + route-map的名称
ACL后面跟的是通配符,不是反掩码
r3(config)#interface s1/1
r3(config-if)#ip summary-address eigrp 90 3.3.2.0 255.255.254.0
汇总后,汇总配置的设备上自动产生到达汇总地址的空接口防环路由;
加密认证(仅支持MD5)
r2(config)#key chain xxx
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 xxx
r2(config-if)#ip authentication mode eigrp 90 md5
被动接口和单播建邻
被动接口:不发送任何报文
r1(config)#router eigrp 90
r1(config-router)#passive-interface serial 1/1
//单播建邻:指定邻居,必须加出接口,使用单播发送所有报文
r1(config-router)#neighbor 12.1.1.2 serial 1/1
加快收敛 hello 为5s时不建议修改; 为60s时可以修改
r1(config)#interface s1/1
r1(config-if)#ip hello-interval eigrp 90 5
r1(config-if)#ip hold-time eigrp 90 15
在和邻居直连的接口上修改即可,建议邻居间一致;
缺省路由
在边界路由器上所有直连内网的接口上进行汇总配置;配置地址—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
此时还需要边界路由器静态缺省指向ISP;
先在边界路由器上静态缺省指向ISP,然后利用重发布技术将条目共享到内网中
r1(config)#router eigrp 90
r1(config-router)#redistribute static
network宣告直连静态缺省
将主类定义为default-network,并通告进入EIGRP(本地拥有的主类都可以定义)
Allowed in允许接受缺省 out允许发送缺省
干涉选路–偏移列表 在控制层面流量的入或出接口上,对路由信息中的度量值进行加大;可以叠加;
修改AD值
r2(config-router)#distance 100 200 (+更新源 +反掩码)
内部 外部
更新源只能修改内部AD值,外部无效
修改metric值
修改bandwith
修改delay
offset-list
r2(config)#access-list 1 permit 3.3.2.0
r2(config)#router eigrp 90
r2(config-router)#offset-list 1 in 10000 serial 1/1
路由过滤:使用分发列表
r2(config)#router eigrp 99
r2(config-router)#distribute-list 2 o fastEthernet 0/0
EIGRP末节路由器:默认仅传递直连和汇总路由
r2(config-router)#eigrp stub (+直连 汇总 静态 leak-map 重发布)
创作者:Eric· Charles