EIGRP协议是Cisco的私有路由协议,它综合了距离矢量和链路状态2者的优点。它的英文全称是“Enhanced Interior Gateway Routing Protocol”,Eigrp协议主要有以下几个特点:
1、减少带宽占用:EIGRP不作周期性的更新,它只在路由的路径和度发生变化以后做部分更新
2、支持多种网络层协议:EIGRP通过使用“协议相关模块“,可以支持IPX,ApplleTalk,IP,IPv6和NovellNetware等协议.
3. .快速收敛:链路状态包(Link-State Packet,LSP)的转发是不依靠路由计算的,所以大型网络可以较为快速的进行收敛.它只宣告链路和链路状态,而不宣告路由,所以即使链路发生了变化,不会引起该链路的路由被宣告.但是链路状态路由协议使用的是Dijkstra算法,该算法比较复杂,并且较占CPU和内存资源和其他路由协议单独计算路由相比,链路状态路由协议采用种扩散计算(diffusingcomputations ),通过多个路由器并行的记性路由计算,这样就可以在无环路产生的情况下快速的收敛.
4、无缝连接数据链路层协议和拓扑结构:具有相同的自治系统号的EIGRP和IGRP之间可无缝交换路由信息。不要求对OSI参考模型的层2协议做特别是配置。
EIGRP通讯必须建立邻居,而建立邻居关心必须满足一下条件:
1、 收到HELLO报或ACK
2、 匹配AS号
3、 一定具有相同的度量
注意:EIGRP是发送组播数据给邻居的
EIGRP路由和维护的三表信息:
1、 邻居表:已建立的邻居关系
2、 拓扑表:互联网中每个路由器从每个邻居接收到的路由通告
3、 路由表:当前使用的用于路由判断的路有度量。例如:带宽、延迟、负载、可靠性、最大传输单元。
EIGRP是缺省的METRIC参数。管理距离用于选择路由协议,EIGRP的管理距离是90.
EIGRP的运行
初始运行EIGRP的路由器都要经历发现邻居、了解网络、选择路由的过程,在这个过程中同时建立三张独立的表:列有相邻路由器的邻居表、描述网络结构的拓扑表、路由表,并在运行中网络发生变化时更新这三张表。
1.建立相邻关系
运行EIGRP的路由器自开始运行起,就不断地用组播地址从参与EIGRP的各个接口向外发送HELLO包。当路由器收到某个邻居路由器的第一个HELLO包时,以单点传送方式回送一个更新包,在得到对方路由器对更新包的确认后,这时双方建立起邻居关系。
2.发现网络拓扑,选择最短路由
当 路由器动态地发现了一个新邻居时,也获得了来自这个新邻居所通告的路由信息,路由器将获得的路由更新信息首先与拓扑表中所记录的信息进行比较,符合可行条 件的路由被放入拓扑表,再将拓扑表中通过后继路由器的路由加入路由表,通过可行后继路由器的路由如果在所配置的非等成本路由负载均衡的范围内,则也加入路 由表,否则,保存在拓扑表中作为备择路由。如果路由器通过不同的路由协议学到了到同一目的地的多条路由,则比较路由的管理距离,管理距离最小的路由为最优 路由。
3.路由查询、更新
当路由信息没有变化时,EIGRP邻居间只是通过发送HELLO包,来维持邻居关系,以减少对网络带宽的占用。在发现一个邻居丢失、一条链路不可用时,EIGRP立即会从拓扑表中寻找可行后继路由器,启用备择路由。如果拓扑表中没有后继路由器,由于EIGRP 依靠它的邻居来提供路由信息,在将该路由置为活跃状态后,向所有邻居发送查询数据包
下面我就在模拟路由器上做个实验。实验目的是让各个路由间都利用EIGRP协议通讯,最后实现全网全通。Router1的IP地址是12.12.16.1,Router2的IP地址是12.12.16.2、172.16.6.6,Router3的IP地址是172.16.6.9、192.168.9.11,Router4的IP地址192.168.9.12.大致的实验连接图如下:
Router1 S0/0 <----> Router2 S0/0
Router2 S0/1 <----> Router3 S0/1
Router3 S0/2 <----> Router4 S0/2
一、下面我们来进行路由器上的配置。首先来配置路由器一。
“no ip domain-lookup”的意思是告诉其他的Router不要对它不知道的字符串做DNS解析,也就是关闭域间自动回话;在line模式下“exec-timeout 0 0”的意思是让你的telnet不超时;“clockrate 64000”的意思是配置时钟频率;“router eigrp 100”使用ERGIP协议,进程号我们定义为100。我们在第一个路由器上输入的具体命令如下:
R1:
en
conf t
host r1
no ip domain-lookup
line con 0
logging syn
exec-timeout 0 0
exit
int s0/0
ip addr 12.12.16.1 255.255.255.0
no shut
clockrate 64000
exit
router eigrp 100
network 12.0.0.0
exit
二、配置路由器二
其他路由的配置和第一个路由的基本一样,只需要改一下IP地址就可以。配置如下:
R2:
en
conf t
host r2
no ip domain-lookup
line con 0
logging syn
exec-timeout 0 0
exit
int s0/0
ip addr 12.12.16.2 255.255.255.0
no shut
int s0/1
ip addr 172.16.6.6 255.255.255.0
no shut
clockrate 64000
exit
router eigrp 100
network 12.0.0.0
network 172.16.0.0
exit
三、配置路由器三
路由器三上面也是只需要改一下IP地址就可以。配置如下:
R3:
en
conf t
host r3
no ip domain-lookup
line con 0
logging syn
exec-timeout 0 0
exit
int s0/1
ip addr 172.16.6.9 255.255.255.0
no shut
int s0/2
ip addr 192.168.9.11 255.255.255.0
no shut
clockrate 64000
exit
router eigrp 100
network 172.16.0.0
network 192.168.9.0
exit
四、配置路由器四
继续配置第四个路由。配置如下:
R4:
en
conf t
host r4
no ip domain-lookup
line con 0
logging syn
exec-timeout 0 0
exit
int s0/2
ip addr 192.168.9.12 255.255.255.0
no shut
exit
router eigrp 100
network 192.168.9.0
exit
五、路由器测试
四个路由都配置完成后,接下来我们在路由以上测试一下,我们在路由一上ping一下路由四。路由四的IP地址是192.168.9.12 如图测试成功了,在路由器一上面ping通了192.168.9.12
然后再在路由四上ping一下路由一试试能不能ping通。路由一的ip地址是ping 12.12.16.1 ok!也没问题ping通了路由一
实验终于成功完成了。利用EIGRP协议实现了路由间的通讯。实现了全网全通。
附加:
最后我们再在r1 r2 r3 r4路由器中输入以下命令来查看一下路由器中的各项信息。
show ip eigrp neighbors:用于显示EIGRP路由协议的邻居关系.
show ip route eigrp:显示EIGRP路由协议的路由表。
show ip eigrp traffic:显示EIGRP路由协议数据包的发送和接收状态
show ip protocols:显是协议类型
首先我们在四个路由器中都输入“show ip eigrp neighbors”命令来查看一下EIGRP路由协议的邻居关系.
Router1中显示的邻居关系
Router2中显示的邻居关系
Router3中显示的邻居关系
Router4中显示的邻居关系
其次来我们在各个路由器中输入“show ip route eigrp”来查看一下EIGRP路由协议的路由表。
Router1 EIGRP协议的路由表
Router2 EIGRP协议的路由表
Router3 EIGRP协议的路由表
Router4 EIGRP协议的路由表
再次我们在各个路由器中输入“show ip eigrp traffic”查看一下EIGRP路由协议数据包的发送和接收状态
Router1中EIGRP路由协议数据包的发送和接收状态
Router2中EIGRP路由协议数据包的发送和接收状态
Router3中EIGRP路由协议数据包的发送和接收状态
Router4中EIGRP路由协议数据包的发送和接收状态
最后我们在各个路由器中输入“show ip protocols”来查看一下使用的协议类型。
Router1中显示的协议类型是“EIGRP”
Router2中显示的协议类型是“EIGRP”
Router3中显示的协议类型是“EIGRP”
Router4中显示的协议类型是“EIGRP”
EIGRP路由协议的简单介绍和实验的配置最后以成功而告终。在此提醒大家在做的时候一定要细心,命令一定要输入正确。以免出现不该出现的错误,给您带来不必要的麻烦。呵呵……