网络基础:EIGRP

news2024/11/24 17:31:57

EIGRP(Enhanced Interior Gateway Routing Protocol)是由思科开发的一种高级距离矢量路由协议,结合了距离矢量和链路状态路由协议的优点;EIGRP具有快速收敛、高效带宽利用、负载均衡等特点,适用于各种规模的网络。EIGRP长期以来一直是思科专有的路由协议,这意味着 EIGRP只能在思科的网络设备上运行。然而,自从 2013 年起,思科将 EIGRP 的某些部分作为开放标准进行了发布,使得其他厂商也能够实现 EIGRP。虽然 EIGRP 现在已经开放给其他厂商使用,但其最广泛和最完整的实现仍然在思科设备上。在混合环境或非思科设备环境中,使用 OSPF 或 BGP 这样的标准协议可能会更为合适和便捷。

EIGRP工作原理

EIGRP工作原理包括邻居发现、路由更新、度量值计算、路径选择和快速收敛等方面。

  1. 邻居发现和维护:EIGRP 使用 Hello 报文在相邻路由器之间建立和维护邻居关系。

    Hello 报文:EIGRP 路由器定期发送 Hello 报文来发现和确认邻居。

    Hold Timer:如果在 Hold 时间内没有收到邻居的 Hello 报文,路由器会认为该邻居失效,并将其从邻居表中移除。

  2. 路由更新:EIGRP 采用部分更新机制,只在网络拓扑发生变化时发送更新,减少了带宽的使用。

    触发更新:当一个路由器检测到网络拓扑发生变化时,会立即发送更新,而不是等待定期更新。

  3. 度量值计算:EIGRP 使用复合度量值来选择最佳路径。度量值包括带宽、延迟、负载、可靠性和 MTU 等多个因素。

    带宽(Bandwidth):路径上最低带宽的逆数。
    延迟(Delay):路径上所有链路的延迟之和。
    负载(Load):路径上链路的当前负载。
    可靠性(Reliability):路径上链路的可靠性。
    MTU(Maximum Transmission Unit):路径上链路的最大传输单元(通常不直接影响度量值)。

    复合度量值公式:

    其中 K1,K2,K3,K4,K5 是用户可配置的权重参数,默认值通常为 K1=1,K3=1K_1 = 1, K_3 = 1K1=1,K3=1,其余为 0。

  4. 路径选择&快速收敛:EIGRP 使用 DUAL(Diffusing Update Algorithm)算法来保证无环路的最佳路径选择和快速收敛。

    Feasible Distance(FD):到达目标网络的最低度量值(路由器本身的度量值 + 报告距离)。
    Reported Distance(RD):邻居路由器报告的到达目标网络的度量值。
    Successor:到达目标网络的最佳路径。
    Feasible Successor:备选路径,其报告距离小于当前路径的可行距离。

    EIGRP 的 DUAL 算法使其能够在网络拓扑变化时快速收敛,减少网络中断时间;通过 Feasible Successor 路径,可以迅速替换失效的 Successor 路径,而无需重新计算所有路径。

EIGRP 的关键报文类型
Hello 报文:用于邻居发现和维护。
更新报文(Update):发送路由信息更新。
查询报文(Query):当没有可行的 Successor 时,用于询问邻居路由器。
回复报文(Reply):响应查询报文。
确认报文(ACK):确认收到可靠传输的报文(Update、Query 和 Reply)。

EIGRP的配置

EIGRP(Enhanced Interior Gateway Routing Protocol)的配置包括启用 EIGRP 进程、定义要参与 EIGRP 的网络、配置度量值、进行路由汇总、设置重分布等。下面我们通过一个详细的配置示例,逐步介绍如何在路由器上配置 EIGRP。

基本配置步骤
①启用 EIGRP 路由协议
②定义参与 EIGRP 的网络
③配置接口和度量值
④进行路由汇总(可选)
⑤进行路由重分布(可选)

假设我们有如下拓扑:

   +--------+         +--------+
   | Router |         | Router |
   |   R1   |---------|   R2   |
   +--------+         +--------+

R1 与 R2 通过网络 192.168.1.0/24 互连;R1 还有一个内部网络 10.1.1.0/24;R2 还有一个内部网络 172.16.1.0/24。

在 R1 上配置 EIGRP
配置接口 IP 地址
R1(config)# interface GigabitEthernet0/0
R1(config-if)# ip address 192.168.1.1 255.255.255.0
R1(config-if)# no shutdown
​
R1(config)# interface GigabitEthernet0/1
R1(config-if)# ip address 10.1.1.1 255.255.255.0
R1(config-if)# no shutdown

启用 EIGRP 进程

R1(config)# router eigrp 1
R1(config-router)# network 192.168.1.0 0.0.0.255
R1(config-router)# network 10.1.1.0 0.0.0.255
R1(config-router)# no auto-summary
在 R2 上配置 EIGRP
配置接口 IP 地址
R2(config)# interface GigabitEthernet0/0
R2(config-if)# ip address 192.168.1.2 255.255.255.0
R2(config-if)# no shutdown
​R2(config)# interface GigabitEthernet0/1
R2(config-if)# ip address 172.16.1.1 255.255.255.0
R2(config-if)# no shutdown

启用 EIGRP 进程

R2(config)# router eigrp 1  进入自治系统号为1的EIGRP进程。注意:这个1是自治系统号不是进程号,具有全局意义,就是在一个园区内,自治系统号,需要一样。
R2(config-router)# network 192.168.1.0 0.0.0.255
R2(config-router)# network 172.16.1.0 0.0.0.255
R2(config-router)# no auto-summary

路由汇总和重分布【可选】

路由汇总:EIGRP 支持自动和手动路由汇总,以减少路由表的规模和复杂度。

1. 自动路由汇总

EIGRP 的自动汇总功能会在主类边界上进行路由汇总。这意味着如果 EIGRP 路由器的接口在不同的主类网络上,它会将这些网络汇总为主类网络。例如,如果一个路由器有两个接口,一个在 192.168.1.0/24 网络,另一个在 192.168.2.0/24 网络,EIGRP 会将它们汇总为 192.168.0.0/16。

配置自动汇总
Router(config)# router eigrp 1
Router(config-router)# auto-summary
②禁用自动汇总:

在一些情况下,自动汇总可能会导致不期望的结果,因此可以禁用它。

Router(config)# router eigrp 1
Router(config-router)# no auto-summary //禁用自动汇总
2.手动路由汇总

手动汇总允许管理员在路由器的特定接口上配置汇总地址。这种方法提供了更大的灵活性和控制,可以根据网络设计的需求进行定制。

配置手动汇总: 假设我们有一个路由器,其 EIGRP 进程为 1,并且希望在接口 GigabitEthernet0/1 上进行路由汇总。网络 10.1.0.0/24 到 10.1.3.0/24 可以汇总为 10.1.0.0/22。

Router(config)# interface GigabitEthernet0/1
Router(config-if)# ip summary-address eigrp 1 10.1.0.0 255.255.252.0

路由重分布:EIGRP 支持与其他路由协议(如 OSPF、RIP 等)之间的路由重分布,使得不同协议间的路由信息可以互相传递和使用。

路由重分布的基本概念
源协议(Source Protocol):重分布的路由信息来自的路由协议。
目标协议(Target Protocol):重分布的路由信息将被引入的路由协议。
度量值(Metric):重分布的路由需要设置初始度量值,以便目标协议能够正确计算路径。
路由重分布的步骤
识别需要重分布的路由协议:确定哪些路由协议之间需要进行重分布。
配置重分布命令:在目标协议中配置重分布命令,将源协议的路由信息引入。
设置度量值:为重分布的路由设置合适的度量值。
应用过滤器(可选):使用路由映射或访问控制列表(ACL)来控制重分布的路由,以防止不必要的路由传播。
配置 EIGRP 路由重分布的示例:

多协议网络中,路由重分布可以实现不同路由协议之间的互通。我们将通过一个详细的示例,说明如何在 EIGRP 和 OSPF 之间进行路由重分布。假设我们有以下网络拓扑:

  • 路由器 R1 运行 OSPF 和 EIGRP 协议。

  • 路由器 R2 仅运行 EIGRP 协议。

  • 路由器 R3 仅运行 OSPF 协议。

   +--------+         +--------+         +--------+
   | Router |         | Router |         | Router |
   |   R1   |---------|   R2   |---------|   R3   |
   +--------+         +--------+         +--------+
  OSPF & EIGRP       EIGRP only         OSPF only
配置目标
  1. 将 OSPF 的路由信息重分布到 EIGRP 中。

  2. 将 EIGRP 的路由信息重分布到 OSPF 中。

详细配置步骤
1. 配置基础网络

首先,确保在 R1、R2 和 R3 上配置好基础的 EIGRP 和 OSPF 网络。

在 R1 上配置 EIGRP 和 OSPF
R1(config)# interface GigabitEthernet0/0
R1(config-if)# ip address 192.168.1.1 255.255.255.0
R1(config-if)# no shutdown
R1(config-if)# exit
​
R1(config)# interface GigabitEthernet0/1
R1(config-if)# ip address 10.1.1.1 255.255.255.0
R1(config-if)# no shutdown
R1(config-if)# exit
​
R1(config)# router eigrp 1
R1(config-router)# network 192.168.1.0 0.0.0.255
R1(config-router)# network 10.1.1.0 0.0.0.255
R1(config-router)# no auto-summary
R1(config-router)# exit
​
R1(config)# router ospf 1
R1(config-router)# network 10.1.1.0 0.0.0.255 area 0
R1(config-router)# exit
在 R2 上配置 EIGRP
R2(config)# interface GigabitEthernet0/0
R2(config-if)# ip address 192.168.1.2 255.255.255.0
R2(config-if)# no shutdown
R2(config-if)# exit
​
R2(config)# interface GigabitEthernet0/1
R2(config-if)# ip address 192.168.2.1 255.255.255.0
R2(config-if)# no shutdown
R2(config-if)# exit
​
R2(config)# router eigrp 1
R2(config-router)# network 192.168.1.0 0.0.0.255
R2(config-router)# network 192.168.2.0 0.0.0.255
R2(config-router)# no auto-summary
R2(config-router)# exit
在 R3 上配置 OSPF
R3(config)# interface GigabitEthernet0/0
R3(config-if)# ip address 192.168.2.2 255.255.255.0
R3(config-if)# no shutdown
R3(config-if)# exit
​
R3(config)# router ospf 1
R3(config-router)# network 192.168.2.0 0.0.0.255 area 0
R3(config-router)# exit
2. 配置路由重分布

在 R1 上将 OSPF 的路由重分布到 EIGRP 中

R1(config)# router eigrp 1
R1(config-router)# redistribute ospf 1 metric 10000 100 255 1 1500

在这条命令中:

  • redistribute ospf 1:表示将 OSPF 进程 1 的路由重分布到 EIGRP。

  • metric 10000 100 255 1 1500:设置重分布路由的 EIGRP 度量值,其中 10000 是带宽,100 是延迟,255 是可靠性,1 是负载,1500 是 MTU。

在 R1 上将 EIGRP 的路由重分布到 OSPF 中
R1(config)# router ospf 1
R1(config-router)# redistribute eigrp 1 subnets

在这条命令中:

  • redistribute eigrp 1:表示将 EIGRP 进程 1 的路由重分布到 OSPF。

  • subnets:关键字确保包括子网信息。

3. 路由过滤(可选)

为了精细控制重分布的路由,可以使用路由映射进行过滤。

创建路由映射和访问控制列表

假设我们只希望将 192.168.1.0/24 和 192.168.2.0/24 网络重分布到 OSPF 中。

R1(config)# access-list 10 permit 192.168.1.0 0.0.0.255
R1(config)# access-list 10 permit 192.168.2.0 0.0.0.255
​
R1(config)# route-map EIGRP_TO_OSPF permit 10
R1(config-route-map)# match ip address 10
​
R1(config)# router ospf 1
R1(config-router)# redistribute eigrp 1 subnets route-map EIGRP_TO_OSPF

在这条命令中:

  • access-list 10 定义了允许的网络。

  • route-map EIGRP_TO_OSPF 定义了一个路由映射,匹配 ACL 10 中定义的网络。

  • redistribute eigrp 1 subnets route-map EIGRP_TO_OSPF 使用路由映射进行重分布。

通过以上配置,我们实现了 EIGRP 和 OSPF 之间的路由重分布。R1 会将 OSPF 的路由信息引入 EIGRP,同时将 EIGRP 的路由信息引入 OSPF。使用路由映射和访问控制列表,我们可以更精细地控制重分布的路由,确保网络的稳定和高效运行。

验证配置
在 R1 上查看 EIGRP 邻居关系
R1# show ip eigrp neighbors

EIGRP(Enhanced Interior Gateway Routing Protocol)的配置包括启用 EIGRP 进程、定义要参与 EIGRP 的网络、配置度量值、进行路由汇总、设置重分布等。下面我们通过一个详细的配置示例,逐步介绍如何在路由器上配置 EIGRP。

基本配置步骤

  1. 启用 EIGRP 路由协议

  2. 定义参与 EIGRP 的网络

  3. 配置接口和度量值

  4. 进行路由汇总(可选)

  5. 进行路由重分布(可选)

配置示例

假设我们有如下拓扑:

   +--------+         +--------+
   | Router |         | Router |
   |   R1   |---------|   R2   |
   +--------+         +--------+
  • R1 与 R2 通过网络 192.168.1.0/24 互连。

  • R1 还有一个内部网络 10.1.1.0/24。

  • R2 还有一个内部网络 172.16.1.0/24。

在 R1 上配置 EIGRP

配置接口 IP 地址

shell复制代码R1(config)# interface GigabitEthernet0/0
R1(config-if)# ip address 192.168.1.1 255.255.255.0
R1(config-if)# no shutdown
​
R1(config)# interface GigabitEthernet0/1
R1(config-if)# ip address 10.1.1.1 255.255.255.0
R1(config-if)# no shutdown

启用 EIGRP 进程

R1(config)# router eigrp 1
R1(config-router)# network 192.168.1.0 0.0.0.255
R1(config-router)# network 10.1.1.0 0.0.0.255
R1(config-router)# no auto-summary

在上述命令中:

  • router eigrp 1:启动 EIGRP 进程 。

  • network 192.168.1.0 0.0.0.255network 10.1.1.0 0.0.0.255:指定要参与 EIGRP 的网络。

  • no auto-summary:禁用自动汇总。

在 R2 上配置 EIGRP

配置接口 IP 地址

shell复制代码R2(config)# interface GigabitEthernet0/0
R2(config-if)# ip address 192.168.1.2 255.255.255.0
R2(config-if)# no shutdown
​
R2(config)# interface GigabitEthernet0/1
R2(config-if)# ip address 172.16.1.1 255.255.255.0
R2(config-if)# no shutdown

启用 EIGRP 进程

R2(config)# router eigrp 1
R2(config-router)# network 192.168.1.0 0.0.0.255
R2(config-router)# network 172.16.1.0 0.0.0.255
R2(config-router)# no auto-summary

路由汇总配置(可选)

假设我们要在 R1 上对 10.1.1.0/24 网络进行汇总。

R1(config)# interface GigabitEthernet0/1
R1(config-if)# ip summary-address eigrp 1 10.1.0.0 255.255.0.0

在上述命令中:

  • ip summary-address eigrp 1 10.1.0.0 255.255.0.0:在接口 GigabitEthernet0/1 上对 10.1.0.0/16 进行汇总。

路由重分布配置(可选)

假设我们要在 R1 上将 OSPF 的路由信息重分布到 EIGRP 中,并将 EIGRP 的路由信息重分布到 OSPF 中。

将 OSPF 的路由重分布到 EIGRP 中

R1(config)# router eigrp 1
R1(config-router)# redistribute ospf 1 metric 10000 100 255 1 1500

将 EIGRP 的路由重分布到 OSPF 中

R1(config)# router ospf 1
R1(config-router)# redistribute eigrp 1 subnets

验证配置

在 R1 上查看 EIGRP 邻居关系

R1# show ip eigrp neighbors

在 R1 上查看 EIGRP 路由表

R1# show ip route eigrp
在 R1 上查看 EIGRP 拓扑表
R1# show ip eigrp topology

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1888683.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

面试题springboot面试

文章目录 Spring的依赖注入构造器注入stetter注入属性注入 springboot的优势第一开箱即用约定大于配置内嵌tomcat服务器 javaweb的三大组件springboot的自动配置原理SpringIoc的实现机制springmvcspring如何简化开发 Spring的依赖注入 构造器注入 stetter注入 属性注入 使用…

python小练习04

三国演义词频统计与词云图绘制 import jieba import wordcloud def analysis():txt open("三国演义.txt",r,encodingutf-8).read()words jieba.lcut(txt)#精确模式counts {}for word in words:if len(word) 1:continueelif word "诸葛亮" or word &q…

环保管理新篇章:智慧环保引领制造业走向绿色未来

环保领域作为当代社会焦点之一,其重要性不言而喻,直接关系到人类生存环境的可持续发展,因此吸引了政府、企业及社会各界的深切关注。然而,在环保行业蓬勃发展的背后,亦浮现出一系列亟待解决的痛点:融资渠道…

PyTorch MNIST手写体识别:SwanLab可视化训练

MNIST手写体识别是深度学习、CV的“Hello World”,无数人从这个任务入门,进入深度学习的世界~ 进阶请看:PyTorch猫狗分类 这篇文章我将带大家使用SwanLab(训练可视化)、PyTorch(深度学习框架&…

Hive常用的内置函数

文章目录 聚合类1.指定列值的数目2.指定列值求和3.最大值4.最小值5.平均值6.中位数函数7.分位数函数 数值类1.取整函数Round(a)2.指定精度取整ROUND(double a,int b)3.向上取整FLOOR()4.向下取整CEIL()5.随机数 rand()6.绝对值函数 日期类获取当前日期获取当前时间戳日期前后日…

【Java环境配置过程详解(包括IDEA配置Java)】

目录 一、JDK下载安装 1. 官网下载JDK 2. 本地安装JDK 3. 配置环境变量 4. 验证是否安装成功 ​编辑二、IDEA进行安装下载 1. 官网下载 IDEA 2、IDEA进行Java开发 1. 创建Java项目 2. 程序测试 一、JDK下载安装 1. 官网下载JDK 1)官网链接: https://www.o…

IT行业入门,如何假期逆袭,实现抢跑

目录 前言 1.IT行业领域分类 2.基础课程预习指南 3.技术学习路线 4.学习资源推荐 结束语 前言 IT(信息技术)行业是一个非常广泛和多样化的领域,它包括了许多不同的专业领域和职业路径。如果要进军IT行业,我们应该要明确自己…

keyclock实现三方登录

公司希望我把公司的keycloak作为新项目的一种第三方登录方式时,就像微信,google,github,使用keycloak上的账户资源 因此,先需要跟公司keyclock管理员联系,让他把各个端点url,keycloak颁发的cli…

MATLAB将两个折线图画在一个图里

界面如图 输入行数和列数,点击开始填入数据,其中第一列为x值,后面几列,每一列都是y坐标值,填好后点击画在同一张图里即可。点击置零就把所有数变成0,另外也可以选择节点样式。 .mlapp格式的文件如下 夸克…

AI时代的产品经理的成长指南_pdca循环理论制定ai学习成长计划

一、人人不都是产品经理 大多数人听到“产品经理”这个词,总会联想到“人人都是产品经理”这句话。但实际上产品经理这个岗位并没有那么简单。 用一句话概括产品经理的职责就是“帮助团队交付正确产品给用户的人”。也就是说,产品经理要能凝聚团队的力…

归并排序-MergeSort (C语言详解)

目录 前言归并排序的思想归并排序的递归法归并排序的非递归法归并排序的时间复杂度与适用场景总结 前言 好久不见, 前面我们了解到了快速排序, 那么本篇旨在介绍另外一种排序, 它和快速排序的思想雷同, 但又有区别, 这就是归并排序, 如下图, 我们对比快速排序与归并排序. 本…

在线JSON可视化工具--改进

先前发布了JSON格式化可视化在线工具,提供图形化界面显示结构关系功能,并提供JSON快速格式化、JSON压缩、快捷复制、下载导出、对存在语法错误的地方能明确显示,而且还支持全屏,极大扩大视野区域。 在线JSON格式化可视化工具 但…

[Labview] 二维数组写入表格

就一个二维数组写表,CSDN天天让我改进质量 简直是迫害完美主义 天知道Labview有什么思路好写,就一个破连连看(ˉ▽ˉ;)... 随便写点什么碎碎念占字数好了

Linux源码阅读笔记09-进程NICE案例分析1

task_nice task_nice函数功能:获取某个进程的nice值,其中nice值为进程的优先级,与静态优先级有关(nicestatic_prio-120)。 nice的取值范围:-20 ~ 19 内核源码 根据内核的注释可以知道:task_n…

时间12小时和24时转换方法

24小时时间转为12小时制 function convertTo12Hour(time24h){let [hours, minutes] time24h.split(:);let modifier 上午;if (parseInt(hours, 10) > 12) {modifier 下午;hours (parseInt(hours, 10) - 12).toString();}if (parseInt(hours, 10) 12) {modifier 下午;}…

Arduino 与树莓派常用的 IMU 传感器

惯性测量单元(IMU)是一种高度集成的传感器系统,广泛应用于需要高精度运动和姿态信息的领域。某些高精度要求下,还需要辅以温度、气压等其他传感器信息。 一、组成与功能 1. 组成 9 轴 IMU 由三个主要部分组成:3 轴加…

系留无人机+自组网+单兵图传:低空集群组网指挥系统技术详解

低空无人机集群的控制、调度、信息回传需要有高度可靠和稳定的无线通信链路来保障。我国发达的公网基础设施为上述应用创造了良好的条件,但低空应用必须要考虑到在极端情况下公网瘫痪造成的通信链路中断带来的影响,因此有必要在公网之外,寻求…

C语言----文件操作

1.为什么使用文件? 如果没有⽂件,我们写的程序的数据是存储在电脑的内存中,如果程序退出,内存回收,数据就丢失了,等再次运⾏程序,是看不到上次程序的数据的,如果要将数据进⾏持久化…

Vue85-Vuex的求和案例

一、需求 二、开发 2-1、index.js中vuex的代码 注意: 书写格式:actions中的函数名用小写!mutations中的函数名,用大写。 注意: 2-2、组件count.vue中的代码 2-3、代码优化

oracle数据库无法open,报“ORA-01113 file 1 needs media recovery”错误,教你用“六脉神剑”来开库

作者介绍:老苏,10余年DBA工作运维经验,擅长Oracle、MySQL、PG数据库运维(如安装迁移,性能优化、故障应急处理等) 公众号:老苏畅谈运维 欢迎关注本人公众号,更多精彩与您分享。在系统…