橙子wj 2013-05-30
EIGRP:Enhanced Interior Gateway Routing Protocol
中文意思是:增加强内部网关路由协议,是早期IGRP的增强版,对IGRP做了一些扩展,原理也差不多,差别不是很大,所以我们在此就介绍EIGRP,不再介绍IGRP了,以后大家也不会再用到IGRP了。但EIGRP是思科私有的一个路由协议,这其实也制约了EIGRP的使用范围,因为只有在同一个网络中全部都是思科的产品才会使用 EIGRP,但要考虑到一个网络的扩展功能。那万一以后要使用其他厂家的产品怎么办?所以一定要考虑好用不用EIGRP。下面咱们就花点时间来看一下 EIGRP的相关知识点,首先就从EIGRP特性入手:
EIGRP特性:
EIGRP早点是在IOS9.21的时候就支持EIGRP了,现在IOS的版本已经达到12.4了,大家可以从官网找到相关的IOS文件:
▲ IOS软件
关键是EIGRP是一个混合型的路由协议,也就是说它结合了距离矢量和链路状态两种路由协议的特性。但是距离矢量和链路状态都有自己的弊端民。如距离矢量容易产生环路,而且是以跳数为计算路径不是很准确。那么链路状态协议是没有环路了,而且是以cost来作为metric值作为最佳路由,但是因为它的算法复杂,所以必须占用一定的资源。那么EIGRP就结合它们有自己的一些特性:
收敛速度快:相对于RIP来说,收敛速度是很多的,不敢说比OSPF绝对快,但绝对比RIP要快,我们前面介绍RIP的时候我们也看到了RIP有一个30秒的广播时间,有180秒的无效时间,还有240的刷新时间,所以当网络出现更改时,这个收敛速度是很慢的,在此EIGRP使用的是链路状态的收敛形式,对外宣布的链中状态,所以EIGRP相对来说要快很多。
无环路的无类路由:因为它采用的是一位荷兰的计算机科学家Dijkstra于1959年发现的算法,这种算法有点复杂,但能保证网络中的每一个路由器都有一个整个的网络链路图,不会产生网络环路。
增量路由更新: RIP是将整个路由表都发给对方,而EIGRP是将发生更新的路由发给对方,这和我们平时所说的增量备份和差异备份有点相似,所以相比来说性能要高。而且采用的是trigger update,如果没有更新是不是发送的,这点和RIP也不一样!
支持等价与非等价路径的负载均衡:RIP支持的是4条等价的负载均衡,针对一些厂家可以支持6条cost相同的OSPF负载均衡,但都是等价的负载均衡,但是只有EIGRP可以实现非等价的负载均衡。
使用单播或组播代替广播:
支持多种网络层协议:支持IP、Novell 公司的IPX、Apple的AppleTalk等等协议,主要是因为它有一个协议相关模块!
至于说其他特性就不再细细介绍了,如:支持VLSM和CIDR、支持路由的手动汇总。
EIGRP中的三张表:
EIGRP如果想正常工作必须用到三张表,分别是邻居表,拓扑表,路由表,这一点和链路状态差不多!我们来看一下这三张表是如何协同工作的,如图所示:
▲EIGRP三张表
邻居表中存放的是netxt-hop router 与interface的对应关系,也就是说存放的是下一跳及本地接口,通过本地的哪个接口可以到达下一跳,但是必须是运行EIGRP路由器的直连路由信息。
拓扑表:从邻居表中学过来的所有的路由信息,也就是所有目标网络的信息,其中有successor后继路由以及feasible successor(FS)可行后继路由,当然最终放到路由表的只有后继路由,那这个FS有什么用呢,是说如果万一后继路由坏了,路不通了,那么可行后继路由就成了后继路由放到路由表中,其实也是一个冗错机制!
路由表:存放的是到达对方的最佳路由信息。
一个数据包能不能被转发最终依靠的是路由表。
下面看一下FD和AD两个概念:这两个概念也很容易理解:
FD:Feasible Distance 可行距离
AD:Advertised Distance 宣告距离
它们两个术语之间有什么关系,针对每一个路由器,都会根据它所宣告的距离AD及cost来计算自己到达对方的FD。然后最小的FD就是到达对方的最佳路由。
▲ FD、AD
那有人问这个metric值是怎么算出来的,这里需要参考这么几个参数:
带宽,延迟,可靠性,负载以及MTU那么在这里必须用到的是带宽和延迟
公式如下:256*min(BW)+sum(DLY) 那这里如果不乘以256就是IGRP的metric计算方法,因为IGRP以后大家不会再用了,在此就不再介绍。
其中BW就是带宽,DLY就是延迟。
最后咱们来看一下EIGRP的具体配置,配置对大家来说就是张飞吃豆芽,总的来说就两个命令:
启动EIGRP:
Router eigrp 自治系统号
注意这个号是1-65535,注意这个自治系统号必须一样,实验中大家可以随便指定,但是工作中由运营商给我们分配好!
宣告主连网络号:
Network 网络号
这里有几个和验证相关的命令:
显示邻居表的内容:show ip eigrp neighbors
显示拓扑表的内容:show ip eigrp topology
显示当前EIGRP路由表内容: show ip route eigrp
查看EIGRP的流量信息: show ip eigrp traffic
显示当前运行的协议:show ip protocols
关于CCNA部分中的EIGRP就暂且讲这么多了,其实EIGRP还是相当复杂的一个协议,更多内容请参考CCNP部分。下面咱们还是以一个实验来结束这节课!
Lab:动态路由协议EIGRP
实验目的:通过EIGRP路由协议使得网络中达到全网互通的效果。
设备:三台Cisco系统路由器.
拓扑图:
▲ 实验拓扑图
Router1上的配置:
RA>en
RA#conf t
RA(config)#interface s2/0
RA(config-if)#ip address 192.168.0.1 255.255.255.0
RA(config-if)#clock rate 64000
RA(config-if)#no shutdown
RA(config-if)#exit
RA(config)#interface fa0/0
RA(config-if)#ip address 10.10.10.1 255.255.255.0
RA(config-if)#no shutdown
RA(config-if)#exit
RA(config)#router eigrp 1
RA(config-router)#network 10.10.10.0
RA(config-router)#network 192.168.0.0
RA(config-router)#no auto-summary
Router2上的配置:
其他语句参考上面:
RB(config)#router eigrp 1
RB(config-router)#network
RB(config-router)#network 192.168.0.0
RB(config-router)#network 192.168.1.0
Router3上的操作:
RC(config)#router eigrp 1
RC(config-router)#network 192.168.1.0
RC(config-router)#network 20.20.20.0
验证:
▲ 验证
我们在Router2上显示一下具体的路由信息:
▲路由表
我们还可以使用 show ip eigrp neighbors显示邻居表的信息:
▲ 邻居表