文章目录
- 简介
- 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可以宣告静态
实例:
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'攻击
导图