9.3 EIGRP 简介
EIGRP(增强型内部网关路由协议)是一种距离矢量无类路由协议,主要功能:
可靠传输协议 (RTP) 限定更新 扩散更新算法 (DUAL) 建立邻接关系 邻居表和拓扑表
EIGRP 使用扩散更新算法 (DUAL),EIGRP 的 DUAL 在路由表之外另行维护一个拓扑表,该拓扑表不仅包含通向目的网络的最佳路径,还包
含被 DUAL 确定为无环路径的所有备用路径。“无环”表示邻居没有通过本路由器到达目的网络的路由
在 IP 数据包报头中,协议字段被设为 88 以代表 EIGRP,目的地址则被设为组播 224.0.0.10,目的MAC地址是一个组播地址:01-00-5E-00-00-0A
IGRP 不使用抑制计时器,而是使用一种在路由器间协调的路由计算系统(扩散计算)来实现无环路径
EIGRP 数据包类型:
更新 查询 应答 Hello
EIGRP 消息的数据部分封装在数据包内,此数据字段称为 TLV(类型/长度/值)。 TLV 类型有 EIGRP 参数、IP 内部路由和 IP 外部路由
可靠传输协议(RTP) 包括 EIGRP 数据包的可靠传输和不可靠传输两种方式,它们分别类似于 TCP 和 UDP;RTP 能以单播或组播方式发送数据包
Hello 数据包:用于发现邻居并与所发现的邻居建立邻接关系。EIGRP hello 数据包以组播方式发送,且使用不可靠传输
更新数据包:用于传播路由信息。EIGRP 不发送定期更新,而仅在必要时才发送更新数据包。EIGRP 更新仅包含需要的路由信息,且仅发送给需要该信息
的路由器。EIGRP 更新数据包使用可靠传输。当多台路由器需要更新数据包时,通过组播发送;当只有一台路由器需要更新数据包时,则通过单播发送
确认 (ACK) 数据包:由 EIGRP 在使用可靠传输时发送。对于 EIGRP 更新、查询和应答数据包,RTP 使用可靠传输。EIGRP 确认数据包始终以不可靠单播方式发送
查询和应答数据包由 DUAL 在搜索网络以及进行其它任务时使用。查询和应答使用可靠传输。查询可以使用组播或单播,但应答则始终以单播发送。
在大多数网络中,每 5 秒发送一次 EIGRP Hello 数据包;在多点 NBMA(非广播多路访问)网络上,每 60 秒单播一次 Hello 数据包。
保持时间 是收到此消息的EIGRP 邻居在认为发出通告的路由器发送故障之前应该等待的时间,是Hello数据包发送时间的3倍
EIGRP 不定期发送更新,而仅在路由度量发生变化时才发送更新
术语 部分 是指更新仅包含与路由变化相关的信息
术语 限定 是指部分更新仅传播给受变化影响的路由器
扩散更新算法 (DUAL) 是 EIGRP 所用的收敛算法,用于替代其它距离矢量路由协议所用的 Bellman-Ford 或 Ford Fulkerson 算法
EIGRP 总结路由的 AD 值为 5,内部 EIGRP 路由的默认管理距离为 90,而从外部来源导入的 EIGRP 路由的默认管理距离为 170
9.4 基本EIGRP配置
自治系统 (AS) 编号用于指定 EIGRP 路由进程
EIGRP 和 OSPF 都使用一个进程 ID 来代表各自在路由器上运行的协议实例:
Router(config)#router eigrpautonomous-system
router eigrp autonomous-system 全局配置命令用于启用 EIGRP,autonomous-system参数为进程ID号
EIGRP 中的 network 命令与其它 IGP 路由协议中的 network 命令功能相同:
此路由器上任何符合 network 命令中的网络地址的接口都将被启用,可发送和接收 EIGRP 更新。
此网络(或子网)将包括在 EIGRP 路由更新中。
network 命令在路由器配置模式下使用:
Router(config-router)#networknetwork-address
带有通配符掩码的 network 命令 :
Router(config-router)#network network-address [wildcard-mask]
使用 show ip eigrp neighbors 命令来查看邻居表并检验 EIGRP 是否已与其邻居建立邻接关系
路由器和邻居建立邻接关系后, 如果有一台邻居未列出,则可使用 show ip interface brief 命令来检查该本地接口是否已激活。如果该接口已激活,
则尝试 ping 该邻居的 IP 地址。 如果 ping 失败,则表明需要激活该邻居的接口。如果 ping 成功但 EIGRP 仍然无法将该路由器列为邻居,则检查
下列配置:
这两台路由器是否配置了相同的 EIGRP 进程 ID?
在 EIGRP network 语句中是否包括了该直连网络?
是否配置了 passive-interface 命令, 从而阻止了该接口传输 EIGRP Hello 数据包?
使用 show ip protocols 命令来检验 EIGRP 是否已启用
使用 show ip route命令来查看路由表
9.5 EIGRP度量
EIGRP 在其复合度量中使用下列值来计算通向网络的首选路径:带宽 延迟 可靠性 负载;默认情况下,仅使用带宽和延迟来计算度量
可以通过使用 show interface 命令来检查计算路由度量时为带宽、延迟、可靠性和负载使用的实际值
EIGRP 所用的复合度量计算可简化为:最低带宽(即最小带宽)加上总延迟
首先,确定带宽最低的链路。该带宽用于公式的(10,000,000/带宽)* 256部分
其次,确定沿途每个传出接口的延迟值。
再次,将所有延迟值加起来,然后除以 10(总延迟/10),再乘以 256(* 256)
最后,将带宽和总延迟值加起来即可得到 EIGRP 度量
延迟 是衡量数据包通过路由所需时间的指标
可靠性 是对链路将发生或曾经发生错误的几率的衡量指标
负载(load) 是反映使用该链路的流量,分为出站负载和入站负载
使用 bandwidth 命令修改带宽度量:
Router(config-if)#bandwidth kilobits
9.6 DUAL
DUAL 提供的功能:
无环路径 无环备用路径,可立即使用 快速收敛 限定更新以使用最少带宽
DUAL 使用的术语:
后继路由器 可行距离 (FD) 可行后继路由器 (FS) 报告距离 (RD),或称通告距离 (AD) 可行条件,或称可行性条件 (FC)
可行距离 (FD): 是计算出的通向目的网络的最低度量
后继路由器 : 是指用于转发数据包的一台相邻路由器,该路由器是通向目的网络的开销最低的路由
行后继路由器 (FS) 是指一个邻居,它有一条通向后继路由器所连通的同一个目的网络的无环备用路径,并且满足可行性条件
可行性条件 (FC): 是邻居通向一个网络的报告距离 (RD) 比本地路由器通向同一个目的网络的可行距离短
使用 show ip eigrp topology 命令查看拓扑表,包括所有的目的网络的所有后续路由器和可行后续路由器
使用 show ip eigrp topology all-links 命令查看所有可能的链路,不管是否满足可行性条件
EIGRP 的核心就是DUAL以及EIGRP的路由计算引擎,此技术称为DUAL有限状态机(FSM)
使用 debug eigrp fsm 命令来启动DUAL调试。
当后续路由器不在可用而且没有可行后续路由器时,DUAL 会将该路由置于主动状态(A)。DUAL 会向其他路由器发送EIGRP查询,询问
它们是否具有通向此网络的路径,其他路由器会返回EIGRP 应答,告知该路由器它们是否有通向所需网络的路径。
9.7 更多的EIGRP配置
默认情况下,不管是使用有类还是无类路由行为,都将使用 null0 汇总,因此不会使用任何超网路由或默认路由
只要同时存在下列两种情况,EIGRP 就会自动加入一条 null0 总结路由作为子路由:
通过 EIGRP 至少发现了一个子网
启用了自动总结
使用 no auto-summary 命令禁用自动总结,无类路由行为保持有效,则与子网路由不匹配时,将使用超网和默认路由
在发送 EIGRP 数据包的所有接口上建立 EIGRP 手动总结时,使用下列接口命令:
Router(config-if)#ip summary-address eigrpas-number network-address subnet-mask
EIGRP 需要使用 redistribute static 命令才能将此静态默认路由包括在其 EIGRP 路由更新中
默认情况下,EIGRP 会使用不超过 50% 的接口带宽来传输 EIGRP 信息。这可避免因 EIGRP 过程过度占用链路而使正常流量所需的路由带宽不足
ip bandwidth-percent eigrp 命令可用于配置接口上可供 EIGRP 使用的带宽百分比
Router(config-if)#ip bandwidth-percent eigrp as-number percent
每个接口上分别配置 Hello 间隔和保留时间,而且与其它 EIGRP 路由器建立邻接关系时无需匹配这些配置。
用于配置 hello 间隔的命令为:
Router(config-if)#ip hello-interval eigrpas-number seconds
用于配置保持时间的命令为:
Router(config-if)#ip hold-time eigrp as-number seconds