EIGRP(高级距离矢量路由协议),根据参数计算metric值,依靠metric值选取最优路径以及此有路径。
实验拓扑:
EIGRP特性
- 收敛时间短,一般小于10S
- 100%无环路
- 增量路由更新
- 支持默认4条(最多6条)等开销或不等开销路径做负载均衡
- 网络设计灵活(汇总可以做在任意路由器的任意端口上)
- 使用组播实现路由更新(组播地址:224.0.0.10)
- EIGRP属于“无类路由协议”
- 配置简单方便
邻居关系
EIGRP使用hello包发现邻居,然后互相发送完整的拓扑表,最后根据从对方收到的完整的拓扑表来生成路由表
邻居关系建立条件
- AS号一致
- K值一致
- 认证通过
邻居关系复位条件
- hold time超时
- 可靠包的重传次数超过16
开销(metric):度量值的计算
EIGRP可以使用的5个参数计算metric,默认K1和K3参与计算,K1~K5分别为:
K1 带宽 K2 负载 K3 延迟 K4 可靠性 K5 MTU
默认情况下metric的计算公式:metric=256(10^7/BW delay(路由方向出口的综合)/10)
PS:offset-list(偏移列表)可以用于改变metric值。
EIGRP的包类型
HELLO包:用于建立和维护邻居关系,默认5S发送一次,组播地址:224.0.0.10,若在保持时间内没有收到hello包则重置邻居关系,保持时间=hello发送间隔*3
- UPDATE包:用于发送路由更新
- QUERY包:用于向邻居发送路由查询消息
- REPLY包:用于回应QUERY消息
- AKC包:用于包的确认
DUAL算法
- 后继者(successor):到达目的网络的最好路由
- 可行性后继者(feasible successor):到达目的网络的次好路由
- 可行性距离(FD):本台路由器到达目的网络路由的度量
- 通告距离(AD):邻居路由器到达目的网络路由的度量
feasible successor成立的条件:feasible successor AD < successor FD
如果最好路由不可用,且次好路由不存在,路由器将向邻居发送query包,在query包发出之后,所有邻居的应答包回来之前,路由器吧该路由置为active状态,只有所有应答包回来之后,路由器才选举到达目的网络的最好路由,Passive则是一个稳定的状态。 PS:默认3分钟查不到路由,标记无效,如果active-timer设置为disabled若没有找到路由,会一直处于active状态。
EIGRP手动汇总
试验:在R1的s0/0和s0/1汇总lo10、lo11、lo13三个接口,汇总成一条199.1.0.0/22。
在s0/0和s0/1分别配置下面的命令:
代码语言:javascript复制ip summary-address eigrp 100 199.1.0.0 255.255.252.0
在R2和R3分别show路由表:
代码语言:javascript复制R2#show ip route
Codes: C - connected, S - static, I - IGRP, R - RIP, M - mobile, B - BGP
D - EIGRP, EX - EIGRP external, O - OSPF, IA - OSPF inter area
N1 - OSPF NSSA external type 1, N2 - OSPF NSSA external type 2
E1 - OSPF external type 1, E2 - OSPF external type 2, E - EGP
i - IS-IS, su - IS-IS summary, L1 - IS-IS level-1, L2 - IS-IS level-2
ia - IS-IS inter area, * - candidate default, U - per-user static route
o - ODR, P - periodic downloaded static route
Gateway of last resort is not set
10.0.0.0/30 is subnetted, 3 subnets
D 10.1.13.0 [90/2681856] via 10.1.23.1, 00:31:48, Serial0/0
[90/2681856] via 10.1.12.1, 00:31:48, Serial0/1
C 10.1.12.0 is directly connected, Serial0/1
C 10.1.23.0 is directly connected, Serial0/0
D 199.1.0.0/22 [90/2297856] via 10.1.12.1, 00:31:45, Serial0/1
代码语言:javascript复制R3#show ip route
Codes: C - connected, S - static, I - IGRP, R - RIP, M - mobile, B - BGP
D - EIGRP, EX - EIGRP external, O - OSPF, IA - OSPF inter area
N1 - OSPF NSSA external type 1, N2 - OSPF NSSA external type 2
E1 - OSPF external type 1, E2 - OSPF external type 2, E - EGP
i - IS-IS, su - IS-IS summary, L1 - IS-IS level-1, L2 - IS-IS level-2
ia - IS-IS inter area, * - candidate default, U - per-user static route
o - ODR, P - periodic downloaded static route
Gateway of last resort is not set
10.0.0.0/30 is subnetted, 3 subnets
C 10.1.13.0 is directly connected, Serial0/0
D 10.1.12.0 [90/2681856] via 10.1.23.2, 00:32:10, Serial0/1
[90/2681856] via 10.1.13.1, 00:32:10, Serial0/0
C 10.1.23.0 is directly connected, Serial0/1
D 199.1.0.0/22 [90/2297856] via 10.1.13.1, 00:32:10, Serial0/0
可以看到R2和R3已经收到了一条199.1.0.0/22的汇总路由,PS:EIGRP的汇总通告的内部管理距离是5。
EIGRP不等价负载均衡
默认variance值为1,也就是等待负载均衡,最大可以配置为128,在EIGRP下配置,
负载均衡成立公式:successor FD * variance > feasible successor FD
试验:原本R1到10.1.23.0有条等价的负载均衡,我手动把s0/0接口的延迟改小,所以R2成为了successor,然后我把variance改成了5,下面show一下去10.1.23.0的路由。
代码语言:javascript复制R1#show ip route 10.1.23.1
Routing entry for 10.1.23.0/30
Known via "eigrp 100", distance 90, metric 2425856, type internal
Redistributing via eigrp 100
Last update from 10.1.12.2 on Serial0/0, 00:05:30 ago
Routing Descriptor Blocks:
* 10.1.12.2, from 10.1.12.2, 00:05:30 ago, via Serial0/0
Route metric is 2425856, traffic share count is 240
Total delay is 30000 microseconds, minimum bandwidth is 1544 Kbit
Reliability 255/255, minimum MTU 1500 bytes
Loading 1/255, Hops 1
10.1.13.2, from 10.1.13.2, 00:05:30 ago, via Serial0/1
Route metric is 2681856, traffic share count is 217
Total delay is 40000 microseconds, minimum bandwidth is 1544 Kbit
Reliability 255/255, minimum MTU 1500 bytes
Loading 1/255, Hops 1
count表示457个包,从s0/0发240个,从s0/1发217个。
限制QUERY包范围
1.汇总
2.路由器设置为sutb(末节)(不会向sutb路由器发送QUERY包),命令如下:
代码语言:javascript复制eigrp sutb
EIGRP验证
EGRIP验证仅支持MD5加密,试验:R1 s0/1口与R3 s0/0配置验证,过程如下:
代码语言:javascript复制R1(config)#key chain R1
R1(config-keychain)#key 1
R1(config-keychain-key)#key-string cisco
R1(config-if)#ip authentication mode eigrp 100 md5
R1(config-if)#ip authentication key-chain eigrp 100 R1
R3(config)#key chain R3
R3(config-keychain)#key 1
R3(config-keychain-key)#key-string cisco
R3(config-keychain-key)#int s 0/0
R3(config-if)#ip authentication mode eigrp 100 md5
R3(config-if)#ip authentication key-chain eigrp 100 R3
其他
- EIGRP的passive接口不发也不收
- offset-list偏移列表 它的作用是在网络中人为地增大到某个网络的度量值以此来改变选路
- EIGRP默认占用带宽的50%