写点什么

动态路由协议之 RIP 协议,最古老的距离矢量协议!

作者:wljslmz
  • 2022 年 6 月 02 日
  • 本文字数:2289 字

    阅读完需:约 8 分钟

动态路由协议之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 命令:

思科

router ripnetwork 172.16.1.0
复制代码

华为

ripnetwork 172.16.1.0
复制代码

H3C

ripnetwork 172.16.1.0
复制代码


同华为

锐捷

router ripnetwork 172.16.1.0
复制代码


同思科

总结

RIP 是最简单、最古老的距离矢量路由协议之一,AD 值为 120,工作在 OSI 模型的网络层,RIP 使用端口号 520,RIP 对于小型网络非常实用。


本文瑞哥主要给大家介绍了:


  • 什么是 RIP?

  • RIP 跳数

  • RIP 如何工作?

  • RIP 版本

  • RIP 三个版本比较

  • RIP 定时器

  • 更新计时器(30 秒)

  • 无效定时器(180 秒)

  • 抑制定时器(180 秒)

  • 刷新定时器(240 秒)

  • RIP 防环机制

  • 1、水平分割

  • 2、毒性反转

  • RIP 优缺点

  • 优点

  • 缺点

  • 各厂商配置

  • 思科

  • 华为

  • H3C

  • 锐捷


朋友们,你明白了吗?

发布于: 刚刚阅读数: 4
用户头像

wljslmz

关注

极致主义者,追求技术的路上,勇往直前! 2021.05.24 加入

订阅号:网络技术联盟站 个站:https://www.wljslmz.cn

评论

发布
暂无评论
动态路由协议之RIP协议,最古老的距离矢量协议!_IP_wljslmz_InfoQ写作社区