从RIP协议的学习中我们可以了解到,RIP协议对网络路由选择的依据是跳数,显然这是不够全面的,下面我们就来学习一下采用更全面的metric来衡量路由选择的EIGRP协议
一.EIGRP的特点
前言:EIGRP前身是IGRP协议,由于IGRP协议存在诸多缺点,因此Cisco对其进行了“增强(Enhance)”,注意,EIGRP是Cisco私有的协议,即只能在Cisco的路由器上运行,诸如华为等厂商的路由器可能不支持该协议。
EIGRP的几大特点:
- EIGRP协议是无类别的路由协议。
- EIGRP是高级的距离矢量协议。//这点要特别注意
- 核心算法是DUAL算法,形成无环路由。
- 支持等价和非等价的负载均衡。
- 支持自动及手工路由汇总。
- 支持多种网络层协议(IP ,etc…);
二.EIGRP的三张表
1.邻居表
顾名思义,邻居表中存储的是路由器的邻居路由与接口的关系,大致如下:
2.拓扑表(show ip eigrp toplolgy)
拓扑表中存储的是到达某个特定路由的多个不同metic的路径,通俗一点的就是比如你去北京,可以从天津到达,也可以通过洛杉矶中转,此时拓扑表中存储的就是到达北京的各种不同的路径,后面我们就会看到,DUAL算法就是以这些路径信息为原材料加工出最优路径的。
3.路由表
路由表中存储的就是数据包进行传送时实际采用的线路。
总结上述三张表的关系:
三.EIGRP报文简介
EIGRP报文共有5种:
Hello报文、更新报文、查询报文、应答报文、确认报文
其实记忆这5种报文并不难。
- Hello报文打招呼,建立邻居关系。并在邻居关系建立之后keep alive,该种报文不需要确认。这报文的名字应该很形象。
- 更新报文:更新数据包只在必要的时候传递必要的信息(一般在邻居关系建立之后用该种报文传递必要的信息)。该种报文需要确认报文进行确认。
- 查询报文:路由丢失,可以向邻居查询关于路由信息,通常以组播方式进行发送,有时也单播,需要确认报文进行确认。
- 应答报文:对查询报文进行应答。
- 确认报文:ACK,专门用来应答上述几种报文。
四.EIGRP中的metric计算
RIP中通过跳数选择路由,这样必然不是很恰当,因为跳数小不一定走的快。EIGRP中通过metric选择路由,计算如下:
需要注意的是带宽是数据出口的接口带宽的最低值,延迟是数据出接口的延迟的累加。
另外,还要注意单位。
五.EIGRP的核心:DUAL算法
DUAL:Diffusing Update Algorithm,简称DUAL,扩散更新算法。
- 用于计算最佳无环路径和备用路径。
算法特点:
- 无环拓扑
- 可以立即使用的无环备用路径
- 快速收敛
- 低带宽利用率(通过限定更新次数实现)
几个定义:
1.后继路由器(successor):实际使用的路由的下一跳路由器。
2.可行后继:备份路由的下一跳路由器。
3.AD:通告距离,即邻居路由器到达目的网络的metric值。
4.FD:可行距离,实际使用的路由的metric值。
5.可行性条件:AD < FD。
六.非等价负载均衡
通过设定variance值实现,默认值为1。
比如到达某一目的地的FD为20,拓扑表中另外存储着FD为35和45的两条路由,当修改variance为2的时候,FD*2 = 20 * 2 = 40,此时35< 40,因此该条路由会被纳入传输数据的路径选择中,而FD为45的那条路由不会被使用。
七.EIGRP的配置
请参考实验。