动态路由协议之 RIP 协议,最古老的距离矢量协议!
你好,这里是网络技术联盟站。
前两天给大家分享了静态路由协议和动态路由协议:
今天给大家介绍的是动态路由中的 RIP 协议,如果本文对您有帮助,可以收藏本文哦!
让我们直接开始!
什么是 RIP?
RIP 英文全称:Routing Information Protocol
,中文术语:路由信息协议,是一种距离矢量路由协议,用跳数作为路由度量。
RIP 是小型网络中最常用的动态路由协议之一,RIP 通过每 30 秒向相邻路由器发送路由表详细信息来定期交换拓扑信息,它们以 UDP 数据包的形式发送,源端口号和目标端口号都设置为 520。由于最大数据报大小仅为 504 字节,因此单个数据包中最多可以宣告 25 条路由。这些相邻路由器依次将信息转发给其他路由器,直到它们达到网络收敛。RIP 跳数最大限制为 15 跳,超出此范围的任何内容都无法访问,因此,RIP 不适用于大型复杂网络。
网络收敛,百度百科有相关解释,不过看起来真的很拗口,一句话解释:网络收敛就是一个网络中所有设备更新其路由表信息,达到路由一致的过程。
RIP 跳数
默认情况下,路由器到其直连网络的跳数为 0,从一台路由器到另外一台路由器跳数加 1,跳数的取值范围为 0 到 15 的整数,大于等于 16 的跳数为无穷大,表示目的网络或主机不可达。
RIP 如何工作?
RIP 基于距离矢量路由算法,根据到目标网络的跳数计算路由成本,在计算路由成本时不使用其他路由指标,例如负载、带宽、延迟。
下面我们用一个例子来直观的感受一下 RIP 的选路规则:
案例 1
如上图,R1 现在要和 R4 进行通信,目前有三个链路:
链路 1:R1 -> R2 -> R3 -> R4
链路 2:R1 -> R5 -> R6 -> R7 -> R4
链路 3:R1 -> R8 -> R4
这个时候我们可以很直观的看出每条链路的跳数:
链路 1:3 跳
链路 2:4 跳
链路 3:2 跳
看跳数最好最快的办法就是一条链路就是一跳,如下图:
那么答案毫无悬念:选择跳数最小的链路 3:
案例 2
案例 1 是链路的跳数都不一样,那加入跳数一样的情况,RIP 如何选路的呢?
如上图,R1 现在要和 R4 进行通信,目前有两个链路:
链路 1:R1 -> R2 -> R3 -> R4
链路 2:R1 -> R5 -> R6 -> R4
这个时候我们可以很直观的看出每条链路的跳数:
链路 1:3 跳
链路 2:3 跳
上面我们提到过,RIP 在计算路由成本时不使用其他路由指标,例如负载、带宽、延迟。所以这里起到了负载均衡的作用,网络将同时向两条路由发送数据。
RIP 版本
RIP 有三个版本:
RIPv1:在 RFC 1058 中定义,有类路由协议,由 IP 目标网络和跳数指定
RIPv2:在 RFC 1723 中定义,无类别路由协议,路由表被发送到多播地址,从而减少网络流量。
RIPng:下一代 RIP,在 RFC 2080 中定义,是 RIPv2 的扩展,用于支持下一代互联网协议 IPv6。
RIP v1 被称为有类路由协议,因为它在路由更新中不发送子网掩码信息。
RIP v2 被称为无类路由协议,因为它在其路由更新中发送子网掩码信息。
RIP 三个版本比较
RIP 定时器
RIP 有四种定时器:
更新计时器
无效定时器
抑制定时器
刷新定时器
更新计时器(30 秒)
更新计时器就是路由更新的频率,时间为 30 秒。
无效定时器(180 秒)
如果直到 180 秒没有更新,则目标路由器认为它无效。
抑制定时器(180 秒)
路由器等待邻居路由器响应的时间,默认时间为 180 秒。
刷新定时器(240 秒)
在路由被宣布为无效后,RIP 将额外等待 60 秒,所以刷新的总时间为 180 + 60 = 240 秒。
RIP 防环机制
路由中难免会出现环路,RIP 也不例外,RIP 常见的主要有以下防环机制:
水平分割
毒性反转
1、水平分割
水平分割防止向始发路由器通告相同的路由。
这个乍一看是不是很难理解?
我们来举个栗子:
现在有一个小型的网络,三台路由器:R1、R2、R3,R1 和 R2 之间的网段为 172.16.1.0/24:
现在 R2 要将 172.16.1.0/24 宣告给 R3:
R3 收到该路由信息后更新其路由表,因为 RIP 的刷新定时器为 30 秒,所以 30 秒后,R3 开始将自己的路由表信息广播通告给附近所有的路由器,包括 R2:
这样一来,R2 和 R3 就会不停的向对方互发 172.16.1.0/24 路由协议,形成了一个环路:
水平分割防止这种类型在网络中循环,R3 知道 R2 早先广播了网络 172.16.1.0/24,因此 R3 不会将此更新发送给 R2:
这样就避免了环路!
这就是水平分割。
2、毒性反转
毒性反转,网上八股文讲的太死板了,我这边直接举个栗子:
还是这个拓扑图,假如这个时候 172.16.1.0/24 网段发生故障,这个时候只有 R2 知道这个事:
假如 R2 上配置了毒性反转,那么此时会把 172.16.1.0/24 的跳数变为 16,广播给其他路由器,也就是 R3:
R3 一看 172.16.1.0/24 的跳数为 16,代表路由不可达,就知道 172.16.1.0/24 这条路行不通了,但是这还是一条路由信息,随机广播给其他路由器,这样就跟毒性一样传播了,所有的路由器都知道了 172.16.1.0/24 网络不可达,避免了环路。
这就是毒性反转。
RIP 优缺点
优点
易于理解和配置,适用于小型网络
使用范围广,基本上所有路由器都支持
负载均衡实现相对比较简单
当网络发生变化时,会自动发送触发更新
缺点
最大跳数是 15 跳,不适合大规模的网络
每 30 秒广播一次更新,因此会造成流量瓶颈
不支持可变长度子网掩码
路由更新占用了大量带宽,造成资源浪费
各厂商配置
这边分享几个常见厂商的 rip 命令:
思科
华为
H3C
同华为
锐捷
同思科
总结
RIP 是最简单、最古老的距离矢量路由协议之一,AD 值为 120,工作在 OSI 模型的网络层,RIP 使用端口号 520,RIP 对于小型网络非常实用。
本文瑞哥主要给大家介绍了:
什么是 RIP?
RIP 跳数
RIP 如何工作?
RIP 版本
RIP 三个版本比较
RIP 定时器
更新计时器(30 秒)
无效定时器(180 秒)
抑制定时器(180 秒)
刷新定时器(240 秒)
RIP 防环机制
1、水平分割
2、毒性反转
RIP 优缺点
优点
缺点
各厂商配置
思科
华为
H3C
锐捷
朋友们,你明白了吗?
版权声明: 本文为 InfoQ 作者【wljslmz】的原创文章。
原文链接:【http://xie.infoq.cn/article/bca83f1e68dcc1fd33257e492】。未经作者许可,禁止转载。
评论