目录

1.前言

2.术语

3.EIGRP的功能:

4.EIGRP相关知识点

5.配置命令

6.实验拓扑图​

7.实验目的

8.实验配置

9.配置验证



1.前言

EIGRP (Enhanced Interior Gateway Routing Protocol ,增强内部网关路由选择协议)是一个思科的专用协议,它只运行在思科路由器上。由于 EIGRP 是目前最为流行的两个路由选择协议中的一个。

增强的 IGRP (EIGRP) 是一个无类、增强的距离矢量路由选择协议,EIGRP 在它的路由更新中包含了子网掩码,因为它被认为是无类的协议。协议中也使用了自治系统的概念来描述相邻路由器的集合,处于自治系统中的路由器使用相同的路由选择协议并共享相同的路由选择信息。

2.术语

(1)可行距离(FD):在所有通往远程网络的路径中,这是一个具有最优评价的度量,在这一取值中包含了到达通告该远程网络的邻居的度量。这个具有最低 FD 的路由被认为是最佳路由,也只有它会出现在路由选择表中。可行距离度量值是由邻居报告的度量值(称为被报告或被通告距离)加上到报告此路由邻居的度量值构成的。

(2)被报告/被通告距离 (AD):这是一个由邻居报告的到达远程网络的度量。它也是这个邻居路由选择表中的度量,并且也与拓扑表的圆括号中的第二个数值相同,而第一个数值将是可行距离。

(3)邻居表:路由器都将保存有邻接邻居的状态信息。当知道又发现了一个新邻居时,该邻居的地址和接口信息将被记录下来,这些信息就保存在邻居表中,而邻居表是存储在 RAM 中的。对于每个协议独立模块都有一个邻居表。序列号是用于标识数据包更新的。为了可以识别错序的数据包,需要将最后接收到的序列号记录下来。要建立邻居关系,必须满足 3个条件:

a.接收到 Hello 包(链路状态协议都会选用 Hello 消息来建立邻居关系(这也被称为邻接),由于在正常工作时它们不会定时发送路由更新数据,因此EIGRP 路由器必须持续地从它们邻居那里接收Hello 消息。)

b.实现 AS 号的匹配(分处于不同自治系统 (AS) 中的 EIGRP 路由器,不会自动共享路由选择信息,并且,它们也不会成为邻居

c.相同的度量 (K 值)。一般取值K1=1,K2=0,K3=1,K4=0,K5=0,调整K值命令:

router eigrp 100
metric weights 0 1 1 1 0 0 度量 K 值不一致时,EIGRP 邻居无法建立。

(4)拓扑表:拓扑表是由协议相关模块根据弥散更新算法 (DUAL) 生成的。它包含所有由邻近的路由器通告的目标信息,以及每个被记录的目标地址和通告这些目标的邻居列表。对于每个邻居,来自邻居的路由表的通告度量(距离)也像 FD 一样被记录在这里。由邻居所通告的目标,一定也是该邻居用于转发数据包的路由。

(5)可行的继任者: 可行的继任者也是一条路径,只是它所通告的距离要比可行距离差一点,因此它被认为是一条备份路由。 EIGRP 在拓扑表中可以保持多至 16 个可行的继任者。但只有度量为最佳的路由(继任者)才会被复制并放入路由选择表中。命令 show ip eigrp topology将给出路由器已知的所有 EIGRP 可行的继任者路由。

(6)继任者:继任者路由(可以将它想象为成功者! )是指到达远端网络的最佳路由。继任者路由是 EIGRP 用于转发业务量的路由,它保存在路由选择表中。并且由保存在拓扑表中的可行的继任者进行备份,一旦需要时可以立即使用这个备份。

*Successor:后继者(去往目标网络的最优路径、最优路由器) FS:可行性后继者(备份的)

*Metric值看FD(可行性距离)和AD(通告距离)
*FD:就是自己到目标网络的最优Metric值
*AD:邻居去往目标网络的Metric值 AD值必须小于最优的FD值才能进入拓扑表FS备份路由

*当FD相等时实现负载均衡

3.EIGRP的功能:

(1)通过协议相关模块支持IP和IPv6 (以及一些应用不广泛的其他被路由协议);

(2)被认为是无类的(与 RIPv2 OSPF 一样);

(3)支持VLSM/CIDR;

(4)支持汇总和不连续网络

(5)高效的邻居发现;

(6)基于可靠传输协议 (RTP) 的通信:

(7)基于弥散更新算法 (DUAL) 的最佳路径选择。

4.EIGRP相关知识点

(1)EIGRP 路由的管理距离 (AD) 是 90,协议ID为88

(2)EIGRP 发现了一个新的邻居,并且与它通过交换 Hello 数据包而建立起了邻居关系时, EIGRP 才需要通报它整个的路由表信息。当这一状况出现时,两个邻居会将自己完整的路由表通告给对方。 在它们了解了邻居的路由之后,将只对路由表变化的部分进行传播。 EIGRP 路由器接收到邻居的更新时,会将数据保存在一个本地的拓扑表中。这张表包含了从所有已知的邻居处所了解到的所有路由,它们将作为选择最佳路由的原始素材,而只有最终被选择出来的最佳路由才会被放入路由选择表中

(3)EIGRP 使用专用的 RTP ( Reliable Transport protocol ,可靠传输协议)来管理路由器间的消息传输。EIGRP 发送组播数据时,它使用类的 224.0.0.10 地址,如前面讲过的,每个 EIGRP 路由器都会注意到它的邻居是谁,对于每一个要发送的组播,它都会维护一个应答邻居的列表。如果 EIGRP 没有收到某个邻居发出的应答,那么它将尝试切换到单播来重发同样的数据。如果在尝试发送了16次单播数据后,仍然没有得到应答,则宣告此邻居消失。人们通常将这个过程称为可靠的组播。

(4)EIGRP快速会聚的关键有两点:首先, EIGRP 路由器维持一个所有邻居的路由副本,使用这个副本它们可以计算出自己到达远程网络的开销,如果最佳的路径不可用了,它只需简单地测试拓扑表中的内容,并从中选择出最佳的可替代路由;其次,当它本地的拓扑表中也没有可替代的路由时, EIGRP 路由器会很快向邻居求助,它 们不害怕寻求指导!对其他路由器的依赖和对它们所提供信息的利用,就是 DUAL的"弥散"特性。

(5)EIGRP 使用自治系统号来区别可共享路由信息的路由器集合。路由信息只可以在拥有相同自治系统号的路由器间共享。每个 AS 由一系列相邻的路由器所组成, 路由信息通过再发布可以在不同的 AS 中进行共享。

(6)Metric由bandwidth、delay、Reliability(可靠)、Loading(负载)、MTU决定,但默认情况下, EIGRP 只使用带宽和线路的延迟总和来判定到达远程网络的最佳路径。
Metric = bandwidth(slowest link) + delay(sum of delays)
bandwidth = 10(7)K/最小带宽
delay = sum of delay / 10us
都是以出接口为准

(7)EIGRP 可以最多支持到4条链路的等代价的负载均衡 (RIP 也可以做到)。然而,通过使用下列命令,可以使 EIGRP 实际用于实现负载均衡的链路(平衡或不平衡的)数量达到 16:

Rl(config)#router eigrp 10
Rl(config-router)#maximum-paths ?
<1-16> Number of paths 

此外, EIGRP 默认的最大跳计数值为 100 ,但它可以被设置到 255 。通常不需要修改这个值,但 是如果需要,可以这样做:

Rl(config)#router eigrp 10
Rl(config-router)#metric maximum-hops ?
<1-255> Hop count 

(8)下面来看一个在路由器上启用 EIGRP 的示例,所使用的自治系统号为 20 ,这个路由器连接两个 网络 10 .3.1. 0/24 172.16.10.0/24:

Router#config t
Router(config)#router eigrp 20      AS必须一致,否则无法形成邻居
Router(config-router)#network 172.16.0.0
Router(config-router)#network 10.0.0.0

记住,与使用 RIP 相同,这里使用的是有类的网络地址

(9)不允许在接口上建立eigrp邻接关系方法如下:

a.在指定的接口上停止 EIGRP 的运行,例如,一个 FastEthernet 接口或者是一个连接到因特网的串行接口。要完成这一操作,需要使用 passive-interface interface 命令,将此接口标记为被动。下面的命令就给出了如何将接口 serial0/1 标记 为被动接口:

Router(config)#router eigrp 20
Router(config-router)#passive-interface serial 0/1

完成这个配置将会禁止此接口发送或接收 Hello 数据包,这样做的结果,将会阻止形成邻居关系。 这就意味着在这个接口上不能再发送或接收路由信息了。

b.不在该接口上启用EIGRP,并使用路由重分发(和配置命令redistribute connected)通告直连路由。

(10)修改带宽和延迟

Corp#config t
Corp(conf;g)#int 50/0/1
Corp(conf;g-if)#bandwidth 256
Corp(conf;g-;f)#delay 300000

由于默认情况下, EIGRP使用线路的带宽和延迟来判断到达每个网络的最佳路径,

(11)Eigrp包:
·Hello:发现邻居
·Update:发送路由更新
·Query:向邻居查询路由信息
·Reply:回应路由信息
·ACK:可靠确认信息
Hello包和ACK包不需要确认,交换拓扑数据使用的是Update和ACK包

(12)由passive状态 变为active状态,将进行DUAL算法,触发Query包和Reply

(13)EIGRP认证采用的是MD5的认证方式,只支持暗文加密,认证步骤:

1) 配置密钥
key chain R1chain 创建一个身份验证密钥链,并指定名称,邻接路由器使用的密钥名称可以不同
key 1 创建密钥号,邻接路由器使用的密钥号必须相同
key-string firstkey 指定身份验证密钥的值,邻居路由器的密钥字符串必须相同
key 2
key-string secindkey
拥有多把钥匙key1、key2...
2) 启用密钥并配置密钥
inter f0/0
ip authentication mode eigrp 100 md5 启用MD5身份验证
ip authentication key-chain eigrp 100 R1chain 在接口上使用密钥链

key1 与另外一台路由器的key2密钥一样,那么能通信吗???
实验证明当key1和另外一台的key2一样时不能通信,要两台的key1和key1都一样时才能通信,然后当两台路由器的key-chain 不一样,但key1和key1相同时还是可以通信的。密钥一般匹配第一个!!!

密钥使用时间:
1)发送EIGRP消息时,使用当前有效的密钥中编号最小的密钥
2)接收EIGRP消息时,使用当前有效的所有密钥来检查MD5摘要

身份验证是否发生作用,用show ip eigrp neighbors 核实邻居是否处于活动状态,,若处于活动状态,则使用以下两个命令:
1)show key chain 将列出密钥配置以及当前有效密钥
2)debug eigrp packet 显示一条消息,指出邻接路由器未能通过身份验证的原因

排除EIGRP身份验证故障时:
1)在两台路由器上检查配置和当前时间(show clock)
2)两台路由器使用的密钥链名称可以不同
3)两个潜在邻居使用的密钥号和密钥字符串都必须相同
4)使用命令show key chain 检查哪些密钥当前有效
5)在接口上必须配置接口命令ip authentication mode eigrp as md5 和 ip authentication key-chain eigrp as name-of-chain,否则将无法通过身份验证

(14)eigrp邻居起不来情况:
·AS号不一致
·K值不一致
·密码不一致
·当路由表中没有去往目的地的路径时,会采用DUAL算法来计算,此时若发了15次Query包都未得到响应,所以邻居断掉

(15)解决流量暴增方式( DUAL中无限制流量传输问题):
1) 汇总

interface f0/0
ip summary-address eigrp 10.1.2.0 255.255.254.0

2) 定义stub末梢区域 eigrp stub connected/summary/static/receive-only,末节路由器不将其从EIGRP邻居那里获悉的路由通告给其他EIGRP邻居,非末节路由器发现EIGRP邻居为末节路由器后,便不会将查询消息发送给它们。

(16)将保持定时器的值设置成小于Hello定时器的值,这样邻接关系将不断地中断和恢复,导致相应的路由不断进出路由表,

修改Hello定时器和保持定时器命令:

interface f0/0
ip hello-interval eigrp 9 2      其中9为AS号,2为时间2s
ip hold-time eigrp 9 6           其中9为AS号,6为时间6s

(17)不允许在该接口上建立EIGRP邻接关系的两种主要配置方法:
1) 使用EIGRP命令network在接口上启用EIGRP,但使用命令passive-interface将该接口设置为被动的,这样路由器便不会通过该接口发送任何EIGRP消息
2) 不在该接口上启用EIGRP,并使用路由重分发通告直连路由

(18)show ip eigrp topology 只列出后继路由和可行后继路由,而show ip eigrp topology all-links 显示所有的,即可行、不可行都会显示

(19)EIGRP支持路由过滤,使用路由器子命令distribute-list实现。即分发列表指定一个访问控制列表(ACL)、前缀列表或路由映射表,用于判断允许还是禁止在EIGRP更新中发送/接收路由。distribute-list还指定了方向-出站更新还是入站更新。还可指定在哪个接口上过滤更新
1) 使用ACL进行过滤

access-list 2 deny 10.17.32.0 0.0.31.255
access-list 2 permit any
router eigrp 1
distribute-list 2 out

2) 使用IP前缀列表进行过滤

ip prefix-list list-name [seq seq-value] {deny | permit prefix/prefix-length}[ge ge-value] [le le-value]
如 ip prefix-list fred deny 10.0.0.0/8与路由10.0.0.0/8匹配
如 ip prefix-list fred deny 10.0.0.0/8与路由10.0.0.0/20匹配,但与10.0.0.0/8不匹配。因为前缀长度必须为20、21或22
过滤:ip prefix-list fred seq 5 deny 10.17.35.0/24 ge 25 le 25
ip prefix-list fred seq 10 deny 10.17.36.0/24 ge 26 le 26
ip prefix-list fred seq 15 deny 0.0.0.0/0 ge 30 le 30

3) 使用路由映射表进行过滤

router eigrp 1
distribute-list route-map filter-man-slash30 outroute-map filter-man-slash30 deny 8
match ip address prefux-list fredroute-map filter-man-slash30 deny 15
match ip address prefux-list slash30

5.配置命令

(1)Router(config)#router eigrp 20    启动一个 EIGRP 会话,AS号为20

(2)Router(config-router)#network 172.16.0.0  0.0.0.255  宣告起EIGRP协议的网段

(3)Router(config-router)#passive-interface serial 0/1   这个配置将会禁止此接口发送或接收 Hello 数据包,这样做的结果,将会阻止形成邻居关系

6.实验拓扑图

7.实验目的

1. 网络拓扑如上图所示。 PC1 使用模拟器模拟, R3 下联的网段使用 Loopback 接口来模拟,一共开设三个 Loopback 接口,用于模拟 R3 下联的三个网段;
2. R1、 R2 及 R3 运行 EIGRP 协议,保证全网可达;
3. 在 R3 上对其下属的 Loopback 直连路由进行手工汇总,使得 R1、 R2 学习到一条汇总路由

8.实验配置

(1)R1 的IP地址配置如下:

Router> enable
Router# configure terminal
Router(config)# hostname R1
R1(config)# interface serial0/0
R1(config-if)# ip address 192.168.12.1 255.255.255.0
R1(config-if)# no shutdown
R1(config-if)# interface FastEthernet1/0
R1(config-if)# ip address 172.16.1.254 255.255.255.0
R1(config-if)# no shutdown

(2)R2 的IP地址配置如下:

Router>configure terminal
Router(config)# hostname R2
R2(config)# interface serial0/0
R2(config-if)# clock rate 64000
R2(config-if)# ip address 192.168.12.2 255.255.255.0
R2(config-if)# no shutdown
R2(config-if)# interface serial0/1
R2(config-if)# clock rate 64000
R2(config-if)# ip address 192.168.23.2 255.255.255.0
R2(config-if)# no shutdown

(3)R3 的IP地址配置如下:

Router>configure terminal
Router(config)# hostname R3
R3(config)# interface serial0/0
R3(config-if)# ip address 192.168.23.3 255.255.255.0
R3(config-if)# no shutdown
R3(config)# interface loopback1
R3(config-if)# ip address 172.16.32.1 255.255.255.0
R3(config-if)# interface loopback2
R3(config-if)# ip address 172.16.33.1 255.255.255.0
R3(config-if)# interface loopback3
R3(config-if)# ip address 172.16.34.1 255.255.255.0

(4)PC1 的IP地址配置如下:

Router> enable
Router# configure terminal
Router(config)# hostname PC1
PC1(config)# no ip routing
PC1(config)# ip default-gateway 172.16.1.254
PC1(config)# interface fastethernet 0/0
PC1(config-if)# ip address 172.16.1.1 255.255.255.0
PC1(config-if)# no shutdown

注:完成上述配置后,先用ping命令将直连网段ping通,再进行后续的配置

(5)R1 上EIGRP协议的配置如下:

R1(config)# router eigrp 100
R1(config-router)# network 192.168.12.0 0.0.0.255
R1(config-router)# network 172.16.1.0 0.0.0.255

(6)R2 上EIGRP协议的配置如下:

R2 的配置如下:
R2(config)# router eigrp 100
R2(config-router)# network 192.168.12.0 0.0.0.255
R2(config-router)# network 192.168.23.0 0.0.0.255

(7)R3 上EIGRP协议的配置如下:

R3(config)# router eigrp 100
R3(config-router)# network 192.168.23.0 0.0.0.255
R3(config-router)# network 172.16.0.0 0.0.255.255
!!方便起见,用一条命令在所有环回接口上激活 EIGRP

9.配置验证

(1)R2#show ip eigrp neighbors  检测邻居表

上面就是 R2 的 EIGRP 邻居表,可以看到 R2 已经与 R1 及 R3 建立了 EIGRP 邻居关系。

(2)用PC1 ping 172.16.32.1,会发现ping不通

原因:EIGRP 也有自动汇总机制,因此 R1 及 R3 都会将本地的 172.16 的子网汇总成 B 类的 172.16.0.0/16 的汇总路由公告出去。

查看 R1 的路由表:R1#show ip route

R1 已经学习到了 192.168.23.0,但是有一条奇怪的路由 172.16.0.0/16 指向的是 null0。这条路由是 R1 自动产生的, EIGRP 在路由汇总后, 会在本地路由表里自动产生一条指向 Null0 的汇总路由,这是为了防环。

R2#show ip route

看到 R2 的路由表中,仅有一条汇总路由,学习自 R1。但是为什么没有从 R3 学习到汇总路由呢?实际上 R2 已经学习到了,但是由于从 R3 那学到的 172.16.0.0/16 的路由度量值更大,因此没有被优选,从 R2 的 EIGRP 拓扑数据库里能够看到从 R3 学习到的汇总路由:

R2#show ip eigrp topology

由于 R3 下挂的 172.16 的那些子网是来自 Loopback 接口的,而 R1 下挂的子网是来自快速以太网接口的,因此 R3 产生的汇总路由度量值要大于 R1 产生的那条,故 R2 优选来自 R1的路由。而 R3 的那条就成了可行后继。

解决方案:三台路由器上都关闭 EIGRP 自动汇总

R1 、R2、R3的配置命令都如下:

R(config)# router eigrp 100
R(config-router)# no auto-summary

在关闭了自动汇总后,R1 下联的 172.16.1.0/24 子网及 R3 底下的 Loopback 明细路由就能过来了,网络通信也就正常了

再次查看R2#show ip route

此时再次用PC1 ping 172.16.32.1 发现可以ping通了

EIGRP协议(NA、NP知识点)相关推荐

  1. CCNA配置试验之三 EIGRP协议的配置

    EIGRP协议概述 EIGRP是最典型的平衡混合路由选择协议,它融合了距离 矢量和链路状态两种路由选择协议的优点,使用闪速更新 算法,能最快的达到网络收敛(convergence) EIGRP特点如下 ...

  2. 实验十 配置EIGRP协议

    实验十 配置EIGRP协议 实验目的:1.了解混合路由选择协议的工作原理,使用的度量值, 2.了解EIGRP协议的优点,掌握eigrp路由协议的配置方法. 实验设备:三台cisco路由器,三台pc,三 ...

  3. 网工路由基础(4)EIGRP协议

      EIGRP的五种报文   Hello:建立与维护邻居关系,hello数据包以组播方式发送,影响EIGRP邻居建立的点:AS不一致.K值不一致.认证不通过 Update:传递路由信息(使用seq和a ...

  4. EIGRP协议工作过程与配置详解

    EIGRP:增强内部网关路由协议-是Cisco的私有路由协议 100%无环 收敛速度最快的协议(网络发生变动时 拓扑表中存在路径会更新路由表重新回复网络)(在中大型网络中) 支持多种被路由协议(ip. ...

  5. 思科新版ccnp中教你如何EIGRP协议DUAL弥散更新算法简述

    思科新版ccnp中教你如何EIGRP协议DUAL弥散更新算法简述弥散更新算法 (Diffusing Update Algorithm),或者称之为扩散更新算法,EIGRP组件之一,为EIGRP提供最佳 ...

  6. 网络篇 EIGRP协议-27

    目录 一.EIGRP的基本概述 二.EIGRP的特点 三.EIGRP的四种重要技术 四.EIGRP的相关术语 五.EIGRP的三张表 1.路由表 2.邻居表 3.拓扑表 六.EIGRP的五个分组 1. ...

  7. IE-LAB网络实验室: CCIE培训中心 HCIE认证培训 HCNA培训 CCNP培训机构 Cisco EIGRP协议简单总结

    EIGRP:Enhanced Interior Gateway Routing Protocol 即 增强内部网关路由协议.也翻译为 加强型内部网关路由协议. EIGRP是Cisco公司的私有协议(2 ...

  8. 网络协议必会知识点:互联网网络分层

    文章出自 |<趣谈网络协议> 长时间从事计算机网络相关的工作,我发现,计算机网络有一个显著的特点,就是这是一个不仅需要背诵,而且特别需要将原理烂熟于胸的学科.很多问题看起来懂了,但是就怕往 ...

  9. EIGRP协议邻居详解及故障实战分析

    大家好,我是达叔. 说说EIGRP: EIGRP是cisco公司开发的一个动态路由协议: 可以使用多种参数来度量网络可达性信息(路由),带宽.延迟.可靠性.负载.MTU,因此被称为高级距离矢量型动态路 ...

最新文章

  1. mysql命令的分类_MySQL常用命令分类汇总
  2. 数据结构与算法 / 二叉搜索树(Binary Search Tree)
  3. android auto错位,recyclerview 的item布局错乱
  4. 企业应用的Ant模组编译环境
  5. 图片传输_一幅图片的奇妙旅行,网络传输分层通信协议原理揭秘
  6. Ubuntu 16.04粘贴板增强工具Diodon
  7. AntTweakBar with OpenGL
  8. 分享 | 绝对值得一看的深度学习三巨头之一的Yoshua Bengio清华大学讲座视频
  9. C++ 前置操作符与后置操作符
  10. java实现删除本地文件夹
  11. 重置IBM刀片服务器的管理模块
  12. Servlet常用依赖
  13. VLD(Visual LeakDetector)内存泄露库的使用
  14. php获取客户端IP和服务器端IP
  15. 电子病历基本数据集_电子病历质控的三项是因素-病历质控系统助力提升电子病历质量...
  16. 二维数组与数组指针详解
  17. 网络托管巨头百万数据外泄、超900万安卓设备感染木马|11月24日全球网络安全热点
  18. 网易互娱2017实习生招聘在线笔试(二)
  19. 微信公众号三方平台开发【pre_auth_code篇】
  20. python手机号码标记_python 判断号码是否可用(号码过滤)

热门文章

  1. IBM Power小型机用液晶面板屏查看或设置HMC
  2. StarRocks 运维工具 StarGo
  3. linux12企业实战 -- 37zabbix企业微信通知配置
  4. RemoteViews完全解析
  5. C#合并单元格,AddMergedRegion
  6. 前端复习之JavaScript(ECMAScript5)
  7. hosts文件修改后域名无法访问
  8. 2014ACM亚洲区域北京邀请赛总结
  9. # Python+SQLite## 医院住院信息管理软件
  10. vue脚手架的作用是什么?