写点什么

思科私有动态路由协议:EIGRP

作者:wljslmz
  • 2022 年 6 月 11 日
  • 本文字数:2182 字

    阅读完需:约 7 分钟

思科私有动态路由协议:EIGRP

你好,这里是网络技术联盟站。


今天给大家带来另外一个动态路由协议:EIGRP。


如果你没有学过思科,那么肯定是第一次听说动态路由协议中还有一个叫 EIGRP 的。


EIGRP 是思科的私有协议,今天瑞哥就带着大家好好学习一下 EIGRP,让我们直接开始吧!

什么是 EIGRP?

  • 英文全称:Enhanced Interior Gateway Routing Protocol

  • 中文名称:增强型内部网关路由协议

  • 思科私有的混合路由协议

  • 属于 IGP(内部网关协议)

  • 使用 DUAL 扩散更新算法

  • 同时具有距离矢量和链路状态路由协议属性

  • 协议号 88

  • 支持无类路由、VLSM、路由汇总、负载均衡和许多其他有用的功能

  • 使用多播地址 224.0.0.10 动态发现邻居

EIGRP 特点

  1. 快速收敛:使用 DUAL 算法来支持快速收敛。

  2. 带宽使用少:不像其他距离矢量路由协议那样发送定期更新

  3. 支持所有 LAN 和 WAN 数据链路协议和拓扑。

  4. 支持自动汇总:默认启用自动汇总。

  5. 支持可变长度子网掩码 (VLSM)。

  6. 支持 IPv4 和 IPv6

EIGRP 术语

  • DUAL:扩散更新算法

  • 邻居表:运行 EIGRP 的相邻路由器的列表,用于可靠的消息传递

  • 拓扑表:通过 EIGRP 学习的所有路由都保存在拓扑表中

  • 路由表:包含最佳 EIGRP 路由

  • 内部路由:EIGRP AS 内部的路由。

  • 外部路由:另一个路由协议或 另一个 AS 获取的路由

EIGRP 拓扑示例

EIGRP 三张表

EIGRP 对其路由操作使用不同的表,在 EIGRP 中主要使用了三种类型的 EIGRP 表:


  • 邻居表

  • 拓扑表

  • 路由表



让我们一一介绍:

邻居表

邻居表保存了所有建立 EIGRP 邻居关系的路由器,EIGRP 邻居表由 Hello 消息建立。


每个路由器根据从相邻 EIGRP 路由器接收到的 Hello 数据包构建邻居表.


查看 EIGRP 邻居表命令:


show ip eigrp neighbors
复制代码


拓扑表

拓扑表保存到所有目的地的所有路由,是一种控制平面或 EIGRP 数据库。


查看 EIGRP 拓扑表命令:


show ip eigrp topology
复制代码


路由表

路由表是保存到任何目的地的最佳路由的表.


查看 EIGRP 路由表命令:


show ip route eigrp
复制代码


EIGRP 包类型

为了传递消息和促进会话管理,EIGRP 使用了五种包类型:


HELLO

EIGRP 定期发送 HELLO 包来促进邻居发现。

Ack

ACK 数据包用作对更新、查询或回复数据包的反馈,作为一种反馈机制。

UPDATE

更新包用于发送路由更新。

QUERY

QUERY 包用于请求任何路由更新,请求更新。

REPLY

在接收到整个 QUERY 数据包后发送,来确认该数据包的接收。

EIGRP 管理距离

  • 汇总路由:5

  • 内部路由:90

  • 外部路由:170


管理距离值越小,协议越可靠。


例如,如果路由器从 OSPF)(默认管理距离:110)和 EIGRP(默认管理距离:90)接收到某个网络的路由,则路由器选择 EIGRP,因为 EIGRP 更可靠。


EIGRP 操作原理

EIGRP 操作过程一般可以简单的归类为 3 步:

第一步:邻居发现

运行 EIGRP 的路由器通过交换 Hello 消息来发现彼此,并比较参数(例如,自治系统编号、K 值和网络地址)来确定它们是否能够形成邻居。

第二步:拓扑交换

如果相邻的 EIGRP 路由器决定形成一个邻居,它们会相互交换它们的完整拓扑表。但是,在建立邻居关系后,只有对现有拓扑的更改才会在路由器之间进行通信。这种方法使 EIGRP 比诸如 RIP 之类的路由协议更有效,后者会定期通告其整个已知网络列表。

第三步:选择路由

填充 EIGRP 路由器的拓扑表后,EIGRP 进程会检查所有学习到的网络路由并选择通往每个网络的最佳路由,EIGRP 认为具有最低度量的网络路由是通往该网络的最佳路由。

详解邻居发现和拓扑交换

邻居发现和拓扑交换比较重要,这里我们用一张图来演示一下步骤,既然讲,那么肯定要讲到位。


结合上面讲的 EIGRP 包类型



第 1 步:R1 -> R2 邻居发现


R1 将 EIGRP Hello 消息 广播到 EIGRP 组播地址 224.0.0.10,要求任何使用 EIGRP 的路由器识别自己。


第 2 步:R2 -> R1 全路由信息


R2 在收到路由器 R1 的 Hello 消息后,将单播更新消息发送回 R1 的 IP 地址 192.168.1.1,此更新消息包含 R2 的完整 EIGRP 拓扑表,也就是全路由信息。


第 3 步:R1 -> R2 确认


R1 接收 R2 的更新,并以发送到路 R2 的 IP 地址 192.168.1.2 的确认 (ACK) 单播消息作为响应。


第 4 步:R2 -> R1 邻居发现


接着角色转换,R2 向 EIGRP 多播地址 224.0.0.10 发送 Hello 消息。


第 5 步:R1 -> R2 全路由信息


R1 使用包含 R1 的完整 EIGRP 拓扑表的单播更新来响应路由器 R2 的 Hello 消息,此更新消息的目的地是路由器 R2 的 IP 地址 192.168.1.2。


第 6 步:R2 -> R1 确认


R2 接收到 R1 的路由信息,并以发送到 R1 的 IP 地址 192.168.1.1 的 ACK 单播消息作为响应。


此时,路由器 R1 和 R2 之间已经建立了 EIGRP 邻居关系,路由器将定期交换 Hello 消息,以确认每个路由器的邻居仍然存在。然而,这是路由器最后一次交换它们的完整路由信息,随后的拓扑更改通过部分更新进行通告,而不是在邻居建立期间使用的完整更新。

EIGRP 度量值

EIGRP 度量值计算有点复杂,使用带宽、延迟、负载、可靠性 和 MTU 值来计算的,我们来看一下公式:



为了保住大家的脑细胞,我用颜色区分了一下,其中:


  • K1 = 带宽

  • K2 = 负载

  • K3 = 延迟

  • K4 和 K5 = 可靠性


这些 K 值都有默认值:


  • K1(带宽)= 1

  • K2(负载)= 0

  • K3(延迟)= 1

  • K4(可靠性)= 0

  • K5(MTU)= 0


通常我们不使用 K2、K4 和 K5 值,因为负载和可靠性是动态值,它们会随着时间而不断变化。


EIGRP 度量值计算非常繁琐,但是也是比较重要的,大家可以看完本文后多找几个例子进行练习。

总结

EIGRP 是一种基于内部网关路由协议 (IGRP) 原理的高级距离矢量路由协议,具有提高运算能力和收敛速度快的独特特性。


本文瑞哥图文并茂的给大家罗列了 EIGRP 重要技术点,希望对您有帮助!

用户头像

wljslmz

关注

极致主义者,追求技术的路上,勇往直前! 2021.05.24 加入

订阅号:网络技术联盟站 个站:https://www.wljslmz.cn

评论

发布
暂无评论
思科私有动态路由协议:EIGRP_动态路由_wljslmz_InfoQ写作社区