EIGRP 增强型内部网关路由协议
适用范围:IGP(在一个AS之内运行)
是否携带网络掩码:携带,无类别
算法:杂合型,DUAL——扩散更新算法(分布式计算)
封装:基于IP封装(跨层封装),协议号88
IP封装是不可靠的,EIGRP本身具有重传确认特点
EIGRP的特性:
- EIGRP是高级的距离矢量型路由协议(没有距离矢量的缺点,具有链路状态的优点)
- 收敛快(一般是2S之内)
收敛:从运行路由开始到学习到路由的时间 - 更新方式:触发,增量,有界
触发更新:与周期性对应,当网络结构发生变化才会发生发送更新,网络稳定不发送。
增量更新:一般距离矢量基于路由表更新,增量更新只发生改变信息的路由条目信息(增加,删除,修改的都算)
有界更新:判断对对方有没有影响,如果没有则不发送。 - 支持多种网络层协议,支持IPV4 IPV6 IPX等
PDM协议相关模块 - 更新地址:组播更新和单播更新 224.0.0.10
判断接口是点对点连接,采用单播更新,如果是MA网络,采用组播更新 - 支持手工汇总,支持CIDR 和VLSM
除了RIPV2不支持CIDR,其余的路由协议两者都支持 - 支持等开销和非等开销负载均衡
等开销:AD,metric一致,数据包轮循发送
非等开销:AD一致,metric不一致,可以用metric大的发,也可以用metric小的传递数据,这也是EIGRP特有的,这是因为EIGRP在选路的时候不止选择一条最优路径,还会把有环和无环路由区分开来,这样剩下的无环路由就可以作为备份路径。 - 在低速链路和高速链路中,EIGRP具有相同的简单的配置
与OSPF相对,低于1.544M的叫做低速链路,OSPF配置就很麻烦,这是因为传递信息量大,对于低速链路占用高,影响正常数据传递。
EIGRP有一个保护机制,不论多大带宽,EIGRP的消息数据包都不能占用超过50% - EIGRP具有灵活的网络设计
EIGRP的四个关键机制
- 邻居发现与恢复:发现,维持,恢复
所有的触发更新的协议下,都会有发现与恢复机制,毕竟选择了触发更新就意味着网络稳定不发送更新,那么如果对方宕了,那么也是发不了的,所以需要周期性发送hello保活包,用以建立,发现,维持邻居状态。
2 RTP_可靠传输协议
基于IP封装是不可靠的,又选择了触发更新,所以需要选择保证可靠传输
3 DUAL算法
4 PDM——协议相关模块
Metric计算
5个K值,带宽K1 延时K3 可靠性K4 负载K2(数据传输百分比 /255) MTUK5(两端必须保持一致)
Metric={10^7/ban(low)+delay(sum)/10 }*256
带宽选择最小带宽,延时之和
DUAL算法
图中R2如果想学习到达X网段的路由,DUAL会如何工作呢?
第一步,R2先与周围的路由器建立邻居关系
第二步,所有邻居会计算他们自己到达X网段的路径,R2会询问这个距离,而这个距离就叫做AD值,并不是之前的AD值,理解为通告距离
第三步,R2会计算自己到达邻居的AD值,再加上邻居到达目标网段的AD值,相加出来的值就是FD,可行性距离
第四步,接着R2选择最小的FD值,图中会选择R5这条最佳路径,而R5也就是successor,后继者
第五步,接着R2会继续选择备份路径,将无环路径与成环路径分开,万一最佳路径挂了,可以切换到备份路径,加快了EIGRP的收敛时间,图中会选择R3这条路径,R3就叫做feasible successor,可行性后继者
可行性条件:AD小于当前最小的FD
EIGRP的消息数据包
.
Hello数据包:周期性发送,不需要ACK确认。用于建立邻居关系,默认时间5秒。超时时间15秒,在FR中为60超时时间为180秒。Hello数据包里面的router-ID必须配置,否则路由起不来。
邻居建立条件:1.AS号必须保持一致 2.K值必须一致(不一样可能会成环) 3.认证一致 4.建立邻居要么同时使用单播或组播
Updata报文:发送路由更新,使用单播或者组播发送
ACK报文:对updata,query,reply进行隐示确认,需要序列号
Query包:使用单播发送,用于请求某个路由(没有FS时候,最佳路径挂了,会给其他路由器发送query包)通常情况下是组播发送的,特定情况下是单播
Reply报文,单播发送,用于应答某些路由,使用单播可靠传输
EIGRP配置
1.EIGRP邻居表
EIGRP的进程号必须保持一致
H——代表顺序,表示第一个与R2建立邻居的是R1路由器,也就是12网段
Address永远是对方的,接口是自己的
Hold——保持时间,因为周期hello的存在,超过hold时间没有收到hello包,就会断开邻居关系,一般hello时间是5S,hold时间是15S。
Uptime——邻居建立时间,表示与对方建立邻居已经多长时间了
SRTT——平均往返时间,比如图中R2给R3发送update数据包,R3就会给R2回复一个ACK,这个时间就是从发出updata数据包到接收到ACK这个时间段叫做往返时间,网络稳定时候,SRTT时间不变。
RTO——单播重传间隔,比如图中R2给R3传递updata数据包,但是没有收到R3的ack确认报文,就会等待一个组播刘计时器,然后以单播形式再次发送updata包。组播刘计时器根据SRTT计算得到,思科保留过程。如果还是没有收到,再经过RT0时间后,再次发送,默认传递16次,中断邻居关系重新建立邻居
Q(queue)Cnt——队列统计,在低速链路中,如果EIGRP的信息报文很多,但是又因为带宽限制50%,所以会出现排队现象,一般正常情况下是0.,除了刚开始建立EIGRP,会出现大于0的值,过一会恢复。
SeqNum——序列号,代表该接口接收的最后一个ACK的序列号。
2.EIGRP拓扑表(默认仅仅存放了所有的后继者和可行性后继的路径)
这张表里面有个router,三个路由器直接连接,R1与R2的router-id一样的话,在新版的IOS中,1把路由给2,2不会学,直接传递给3,透传。
Passive——收敛完成 active——正在收敛 updata——等待ack的状态
Query——发送了query,等待query的ack
Reply——发送了reply,等待reply的ack
Reply status——发送了query,收到了ack,等待reply
Sia status——卡在活动状态,发query90秒后,发送 SIA query报文确认对方是否收到,到达3分钟时候,就会将路由置为sia状态。
IP路由表
重发布引入的是DEX,AD是170,,内部是90.