EIGRP理论详解及基础实验

2023-05-16

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

 

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

EIGRP理论详解及基础实验 的相关文章

随机推荐

  • 奇异递归模板模式(CRTP)应用--表达式模板(expression template) 2

    1 表达式模板 xff08 expression template xff09 概述 首先分几个部分介绍下expression template 1 1 表达式模板 xff08 expression template xff09 是什么 x
  • Codeforces Round #210 (Div. 2)

    本不想写 xff0c 毕竟就打了一个小时 xff08 训练题变成个人赛了T T xff09 xff0c 但是第一次水题4分钟搞定 xff0c 手速一点没涨 xff0c 纯粹就是脑子快 A Levko and Table 题意 xff1a 输
  • C++自动微分(Automatic differentiation)原理1

    0 缘由 下面介绍下为什么要引入自动 自动微分 automatic differentiation gt AD 一个优化问题的例子 假设现在我们在解决一个机器学习的问题 xff0c 有了一些训练样本 xff0c 现在需要寻找一个最优的函数
  • cython的使用

    0 环境配置 要使用cython首先得有的她的环境 废话 xff0c xff0c 系统上有pip包管理环境的话直接 xff1a pip install cython 即可安装cython或者也可以源码安装 https github com
  • linux 有效用户和实际用户的区别

    今天在看APUE xff0c 这两个问题很难理解 xff0c GOOGLE一下 xff0c 有篇文章总结的不错 xff0c 看了一下才明白透彻了 由于用户在UNIX下经常会遇到SUID SGID的概念 xff0c 而且SUID和SGID涉及
  • 使用 python Matplotlib 库绘图

    Matplotlib的安装 matplotlib 是python最著名的绘图库 xff0c 它提供了一整套和matlab相似的命令API xff0c 十分适合交互式地 进行制图 Matplotlib的安装可以参见 官网链接 http mat
  • 优酷路由器刷openwrt固件一

    1 下载openwrt源码 https git openwrt org p 61 openwrt openwrt git a 61 shortlog h 61 refs tags v18 06 2 2 解压 tar xvf openwrt
  • STM32F4--PWM控制LED忽明忽暗(呼吸灯)

    一 实验原理 分析 xff1a 时钟84Mhz 分频84 xff0c ARR设置500 xff0c 计数器得到的时钟84M 84 61 1 Mhz 计数一次时间为0 5ms 在主函数中 xff0c 我设置的修改时间是2ms一次 xff0c
  • CTreeCtrl的用法

    1 取得或设定项目的信息 BOOL CTreeCtrl GetItem TV ITEM pItem BOOL CTreeCtrl SetItem TV ITEM pItem BOOL CTreeCtrl SetItem HTREEITEM
  • Windows下C++连接MySQL

    步骤 xff1a 1 安装MySQL数据库 2 项目属性页 gt C C 43 43 gt 常规 gt 附加包含目录 xff1a xxx MySQL Server 5 6 include 3 项目属性页 gt 链接器 gt 常规 gt 附加
  • Samba共享Nextcloud目录

    Nextcloud是一款开源免费的私有云存储网盘 xff0c 它提供了网页版和各平台的客户端 xff0c 支持WebDAV协议 虽然WebDAV协议很方便在公网环境使用 xff0c 但我们在家时 xff0c 使用Samba协议去访问操作Ne
  • VS-RK3XXX ARM版本的ubuntu系统镜像文件官方下载

    RK3399的wiki中给出的编译内核和制作文件系统的方法完全正确 xff0c 只是写的不太详细 xff0c 应该把RK3288和RK3399的wiki结合起来看就没有问题了 这里我只是总结一下 xff0c 把需要注意到的地方再重复一遍而已
  • 计算几何凸包的算法 Andrew和Melkman算法

    先介绍下二者的时间复杂度 xff1a Andrew算法是葛立恒扫描法的变种 xff0c 但是更快 xff0c 时间O nlogn Melkman算法是采用双端队列 xff0c 时间O n 第一种是经典算法 xff0c 第二种则是在解决时间要
  • 遗传算法求解函数极值—MATLAB编程实现的详细解释

    主函数 main m clear all span class token punctuation span clc span class token punctuation span popsize span class token op
  • P2651 增加括号III(简单数学)

    include lt iostream gt include lt cstdio gt include lt string gt include lt algorithm gt include lt vector gt include lt
  • P1233 木棍加工(最长上升子序列)

    P1233 木棍加工 https www luogu com cn problem P1233 include lt iostream gt include lt cstdio gt include lt string gt include
  • Ubuntu 22.04重启后网络连接失败

    Ubuntu 22 04重启后 xff0c 远程登录时 xff0c 发现连接失败 xff0c 就使用ifconfig查看ip xff0c 结果发现没有网卡 xff0c 只有个lo 以为是网络设置没打开 xff0c 进入setting gt
  • BT4设置

    首先一定要让 BT4 联网 我们先来配置下网络 1 虚拟机的网卡编辑里面选择的是 NAT 2 自己的 windows 系统 本地连接 属性 高级 internet 连接共享 里面选择共享网络 然后进虚拟机 打开 BT4 的终端 输入 wic
  • 计算机网络协议(五)——DNS、HTTPDNS

    底层网络知识详解 xff1a DNS HTTPDNS 概述一 DNS协议 xff1a 网络世界的地址簿1 1 DNS解析流程1 2 负载均衡 二 HTTPDNS 概述 这个专栏的计算机网络协议 xff0c 我是在极客时间上学习 已经有三万多
  • EIGRP理论详解及基础实验

    EIGRP Enhanced Interior Gateway Routing Protocol 增强型内部网关路由协议 EIGRP 是一种Cisco专用协议 同时具备链路状态和距离矢量路由协议的优点 只发送变化后的信息 这类似于链路状态协