一、RIP协议概述
RIP协议(Routing Information Protocol,路由信息协议)是一种基于距离矢量的内部网关协议,即根据跳数来度量路由开销,进行路由选择。
相比于其它路由协议(如OSPF、ISIS等),RIP协议实现更简单,对带宽、配置和管理等要求也更低,但受到路由跳数和收敛速度的限制,跳数大于15就认为网络不可达,所以无法用在大型复杂网络中。
- 优点:简单
- 缺点:适用于小型互连网
标准:
- RFC 1058:RIP1
- RFC 2453:RIP2,支持 CIDR、简单的鉴别及组播发送
- RFC 2080:RIPng,支持 IPv6
特点:
- RIP认为好的路由就是"距离短"的路由,也就是所通过路由器数量最少的路由。
- 当到达同一目的网络有多条"距离相等"的路由时,可以进行等价负载均衡。
1.1 RIP协议作用
在出现动态路由之前,静态路由有几个问题无法解决:
**问题一:**当网络拓扑结构和链路状态发生变化,需要对路由器的静态路由信息进行大范围修改,工作复杂度高。
**问题二:**网络发生故障时,不能重选路由,很可能使路由失败。
为了解决这些问题,动态路由协议 就出现了,路由器自动学习,自适应网络的变化,无需人工更改配置。
1.2 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的原因:避免大量路由器同时发送路由表而造成网络拥塞
在经过第一个30s的更新之后,这3个路由器的路由表如下图:
路由器的第二个更新周期到来,路由器将会再次向邻居发送路由表。RTA发送路由表给RTB,但是RTB已经不需要学习了。
不用学习的原因:RTB的路由表中包含RTA的所有网段。
RTB将自己的路由表发送给RTA,RTA会将40.0.0.0这个网段加到自己的路由表中,添加下一跳地址标志为20.0.0.2(因为是通过这个端口收到的),并添加距离标记为2。RTC也会同样更新自己的路由表。最后的路由表如下图:
总结
RIP是一种出现较早的路由协议,通过简单的距离矢量算法来计算到达目的网络的最佳路径 ,实现和维护起来都比较容易,能够满足早期小型网络 的需求,但RIP的扩展性受到转发跳数的限制 ,且RIP每次进行路由更新都会占用大量带宽,链路故障后需要花费较长时间才能实现收敛,所以相比于后面出现的OSPF等路由协议,在路由收敛速度上存在明显不足,无法用在一些现代的大型复杂网络中。
三、RIP协议基本配置
RIPv1
bash
[r1]rip 1 ----启动RIP协议,并配置进程号,进程号仅具备本地意义。
[r1-rip-1]version 1 -----选择RIP版本
[r1-rip-1]network 12.0.0.0 -----宣告地址,激活接口并发布路由
宣告:
- 需要宣告所有直连网段
- 必须按照主类地址宣告
RIPv2
bash
[r1]rip 1
[r1-rip-1]version 2
[r1-rip-1]undo summary ----关闭自动汇总功能,如果不关闭,宣告的属于同一个主类的路由就会
自动汇总;该功能在华为上不需要配置,因为华为默认关闭自动汇总功能。
[r1-rip-1]network 192.168.0.0