文章目录

  • 简介
  • EIGRP Metric的计算
  • 协议特点
  • eigrp3张表:
  • 邻居表
  • 路由表
  • 拓扑表
  • 路由控制
  • 导图


简介

EIGRP–增强内部网关协议–基于IP封装(跨层封装,不可靠)ACK 确认重传 收敛时间2s—前身IGRP
距离矢量型、100%无环、收敛速度最快(在中大型网络中)、支持多种被路由协议(ip、ipx、appletalk)、支持任意节点汇总、支持VLSM/CIDR、在广域网配置简单、支持非等开销负载均衡、支持加密认证;

EIGRP:Enhanced Interior Gateway Routing Protocol 即 增强内部网关路由协议。也翻译为 加强型内部网关路由协议。 EIGRP是Cisco公司的私有协议(2013年已经公有化)。 EIGRP结合了链路状态和距离矢量型路由选择协议的Cisco专用协议,采用弥散修正算法(DUAL)来实现快速收敛,可以不发送定期的路由更新信息以减少带宽的占用,支持Appletalk、IP、Novell和NetWare等多种网络层协议。

二层

IP

tcp

date

tyep类型(8080)

protocol

port(和上层连接的服务接入点)

关键机制
邻居发现恢复:发现、维持、恢复(eigrp会通过周期的发送hello包来建立邻居、维持邻居、恢复邻居) hello包更新时间5s,超时时间15s
建立邻居的原因:触发更新(凡触发更新协议都建立邻居)
RTP—可靠传输协议 (eigrp在发送消息时通过RTP机制来保证确认重传)

扩散机制:扩散拓扑和路由表
更新方式:
部分更新、只更新变更部分
触发更新 当网络改变时发送信息,当网络稳定时不发送信息
增量更新 只发送改变的信息
有界更新 只发送对其有影响的信息

PDM—协议相关模块 兼容不同网络层协议
EIGRP拓扑表包含:
AD:邻居到达目标网段的距离(通告距离)
FD:本路由器到达目标网段的距离(可行性距离)
AD<FD时才添加拓扑,然后添加路由表,此公式所判断路径不成环,且计算简单;一旦判断通过后,路由表记录的时优路由,拓扑表中保留–网络发生变化时收敛速度快

DUAL:扩散更新算法+(AD<FD)=EIGRP核心算法;备份路径条件 备份路径的邻居路由器为可行性后继者

EIGRP扩散更新算法的对象是确定的,即邻居
EIGRP如何形成邻居表:hello包、update包共同参与

hello包

update包

发现邻居,判断邻居形成的必要条件

判断成功后发update包,此update包不带路由、形成关系表后邻居正式放入邻居表中

消息数据报:
Hello 建立邻居、维持邻居、恢复邻居) hello包更新时间5s,超时时间15s
Update 发送路由更新
Query 查询包 当到达一个目标网段有最佳路径没有备用路径的时候,当最佳路径出现故障的时候,会向其他所有路径发送query进行该路由的查询; 收到此报文后会立即恢复确认包,然后进行查看是否有到达query请求的这条路由
Reply 应答包 没有就回复reply包 包中的带块宽0,延时无穷大(毒化路由)与query包成对出现
Ack 确认包
由以上可以看出,5种数据包中,Update、Query、Reply在对方收到后,都需要回复确认,这些数据包是可靠的,回复是发送Ack;而Hello和Ack,是不需要回复的,因此被认为不可靠。

恢复协议
EIGRP的Update包是非周期性发送的,
1.Hello包在一般的网络中(比如点到点,point-to-point)是每5秒组播1次(要随机减去1个很小的时间防止同步);
2.在多点(multipoint)X.25,帧中继(Frame Relay,FR)和ATM接口(比如ATM SVC)和ISDN PRI接口上,Hello包的发送间隔是60秒.
在所有的情况中,Hello包是不需要确认的.可以在接口配置模式下修改该接口的Hello包默认的发送间隔,命令为ip hello-interval eigrp 当一个路由器收到从邻居发来的Hello包的时候,这个Hello包包含了一个holdon time,这个holdown time告诉这个路由器等待后续Hello包的最大时间.如果在超出这个holdown time之前没有收到后续Hello包,那么这个邻居就会被宣告为不可达,并通知DUAL这个邻居已丢失.默认hold time是3倍于Hello包发送间隔的, 更高链路-- 默认Hello间隔和保持时间是5s和15s T1或低于T1链路-- 分别是60s和180s可以在接口配置模式下修改这个默认的holdown time,命令为
ip hold-time eigrp.
EIGRP邻居信息都记录在邻居表(neighbor table)中,使用show ip eigrpneighbors命令查看IP EIGRP的邻居

EIGRP Metric的计算

一般情况下,K5=0;EIGRP度量值的计算公式为:256*{K1(107/带宽)+K2(107/带宽)/(256-负载)+K3(延迟)}
由于默认情况下,K1和K3是1,其他的K值都是0.
所以通常情况下,度量值=256×(10^7/最小带宽+累积延时/10)
如果修改K值,使K5不等于0,则 Metric 计算式变成:256*[K1(107/带宽)+K2(107/带宽)/(256-负载)+K3(延迟)]* [K5 / (可靠性+K4)]
计算出的Metric值不是整数时自动取整,比如计算结果为8501.39 ,显示值将为8501。
通过配置权重(K值),可以修改EIGRP度量值计算方式。可以再EIGRP配置模式使用命令:Metric weightTosK1 K2 K3 K4 K5 来修改K值,Tos 只有一个有效值0,否则将被忽略。
EIGRP 要求两台路由器的K值必须相同才能成为邻居。另外,K2,K4,K5最好不要设置,因为这些参数设置为非零之后,会导致计算度量值时会考虑接口的负载和可靠性,而负载和可靠性会随时间变化,这将导致EIGRP重新泛洪拓扑数据,还可能导致路由器不断地选择不同的路由,由此导致网络不稳定。

四种产生缺省的方法有4种
1.汇总
2.重发布
3.network 宣告
4.定义默认网络 IP default-network ********* 手工汇总会自动产生放环得路由 null0

等开销负载均衡 在到达同一个目标有多条通路时 AD值 metric值相同 使用多条通路转发数据
非等开销AD值一样 metric不同 多条通路进行转发数据

eirgrp协议运行过程:
1.宣告
2.发送hello包,对方也将其hello包发送过来,然后进行比对–1.as号、2.key值、3.认证、4.网段
3.发现有效邻居
4.对邻居发送update包的特殊形态(init位置一),不携带任何路由数据
5.建立邻居关系–形成邻居表
6.hello包保活–维护邻居–周期5s–hold time 15s
8.update包携带路由信息–通过组播的形式发送给邻居–进行AD<FD判断

协议特点

1.快速收敛

EIGRP采用DUAL来实现快速收敛。运行EIGRP的路由器存储了邻居的路由表,因此能够快速适应网络中的变化。如果本地路由表中没有合适的路由且拓扑表中没有合适的备用路由,EIGRP将查询邻居以发现替代路由。查询将不断传播,直到找到替代路由或确定不存在替代路由

2.部分更新

EIGRP发送部分更新而不是定期更新,且仅在路由路径或者度量值发生变化时才发送。更新中只包含已变化的链路的信息,而不是整个路由表,可以减少带宽的占用。此外,还自动限制这些部分更新的传播,只将其传递给需要的路由器,因此EIGRP消耗的带宽比IGRP少很多。这种行为也不同于链路状态路由协议,后者将更新发送给区域内的所有路由器。

3.支持多种网络层协议

EIGRP使用协议相关模块来支持IPv4、IPv6、Apple Talk和IPX,以满足特定网络层需求。

4.使用多播和单播

EIGRP在路由器之间通信时使用多播和单播而不是广播,因此终端站不受路由更新和查询的影响。EIGRP使用的多播地址是224.0.0.10

5.支持变长子网掩码(VLSM)

EIGRP是一种无类路由协议,它将通告每个目标网络的子网掩码,支持不连续子网和VLSMv

6.无缝连接数据链路层协议和拓扑结构

EIGRP不要求对OSI参考模型的2层协议做特别的配置.不像OSPF,OSPF对不同的2层协议要做不同配置,比如以太网和帧中继,EIGRP能够有效的工作在LAN和WAN中,而且EIGRP保证网络及不会产生环路(loop-free);而且配置起来很简单;支持VLSM;它使用组播和单播,不使用广播,这样做节约了带宽;它使用和IGRP一样的度量值算法,但是EIGRP度量值是32位的;它可以做非等价的路径的负载平衡.

7.配置简单

使用EIGRP协议组建网络,路由器配置非常简单,它没有复杂的区域设置,也无需针对不同网络接口类型实施不同的配置方法。使用EIGRP协议只需使用router eigrp命令在路由器上启动EIGRP路由进程,然后再使用network命令使能网络范围内的接口即可。

eigrp3张表:

邻居表

show ip eigrp neighbor   ///存放的是所有和自己建立eigrp邻居的信息

H

Addreess

interface

hold(sec)

uptime

SRTT(ms)

ROT

Q

SEQ

建立邻居的顺序

地址(别人的)

接口(自己的)

保持时间(15s)

开启时间(邻居建立了多长时间)

平均往返时间(接口向外发出一个需要ACK 确认的报文,到接受确认的平均时间)实际统计值

重传超时间隔/单播重传超时间隔;组播流计时器;当eigrp在进行更新的时候经过了一个组播流计时器都没有收到对方的ACK报文 开始进行重传(单播方式重传)16次 计算值

队列统计 恒有数字代表邻居建立有问题

序列号

路由表

P 被动,路由收敛状态(可以使用的)
A 路由正在收敛
U 发送update过程 等待ack的过程
Q Query
R Reply
r 等待reply的过程
s 卡在活动状态

拓扑表

拓扑表包括以下内容:
目标网络的FD.
所有的FD.
每一个FS所宣告的到达目标网络的距离.
本地路由器计算出的,经过每个FS到达目标网络的距离,即基于FS所宣告到达目标网络的距离和本地路由器到达那个FS的链路的cost.
发现FS的网络相连的接口.

路由控制

卡在活动状态:会导致一个正常的邻居关系断掉—为了避免这种情况当发送查询包时,邻居会立即回复SIA-reply(没有查询结果)
SIA(卡在活动状态)增强:活动计时器3分钟在发送query后三分钟都没有收到reply down掉 等不到时1.5分钟(怎么确定等不到?)发送SIA-R 不会影响邻居关系的建立(卡在活动状态的查询)
限制查询报文发送–末节路由器 末节路由器没有必要询问 在边界路由器上设置为末节路由器,当设置为末节路由器后会其他重新连接并告诉自己时末节路由器 默认只会不自己的直连路由器和汇总路由传送,其他路由一概不传

stub route 末节路由器–当一个设备为stub route时上游/邻居不会向其发查询—凡是Stub 路由器,都只会把自己的直连路由和汇总路由发送给其他路由,在非默认情况下可以手动调整,还有只接受形态–一般情况下没必要。

eg:

eigrp可以宣告静态

实例:

OSPF协议使用哪种状态标识邻居关系已经建立_EIGRP

r1:0/0:10.1.12.1     0/1:10.1.13.1      lo0:10.1.1.1
r2: 0/0: 10.1.12.2       0/1:  10.1.23.2     1:0: 100.1.1.1        lo0:10.2.2.2.2   lo100:100.1.1.1
r3: 0/0: 10.1.13.3       0/1:10.1.23.3    0/2:   10.1.123.3      lo0:10.3.3.3
r4: 1/0:200.1.1.1      lo0:10.4.4.4   lo100:200.1.1.1
sw1: 0/0: 10.1.123.1     lo0:10.11.11.11
sw2: 0/0:10.1.123.2      lo0:10.22.22.22

配地址
在r2和r4的接口上借用环回的地址:
R2:
inter s1/0
ip address unnumbered lo100  ///在r2的接口上借用环回100的地址  可以让该链路两端不再同一网段
R4:
inter s1/0
ip address unnumbered lo100  ///在r4的接口上借用环回100的地址  可以让该链路两端不再同一网段

交换机上配地址:
vlan 10
inter  e0/0
switchport access vlan10   ///把vlan10划在0/0口
inter vlan 10 
ip address 10.1.123.1 255.255.255.0 /// sw2类似
no shutdown
///
R1:
router eigrp 1
no auto-
eigrp router-id 10.1.1.1
network  10.1.1.1 0.0.0.0    /// 不带反掩码主类宣告;带反掩码精确宣告
network   10.1.12.0 0.0.0.0   
network   10.1.13.0 0.0.0.0       ///其余类似

show ip route    ///查看路由
show ip eigrp neighbor ///查看邻居表
int e0/1    
delay 2     ///修改时延,可以将
/非等价负载均衡,只要拓扑结构里有两条或者两条以上的路径,可以通过修改倍数值,在路由表中体现
router eigrp 1     ///原理:之啊哟目标地址有符合AD<FD的次优路径,可以通过FD*variance>次优的FD就可以实现非等价负载均衡
variance 2

在广域网中,eigrp是忽略比对接口是否在同一网段
///
末节路由器
router eigrp 1   
eigrp stub     /eigrp的末节路由器,邻居关系会重建;直接回车是只会通告直连和汇总 + ?还有很多选项

ip route 8.8.8.8 255.255.255.0 lo0
network 8.8.8.8 0.0.0.0
eigrp stub static     ///eigrp可以宣告静态
show IP route  b
s ***********

route-map k permit 10
matct ip address 1
exit
access-list 1 permint 8.8.8.8  0.0.0.0 ///捕获不到本地,只能捕获非本地

router eigrp 1
eigrp stub lesk-map k   

//
汇总

network 10.0.1.1 255.255.255.0
network 10.0.1.1 255.255.255.0
network 10.0.1.1 255.255.255.0
inter vlan 10
IP summary-address eigrp 1 10.0.0.0 255.255.252.0
null 0 ///防环,怕没有的网段被放在其中


默认路由:
1.汇总
int s1/0 
ip summary-address eigrp 1 0.0.0.0 0.0.0.0   ///本地汇总路由管理距离是5
2.重发布
ip route 0.0.0.0 0.0.0.0 lo9
router eigrp 1    
redistribute static metric  10000 100 1 255 1500  ///精确宣告,D*EX 属于外部路由管理距离170,eigrp有两种管理距离,作用是防环;

3.network 宣告
network 0.0.0.0 0.0.0.0   ///与重发布不同 D  代表内部
4.定义默认网络 ` IP default-network *********`

认证--只能在接口下做
int s1/0
ip authentication mode eigrp 1 md5
ip authentication key-chain eigrop 1 k 
exit
key-chain k
key-string cisco
 
 key chain l   ///对端接口
 key-string cisco ///调用
 exit
 int 1/0
 ip authentication key-chain l eigrp 1 k
 ip authentication  mode eigrp 1 md5
 
强力认证:
router eigrp k
inter s1/0
authentication mode hmac-sha-256 7 cisco  ///强力认证。】,可以防 ip snnooping'攻击

导图

OSPF协议使用哪种状态标识邻居关系已经建立_路由表_02