EIGRP的介绍与配置<?xml:namespace prefix = o ns = "urn:schemas-microsoft-com:office:office" />

增强内部网关路由选择协议(EIGRP)是Cisco的专用协议,他可以运行在Cisco路由器上。它综合了距离矢量和链路状态两者的优点。

EIGRP有以下几个特点:

1 减少带宽占用:EIGRP不做周期性的更新,他只在路由的路径和度发生变化后做部分更新

2 支持多种网路层协议:EIGRP通过使用“协议模块”可以支持IPX IP IPV6Apple Talk等协议。

3 快速收敛:链路状态包的转发是不依靠路由计算的,所以大型网络可以较为快速的收敛,他只宣告链路链路状态,不宣告路由,所以即使链路发生了变化,不会引起该链路的路由被宣告。但是链路状态路由协议使用的是Dijkstra算法,比较复杂,占用CPU和内存较大,链路状态路由协议采用扩散计算,通过多个路由并行的路由计算,这样就可以再无环路产生的情况下快速的收敛。

无缝连接数据链路层协议和拓扑结构:具有相同的自治系统号的EIGRPIGRP之间可无缝交换路由信息。

EIGRP通讯需要建立邻居,而建立邻居必须满足以下条件:

1 收到HELLO包或ACK

2 匹配的AS

3 具有相同的度量

注意:EIGRP是发送组播数据给邻居的。

EIGRP的主要功能:

        通过协议相关模块支持IP,IPX,AppleTalk

        无类

        支持VLSMCIDR

        支持概要和不练许网络

        有效邻居发现

        基于可靠传输协议(RTP)的通信

        基于弥散更新算法(DUAL)的最佳路径的选择

 

EIGRP路由和维护的三表信息:

1 邻居表:已建立的邻居关系

2 拓扑表:互联网中每个路由器从每个邻居接收到的路由通告

3 路由表:当前使用的用于路由判断的路由度量。如:带宽、延迟、负载、可靠性等。

EIGRP是缺省的METRIC参数,管理距离用于路由协议,EIGRP的管理距离是90

EIGRP运行

初始运行EIGRP的路由器都要经历发现邻居、了解网络、选择路由的过程,在过程中建立三张独立的表:相邻路由器的邻居表、描述网络结构的拓扑图、路由表。并在运行网络发生时更新这些表

1 建立相邻关系

运行EIGRP的路由器开始运行,就不断的用组播地址从参与EIGRP的各个接口向外发HELLO包,当路由器收到某个邻居路由器的第一个HELLO包时,以单点传送方式回送一个更新包,在得到对方路由器对更新包确认后,这是双方建立邻居关系。

2 发现网络拓扑,选择最优路由

当路由器动态发现一个新邻居,也获得了来自新邻居所通告的路由信息,路由器将获的路由更新信息首先与拓扑表中所记录的信息进行比较,符合可运行的条件的路由被放入拓扑表,再将拓扑表中通过后继路由器加入路由表,通过可运行后继路由器的路由如在配置的非等成本路由器负载范围内,假如路由表。否则,保存在拓扑表中作为备则路由。如果路由器通过不同的路由协议学到了到同一目的地的多条路由。则比较路由的管理距离,管理距离最小的路由为最优路由。

3 路由查询、更新

当路由信息没有变化时,EIGRP邻居间只是通过发送HELLO包来维持邻居关系的,减少对网路带宽的占用,发现一条链路不可用,EIGRP会立即从拓扑表中寻找可行后继路由器,如果拓扑表中没有后继路由器,由于EIGRP依靠他的邻居提供路由信息,再将该路由设置为活跃状态后,想所得邻居发送查询数据包等。

下面我们做个试验,目的是让各个路由之间都能用EIGRP协议通讯,最后实现全网全通,试验拓扑如下:

1 下面我们在路由器上配置

R1:

Router>en

Router#conf t

Enter configuration commands, .e per line.  End with CNTL/Z.

Router(config)#host r1

r1(config)#int s0/0

r1(config-if)#ip addr 192.168.1.1 255.255.255.0

r1(config-if)#clock rate 64000

r1(config-if)#no shut

r1(config-if)#exit

r1(config)#router eigrp 100

r1(config-router)#network 192.168.1.0

 

第二个路由器和第一个配置几乎一样,只需要改下IP地址就可以。

R2:

Router>en

Router#conf t

Enter configuration commands, .e per line.  End with CNTL/Z.

Router(config)#host r2

r2(config)#int s0/0

r2(config-if)#ip addr 192.168.1.2 255.255.255.0

r2(config-if)#no shut

r2(config-if)#exit

r2(config)#int s0/1

r2(config-if)#ip addr 192.168.2.1 255.255.255.0

r2(config-if)#clock rate 64000

r2(config-if)#no shut

r2(config-if)#exit

r2(config)#router eigrp 100

r2(config-router)#network 192.168.1.0

r2(config-router)#network 192.168.2.0

 

 

第三个路由器和前两个一样的配置。

R3:

Router>en

Router#conf t

Enter configuration commands, .e per line.  End with CNTL/Z.

Router(config)#host r3

r3(config)#int s0/1

r3(config-if)#ip addr 192.168.2.2 255.255.255.0

r3(config-if)#no shut

r3(config-if)#exit

r3(config)#router eigrp 100

r3(config-router)#network 192.168.2.0

 

 

 

下面我们在试验一下:

r1#ping 192.168.1.2

Type escape sequence to abort.

Sending 5, 100-byte ICMP Echos to 192.168.1.2, timeout is 2 seconds:

!!!!!

Success rate is 100 percent (5/5), round-trip min/avg/max = 144/445/576 ms

r1#ping 192.168.2.1

Type escape sequence to abort.

Sending 5, 100-byte ICMP Echos to 192.168.2.1, timeout is 2 seconds:

!!!!!

Success rate is 100 percent (5/5), round-trip min/avg/max = 364/788/1224 ms

r1#ping 192.168.2.2

Type escape sequence to abort.

Sending 5, 100-byte ICMP Echos to 192.168.2.2, timeout is 2 seconds:

!!!!!

Success rate is 100 percent (5/5), round-trip min/avg/max = 720/1085/1412 ms

 

 

 

呵呵,看全网全通了吧!试验成功!

 

 

下面是在这个实验中一些常用命令

 

Show ip eigrp neighbors 用于显示运行eigrp路由协议的邻居关系

 

Show ip eigrp toplogy   显示eigrp 路由协议的拓扑表

 

Show ip route eigrp     显示eigrp 路由协议的路由表

 

Show ip eigrp traffic     显示eigrp协议数据包的通讯状态

 

 

 

做这个实验一定要谨慎写命令,如果错一个字母,那么就废了!千万注意啊!