EIGRP理论详解及基础实验

article/2025/8/25 18:26:58

EIGRP:( Enhanced Interior Gateway Routing Protocol )增强型内部网关路由协议

EIGRP 是一种Cisco专用协议,同时具备链路状态和距离矢量路由协议的优点.只发送变化后的信息(这类似于链路状态协议),同时只将这些信息发送给邻接路由器(这类似于距离矢量协议).  距离矢量路由协议的路由学习是“道听途说”,路由器不知道整个网络的拓扑,所以可能产生环路;链路状态是每个路由器都学习到整个网络的拓扑结构,再计算从自身到其它路由器的路径,所以不可能产生环路。

EIGRP 是增强的IGRP ,因为它会聚速度快,且可确保在任何时候拓扑中都没有环路.

 

(1). 通过发送和接收Hello包来建立和维持邻居关系,并交换路由信息;

(2). 采用组播(224.0.0.10)或单播进行路由更新;

(3). 管理距离值AD 为 90 (内部EIGRP) 或170 (外部EIGRP);

(4). 采用触发更新,减少带宽占用;

(5). 支持可变长子网掩码(VLSM),默认开启自动汇总功能;

(6). 支持 IP ,IPX和 AppleTalk 等多种网络层协议;

(7). 对每一种网络协议 ,EIGRP 都维持独立的3张表:

⦁     邻居表(show ip eigrp neighbor)

⦁     拓扑表(show ip eigrp topology)

⦁     路由表(show ip route eigrp)

(8). EIGRP 使用Diffusing Update 算法(DUAL),来实现快速收敛并确保没有路由环路;

(9). 存储整个网络拓扑结构信息,以便快速适应网络变化;

(10). 支持等价和非等价的负载均衡;

(11). 基于IP 进程号 88。

 

EIGRP 术语:

  • 可行距离(FD):到达一个目的网络的最小度量值;                                      FD: 我到邻居的距离+AD

  • 通告距离(AD):邻居路由器所通告的它自己到达目的网络的最小的度量值;   AD:我的邻居到达目标网络有多远

  • 可行性条件(FC):是EIGRP 路由器更新路由表和拓扑表的依据。可行性条件可以有效地阻止路由环路,实现路由的快速收敛。可行性条件的公式为:AD<FD。

  • 后继站(successor):到达目的网络路径成本最低的路由器--FD 最低

  • 可行后继站( FS ):除了成本最低的路径外,还存储备用路径,要成为可行后继站,下一跳路由器的AD 必须小于当前路由器的FD 

 

填充EIGRP 表

⦁邻居表(show ip eigrp neighbor)

⦁拓扑表(show ip eigrp topology)

⦁路由表(show ip route eigrp)

 

 

 

EIGRP 发送 5 种类型的分组:

1. Hello packet:用来发现和恢复邻居,通过组播的方式发送,使用不可靠的发送

2. Update packet:传播路由更新信息,不定期的,通过可靠的方式发送(比如网络链路发生变化).当只有一台路由器需要路由更新时,update通过unicast的方式发送;当有多个路由器需要路由更新的时候,通过组播的方式发送

3. Query(查询)  packet: 当找不到Feasible Successor 时,发送查询报文(Unicast)是DUAL finite state machine用来管理扩散计算用的,查询包可以是组播或unicast;应答包是通过unicast的方式发送,并且方式都是可靠的

4.Reply(应答)  packet:回应查询报文。(Unicast)

(其中2、3、4都是可靠传输报文,收到后要发送ACK进行确认)

5. ACK(acknowledgement) packet:不包含数据(data)的Hello包,使用unicast的方式,不可靠的发送

 

EIGRP Hello分组

      EIGRP 路由器通过Hello 协议动态地发现与之直接相连的其他EIGRP 路由器,路由器使用组播地址 224.0.0.10 通过EIGRP 接口向外发送EIGRP分组.Hello分组的发送间隔随介质而异.

⦁在LAN 链路上,每隔 5 秒发送一次

⦁在低速链路上,每隔 60 秒发送一次

可以在接口上使用配置命令来修改:

int s0/0

ip hello-interval eigrp 1 15

ip hold-time eigrp 1 45

保持时间默认为Hello间隔的 3 倍,但当Hello间隔被修改后,保持时间并不会自动地相应调整,要手工修改保持时间

 

EIGRP 邻居起不来的原因有三种:

1)AS号不匹配

      AS号不同的两个EIGRP之间是建不起邻居的,因为它们的进程号不相同。

2)K值不相同

     EIGRP计算开销有5个因素:带宽,延迟,负载,可靠性,MTU。用K1,K2,K3,K4,K5 分别代替这几个值。当K值不同时,计算开销的方式就不同了,就不能传递路由了,即不能建邻居(默认情况下K1 =K3=1,K2,K4,K5=0)

3)HELLO时间不同

      EIGRP的hello包更新时间为5秒,死亡时间为15秒,如果有一个进程的hello时间改成大于了5秒,在5秒内对方没有收到hello包就会认为没有邻居,此时也起不来邻居,但是过了改了的时间后又会给对方一个hello包,对方过5秒就回了hello包,此时邻居又会起来,所以hello时间不同时会出现邻居时而有时而又断了的情况。

 

初始路由发现

 (1)链路上路由器 A 启动后,通过其所在EIGRP 接口发送Hello 分组

(2)通过其个接口收到Hello分组后,路由器B用更新分组进行应答 ,更新分组中包含路由选择表中的全部路由

(3)两台路由彼此交换Hello分组后,邻接关系建立.路由器 A 用ACK 分组应答路由器 B

(4)路由器 A 将更新分组中的信息加入拓扑表中

(5)路由器 A 向路由器 B 发送一个更新分组

(6)收到更新分组后,路由器 B 向路由器A 发送一个ACK 分组

 

选择路由

      EIGRP 与其它路由选择协议的最大不同可能是其路由选择过程.EIGRP 选择主路由(后继路由)和备用路由(可行后继路由),并将它们加入拓扑表中.然后,将主路由(后继路由)加入到路由选择表中.EIGRP 支持多种类型的路由,包括内部.外部和汇总路由.

⦁内部路由:源于EIGRP 自治系统内部的路由

⦁外部路由:是从另一种路由选择协议或另一个EIGRP 自治系统获悉的路由

⦁汇总路由:是针对多个子网的路由

 

EIGRP 度量值的计算

      EIGRP使用度量值来确定到目的地的最佳路径。对于每一个子网,EIGRP拓扑表包含一条或者多条可能的路由。每条可能的路由都包含各种度量值:带宽,延迟等。EIGRP路由器根据度量值计算一个整数度量值,来选择前往目的地的最佳路由。   

当路由器选路的时候,计算出度量值最低的路径,也就是FD,来确定最佳路由。当路由失效的时候,使用RD来选择替代路由。

 

计算EIGRP 度量值时使用 5 个变量,但默认情况下,只使用其中的两个(带宽.延迟)

1)带宽:源和目的地之间的最小带宽

2)延迟:路径上接口的累计延迟

3)可靠性:源和目的地之间的最低可靠性,基于存活消息

4)负载:源和目的地之间链路上的最重负载,基于分组速率和接口的配置带宽

5)MTU:最大传输单元,路径上最小的MTU

 

EIGRP 度量值的计算公式=[ K1 * Bandwidth + (K2 * Bandwidth)/(256-Load) +K3*Delay ]*[K5/(Reliability + K4) ] *256

默认情况下,K1 = K3 = 1 ,K2 = K4 = K5 = 0 

 

Bandwidth =10^7/所经由链路中入口带宽(单位为Kbps)的最小值

Delay=所经由链路中入口的延迟之和(单位为μs)/10

也就是说默认情况下,计算公式=[10^7/Bandwidth+Delay]*256

 

EIGRP 路由选择表

EIGRP 根据 AD 和FD 来确定前往目的地的后继路由(最佳路由)和可行后继路由(备用路由).

路由器对其拓扑表中前往特定网络的所有路由的 FD 进行比较,并将 FD 最小的路由加入到路由选择表中,该路由为最佳路由 

 

 

EIGRP DUAL(有限状态机):

它跟踪所有邻居通告的所有路由,并根据度量值来选择前往目的地的无环路高效路径.

在获悉链路出现故障后,会将 10.1.1.0/24的度量值设置为不可达(-1表示不可达)

路由由被动状态变为主动状态,向邻接路由器发送查询,以寻找新的后继路由 

 

EIGRP 基本配置

R4(config)#router eigrp 1  (AS 号)

R4(config-router)#no auto-summary  (关闭自动汇总)

R4(config-router)#network 4.4.4.0 255.255.255.0 (宣告子网)

R4(config-router)#network 192.168.34.0(主类网络)

      EIGRP 协议在通告网段时,如果是主类网络(即标准A、B、C 类的网络,或者说没有划分子网的网络),只需输入此网络地址;如果是子网的话,则最好在网络号后面写子网掩码或者反掩码,这样可以避免将所有的子网都加入EIGRP 进程中。

      反掩码是用广播地址(255.255.255.255) 减去子网掩码所得到。如掩码地址是255.255.248.0,则反掩码地址是0.0.7.255。在高级的IOS 中也支持网络掩码的写法。运行EIGRP 的整个网络AS 号码必须一致,其范围为1-65535 之间。

 

EIGRP 默认路由

1)写一条默认路由,network到EIGRP进程

ip route 0.0.0.0 0.0.0.0 interface (接口必须是up而且要有address,或者是null0,也可以是lookback接口)

router eigrp AS

network 0.0.0.0

缺点:会在宣告的路由器上,将所有接口激活.包括你不想激活的接口

2)写一条默认路由,重分布静态到EIGRP进程

ip route 0.0.0.0 0.0.0.0 interface(接口必须是up而且要有address或者是null0)

router eirp AS

redistribute static   metric   10000 100 255 1 1500 默认路由出现的形式D*EX  ,AD=170

3)接口下手工汇总 ip summary-address eirp 90 0.0.0.0 0.0.0.0 ,在连接eigrp内部router的接口上汇总

0.0.0.0的默认路由会传递给接口连接的邻居(不在乎auto/no auto-summary/也不需要写静态)

缺点:具有方向性.具有抑制明细的特点。

4)ip default-network x.x.x.x(必须主类的网络)

并且这条路由要能出现在本地路由表和整个网络中(也就是说必须在eigrp路由模式下用network指令把这条路由宣告进去)

(不需要静态路由)因此需要作 auto-summary  或者手工汇总

如果你 no auto-summary,那么必须有一条静态路由来指出这是个主类的,并且以主类的方式传播进eigrp区域内

 

邻居的路由表里也必须是汇总路由,如果将学到路由当作传递的缺省网络.此时路由条目必须是主,(传递的要求是主类路由带有"D*")

EIGRP不会产生0.0.0.0的默生路由,而是借用带有D*的路由的下一跳做为缺省下一跳。RIP传递是一条0.0.0.0/0的默认路由。

 

在EIGRP中default-information 不是用来传递默认路由而是用来控制

default-information allow in 是默认在进程中开启,允许所有可传递的默认网络进入本路由器

default-information allow out 是默认在进程中开启,允许所有可传递的默认网络传递出本路由器

命令前加no跟out或者in.表示不允许进入默认路由或者传递默认路由,而不是no掉此命令

 

EIGRP 基础实验

查看命令:

1)查看路由表:show ip route            

                      

2)查看邻居:show ip eigrp neighbor

3)查看拓扑:show ip eigrp topology

4)查看接口的带宽和延迟:show int s0/0         

                 

5)查看运行的协议:show ip protocol

6)查看运行的接口:show ip eigrp interface 

          7)查看数据包统计:show ip eigrp traffic

8)动态查看邻居关系:debug eigrp neighbos       

           9)动态查看发送和接收包:debug eigrp packets

============

R1

enable

conf t

int lo0

ip add 1.1.1.1 255.255.255.0

int s0/0

ip add 192.168.12.1 255.255.255.0

no shut

exit

router eigrp 1

no auto-summary

network 1.1.1.0 0.0.0.255

network 192.168.12.0

===============

R2

enable

conf t

int s0/0

ip add 192.168.12.2 255.255.255.0

no shut

int s0/1

ip add 192.168.23.2 255.255.255.0

no shut

exit

router eigrp 1

no auto-summary

network 192.168.23.0

network 192.168.12.0

===============

R3

enable

conf t

int s0/1

ip add 192.168.23.3 255.255.255.0

no shut

int s0/0

ip add 192.168.34.3 255.255.255.0

no shut

exit

router eigrp 1

no auto-summary

network 192.168.23.0

network 192.168.34.0

============

R4

enable

conf t

int lo0

ip add 4.4.4.4 255.255.255.0

int s0/0

ip add 192.168.34.4 255.255.255.0

no shut

exit

router eigrp 1

no auto-summary

network 4.4.4.0 0.0.0.255

network 192.168.34.0

 


http://chatgpt.dhexx.cn/article/70NQaFKE.shtml

相关文章

CSMA协议

介质访问控制 CSMA协议 1-坚持CSMA 非坚持CSMA p-坚持CSMA 三种CSMA对比总结

3.4.2 CSMA/CD协议

为了解决各站点争用总线的问题&#xff0c;共享总线使用了一种专用协议CSMA/CD&#xff0c;它是载波监听多址接入/碰撞检测&#xff08;Carrier Sence Multiple Access Collision Detection&#xff09;的英文缩写。 假设站点C要发送帧&#xff0c;它首先进行载波监听&#xff…

关于CSMA/CA和CSMA/CD的区别

转载自&#xff1a;https://www.cnblogs.com/aixin0813/p/3289183.html 1.1 载波侦听多路访问 根据具体的监听/发送策略&#xff0c;可将CSMA分为&#xff1a; 非持续CSMA&#xff08;英语&#xff1a;non-persistent CSMA&#xff09; 当要发送帧的设备侦听到线路忙或发生冲…

计算机网络:随机访问介质访问控制之CSMA/CA协议

CSMA/CD协议已成功应用于使用有线连接的局域网&#xff0c;但在无线局域网环境下&#xff0c;却不能简单地搬用CSMA/CD协议&#xff0c;特别是碰撞检测部分。主要有两个原因: 1&#xff09;接收信号的强度往往会远小于发送信号的强度&#xff0c;且在无线介质上信号强度的动态…

CSMA/CD协议详解

一、协议背景 最早的以太网是总线网络&#xff0c;当一台计算机发送数据时&#xff0c;总线上所有计算机都能检测到这个数据(广 播通讯方式)。为了通讯的简便&#xff0c;传统总线型以太网采取了以下措施&#xff1a; 1.提供的服务为不可靠的交付&#xff1a; (1.采用较为灵活…

CSMA/CD

carrier sense multi-access/collision detect&#xff0c;载波监听多路访问/冲突检测 工作原理&#xff1a; 发送数据前进行载波监听判断信道是否空闲&#xff0c;若信道忙则等待一段随机时间&#xff1b;若信道空闲则立即发送数据&#xff0c;发送数据过程中同时检测是否产…

CSMA/CD和拥塞控制AIMD其实是一回事!

今天下班的班车上&#xff0c;撸论文&#xff0c;找到一篇关于CSMA/CD性能分析的&#xff0c;然而下载需要钱&#xff0c;作罢。我讨厌知识付费&#xff0c;因为我崇尚知识免费共享。 正好我上周末也写了一篇与此相关的&#xff1a; 谈谈CSMA/CD&#xff0c;TCP中的二进制指数…

CSMA/CD和CSMA/CA的区别(最全知识点总结)

在最后有总结&#xff0c;中间对CSMA/CD和CSMA/CA的描述也很详尽 一.CSMA/CD&#xff08;载波监听多点接入/碰撞检测&#xff09; 为什么要使用CSMA/CD&#xff1a; 因为总线上只要有数据&#xff0c;传输资源时就会被占用&#xff0c;又因为传统总线型以太网采用半双工的通讯…

CSMA/CA精辟总结

1. CSMA/CA https://blog.csdn.net/qq894040717/article/details/82426965 https://blog.csdn.net/LMM_5201/article/details/81673371 参考了以上链接的内容,然后进行了整理补充 CSMA/CA(Carrier Sense Multiple Access with Collision Avoidance)协议只能用于有明确目标地…

CSMA/CD协议

CSMA/CD协议 CSMA/CD&#xff08;Carrier Sense Multiple Access with Collision Detection&#xff09; CSMA/CD用于以太网中&#xff0c; 以太网是最常见的有线局域网&#xff0c;那么有哪些类型以太网使用呢&#xff1f; 经典以太网&#xff08;3~10Mbps&#xff09;&…

CSMA/CD-CSMA/CA

1.CSMA&#xff08;载波侦听多路访问协议&#xff09; CSMA 当其他节点检测到信道被占用时不发送数据。但是当数据发送完后其他节点同时检测到信道为空闲&#xff0c;之后又在同一时刻发送数据&#xff0c;可能再次产生冲突。 2.CSMA/CD&#xff08;带冲突检测的载波侦听多路访…

计算机网络:随机访问介质访问控制之CSMA协议

文章目录 CSMA协议1-坚持CSMA非坚持CSMAp-坚持CSMA比较 CSMA协议 时隙ALOHA系统的效率虽然是纯ALOHA系统的两倍&#xff0c;但每个站点都是随心所欲地发送数据的&#xff0c;即使其他站点正在发送也照发不误&#xff0c;因此发送碰撞的概率很大。 若每个站点在发送前都先侦听…

CSMA介绍

转载自&#xff1a; http://www.cnblogs.com/cherishui/p/4046360.html 以下是转载内容&#xff1a; 本文主要介绍通讯领域中CSMA相关机制&#xff0c;本文全部资料来自于网络。 网络通讯&#xff0c;必须依靠介质来传递数据&#xff0c;将数据调制到模拟信号上&#xff0c;…

计算机网络(十)CSMA详解

随机访问截止访问控制&#xff08;所有用户可随机发送信息&#xff0c;发送信息时占全部带宽&#xff09; 分类&#xff1a; CSMA:先听再说 CSMA/CD:先听再说&#xff0c;边听边说 CSMA/CA: CSMA协议&#xff08;载波监听多路访问协议&#xff09; CS&#xff1a;载波监听…

CSMA协议简述

CSMA协议 载波监听多路访问协议CSMA&#xff08;carrier sense multiple access&#xff09; CS&#xff1a;载波侦听/监听&#xff0c;每一个站在发送数据之前要检测一下总线上是否有其他计算机在发送数据。 当几个站同时在总线上发送数据时&#xff0c;总线上的信号电压摆动…

计算机网络:CSMA协议

载波监听多路访问协议CSMA协议 CS:载波监听/帧听&#xff0c;每一个站再发数据之前都要检测链路上是否有其他站在发送数据。&#xff08;检测电压摆动值&#xff0c;当几个站同时发送数据时&#xff0c;总线上的电压摆动值就会增大。&#xff09;MA&#xff1a;多点接入&#…

以太网 CSMA-CD与CSMA-CA的区别与工作方式

2.0.0 以太网 CSMA-CD与CSMA-CA的区别与工作方式 一、冲突域、冲突检测、冲突避免 独木桥上人可以来回走动&#xff0c;但如果两边都有人&#xff0c;如果没有人做出避让&#xff0c;注定是两败俱伤 冲突域概念 冲突域指的是两台及以上终端通信时会发送冲突的区域。 冲突域的…

Windows网络编程 c语言 报错:[Error] ‘bzero‘ was not declared in this scope

阅读前请看一下&#xff1a;我是一个热衷于记录的人&#xff0c;每次写博客会反复研读&#xff0c;尽量不断提升博客质量。文章设置为仅粉丝可见&#xff0c;是因为写博客确实花了不少精力。希望互相进步谢谢&#xff01;&#xff01; 文章目录 阅读前请看一下&#xff1a;我是…

C:bzero与memset

目录 1、bzero 2、memset 3、实例 1、bzero bzero函数声明如下&#xff1a; /* Set N bytes of S to 0. */ extern void bzero (void *__s, size_t __n) __THROW __nonnull ((1)); 意思在注释里也写的很清晰&#xff0c;设置s的前n个字节为0。 2、memset memset函数声…

解决No module named numpy问题

目录 前沿 解决 解决方法1&#xff1a; 方法2&#xff1a;&#xff08;强行安装更新更高的版本&#xff09; 前沿 最近开始学习python了&#xff0c;由于要简单处理一下图片&#xff0c;奈何能C力太差&#xff0c;openCV上手有点难&#xff0c;想学习一下py简单的处理一下图…