计算机网络-RIP动态路由协议简介

一、概述

前面我们学习了动态路由协议按照工作机制及算法划分可以分为:距离矢量路由协议DV型和链路状态路由协议LS型。RIP就是典型的距离矢量路由协议,但是实际工作中用得已经比较少了。

  • 距离矢量路由协议DV:
  1. RIP
  • 链路状态路由协议LS:
  1. OSPF
  2. IS-IS

二、RIP(路由信息协议)

RIP(Routing Information Protocol)路由协议是一种基于距离矢量算法的动态路由选择协议。它主要用于在小型到中型网络中自动计算和更新路由表,以便网络设备能够选择最佳路径来转发数据包。RIP协议使用UDP的520端口作为传输协议,并通过定期发送和接收路由更新信息来维护网络中的路由表。每个路由器都会根据收到的路由信息计算到达目标网络的“跳数”,并以此为依据选择最佳的转发路径,最大跳数为16,超过就表示路由不可达。

2.1 RIP的版本

RIP(Routing Information Protocol)经历了两个主要版本的发展,分别为RIPV1和RIPV2:

RIPv1:

  • 发布于1980年代初期,是最早的版本。
  • 它是一个有类别(Classful)路由协议,不支持变长子网掩码(VLSM)和无类别域间路由选择(CIDR)。
  • RIP v1不包含子网掩码信息在其路由更新中,因此所有宣告的网络都被假设为A、B、C类网络的传统掩码。
  • 更新报文仅能通过广播方式发送(255.255.255.255)。
  • 不支持认证机制以保证安全性。
报文格式
报文格式

RIPv2:

  • 是对RIPv1的重大改进,增加了许多新特性以适应更大规模和更复杂的网络环境。
  • 支持VLSM和CIDR,能够处理非传统类别的子网划分。
  • 在路由更新中包含了子网掩码信息,使得精确路由成为可能。
  • 提供了路由验证功能,支持明文认证和MD5加密认证。
  • 能够通过组播地址(224.0.0.9)发送更新报文,同时也支持广播方式。
  • 支持手工路由聚合以减少路由表大小。
RIPV2报文格式
RIPV2报文格式

总的来说就是V1版本只能基于A、B、C类进行路由通告而不能根据网段掩码进行通告,以及一些安全功能和路由聚合。

2.2 RIP的工作原理

RIP协议的工作原理主要基于以下几个步骤:

  • 路由表维护:每个运行RIP协议的路由器都会维护一个路由表,其中包含了到达各个目的网络的最佳路径信息。
  • 路由更新:路由器会定期(通常是每30秒)向相邻的路由器发送路由更新报文,其中包含了本路由器所知道的路由信息。这些报文包含了目的网络、下一跳地址以及到达目的网络的跳数。
  • 计算最佳路径:当路由器收到相邻路由器的路由更新报文时,它会根据报文中的信息计算到达目的网络的最佳路径。这通常是通过比较不同路径的跳数来实现的,选择跳数最少的路径作为最佳路径。
  • 路由表更新:如果路由器根据收到的路由更新报文计算出了更好的路径,它会更新自己的路由表,并将新的路由信息发送给相邻的路由器。

示例 概括:每个运行RIP的路由器更新路由是进行全量泛洪更新,因此会占用大量带宽;每30S进行更新请求,超过180S无应答标记为路由不可达;每经过一个三层设备距离(跳数)增加1,大于15时路由不可达;RIPV1通过广播进行泛洪,RIPV2通过组播224.0.0.9进行泛洪,减少了广播流量对资源占用的影响。

实验示例
实验示例
报文抓包
报文抓包
每30S更新
每30S更新

2.3 RIP的防环机制

  • 水平分割(Split Horizon):路由器不会将从某个接口学习到的路由信息再通过同一接口广播出去。
  • 毒性逆转(Poison Reverse):当路由器撤销某条路由时,会将其标记为无限大(16跳)并继续广播出去,这样其他路由器就不会选择这条失效的路由。
  • 触发更新(Triggered Updates):一旦检测到路由发生变化,立刻发送更新信息,而不是等待下一轮定时更新,以快速收敛网络。
  • 最大跳数限制:由于RIP的最大跳数限制为15跳,这也在一定程度上防止了环路的出现,因为任何超过15跳的路由被认为是无穷大,不再被考虑。

2.4 配置示例

# 接口地址配置
正常配置即可

# rip 进程号,与ospf进程号类似
rip 1
 undo summary          # 关闭路由汇总功能
 version 2             # 指定使用RIPV2版本
 network 12.0.0.0      # 宣告路由
 network 1.0.0.0       # 宣告路由

# 查看RIP路由
[AR4]display ip routing-table protocol rip
Route Flags: R - relay, D - download to fib
------------------------------------------------------------------------------
Public routing table : RIP
         Destinations : 5        Routes : 5        

RIP routing table status : <Active>
         Destinations : 5        Routes : 5

Destination/Mask    Proto   Pre  Cost      Flags NextHop         Interface

        1.1.1.1/32  RIP     100  3           D   34.1.1.3        GigabitEthernet
0/0/2
        2.2.2.2/32  RIP     100  2           D   34.1.1.3        GigabitEthernet
0/0/2
        3.3.3.3/32  RIP     100  1           D   34.1.1.3        GigabitEthernet
0/0/2
       12.1.1.0/24  RIP     100  2           D   34.1.1.3        GigabitEthernet
0/0/2
       23.1.1.0/24  RIP     100  1           D   34.1.1.3        GigabitEthernet
0/0/2

RIP routing table status : <Inactive>
         Destinations : 0        Routes : 0

总结:RIP路由协议使用跳数进行度量,简单说就是从哪个接口出去,经过了多少跳三层路由设备,超过16则不可达。每30S进行路由更新,而且路由更新是全量更新,占用资源较大。通过上面几种防环机制进行控制。由于它的一些限制,因此实际上现实情况已经很少使用了,仅作了解即可。

本文由 mdnice 多平台发布

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/507081.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

3.2、单选框(Radio)

Radio是单选框组件,通常用于提供相应的用户交互选择项,同一组的Radio中只有一个可以被选中。 创建单选框 该接口用于创建一个单选框,其中 value 是单选框的名称,group 是单选框的所属群组名称。checked 属性可以设置单选框的状态,状态分别为 false 和 true 时,设置为 t…

《极客时间TonyBai go语言第一课》学习笔记

文章目录 前置篇显式组合并发 入门篇Go 包的初始化次序![在这里插入图片描述](https://img-blog.csdnimg.cn/direct/1388d0d1bddd4a37b98eba5fcb41fc4d.png)初始化一个项目 大纲 前置篇 显式 在 C 语言中&#xff0c;下面这段代码可以正常编译并输出正确结果&#xff1a; #i…

备考ICA----Istio实验12---配置双向TLS Istio Ingress Gateway实验

备考ICA----Istio实验12—配置双向TLS Istio Ingress Gateway实验 本实验部分配置延续上个Istio实验11 1. 重新配置secret 重新配置secret使其带有ca证书可以验证客户端证书是否合法 先删除原有secret,再配置新的secret # 删除原tls类型的secret kubectl -n istio-system d…

【C】leetcode力扣—— 141. 环形链表Ⅰ

目录 141. 环形链表 Ⅰ题目解题思路分析暴力求解&#xff1f;&#xff1f;快慢指针 代码 141. 环形链表 Ⅰ 题目链接: https://leetcode.cn/problems/linked-list-cycle/description/ 题目 题目 给你一个链表的头节点 head &#xff0c;判断链表中是否有环。 如果链表中有某…

【MySQL笔记】SELECT COUNT(*) 的时候,加不加where条件有差别吗?

文章目录 前言实验结论 前言 这部分很多帖子都只在问题里罗列下&#xff0c;好像也没详细解答 其实就是跟InnoDB优先走二级索引的优化有关&#xff0c;前面也提到了”优化的前提是查询语句中不包含where条件和group by条件“ 还不太了解这个优化的朋友可以看上一篇帖子 实验 …

【C++程序员的自我修炼】基础语法篇(二)

风力掀天浪打头 只须一笑不须愁 目录 内联函数 概念&#x1f49e; 性质 ⭐ 不建议变量分离 inline的优劣势 inline的局限性 auto关键字 auto的概念&#x1f49e; auto的使用细则&#x1f49e; auto不能推导的场景 &#x1f49e; auto基于范围的for循环&#x1f49e; 指针空值n…

谈谈对CPU IOwait的理解

谈谈对CPU IOwait的理解 %iowait表示在一个采样周期内有百分之几的时间属于以下情况&#xff1a;CPU空闲并且有仍未完成的I/O请求&#xff08;如果单纯是CPU空闲&#xff0c;但是并没有IO请求&#xff0c;那么这个时间就是CPU的idle时间&#xff09;&#xff0c;两个条件必须同…

JAVA学习笔记21

1.IDEA的使用 1.ctrl B 快速定位到方法 2.ctrl Y 快速删除行 3.ctrl D 快速复制行 4.ctrl H 查看继承的层级关系 5.快速格式化代码 ctrl shift L 6.alt R 快速允许程序 7.ctrl / 快速添加注释 1.包(软件包) 1.1包的三大作用 1.区分相同名字的类 2.当类很多的…

宝宝洗衣机买几公斤?四款顶尖婴儿洗衣机合集分享

由于婴儿类衣服的数目以及体积&#xff0c;一般婴儿洗衣机的体积比普通的家用洗衣机要小&#xff0c;而且在功能上比传统的大型洗衣机多了一个高温蒸煮除菌的功能。婴儿洗衣机和传统的大型洗衣机一样&#xff0c;都是具有着波轮式清洗方式和滚筒式清洗方式两种不同的选择&#…

【C++】Google Gtest测试框架的使用

本文首发于 ❄️慕雪的寒舍 gtest模块的安装参考站内教程 ubuntu安装google gtest 本文使用的gtest版本为1.14.0&#xff1b; 1.gtest是用来干嘛的&#xff1f; google gtest是一个c的单元测试模块&#xff0c;它提供了一系列规范化的宏&#xff0c;来帮助我们进行函数的单元…

Linux之 线程池 | 单例模式的线程安全问题 | 其他锁

目录 一、线程池 1、线程池 2、线程池代码 3、线程池的应用场景 二、单例模式的线程安全问题 1、线程池的单例模式 2、线程安全问题 三、其他锁 一、线程池 1、线程池 线程池是一种线程使用模式。线程池里面可以维护一些线程。 为什么要有线程池&#xff1f; 因为在…

一文教会女朋友学会日常Git使用!Git知识总结

文章目录 一文教会女朋友学会日常Git使用&#xff01;Git知识总结一、git基本知识了解1.git简介2.git区域了解3.git常用命令 二、常用工作场景1.克隆远程仓库&#xff0c;把仓库代码拉到本地2.推送代码到远程仓库&#xff08;1&#xff09;本地代码和远程仓库版本相同&#xff…

细谈SolidWorks教育版的一些基础知识

SolidWorks教育版是一款广泛应用于工程设计和教育领域的三维建模软件。它具备直观易用的操作界面和强大的设计功能&#xff0c;为学生提供了一个学习和实践的平台。在本文中&#xff0c;我们将详细探讨SolidWorks教育版的一些基础知识&#xff0c;帮助初学者更好地了解和掌握这…

鸿蒙实战开发-如何使用三方库

使用三方库 在使用三方库之前&#xff0c;需要安装 ohpm&#xff0c;并在环境变量中配置。 在项目目录的Terminal窗口执行ohpm命令下载依赖 ohpm install yunkss/eftool 命令运行成功后&#xff0c;在项目的oh-package.json5文件中会自动添加上依赖&#xff0c;如下所示&am…

【氮化镓】GaN器件中关态应力诱导的损伤定位

概括总结&#xff1a; 这项研究通过低频1/f噪声测量方法&#xff0c;探究了在关态&#xff08;OFF-state&#xff09;应力作用下&#xff0c;AlGaN/GaN高电子迁移率晶体管&#xff08;HEMTs&#xff09;中由应力引起的损伤的定位。研究中结合了电致发光&#xff08;EL&#xf…

【Java面试题系列】基础篇

目录 基本常识标识符的命名规则八种基本数据类型的大小&#xff0c;以及他们的封装类3*0.10.3返回值是什么short s1 1; s1 s1 1;有什么错? short s1 1; s1 1;有什么错?简述&&与&的区别&#xff1f;简述break与continue、return的区别&#xff1f;Arrays类的…

(负载点电源)PCD3203高转换率同步降压40V/3A内置高低侧MOSFET只需极少外围元件

1. 产品特性 ➢ 输入电压范围&#xff1a; 4.5V~40V ➢ 最大负载&#xff1a; 3A ➢ 上下管导通电阻&#xff1a; 110mΩ/70mΩ ➢ 软启保护时间 tss&#xff1a; 1ms ➢ 工作频率范围&#xff1a; 500kHz~2.5MHz ➢ 逐周期峰值电流限制 ➢ 内部补偿 ➢ 可调的输入欠压…

这个AI 应用万人使用:真人视频转动漫、手绘风,丝滑感前所未有

视频的次元壁就这么被打破了。 在 AI 的加持下&#xff0c;真人视频变身二次元就这么简单 只需要导入原始视频&#xff0c;它就可以帮你把视频改成你想要的风格&#xff0c;比如动漫风、手绘风或者 3D 卡通风格。 这一应用一经推出立刻引起了很多人的关注 因其操作简单&#x…

蓝桥杯-穿越雷区

题目要求 需求&#xff1a;从一个方格中A点&#xff0c;按要求移动到B点。 要求&#xff1a;每次只能走上下左右&#xff0c;每次只能走一次&#xff0c;每次是轮换穿越’‘,’-两个&#xff0c;否则就会能量失衡&#xff0c;发生爆炸。 使用的算法&#xff1a;这题典型的就是使…

nginx的安装教程

文章目录 简介nginx安装windows下安装linux下安装 简介 nginx是一个开源的web服务器和反向代理服务器&#xff0c;可以用作负载均衡和HTTP缓存。它处理并发能力是十分强大的&#xff0c;能够经受高负载的考验。 正向代理 Nginx不仅可以做反向代理&#xff0c;实现负载均衡&am…