我们前面已经简单介绍了三种类型的动态路由协议算法分别是距离矢量算法,链路状态算法以及平衡混合算法,接下来几篇文章将分别讨论这几种算法的类型代表:RIP、OSPF、EIGRP。而且它们都是内部网关协议(IGP),也就是说它们都运行在一个自治系统内部,什么是自治系统,我们来简单看一下:
自治系统:就是使用相同路由准则的网络集合,一般是一个ISP,或者是一个大型的行政机构。大家刚听到这个术语时会感到有点模糊,有点抽象,在CCNP的课程中会有详细的介绍,我们CCNA部分很少会用到自治系统间的协议,使用的基本上都是自治系统内的协议。所以如果按照在自动系统内运行还是用于连接不同的自治系统,路由协议又分为两种:
IGP:内部网关协议,在一个自治系统内运行。比如:RIP、OSPF、IS-IS、EIGRP等。
EGP:外部网关协议,用于连接不同的自治系统。比如:BGP
今天我们将介绍最简单的动态路由协议RIP,喝杯水,开始了!
RIP:路由信息协议
在CCNA部分主要介绍的是内部网关协议,那么我们先从RIP开刀。RIP是一个典型的距离矢量路由协议,全称是Routing information protocol(路由信息协议)。它使用的是数据包所经过的网关来做为距离的单位,最大跳数为15跳,超过15跳便无法到达,大家从这个数中就可以看出来,RIP是一个元老级的路由协议,正是因为受到15跳的限制,所以现在使用的是越来越少。它只适合于一些规模不大的网络,路由器的数量不多的网络中。因为它评价网络的好处就是依靠跳数,但是这个跳数并不一定说就能代表最佳路径。如图所示:
RIP分析图
PC1希望到达PC2,按照RIP协议来说肯定是经过Router3,再转交给Router4就到达PC2,因为这样的话相对于Router3来说,它只要经过两跳,就可以到达PC2所在的网段。跳数最少。但是这条线路的带宽是19.2Kbps,而另一条路虽然跳线多,但它是T1线路,带宽大,延迟小。肯定会比第一条路要优。但是RIP是以跳数计算最佳路径,所以它就选择了第一条路。所以大家也感觉到了,RIP有点笨笨的感觉,以至于现在用的不多了!当启用RIP协议时,RIP会从RIP的相关接口上向外发广播包。这里使用的是520/UDP端口。广播包的内容主要是请求信息,侦听来自其他路由器的请求信息和应答信息,当邻居收到请求信息以后,就发送应答息给该路由器。在RIP启动成功之后,平均每30秒,注意这里是平均每30称,不是正好是30秒。就会发送应答信息,又称为update包。这个update包中包含了路由器完整的路由表。这里应该还有路由无效值,路由刷新时间等参数,这一部分应该是CCNP的内容,在此简单介绍一下,详细内容大家可以参考NP部分。我们来看下图
路由分析
如果Router3所连接的40网段断开了。那么相对于Router2来说,如果在180秒内,没有得到关于40网段的路由消息,就会认为它失效了,但仅仅是失效而已,将Router2上关于40网段的路由设置为holddown状态,默认时间为180秒。如果在这180秒里,Router2接收到40网段可行路由后会中止计时,并将原来关于40网段的路由改为可用路由;如果经过240秒,仍没有得到关于40网段的确认,就认为这个网段直的“死悄悄”了,那就把它从路由表中删除。
关于RIP还要提到一点是RIP分为RIP1与RIP2两个版本,区别在于RIP1是一个有类路由协议,即所有的更新包中不含子网掩码,不支持VLSM,所以就要求网络中所有设备必须使用相同的子网掩码,否则就会出错,而RIP2是一个无类的路由协议,它使用子网掩码;第二个不同的地方是RIP1是发送更新包的时候使用的是广播包,而RIP2使用的是组播224.0.0.9这样相对于RIP1来说就节省了一部分网络带宽。第三个就是RIP2支持明文或者是MD5验证,要求两台路由器在同步路由表的时候必须进行验证,通过才可以进行路由同步,这样可以加强安全性。
下面咱们来看一个RIP协议的具体配置:
相对来说RIP的配置还是很简单的,下面咱们就以实验来结束RIP的讨论,我们在此做两个实验,一个使用RIP1来完成,一个使用RIP2来完成。其实它们的配置大同小异,我们先来看RIP1。
Lab1:动态路由协议RIP,使用RIP1协议使得网络中达到全网互通的目的
实验目的:通过设置RIP1路由协议达到全网通的效果
实验设备:三台Cisco系列路由器
拓扑图:
LAB1
RA上的配置:
Router>enable
Router#conf t
RA(config)#interface s0/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 loopback 1
RA(config-if)#ip address 10.10.10.10 255.255.255.0
RA(config-if)#exit
RA(config-router)#network 192.168.0.0
RA(config-router)#network 10.10.10.0
RA配置完毕!
RB的配置:
Router>en
Router#conf t
Router(config)#hostname RB
RB(config)#interface s0/0
RB(config-if)#ip address 192.168.0.2 255.255.255.0
RB(config-if)#no shutdown
RB(config-if)#interface s0/1
RB(config-if)#ip address 192.168.1.1 255.255.255.0
RB(config-if)#clock rate 64000
RB(config-if)#no shutdown
RB(config-if)#end
RB(config)#router rip
RB(config-router)#network 192.168.0.0
RB(config-router)#network 192.168.1.0
RC上的配置:
Router>en
Router#config t
Router(config)#hostname RC
RC(config-if)#ip address 192.168.1.2 255.255.255.0
RC(config-if)#no shutdown
RC(config)#interface loopback 1
RC(config-if)#ip address 20.20.20.20 255.255.255.0
RC(config)#router rip
RC(config-router)#network 192.168.1.0
RC(config-router)#network 20.20.20.0
大家可以看到其实RIP的真正配置命令就两个:
Router rip 激活RIP协议
Network network-number 选择需要激活接口所在的网段
验证配置:
我们在此没有使用PC,就使用扩展ping来测试我们的配置是否正确。我们先来验证网络的连通性。
验证
OK!网络是通的,说明RIP已经生效了!
那么我们接下来就可以通过show ip router查看路由器的路由表:
路由表
在此我们可以看到RA这个路由器上的路由表信息:两个直连路由,两个是通过RIP学习到的动态路由,其中[ 120/2] 120代表管理距离,2代表到达对方的跳数。至于其他两个路由器上的路由表我们在此不再查看!
也可以使用show ip protocols来查看当前运行的协议,如图所示:
这里可以看到正在运行的协议,更新时间,失效时间,刷新时间,还可以查看到激活的网络号和默认距离值等信息。还可以使用Debug ip rip 来查看RIP协议的学习过程:
只是大家在选择网段的时候一定要注意:如下图路由器B上network10.0.0.0就把10.1.1.0和10.2.2.0都包含了!
路由分析
下面,再通过一个实例看一下RIPv2的配置过程。
Lab2:和实验1相同,只是RIP2来实现
注意:RIP2与RIP1相比配置命令差不多,只是多了一个命令version 2 因为你不指定,会默认是RIP1
最好执行命令关闭自动聚合:no auto-summary
Router>enable
Router#configure terminal
RA(config-if)#interface serial 0
RA(config-if)#ip address 192.168.0.1 255.255.255.0
RA(config-if)#no shutdown
RA(config-if)#clock rate 64000
RA(config-if)#exit
RA(config)#interface looback 1
RA(config-if)#ip address 10.10.10.10 255.255.255.0
RA(config-if)#exit
RA(config)#router rip
RA(config-router)#version 2
RA(config-router)#no auto-summary
RA(config-router)#network 192.168.0.1
RA(config-router)#network 10.10.10.0
RB的配置:
Router>en
Router#conf t
Router(config)#interface s0
Router(config-if)#ip address 192.168.0.2 255.255.255.0
Router(config-if)#no shutdown
Router(config-if)#clock rate 64000
Router(config-if)#interface s1
Router(config-if)#ip address 192.168.1.1 255.255.255.0
Router(config-if)#clock rate 64000
Router(config-if)#no shutdown
Router(config-if)#exit
Router(config)#router rip
Router(config-router)#ver 2
Router(config-router)#no auto-summary
Router(config-router)#network 192.168.0.0
Router(config-router)#network 192.168.1.0
RC的配置:
Router>enable
Router#configure terminal
Router(config)#interface s0
Router(config-if)#ip address 192.168.1.2 255.255.255.0
Router(config-if)#no shutdown
Router(config-if)#interface loopback 1
Router(config-if)#ip address 20.20.20.20 255.255.255.0
Router(config-if)#end
Router#configure t
Router(config)#router rip
Router(config-router)#ver 2
Router(config-router)#no auto-summary
Router(config-router)#network 192.168.1.0
Router(config-router)#network 20.20.20.0
到时为止,配置全部完成,我们还是首先来验证网络的连通性
RA上PING:
验证
还是使用show ip route来查看路由信息:
路由表
也可以通过命令 show ip protocols 查看当前的协议信息。可以看到现在的版本已经是2:
还可以通过 defub ip rip 查看RIP的学习过程:
再给出一个思科官方的一个关于RIP2的配置实例,供大家学习使用:
参考案例
在这个例子中要注意:
1、B使用是RIP2,而C使用的是RIP1,所以需要在B的S3口上定义RIP1版本,目的是为了和C路由器结合,一般最好是都使用同一个版本的RIP。
2、no auto-summary 关闭自动汇总,当路由更新经过主类网络时,会自动向主灯网络号进行汇总,这样就会造成配置不正确,所以我们需要先关闭汇总,再手动开启汇总,再手动开启时就可以指定子网掩码!
关于RIP协议就介绍这么多了,下一篇文章我们将讨论链路状态协议的代表:OSPF,明天见了!
LAB2