EIGRP详解
EIGRP详解
Supermini233特点
- 思科私有的增强型的矢量路由协议
- 快速汇聚:采用DUAL来实现快速汇聚
- 触发更新
- 部分更新:EIGRP发送部分更新,把更新的部分传递给需要的路由器
- 使用多播和单播:使用多播和单播而不是广播,多播地址224.0.0.10
- 支持VLSM:支持无类
- 精密的度量值:能实现不等价的负载均衡
关键技术
- 邻居发现协议
- 使用Hello包发现邻居,并动态的获悉其直连的网络中的其他路由器
- 可靠传输协议(RTP)
- 确保EIGRP分组按顺序以可靠的方式传输给所有邻居
- DUAL有限状态机
- 选择最低的度量值和无环的路径到达目的网段
- 协议无关模块
- EIGRP支持IP、IPv6、Appletalk和IPX,其都有独立EIGRP模块,负责处理网络层协议而异的需求。
EIGRP的三张表
- 邻居表
- 拓扑表
- 路由表
EIGRP数据包
Metric的计算
默认K1=1,K2=0,K3=1,K4=0,K5=0
延迟取值沿路所有数据出接口(或路由入口)延迟的累加
DLY= 延迟 (us) / 10 x 256
带宽取值沿路所有数据出接口(或路由入口)带宽的最低值
BW= [ 10000000 / 带宽 (Kbps) ] x 256
EIGRP路由metric默认为延迟+带宽
A路由器上,看到的3.3.3.0/24的路由metric(路径1)?
BW=10^7/1544*256=6476(去掉小数)*256=1657856
DLY=20000/10256+5000/10256=640000
Metric=640000+1657856=2297856
初始路由发现
机翻过程
- Hello包 1.我是路由器A,链接上是谁?
- Hello包 2.你好,我是路由器B。
- Update包 3.下面是我完整的路由信息。
- ACK包 4.感谢提供的信息!
- Update包 5.下面是我完整的路线信息。
- ACK包 6.感谢提供的信息! (凝聚)
DUAL算法
- Diffusing Update Algorithm 用于计算最佳无环路径和备用路径
实例1
- 将1.0的metric设置为不可达(-1表示不可达)
- 由于没有FS1.0被标记为Active状态
- D向C及E发送查询信息,询问去往1.0的替代路径
- D将C及E标记为未应答查询(q)
- 路由器C及E将经由D路由器前往网络1.0的路径标记为不可达
- 路由器C发送应答消息给D,指出到达1.0网段的路径没变
- D收到C的应答,将C的查询未应答标记删除
- 保持前往1.0路由的active状态,同时等待E的应答
- E由于从C前往1.0网段的AD值=3,不小于原来的FD=3,所以E将路由标记为active,且向C查询,并将C标记为查询未应答
- D收到E的应答消息
- 删除E的查询未应答标记
- 计算新的FD将后继路由加入到拓扑表
- 将1.0路由切换到passive
几个术语
后继路由器
可行距离(FD)
可行后继路由器(FS)
通告距离(AD)
可行条件,或称可行性条件(FC)
配置和验证
Passive-interface配置
Router(config-router)#passive-interface {type number} | default
- 该命令用于将特定接口设置为被动状态,defaut将所有路由器接白设置为被动状态
被动接口作用如下
- 禁止通过被动接口建立邻接关系
- 禁止通过被动接口接收或发送路由更新让EIGRP进程通告被动接口连接的子网查看:
show ip protocols
show ip eigrp neighbor
EIGRP路由汇总
EIGRP自动汇总
关闭自动汇总
Router(config-router)# no auto-summary
配置手工汇总
Router(config-if)# ip summary-address eigrp as-number address mask [admin-distance]
- 手工配置汇总时,仅当路由选择表中至少有一条该汇总路由的明细路由时,汇总路由才被通告出去。
- ip summary-address eigrp进行汇总的路由AD=5
负载均衡
- 等价负载均衡
- EIGRP在度量值相同的所有路径之间分配数据流量,默认为4条等价路径之间均衡IP负载,最大可为16条
Router(config-router)# Maximum-paths maximum-path
非等价均衡
EIGRP也能在度量值不同的多条路径之间负载均衡
Router(config-router)# Variance multiplier
- multplier默认值为1,范围1~128
- 只有可行路径才被用于负载均衡,可行条件为:
- 路由必须是无环的。(即AD<FD min)
- FD<= FD min X multiplier
- 注:variance不指定最大路径,而指定了度量值的范围
例:
Router(config-router)# Variance 2
EIGRP认证
路由器使用两种身份验证方式
- 简单密码身份验证
- IS-IS
- OSPF
- RIPv2
- MD5身份验证
- OSPF
- BGP
- EIGRP
- RIPv2
EIGRP MD5身份验证配置
- 定义key chain(全局模式)
Key chain name-of-chain
key key-id
key-string text
accept-lifetime start-time (infinite end-time duration seconds}
send-lifetime start-time {infinite | end-time | duration seconds}
- 关联key chain(接口模式)
ip authentication key-chain eigrp autonomous-system name-of-chain
- 启用认证(接口模式)
ip authentication mode eigrp autonomous-system md5
实例:
show ip eigrp neighbors
show ip route
show ip eigrp interface detail
大型网络EIGRP的可扩展性
大型EIGRP网络通常存在以下一些问题
- 需要处理的路由表很大
- 大量的邻居,要维护庞大的拓扑表
- 需要交换大量的路由更新,发送大量的查询和应答
这使得影响网络的可扩展性的变量变多,如:
- 邻居间交换的信息量
- 路由器数量
- 拓扑深度
- 网络中的替代路径数
陷入主动状态
- 路由器陷入主动状态并因此发起查询,仅当收到每个查询的应答后,该路由器才会脱离主动状态进入被动状态
- 如果路由器在3分钟肉没有收到查询应答,路由将陷入主动状态(SIA)此时路由器将重置与未应答的邻居之间的邻接关系。
导致路由进入SIA的常见原因
- 路由器太忙无法回答查询
- 路由器之间的链路质量低劣
- 单向链路
防范SIA
- EIGRP分组新增加了SIA-查询和SIA-应答,是由主动过程改进的
改进前:主动定时器到期后,A重置与B的邻接关系,但问题出在B和C之间的链路上
改进后:主动定时器过半后,A发送SIA-查询,而B确认查询,从而保持邻接关系
限制查询范围
- 确定好路由需求后,可提高EIGRP的可扩展性,使用以下两种方式
- 在合适的路由器上使用路由汇总
- 将远程路由器设置有末节EIGRP路由器
- 将远程路由器设置有末节EIGRP路由器
- 中央-分支网络拓扑中,stub路由器将所有非本地数据流转发给hub路由器,而无需保存完整的路由表。
- 对于hub路由器来说,不应将stub路由器最为中转路由器,禁止stub路由器将hub路由器通告给其他的hub。
- stub路由器不会收到查询,与stub区域相连的hub路由器将代表末节i由器对查询做出应答。
- 未节路由器时指:该路由器与网络核心相连,且不会被用来中转数据未节路由器的EIGRP邻居全部都是中央路由器:
使用路由汇总
- 查询在收到汇总路由的路由器结束
- 仅当路由表中有被查询的网络完全匹配的路由时,远程路由器才会进一步传播查询
基础配置
1 | Router(config)# router eigrp autonomous-system |
1 | Router(config)# lp default-network network-number |