计算机网络-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://www.mzph.cn/news/777952.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

深入Spark与LDA:大规模文本主题分析实战

使用LDA模型和Spark进行文本主题分析 本篇博客介绍了如何使用LDA&#xff08;潜在狄利克雷分配&#xff09;模型和Spark进行文本主题分析。我们的目标是从大量的用户评论中提取出主题。 1. 环境设置 首先&#xff0c;我们需要导入所需的库&#xff0c;包括jieba&#xff08;…

Java八股文(JVM)

Java八股文のJVM JVM JVM 什么是Java虚拟机&#xff08;JVM&#xff09;&#xff1f; Java虚拟机是一个运行Java字节码的虚拟机。 它负责将Java程序翻译成机器代码并执行。 JVM的主要组成部分是什么&#xff1f; JVM包括以下组件&#xff1a; ● 类加载器&#xff08;ClassLoa…

当当狸智能激光雕刻机 多种材质自由雕刻,轻松打造独一无二的作品

提及“激光雕刻”&#xff0c;大多数人的印象一般都是&#xff1a;笨重巨大、价格昂贵、操作复杂、使用门槛较高、调试难度大...不是普通人能够随意操作的&#xff0c;让人望尘莫及。 而小米有品上新的这台「当当狸桌面智能激光雕刻机L1」&#xff0c;将超乎你的想象&#xff…

JimuReport积木报表 v1.7.4 公测版本发布,免费的JAVA报表工具

项目介绍 一款免费的数据可视化报表&#xff0c;含报表和大屏设计&#xff0c;像搭建积木一样在线设计报表&#xff01;功能涵盖&#xff0c;数据报表、打印设计、图表报表、大屏设计等&#xff01; Web 版报表设计器&#xff0c;类似于excel操作风格&#xff0c;通过拖拽完成报…

【C语言基础】:数据在内存中的存储

文章目录 一、整数在内存中的存储二、大小端字节序和字节序判断1. 为什么有大小端&#xff1f;2. 练习 三、浮点数在内存中的存储1. 浮点数的存储1.1 浮点数的存储过程1.2 浮点数取的过程 四、题目解析 书山有路勤为径&#xff0c;学海无涯苦作舟。 创作不易&#xff0c;宝子们…

轻量级检测模型效果一定差?基于轻量级目标检测模型构建布匹瑕疵检测模型,对比分析不同分辨率图像尺度对模型效果的影响

瑕疵类的检测模型如&#xff1a;工业部件瑕疵、瓷砖瑕疵、PCB瑕疵、布匹瑕疵等等&#xff0c;在我们之前的博文中已经有过很多相关的开发实践了&#xff0c;这里就不再一一列举了&#xff0c;感兴趣的话可以直接搜索关键字信息博文内容即可一键直达。 因为本文的实验对象选择的…

structured bindings is supported from c++17

结构化绑定可以绑定结构体、数组和 tuple-like 对象。 完整示例&#xff1a; #include <iostream> #include <format> #include <iomanip>void test_00(){struct Box{int width_;int height_;std::string name_;};Box box{3,4,"amazing"};auto [w…

YOLOv9改进策略 | 损失函数篇 | InnerIoU、InnerMPDIoU二次创新损失函数助力小目标检测(全网独家首发)

一、本文介绍 本文给大家带来的改进机制是InnerIoU以及包含其它二次创新的代码InnerCIoU、InnerMPDIoU等一些列利用Inner形成的二次创新损失函数&#xff0c;到此大家可能比较模糊为啥Inner能够和其他损失函数形成二次创新&#xff0c;Inner又是一个什么样的机制&#xff0c;开…

【1】网络协议基础概念

【1】网络协议基础知识 1、互联网2、为什么要学习网络协议3、学习中需要搭建的环境4、客户端-服务器5、Java 的跨平台原理6、C/C的跨平台原理7、一个简单的SpringBoot项目(1) pom.xml(2) application.yml(3) NetworkStudyApp.java(4) SwaggerConfig.java(5) HelloWorldControll…

Git--08--Git分支合并操作

提示&#xff1a;文章写完后&#xff0c;目录可以自动生成&#xff0c;如何生成可参考右边的帮助文档 文章目录 Git分支合并操作案例流程客户端&#xff1a;GitExtensions操作步骤&#xff1a;A操作步骤&#xff1a;B操作步骤&#xff1a;C操作步骤&#xff1a;D操作步骤&#…

Vue挂载全局方法

简介&#xff1a;有时候&#xff0c;频繁调用的函数&#xff0c;我们需要把它挂载在全局的vue原型上&#xff0c;方便调用&#xff0c;具体怎么操作&#xff0c;这里来记录一下。 一、这里以本地存储的方法为例 var localStorage window.localStorage; const db {/** * 更新…

LockSupport与线程中断机制

中断机制是个协商机制 Interrupt(): 将中断状态设置为true Interrupted():&#xff08;静态方法&#xff09; 1.返回当前线程的中断状态 2.将中断状态清零并设置为false is Interrupted(): 判断当前线程是否被中断 如何停止中断运行中的线程&#xff1f; 一个线程不应该由…

星光/宝骏/缤果/长安 车机CarPlay手机操作破解教程V2.0版本(无需笔记本、无需笔记本、无需笔记本)

之前写了个1.0版本&#xff0c;由于太局限&#xff0c;需要用到笔记本才能操作&#xff0c;很多车友反馈不方便。特此出个手机版教程&#xff0c;简单easy&#xff0c;妈妈再也不用担心我搞不定啦 一、准备工作 先卸载车机上的autokit 或者 智能互联 app&#xff0c;这步很关…

echarts 3D示例 echart, echarts-gl

echarts官网有很多的炫酷的3D模型 来尝试实现下&#xff0c;使用原本的柱状图或者折线图代码创建echarts示例,使用cdn的方式引入echarts <!DOCTYPE html> <html lang"en"><head><meta charset"UTF-8" /><meta name"viewp…

.helper勒索病毒的最新威胁:如何恢复您的数据?

导言&#xff1a; 随着信息技术的不断进步&#xff0c;网络安全问题日益突出&#xff0c;其中勒索病毒成为了威胁网络安全的一大隐患。.helper勒索病毒作为近期频繁出现的一种恶意软件&#xff0c;其危害性和传播速度引起了广大用户的深切关注。本文将深入探讨.helper勒索病毒…

人工智能(pytorch)搭建模型26-基于pytorch搭建胶囊模型(CapsNet)的实践,CapsNet模型结构介绍

大家好&#xff0c;我是微学AI&#xff0c;今天给大家介绍一下人工智能(pytorch)搭建模型26-基于pytorch搭建胶囊模型(CapsNet)的实践&#xff0c;CapsNet模型结构介绍。CapsNet&#xff08;Capsule Network&#xff09;是一种创新的深度学习模型&#xff0c;由计算机科学家Geo…

联想 lenovoTab 拯救者平板 Y700 二代_TB320FC原厂ZUI_15.0.677 firmware 线刷包9008固件ROM root方法

联想 lenovoTab 拯救者平板 Y700 二代_TB320FC原厂ZUI_15.0.677 firmware 线刷包9008固件ROM root方法 ro.vendor.config.lgsi.market_name拯救者平板 Y700 ro.vendor.config.lgsi.en.market_nameLegion Tab Y700 #ro.vendor.config.lgsi.short_market_name联想平板 ZUI T # B…

SQL Server 数据库常见提权总结

前面总结了linux和Windows的提权方式以及Mysql提权&#xff0c;这篇文章讲讲SQL Server数据库的提权。 目录 基础知识 权限判定 系统数据库 存储过程 常见系统存储过程 常见扩展存储过程 xp_cmdshell扩展存储过程提权 xp_dirtree写入文件提权 sp_oacreate提权 xp_re…

Flutter 中的 ScrollNotification 为啥收不到

1. 需求 在做智家 APP 悬浮窗优化需求时&#xff0c;需要获取列表的滑动并通知悬浮窗进行收起或全部显示。 基础库同事已经把 基础逻辑整理好如下&#xff1a; NotificationListener<ScrollNotification>(onNotification: (notification){//1.监听事件的类型if (notif…

使用API有效率地管理Dynadot域名,使用API获得域名转移密码

关于Dynadot Dynadot​​​​​​​是通过ICANN认证的域名注册商&#xff0c;自2002年成立以来&#xff0c;服务于全球108个国家和地区的客户&#xff0c;为数以万计的客户提供简洁&#xff0c;优惠&#xff0c;安全的域名注册以及管理服务。 Dynadot平台操作教程索引&#x…