1,EIGRP的4大组件
(1)Hello包—保活机制,5s 或 60s 的hello time(连接时间),3倍的hold time(断开时间)。
接口带宽小于或等于2.048m为60s hello time;大于2.048m为5s.
(2)PDM–支持多种网络层协议。
(3)RTP可靠传输协议 —借鉴TCP的4种可靠传输机制—确认、重传、排序、流控(50%占比)
(4)DUAL—扩散更新、弥散更新算法
2,eigrp的数据包
(1)Hello包 —用于邻居的发现、建立、周期保活邻居关系
(2)更新包----邻居间共享路由条目 === 目标网络号+度量值
(3)查询包—增量更新–结构的变化
(4)应答包—增量更新–结构的变化
(5)Ack确认包
3,EIGRP的工作过程
协议跑起来后,各个设备互发hello包进行建邻,生成邻居表。然后互发更新包共享路由信息,生成拓扑表。直到各条最佳路径和备份路径加载到各个路由表中,收敛完成,使用hello包周期保活。
特殊情况:
(1)新增网段
发生事件:直连新增网段的设备,向所有邻居发送更新包,然后逐级收敛。
(2)断开网段
发生事件:直连断开网段的设备,向本地所有邻居发送查询包来收敛该路径。
若该直连网段同时为本地到达某个目标的最佳路径,且没有备份路径,那么也进行查询收敛;若存在备份路径,那么仅收敛直连网段路由,启用备份路径来访问其他网段;
(3)无法沟通
发生事件:hold time 到时间时,断开邻居关系,删除所有通过该邻居学习的信息;能否重新建立邻居关系,关注hello包;
注:查询包、应答包、更新包—均基于RTP工作—必须被ACK确认,排序,流控;若没有ack或数据校验将重传,默认最大重传16次;16次后依然没有确认,将直接断开邻居关系,能否重建关系关注hello包
4,DUAL算法包含的内容
1、hello保活机制
2、success–成功路径–最佳路径 从本地到达目标最小度量值
Feasible success --可行成功路径–备份路径----备份路径的AD值小于不等于最佳路径的FD值
FD:可行距离,本地到达目标的度量
AD:通告距离,路径上的本地下一跳设备,到达目标的度量值
FC:可行条件,成为备份路径的条件–备份路径的AD值小于不等于最佳路径的FD值
如图从C去A,最佳路径是C-B-A,度量为3,备份路径为C-D-B-A,度量为4,AD值为2小于最佳路径的FD值3。C-E-D-B-A度量值也为4,但是AD为3,等于最佳路径的FD值,故不为备份路径。
3、主路径(最佳路径)故障时,同时本地没有备份路径;那么将发送查询包到本地所有邻居–除最佳路径中的下一跳设备;邻居在接收到该查询后将向本地的其他邻居进行查询包的扩散,到达网络的末梢后,由末梢设备逐级回复应答来清除整个网络所有设备的缓存;
也可能查询包在没有到达网络的末梢时,就已经寻找到新的路径,然后逐级返回应答来实现收敛;
发出查询包的前提:本地的直连路径故障,或本地的最佳路径故障,同时本地没有备份路径
5,配置及扩展配置
r1(config)#router eigrp 90 启动时需要定义AS号;理解为全网一致的进程号;
r1(config-router)#no auto-summary 关闭自动汇总
可以直接宣告主类,也可以使用反掩码进行精确的匹配
r1(config-router)#network 1.0.0.0
r1(config-router)#network 124.1.1.1 0.0.0.0
启动配置完成后,邻居间使用hello包建立邻居关系,生成邻居表;
Hello中邻居间必须完全一致的3个参数----AS号 认证字段 K值
r3#show ip eigrp neighbors 查看邻居表
IP-EIGRP neighbors for process 90
H Address Interface Hold Uptime SRTT RTO Q Seq
(sec) (ms) Cnt Num
1 34.1.1.2 Se1/1 12 00:00:26 43 258 0 9
0 23.1.1.1 Se1/0 12 00:00:35 208 1248 0 13
顺序 邻居接口ip 本地连接邻居的接口 序列号
SRTT–平均往返时间—本地发送更新、查询、应答包到达邻居后返回ACK的平均延时
RTO----重传间隔时间—根据SRTT和重传的次数计算的重传间隔时间
Q CNT–若为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 一条最佳路径,其度量为2300416
via 23.1.1.1 (2300416/156160), Serial1/0 最佳路径
via 34.1.1.2 (3842560/156160), Serial1/1 备份路径
FD AD
r3#show ip eigrp topology all-links 查看所有路由,包括非备份路径
{1}在拓扑表每条信息的前端存在一个字母
P 标识该条目已经收敛完成,且默认最佳路径已进入路由表
A 活动–该条目正在收敛中
P 1.1.1.0/24, 1 successors, FD is 4354560
via 23.1.1.2 (4354560/3842560), Serial1/1
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
当活动状态时,条目后方使用字母标识具体收敛到了哪一步
Q 标识本地已经发出查询包,没有收到ACK
Qr 标识已经收到ack,但还没有收到应答包
QR标识已经收到应答包,还未返回ack
U标识已经回复ack,之后查看应答包;
若应答无路径–删除该条目
若应答新路径,A转P,加载到路由表/20190103155046409.png)
一个不应答,导致所有设备间的邻居关系断开,再连接。使得网络不稳定。
导致的原因:
1、网络拓扑过于复杂,网络的深度过深
2、错误的策略或配置导致
解决办法:
1、针对过于复杂的网络,可以加大计时器
r2(config)#router eigrp 90
r2(config-router)#timers active-time ?
<1-65535> EIGRP active-state time limit in minutes
2、12系列IOS开始添加卡在活动状态计时器
当活动计时器进行到一半时,向邻居发出卡在活动状态查询,若收到回复,那么活动计时器到时时,仅删除信息,不断开邻居关系;
{3}非等开销负载均衡—当到达目标网段时,存在最佳和备份路径;
可以让设备将流量按比例延最佳和备份路径同时传输
r3#show ip protocols
EIGRP maximum metric variance 1
默认eigrp协议的差异值为1;
差异值=备份路径的FD/最佳路径的FD=结果向上求整
修改差异值实现非等开销负载均衡
r3(config-router)#variance 2
r3#show ip route 1.1.1.0 255.255.255.0 查看完整路由信息
默认EIGRP协议将最佳路径加载于路由表中:
字母D - EIGRP, EX - EIGRP external
D标识本地通过EIGRP协议所得路由;D EX标识其他协议学习的路由通过重发布技术共享产生
管理为90/170;内部90,外部170(重发布进来的路由)
复合度量:多参数运算所得
Formula with default K values (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
256为放大因子----兼容igrp协议 变大数值便于比较
通过修改k值,可以引入其他的参数来计算度量,缩小度量值扩大工作半径–eigrp的工作半径为100跳,最大度量值为2147483647;全网设备k值必须完全,否则建立不了邻居关系;
r1(config-router)#metric weights 0 1 1 1 1 1 K1-K5
注:干涉选路需要修改参数–带宽、延时、负载、可靠性
扩展配置:
1)状态机–邻居关系被刷新
触发状态机的原因–希望邻居删除原有的路由信息,学习新的被修改的信息—例:汇总、认证、策略等
2)手工汇总–在更新源路由器上,所有更新发出的接口上配置
r3(config)#int s1/1
r3(config-if)#ip summary-address eigrp 90 3.3.2.0 255.255.254.0
汇总配置的设备上将自动生成空接口防环路由
3)手工认证–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 必须修改认证模式为MD5
4)被动接口–仅接收不发送路由协议信息–配置在连接用户的接口,不得配置在连接邻居的接口
r3(config)#router eigrp 90
r3(config-router)#passive-interface fastEthernet 0/0
5)缺省路由
1、在边界路由器上所有连接内网的接口上进行汇总配置–汇总地址为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
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
不建议该配置,因为宣告了本地所有的接口
4、default-network做法–建议边界路由器外网接口为主类网段地址时
1)边界路由器上配置
r1(config)#ip default-network 12.0.0.0(宣告边界路由器连接ISP的接口地址的主类段)
2)eigrp协议中宣告该主类
r1(config)#router eigrp 90
r1(config-router)#network 12.0.0.0
3)该路由器上必须存在宣告的主类网段路由
r1(config)#ip route 12.0.0.0 255.0.0.0 null 0
6,EIGRP协议的小特性
1、EIGRP的接口带宽占用率 —eigrP协议在工作时,仅最大占用接口参考带宽的百分之50
故可能接口的参考带宽大于或小于实际带宽;可以修改参考带宽来实际匹配;
有时考虑协议需要基于参考带宽选路,不建议修改参考带宽;此时可以修改eigrp协议的带宽占用百分比
r2(config)#interface s1/1
r2(config-if)#ip bandwidth-percent eigrp 90 200
2、EIGRP的查询机制
1)最佳路径故障时,同时本地没有备份路径–发出查询包
2)本地直连路由断开时发生查询包
3)一旦发出查询包,该路由在本地路由表中消失,在拓扑表中标记收敛–A标识
4)若收到一个查询包,但本地没有查询的路由,将向本地的其他邻居进行扩散
5)查询包到达末梢设备时,只能回复应答
3、末梢管理
复杂网络中的查询包管理–中心到站点拓扑;中心没有必要到站点进行查询
限制查询范围
1)汇总—减少明细路由故障时导致的查询,可以在中心连接分支站点的接口上进行汇总路由配置–查询明细路由时,分支站点仅存在汇总路由,只能回复不可达;注意该配置应该尽量避免路由黑洞
2)eigrp末梢区域配置–分支站点设备直接配置为末梢区域;
之后分支站点发送到中心站点的hello包中存在末梢区域标记;
当中心站点链路出现故障时,中心站点不会到分支站点进行查询
r3(config)#router eigrp 90
r3(config-router)#eigrp stub 本地成为末梢区域
r2#show ip eigrp neighbors detail
r2#debug eigrp packets query
r3#debug eigrp packets ?
将一台路由器设置为末梢路由器时,默认执行以下命令
router eigrp 90
eigrp stub connected summary 本地成为末梢区域,当邻居需要传递直连和汇总路由过来
r3(config)#router eigrp 90
r3(config-router)#eigrp stub ?
connected Do advertise connected routes
receive-only Set IP-EIGRP as receive only neighbor
redistributed Do advertise redistributed routes
static Do advertise static routes
summary Do advertise summary routes