前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >动态路由协议之RIP协议,最古老的距离矢量协议!

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

原创
作者头像
网络技术联盟站
发布2022-06-02 17:51:14
1.2K0
发布2022-06-02 17:51:14
举报

你好,这里是网络技术联盟站。

前两天给大家分享了静态路由协议和动态路由协议:

今天给大家介绍的是动态路由中的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命令:

思科

代码语言:txt
复制
router rip

network 172.16.1.0

华为

代码语言:txt
复制
rip

network 172.16.1.0

H3C

代码语言:txt
复制
rip

network 172.16.1.0

同华为

锐捷

代码语言:txt
复制
router rip

network 172.16.1.0

同思科

总结

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

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

  • 什么是RIP?
代码语言:txt
复制
- RIP 跳数
  • RIP 如何工作?
  • RIP版本
  • RIP 三个版本比较
  • RIP 定时器
代码语言:txt
复制
- 更新计时器(30 秒)
代码语言:txt
复制
- 无效定时器(180 秒)
代码语言:txt
复制
- 抑制定时器(180 秒)
代码语言:txt
复制
- 刷新定时器(240 秒)
  • RIP 防环机制
代码语言:txt
复制
- 1、水平分割
代码语言:txt
复制
- 2、毒性反转
  • RIP优缺点
代码语言:txt
复制
- 优点
代码语言:txt
复制
- 缺点
  • 各厂商配置
代码语言:txt
复制
- 思科
代码语言:txt
复制
- 华为
代码语言:txt
复制
- H3C
代码语言:txt
复制
- 锐捷

朋友们,你明白了吗?

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 什么是RIP?
    • RIP 跳数
    • RIP 如何工作?
    • RIP版本
      • RIP 三个版本比较
      • RIP 定时器
        • 更新计时器(30 秒)
          • 无效定时器(180 秒)
            • 抑制定时器(180 秒)
              • 刷新定时器(240 秒)
              • RIP 防环机制
                • 1、水平分割
                  • 2、毒性反转
                  • RIP优缺点
                    • 优点
                      • 缺点
                      • 各厂商配置
                        • 思科
                          • 华为
                            • H3C
                              • 锐捷
                              • 总结
                              相关产品与服务
                              负载均衡
                              负载均衡(Cloud Load Balancer,CLB)提供安全快捷的流量分发服务,访问流量经由 CLB 可以自动分配到云中的多台后端服务器上,扩展系统的服务能力并消除单点故障。负载均衡支持亿级连接和千万级并发,可轻松应对大流量访问,满足业务需求。
                              领券
                              问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档