计算机网络-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 1undo 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 : RIPDestinations : 5        Routes : 5        RIP routing table status : <Active>Destinations : 5        Routes : 5Destination/Mask    Proto   Pre  Cost      Flags NextHop         Interface1.1.1.1/32  RIP     100  3           D   34.1.1.3        GigabitEthernet
0/0/22.2.2.2/32  RIP     100  2           D   34.1.1.3        GigabitEthernet
0/0/23.3.3.3/32  RIP     100  1           D   34.1.1.3        GigabitEthernet
0/0/212.1.1.0/24  RIP     100  2           D   34.1.1.3        GigabitEthernet
0/0/223.1.1.0/24  RIP     100  1           D   34.1.1.3        GigabitEthernet
0/0/2RIP routing table status : <Inactive>Destinations : 0        Routes : 0

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

本文由 mdnice 多平台发布

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

如若内容造成侵权/违法违规/事实不符,请联系瞎胡闹网进行投诉反馈,一经查实,立即删除!

相关文章

四数之和【双指针】

三数之和 举一反三 class Solution { public:vector<vector<int>> fourSum(vector<int> &nums, int target){sort(nums.begin(), nums.end());vector<vector<int>> ret;int first 0, n nums.size();while (first < n){int second firs…

康耐视visionpro-CogBlobTool工具详细说明

CogBlobTool功能说明: 通过设置灰度值提取感兴趣区域,并分析所提取区域的面积、长宽等参数。 CogBlobTool操作说明: ①.打开工具栏,双击或点击鼠标拖拽添加CogBlobTool工具 ②.添加输入图像:单击鼠标右键“链接到”或以连线拖拽的方式选择相应输入源 ③.极性:“白底黑点…

宝宝洗澡时间:精心呵护,打造温馨时刻

引言&#xff1a; 给新生儿洗澡是每位父母的日常之一&#xff0c;而选择适当的洗澡时间对宝宝的健康和舒适度至关重要。在本文中&#xff0c;我们将探讨宝宝洗澡时间的注意事项&#xff0c;为您提供正确的洗澡时间和洗澡技巧&#xff0c;让宝宝在洗澡过程中感受到温暖舒适的体验…

Python基本运算

1.逻辑运算符 第四行会有黄色的下划线是因为这个不是系统推荐的写法&#xff0c;系统推荐的是第五行的链式比较&#xff1b; 2.短路求值 对于and而言&#xff0c;左边的语句是false&#xff0c;那么整体一定是false,右边的表达式就不会进行计算&#xff1b; 对于or而言&…

STM32 PWM通过RC低通滤波转双极性SPWM测试

STM32 PWM通过RC低通滤波转双极性SPWM测试 &#x1f4cd;参考内容《利用是stm32cubemx实现双极性spwm调制 基于stm32f407vet6》&#x1f4fa;相关视频链接&#xff1a;https://www.bilibili.com/video/BV16S4y147hB/?spm_id_from333.788 双极性SPWM调制讲解以及基于stm32的代码…

基于TensorFlow的花卉识别(算能杯)%%%

Anaconda Prompt 激活 TensorFlow CPU版本 conda activate tensorflow_cpu //配合PyCharm环境 直接使用TensorFlow1.数据分析 此次设计的主题为花卉识别&#xff0c;数据为TensorFlow的官方数据集flower_photos&#xff0c;包括5种花卉&#xff08;雏菊、蒲公英、玫瑰、向日葵…

基于Echarts的超市销售可视化分析系统(数据+程序+论文)

本论文旨在研究Python技术和ECharts可视化技术在超市销售数据分析系统中的应用。本系统通过对超市销售数据进行分析和可视化展示&#xff0c;帮助决策层更好地了解销售情况和趋势&#xff0c;进而做出更有针对性的决策。本系统主要包括数据处理、数据可视化和系统测试三个模块。…

进阶了解C++(6)——二叉树OJ题

Leetcode.606.根据二叉树创建字符串&#xff1a; 606. 根据二叉树创建字符串 - 力扣&#xff08;LeetCode&#xff09; 难度不大&#xff0c;根据题目的描述&#xff0c;首先对二叉树进行一次前序遍历&#xff0c;即&#xff1a; class Solution { public:string tree2str(Tr…

php 快速入门(七)

一、操作数据库 1.1 操作MySQL的步骤 第一步&#xff1a;登录MySQL服务器 第二步&#xff1a;选择当前数据库 第三步&#xff1a;设置请求数据的字符集 第四步&#xff1a;执行SQL语句 1.2 连接MySQL 函数1&#xff1a;mysql_connect() 功能&#xff1a;连接&#xff08;登录…

Linux根据时间删除文件或目录

《liunx根据时间删除文件》和 《Linux 根据时间删除文件或者目录》已经讲述了根据时间删除文件或目录的方法。 下面我做一些补充&#xff0c;讲述一个具体例子。以删除/home目录下的文件为例。 首先通过命令&#xff1a; ls -l --time-style"%Y-%m-%d %H:%M:%S"…

详解:JS的四种异步解决方案之分布/订阅,及其利弊。

上期讲了详解&#xff1a;JS异步解决方案之分布/订阅&#xff0c;及其弊端&#xff0c;原文链接在文章后面&#xff0c;分布/订阅是异步的一种方式而已&#xff0c;本期讲解第六个方案。 一、什么是分布/订阅 分布/订阅&#xff08;Publish/Subscribe&#xff09;是一种软件架…

YOLOv9改进策略:注意力机制 | FocalNet焦点调制注意力取代自注意力

&#x1f4a1;&#x1f4a1;&#x1f4a1;本文改进内容&#xff1a;由于自注意力二次的计算复杂度效率较低&#xff0c;尤其是对于高分辨率输入。因此&#xff0c;作者提出了focal modulation network&#xff08;FocalNet&#xff09;使用焦点调制模块来取代自注意力。 改进结…

黑群晖基于docker配置frp内网穿透

前言 我的黑群晖需要设置一下内网穿透来外地访问&#xff0c;虽然zerotier的p2p组网已经很不错了&#xff0c;但是这个毕竟有一定的局限性&#xff0c;比如我是ios的国区id就下载不了zerotier的app&#xff0c;组网不了 1.下载镜像 选择第一个镜像 2.映射文件 配置frpc.ini&a…

Python:文档注释、类型标注和注释宏# type:

目录 1、增加文档注释2、增加类型标注3、增加注释宏 看一段简单的代码 def add(x, y):return x y如下代码调用函数&#xff0c;可以正常执行 print(add(1, 2)) # 3 print(add(1, 2)) # 121、增加文档注释 def add(x, y):"""sum x and y:param x: int:param y…

企业年报组织机构代码查询入口

全国组织机构代码由八位数字&#xff08;或大写拉丁字母&#xff09;本体代码和一位数字&#xff08;或大写拉丁字母&#xff09;校验码&#xff0c;共9位组成&#xff1b; 组织机构代码在哪里怎么查询&#xff1f; 1、打开「词令」小程序&#xff1b; 2、打开词令小程序后&am…

Python学习之-推导式

前言&#xff1a; 什么是推导式&#xff1f; Python的推导式&#xff08;comprehension&#xff09;是一种简洁、灵活的构建序列&#xff08;如列表、字典、集合&#xff09;的方法。推导式常用于根据某个序列或可迭代对象来创建新的序列&#xff0c;遵循特定的规则或应用函数…

2014年认证杯SPSSPRO杯数学建模B题(第二阶段)位图的处理算法全过程文档及程序

2014年认证杯SPSSPRO杯数学建模 B题 位图的处理算法 原题再现&#xff1a; 图形&#xff08;或图像&#xff09;在计算机里主要有两种存储和表示方法。矢量图是使用点、直线或多边形等基于数学方程的几何对象来描述图形&#xff0c;位图则使用像素来描述图像。一般来说&#…

Xilinx IDDR及ODDR使用和仿真

平台&#xff1a;Vivado2018 官方相关文档&#xff0c;ug471_7Series_SelectIO.pdf 关于IDDR与ODDR Input DDR Resource(IDDR) 外部的数据在时钟的上下沿同时传输数据&#xff0c;我们可以使用IDDR原语将输入的单bit数据转化为2bit的数据输出。同时数据速率变为原来的二分之一…

基于java+springboot+vue实现的宠物领养救助平台(文末源码+Lw+ppt)23-363

摘 要 宠物领养救助平台采用B/S架构&#xff0c;数据库是MySQL。网站的搭建与开发采用了先进的java进行编写&#xff0c;使用了springboot框架。该系统从两个对象&#xff1a;由管理员和用户来对系统进行设计构建。主要功能包括&#xff1a;个人信息修改&#xff0c;对用户、…

N5230A安捷伦N5230A网络分析仪

181/2461/8938产品概述&#xff1a; Agilent N5230A 网络分析仪提供了速度和精度的卓越组合&#xff0c;用于测量多端口和平衡组件&#xff0c;例如高达 50 GHz 的滤波器、双工器和射频模块&#xff08;取决于选件&#xff09;。Agilent N5230A 分析仪的自动端口扩展功能可自动…