在现实的生活中我们配置路由器要用到不同的路由协议,如果这样的话,总不能我们配置什么协议就要求对方也配置什么协议吧!显然很不现实,这个时候我们就要想办法让两种不同的协议之间能够实现正常的通讯。今天我们就来讲一下路由协议的重分发。注意:路由器重分发时,必须给重分发而来的路由指定度量值。
路由重分布的作用:可以使得多种路由协议之间,多重厂商环境中进行路由信息交换
 
使用路由重分发原因:
1.从一种较早IGP协议迁移到一种新的IGP协议。在新协议完全取代旧协议之前,将存在多个重分发。
2.想使用另一种路由协议,当由于各种原因,需要保留原来路由协议。
3.在多厂商路由器环境中,多协议混合使用情况
 
重分发技术:
双向重分发:在两个路由协议之间重分发所有路由
单向重分发:将一条默认路由传递给一种动态协议
今天我们就来配置一下简单的RIP协议与EIGRP协议,让他们之间能够正常通讯。我们在第一个路由器上使用RIP协议,在第三个路由器上使用EIGRP协议,然后在第二个路由上配置路由协议重分发,是路由一能与路有三正常通讯。好了不说废话了,我们开始做吧!
 
路由器的端口连接图如下:
Router1 S1/0 <----> Router2 S1/0
Router2 S1/1 <----> Router3 S1/0
Router1 F0/0 <----> VPCS V0/1
Router3 F0/0 <----> VPCS V0/2
拓扑图如下:
首先我们来在第一个路由器上配置路由的基本信息,定义路由器的名称、IP地址,时钟频率,如下步骤:
R1:
Router>en
Router#conf t
Router(config)#hostname r1
r1(config)#int s1/0
r1(config-if)#ip addr 172.16.1.1 255.255.255.0
r1(config-if)#clock rate  64000
r1(config-if)#no shut
r1(config-if)#exit
r1(config)#int f0/0
r1(config-if)#ip addr 192.168.1.1 255.255.255.0
r1(config-if)#no shut
r1(config-if)#exit
基本的路由信息配置完成后,我们来配置RIP协议,以及宣告路由器上IP所在的网段
r1(config)#router rip
r1(config-router)#network  172.16.1.0
r1(config-router)#network  192.168.1.0
r1(config-router)#exit
r1(config-)#exit
其次我们来配置路由器二的基本信息,和路由器一的配置几乎一样,我们只须改一下IP地址即可
R2:
Router>en
Router#conf t
Router(config)#hostname r2
r2(config)#int s1/0
r2(config-if)#ip addr 172.16.1.2 255.255.255.0
r2(config-if)#no shut
r2(config-if)#exit
r2(config)#int s1/1
r2(config-if)#ip addr 172.10.1.1 255.255.255.0
r2(config-if)#clock rate 64000
r2(config-if)#no shut
r2(config-if)#exit
r2(config)#exit
在路由器二上配置协议EIGRP,以及路由重分发,我们把RIP协议放入了EIGRP协议中了。需要注意的是:把RIP协议放入EIGRP协议时候需要在后面写入EIGRP协议的度量值,依次是:带宽、延迟、可靠传输单元、负载(1-255之间)、最大的传输单元。如果不知道先后的顺序,大家可以在“redistribute rip metric后面打“?”依次来查看
r2(config)#router eigrp 100
r2(config-router)#redistribute rip metric 1544 20000  255 1 150
r2(config-router)#network 172.16.1.0
r2(config-router)#network 172.10.1.0
r2(config-router)#network 192.168.1.0
r2(config-router)#network 192.168.2.0
r2(config-router)#exit
下面我们来配置RIP协议并且把EIGRP协议放入了RIP协议中了。
r2(config)#router rip
r2(config-router)#redistribute eigrp 100 metric 2
r2(config-router)#network 172.16.1.0
r2(config-router)#network 172.10.1.0
r2(config-router)#network 192.168.1.0
r2(config-router)#network 192.168.2.0
r2(config-router)#exit
r2(config)#exit
最后我们来配置路由器三,首先是基本配置,和前两个路由的配置一样,只须改一下IP地址即可
R3:
Router>en
Router#conf t
Router(config)#hostname r3
r3(config)#int s1/0
r3(config-if)#ip addr 172.10.1.2 255.255.255.0
r3(config-if)#no shut
r3(config-if)#exit
r3(config)#int f0/0
r3(config-if)#ip addr 192.168.2.1 255.255.255.0
r3(config-if)#no shut
r3(config-if)#exit
接下来我们来在路由器三上配置EIGRP协议,以及宣告路由器三上IP所在的网段
r3(config)#router eigrp 100
r3(config-router)#network 172.10.1.0
r3(config-router)#network 192.168.2.0
r3(config-router)#exit
r3(config)#exit
三个路由都配置完成后,我们来查看一下路由表,如图在Router1的路由表中可以看到Router1已经学习到了其他网段的信息了
Router2也是一样,都学习到了其他网段的信息了
Router3上也很正常学习到了其他网段的信息了
万事具备只欠东风了,我们来配置一下PC1PC2IP地址,如图:PC1IP192.168.1.2 默认网关为192.168.1.1 PC2IP192.168.2.2 默认网关为192.168.2.1
PC1ping通了自己的网关以及路由器一的出口IP地址
这是PC1ping通了路由器二的IP地址以及与路由器三直连的出口IP地址
Ok!在PC1上直接ping通了路由器三与PC2
下面我们再来在PC2上依次向外ping一下,如图:ping通了自己的网关和出口的IP地址
PC2ping通了路由器二的IP地址以及与路由器一直连的出口IP地址
 
Ok!也没问题,在PC2上直接ping通了路由器三与PC1
最终实现了不同协议只间的通讯,实现了全网全通。下一篇我们会继续介绍其他的路由协议之间的协议重分发,如:RIP协议与OSPF协议,OSPF协议与EIGRPRIP协议与ISIS协议等等。
实现重分发时要考虑的问题:
路由环路:路由器可能将从AS收到的信息返回同一个AS中,这种反馈类似于距离矢量拓扑中的路由环路。
路由信息不兼容:每种路由协议都使用不同的度量值来确定最佳路径。可能导致得到非最优路径。
汇聚时间不一致:不同路由协议的汇聚速度也不同。