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

2022-06-12 22:33:58 浏览数 (2)

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

今天给大家带来另外一个动态路由协议: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 邻居表命令:

代码语言:txt复制
show ip eigrp neighbors

拓扑表

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

查看EIGRP 拓扑表命令:

代码语言:txt复制
show ip eigrp topology

路由表

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

查看 EIGRP 路由表命令:

代码语言:txt复制
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重要技术点,希望对您有帮助!

0 人点赞