网络协议——什么是RIP协议?工作原理是什么?

作者:Insist--

个人主页:insist--个人主页

作者会持续更新网络知识和python基础知识,期待你的关注

 

目录

一、什么是RIP协议?

二、为什么要使用RIP?

三、RIP用在哪里?

四、RIP协议的工作原理

五、总结


前言

本文将给大家讲解什么是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三个路由器,每个路由器首先学习到己的直连路由,形成路由表。

30bb6e92203d4f20b9fa3824e0665549.png

然后我们在路由器上配置RIP协议,配置完成后路由器每隔30s就会向他的直连路由通告自己的路由表。比如RTB会将自己的路由表发给RTC,RTC会将自己表中没有的20.0.0.0网段添加进去,记住下一跳,并标记跳数为1。

daa151a4c276476a83356ea08eb00185.png

在经过第一个30s的更新之后,这3个路由器的路由表如下图:

4464ccbf88f540f78ea2e0852df6b813.png

路由器的第二个更新周期到来,路由器将会再次向邻居发送路由表。RTA发送路由表给RTB,但是RTB已经不需要学习了。

不用学习的原因:RTB的路由表中包含RTA的所有网段。

RTB将自己的路由表发送给RTA,RTA会将40.0.0.0这个网段加到自己的路由表中,添加下一跳地址标志为20.0.0.2(因为是通过这个端口收到的),并添加距离标记为2。RTC也会同样更新自己的路由表。最后的路由表如下图:

3419da7301d74ed59db48786bf11b11e.png

五、总结

RIP是一种出现较早的路由协议,通过简单的距离矢量算法来计算到达目的网络的最佳路径,实现和维护起来都比较容易,能够满足早期小型网络的需求,但RIP的扩展性受到转发跳数的限制,且RIP每次进行路由更新都会占用大量带宽,链路故障后需要花费较长时间才能实现收敛,所以相比于后面出现的OSPF等路由协议,在路由收敛速度上存在明显不足,无法用在一些现代的大型复杂网络中