当前位置:
文档之家› cisco 私有路由协议 Eigrp 详解
cisco 私有路由协议 Eigrp 详解
*Mar 1 01:56:40.411: IP-EIGRP(Default-IP-Routing-Table:100): 4.0.0.0/8 do advertise out Ethernet0/1
*Mar 1 01:56:40.555: IP-EIGRP(Default-IP-Routing-Table:100): 158.0.0.0/16 - do advertise out Ethernet0/1 *Mar 1 01:56:40.559: IP-EIGRP(Default-IP-Routing-Table:100): Int 158.0.0.0/16 metric 4294967295 - 0 4294967295
EIGRP 增强型内部网关路由协议知识汇总
一、EIGRP 基本属性
--CD DIY
1. 属于混合型路由协议:既有距离矢量路由的特性(从邻居得到更新、自动汇总), 也有链路状态路由协议特性(保存完整的 topo 表)。
2. DUAL 算法:保证 100%无环路,通过 DUAL 算法实现。(FS 的 AD 小于当前 FD) 3. 组播更新:使用组播 224.0.0.10 更新 4. 支持 VLSM 和不连续网络(要支持不连续网络需要关闭自动汇总) 5. 触发更新:当路由条目发生变化时才发送更新,并且只把更新发送给需要该路由条
*Mar 1 01:42:25.687: IP-EIGRP(Default-IP-Routing-Table:100): 10.10.10.10/32 - don't advertise out Ethernet0/1 (不通告 10.10.10.10/32 明 细路由是因为开启自动汇总。)
*Mar 1 01:42:25.687: IP-EIGRP(Default-IP-Routing-Table:100): 10.0.0.0/8 - do advertise out Ethernet0/1 (通告汇总之后的 10.0.0.0/8) *Mar 1 01:42:25.691: IP-EIGRP(Default-IP-Routing-Table:100): Int 10.0.0.0/8 metric 128256 - 256 128000
1. Ip default-network + 主类网络(已经通过 network 0.0.0.0 全网宣告) 在 R3 上输入 Ip default-network 3.0.0.0。然后查看路由表:
在 R3 的邻居上查看路由表:
出了一条 D*的 eigrp 默认路由。 但是用错该命令有如下情况出现: 2. Ip default-netwrok+子网后会产生静态路由,如下:
查询:通常是组播,也有可能是单播,需要确认,被可靠传输。 应答:用于对查询进行应答,单播可靠发送。 ACK:对更新、查询、应答进行确认,单播发送(只能为单播)。
五、EIGRP 计时器 1. 保持计时器(Hold time):默认为 Hello 时间的 3 倍,但是修改 Hello 时间后,保 持时间不会自动*3,而是需要手动修改。超过这时间段将重置临接关系。接口模式 下修改计时器值:ip hello-interval eigrp / ip hold-time eigrp. 2. RTO 定时器:指重传数据包之前需要等待的时间(连续单播),即在 RTO 到期时还没 收到 ACK,那么该数据包将被重传 16 次或者直到保持计时器到期。 3. 组播流计时器:(查看方式为 show ip interface eigrp)确定了在组播转换到单播
打开和关闭自动汇总的路由表比较:
打开自动汇总的路由表多了 Null0 路由,Null0 路由是软件意义上的直连路由,如果收 到和该条目匹配的数据包则丢弃。因为打开自动汇总后发布的是汇总路由条目,其他路 由器并不会学到明细路由而是学到的一条汇总路由。那么这会导致出现一种现象:当与 R10 直连的 R4 可能收到一条去往 10.1.1.1 的分组,R4 在路由表里面查找到匹配条目为 10.0.0.0 的下一跳为 R10 的汇总路由,但实际 R10 没有 10.1.1.1 的子网。所以这样导 致数据做无谓的转发,浪费了带宽和硬件资源。为了规避这现象就出现了 Null0 路由。
3. 如果宣布 eigrp 时使用 network 0.0.0.0 全网宣告,同时又配置 ip route 0.0.0.0
0.0.0.0 + 出接口, 那么该默认路由要被宣布为 D*。但是使用 ip route 0.0.0.0
Biblioteka Baidu
八、验证支持 VLSM
测试 topo 在 R13 上 show ip route 的结果如下:
通过上图说明:EIGRP 支持 VLSM。
九、EIGRP 收敛过程
初次运行 EIGRP 的时候在 R10 上 DEBUG IP EIGRP 的结果:
*Mar 1 01:42:25.503: %DUAL-5-NBRCHANGE: IP-EIGRP(0) 100: Neighbor 158.0.40.40 (Ethernet0/1) is up: new adjacency(和 R4 形成邻接关系)
5. 主动路由(A):当前路由失效,并且没有可行后继的时候,此条路路由进入主动状 态,主动状态的路由是不可用的,表示正在重新计算该路由。
6. 被动路由(P):收敛完成,路由稳定。表示可用的路由。 三、数据包构造
通过观察 eigrp 数据包可以得出以下结论: 1. Eigrp 协议号为 88 2. Hello 包内容包括 IOS 版本、eigrp 版本、Hold time、自治系统号
结果完全一样
特别值得一提的是:
七、EIGRP 建立邻接关系 1. 区别邻接和邻居:邻居指的是物理直连并且在同一个子网内的路由器。邻接指的是 在邻居的基础之上通过 hello 分组建立的关系。 2. 建立邻接的条件:(1)K 值一样(查看 K 值:show ip protocol) (2)属于同一 子网 (3)同一个自治系统 K 值修改:在 eigrp 进程下: R2(config-router)#metric weights 0 1 1 1 1 1;0 表示 TOS,5 个 1 分别对应 K1-K5 如果直连不在同一个子网:将会出现下面的 Error 消息:
在 R10 上关闭汇总后的 debug:
*Mar 1 01:56:40.399: IP-EIGRP(Default-IP-Routing-Table:100): 10.10.10.10/32 - do advertise out Ethernet0/1(通告 10.10.10.10/32 明细路由 因为关闭了汇总)
本地到下一跳的度量值,后面有提及;) 3. 后继者(路由):当前到目的地的可用路由器(路由条目); 4. 可行后继(FS):到目的地的备用路由器(路由条目),其 AD 必须必后继的 FD 小才
有资格成为 FS。成为可行后继的条件:该路由器到目的网络的 AD 小于当前后继的 FD。此要求可以保证 FS 绝无环路。如果分组经过 FS 再经过当前路由器那么 metric 一定不满足上面的要求。
*Mar 1 00:01:32.211: IP-EIGRP(Default-IP-Routing-Table:1): Neighbor 1.1.1.1 not on common subnet for FastEthernet0/0 R1:1.1.1.1---------------R2:2.2.2.2
验证 Eigrp metric 计算公式: Metric=[(10^7/链路最低带宽)+(延迟之和/10)]*256 (1)R12 到 172.16.1.0 网段的 metric 为 2172416,如下:
如 topo 所示到 172.16.1.0 有条快速以太网链路和 T1 链路。 快速以太网 BM=100000Kb delay=100US T1 链路 BM=1544Kb delay=20000US 带入公式计算得 2172416,注意:计算过程中必须省略小数,否则结果不正确。 (2)假设 T1 参数为 BM=1000Kb Delay=100US,计算结果 metric=2565120.现在去修改 T1 链路的参数看结果是否和理想的一样。
重传需要等待的时间。 4. 主动计时器:指在该时间内没有收到查询应答那么就陷入 SIA 状态,并重置临接关
系。在发送查询时启动计时;全局模式下修改主动计时器值,默认为 3 分钟 timer active… 六、EIGRP 度量 EIGRP metric 计算公式:
Metric=[(10^7/链路最低带宽)+延迟之和]*256
*Mar 1 01:42:25.535: IP-EIGRP(Default-IP-Routing-Table:100): 158.0.40.0/24 - do advertise out Ethernet0/1
*Mar 1 01:42:25.683: IP-EIGRP(Default-IP-Routing-Table:100): 158.0.0.0/16 - poison advertise out Ethernet0/1(用来形成 null0 路由,关闭自 动汇总之后就不会出现,默认打开自动汇总高端设备除外)
四、状态机
Hello:用于用户发现邻居,使用组播 224.0.0.10,不需要确认。在高于 1.544M (T1)链路上默认每 5S 发送一个,低于该速率的链路上默认 60S 一个。
更新:通过组播发送,并且在刚启用 EIGRP 时通过单播同步路由表,之后一直使用 可靠传输协议来发送更新。在点对点和 NBMA 链路上使用单播更新,需要被确认。
! no ip http server ip default-network 6.0.0.0 (输入命令 ip default-network 6.0.0.0) ip forward-protocol nd
ip route 6.0.0.0 255.0.0.0 6.2.2.2 (输入命令:ip default-network 6.2.2.2) ip route 6.0.0.0 255.0.0.0 6.2.2.0 (输入命令:ip default-network 6.2.2.0) ip route 6.0.0.0 255.0.0.0 6.2.0.0 (输入命令:ip default-network 6.2.0.0) ! 其他路由器是不会通过 EIGRP 学习到该路由的。
*Mar 1 01:56:40.403: IP-EIGRP(Default-IP-Routing-Table:100): Int 10.10.10.10/32 metric 128256 - 256 128000
*Mar 1 01:56:40.407: IP-EIGRP(Default-IP-Routing-Table:100): 158.0.40.0/24 - do advertise out Ethernet0/1
目的路由器。 6. 快速收敛:因为有可行后继作为备用路由,当后继失效之后不用重新计算新的路由,
而是直接使用可行后继,但是可行后继的 AD 必须小于后继的 FD。如果没有 FS 则 会发送查询消息。 7. 支持手动汇总。
二、名称解释
1. 通告距离(AD):指到目的地的下一跳路由器到目的地的度量值; 2. 可行距离(FD):,指本地设备到目的路由器的度量值。(特别注意:FD 不等于 AD+
关闭自动汇总的路由表简洁多了,由于关闭了自动汇总,发布的是明细路由,因此也就 没有了 Null0 路由的产生。
十、最后求助路由(ip default-network) 通过 IP default-network 命令将像 eigrp 路由器发布一条默认路由用于最后求助。该
命令的正确用法是:1. 通过 network 宣告该主类网络。2. Ip default-network + 被宣告 的主类网络。