网络协议——什么是RIP协议?工作原理是什么?
作者:Insist--
个人主页:insist--个人主页
作者会持续更新网络知识和python基础知识,期待你的关注
目录
前言
本文将给大家讲解什么是RIP,为什么使用它,以及它的工作原理
一、什么是RIP协议?
RIP协议(Routing Information Protocol,路由信息协议)是一种基于距离矢量的内部网关协议,即根据跳数来度量路由开销,进行路由选择。
相比于其它路由协议(如OSPF、ISIS等),RIP协议实现更简单,对带宽、配置和管理等要求也更低,但受到路由跳数和收敛速度的限制,跳数大于15就认为网络不可达,所以无法用在大型复杂网络中。
二、为什么要使用RIP?
在出现动态路由之前,静态路由有几个问题无法解决:
问题一:当网络拓扑结构和链路状态发生变化,需要对路由器的静态路由信息进行大范围修改,工作复杂度高。
问题二:网络发生故障时,不能重选路由,很可能使路由失败。
为了解决这些问题,动态路由协议就出现了,路由器自动学习,自适应网络的变化,无需人工更改配置。
三、RIP用在哪里?
RIP适用于中小型网络,因为RIP是基于距离矢量的算法(D-V算法)。由于其只能支持0-15跳,第十六跳会被标记成无限大或不可达。所以在整个网络中,只能有16个路由器相互成为rip邻居路由器,由于以上原因,所以RIP只能应用于中小型网络。
四、RIP协议的工作原理
如下图,分别有RTA、RTB、RTC三个路由器,每个路由器首先学习到己的直连路由,形成路由表。
然后我们在路由器上配置RIP协议,配置完成后路由器每隔30s就会向他的直连路由通告自己的路由表。比如RTB会将自己的路由表发给RTC,RTC会将自己表中没有的20.0.0.0网段添加进去,记住下一跳,并标记跳数为1。
在经过第一个30s的更新之后,这3个路由器的路由表如下图:
路由器的第二个更新周期到来,路由器将会再次向邻居发送路由表。RTA发送路由表给RTB,但是RTB已经不需要学习了。
不用学习的原因:RTB的路由表中包含RTA的所有网段。
RTB将自己的路由表发送给RTA,RTA会将40.0.0.0这个网段加到自己的路由表中,添加下一跳地址标志为20.0.0.2(因为是通过这个端口收到的),并添加距离标记为2。RTC也会同样更新自己的路由表。最后的路由表如下图:
五、总结
RIP是一种出现较早的路由协议,通过简单的距离矢量算法来计算到达目的网络的最佳路径,实现和维护起来都比较容易,能够满足早期小型网络的需求,但RIP的扩展性受到转发跳数的限制,且RIP每次进行路由更新都会占用大量带宽,链路故障后需要花费较长时间才能实现收敛,所以相比于后面出现的OSPF等路由协议,在路由收敛速度上存在明显不足,无法用在一些现代的大型复杂网络中。