当前位置: 首页 > news >正文

计算机网络笔记:内部网关协议RIP

文章目录

    • 1.协议RIP的工作原理
    • 2.距离向量算法
    • 3.坏消息传播得慢

1.协议RIP的工作原理

RIP的地位:RIP是内部网关协议IGP中最先得到广泛使用的协议,其中文译名为路由信息协议。

RIP概述

  • RIP是一种分布式的基于距离向量的路由选择协议,是互联网的标准协议,其最大的优点是简单。
  • RIP协议要求网络中的每一个路由器都要维护从它自己到每一个网络的距离记录(因为是一组距离,所以构成了距离向量)。
  • RIP中距离定义为:
    • 从一个路由器到直接相连的网络的距离定义为1;
    • 从一个主机到非直接连接的网络的距离定义为所经过的路由器数量加1。加1是因为到达目的网络后就进行直接交付。
    • 距离也被称为跳数,并且每经过一个网络,条数就加一。
  • RIP认为好的路由就是通过的网络少,也就是距离短。RIP允许一条路径上最多包含15个网络,由此可见RIP只适用于小型互联网。
  • RIP不能在两个网络之间同时使用多条路由,而是只选择一条具有最少网络数的路由,哪怕还存在一条高速但网络数量较多的路由。

分布式路由选择协议:RIP协议和OSPF协议都属于分布式路由选择协议,这一类协议的共同特点是每一个路由器都要不断地与其他一些路由器交换路由信息。

RIP的特点

  • 仅与相邻路由器交换信息:如果两个路由器之间的通信不需要经过另外一个路由器,那么这两个路由器就是相邻的。不相邻的路由器不交换信息。
  • 交换的信息内容:路由器交换的信息是当前本路由器所知道的全部信息,也就是自己的路由表。路由表中的信息是,每个路由器到本自治系统中所有网络的最短距离,以及到每个网络应该经过的下一跳路由器。
  • 按照固定的时间间隔交换路由信息:每隔一段固定的时间,路由器根据收到的路由信息更新路由表。当网络拓扑发生变化时,路由器也及时向相邻路由器通知拓扑变化后的路由信息。

RIP协议路由表的生成过程:路由器刚刚开始工作时,路由表是空的,然后路由表就得出了到直接相连的几个网络的距离。接着,每一个路由器也只和数量1非常有限的相邻路由器交换并更新路由信息。但是经过若干次的更新后,所有的路由器最终都会知道到达本自治系统中任何一个网络的最短距离和下一跳路由器的地址。一般情况下,RIP可以收敛,并且收敛较快,也就是说自治系统中的所有结点都可以得到正确的路由选择信息。

2.距离向量算法

距离向量算法作用概述:距离向量算法是更新路由器到每个目的网络的最短距离的算法。该算法的基础是贝尔曼-福特算法。

距离向量算法流程

  • 对地址为X的相邻路由器发过来的RIP报文,先需改此报文中的所有项目:把下一跳的地址都改为X,并把所有距离字段加一。每一个项目应该包含三个字段,分别是前往的目的网络,距离和下一跳的路由器。
  • 对修改后的RIP报文中的每一个表项,进行下面的步骤:
    • 如果原来的路由表中没有目的网络,则把该项目添加到路由表中;
    • 如果原来的路由表中有目的网络,并且下一跳的地址就是X,则用收到的项目替换表中原有的项目;
    • 如果原来的路由表中有目的网络,但是下一跳的地址不是X,则分情况讨论:如果先前路由的距离更大,则进行替换,否则什么也不做。
  • 如果三分钟还没有收到相邻路由器的更新路由表,则把此相邻路由器记为不可达的路由器,并把距离设置为16。

距离向量算法的作用:该算法使得每一个路由器到每一个目的网络的路由都是最短的。

注意事项:虽然所有的路由器都最终拥有了整个自治系统的全局路由信息,但是由于每一个路由器的位置不同,它们的路由表自然也是不同的。

RIP协议的版本:目前较新的RIP版本是RIP2。新版本本身并无太大变化,但是性能上有所改进,并且支持无分类域间路由选择。

RIP报文

  • 传输方式:RIP报文作为运输层用户数据报UDP的数据部分进行传送,使用UDP的端口520。
  • 组成部分:RIP报文由首部和路由两部分组成。路由部分写入自治系统号ASN,这个是考虑到RIP有可能接收到本自治系统之外的路由选择信息;还要指出目的网络地址、下一跳路由器地址以及到此网络的距离。

3.坏消息传播得慢

RIP存在的一个问题:当网络出现故障时,要经过比较长的时间才能将此信息传送给所有的路由器。这个特点被称为:好消息传播得快,坏消息传播得慢。

RIP协议的评价

  • 优点:实现简单,开销较小。
  • 缺点
    • 限制了网络的规模;
    • 随着网络规模的增大,交换完整路由表信息的开销也增加;
    • 坏消息传播得慢。

相关文章:

计算机网络笔记:内部网关协议RIP

文章目录 1.协议RIP的工作原理2.距离向量算法3.坏消息传播得慢 1.协议RIP的工作原理 RIP的地位:RIP是内部网关协议IGP中最先得到广泛使用的协议,其中文译名为路由信息协议。 RIP概述: RIP是一种分布式的基于距离向量的路由选择协议&#x…...

基于Java学生信息管理系统设计实现(源码+lw+部署文档+讲解等)

博主介绍: ✌全网粉丝30W,csdn特邀作者、博客专家、CSDN新星计划导师、java领域优质创作者,博客之星、掘金/华为云/阿里云/InfoQ等平台优质作者、专注于Java技术领域和毕业项目实战 ✌ 🍅 文末获取源码联系 🍅 👇🏻 精…...

PHP简单入门

PHP是一种流行的服务器端编程语言,被广泛用于Web开发。许多著名的网站和应用程序都是使用PHP编写的,例如Facebook、Wikipedia和WordPress等。本篇文章将为您介绍如何入门PHP编程。 环境配置 在开始使用PHP之前,需要先配置开发环境。要在本…...

java 客户端操作HDFS

1、windows上部署hadoop包 部署包win版本 源码包zip包 lib整合:共121个jar包 $HADOOP_PREFIX/share/hadoop/{common,hdfs,mapreduce,yarn,tools}/{lib,.}*.jar 将windows版本hadoop/bin/hadoop.dll 放到c:/windows/system32下 2、windows环境变量配置 hadoop的…...

区块链中的共识机制以及共识算法

目录 什么是共识 什么是共识机制 共识机制类型 1、基于工作证明(Proof of Work PoW)...

【计算机网络自顶向下】DNS简答题总结

主要功能:将域名解析为主机能识别的IP地址 DNS实现的功能 主机到IP地址的转换主机别名的转换邮件服务器别名负载均衡 DNS实现冗余服务器:一个IP地址集合对应同一个规范主机名 域名系统 分布式数据库:一个由多层DNS服务器实现的分布式数据库应…...

【QQ界面展示-实现自动回复 Objective-C语言】

一、刚才咱们监听键盘弹出事件,是怎么监听的, 1.监听键盘弹出事件的步骤 1)首先,在控制器的viewDidLoad方法中,创建一个NotificationCenter对象啊 2)通过center,让当前控制器的这个方法,监听这个通知, 3)然后,我们在这个通知里面,获取到键盘的Y值, 4)对我们的…...

-bash: ssh: command not found

解决方法: 命令安装SSH: yum -y install openssh-clients [roothad2 ~]# yum -y install openssh-clients Loaded plugins: fastestmirror Loading mirror speeds from cached hostfile * base: mirrors.qlu.edu.cn * extras: mirrors.ustc.edu.cn …...

ansible的部署和模块

一、 ansible 的概述 1、ansible简介 Ansible是一款为类Unix系统开发的自由开源的配置和自动化工具。 它用Python写成,类似于saltstack和Puppet,但是有一个不同和优点是我们不需要在节点中安装任何客户端。 它使用SSH来和节点进行通信。Ansible基于 …...

nginx的优化

目录 一 隐藏版本号在网页上面有nginx的版本号会让别人攻击你的服务器 二 nginx的优化之日志分割 三 nginx的优化之页面压缩 四 连接超时 五 nginx的并发设置 七总结:nginx的优化 一 隐藏版本号在网页上面有nginx的版本号会让别人攻击你的服务器 如图所示 第一种方法是关…...

MySQL8超详细安装教程

MySQL的下载与安装 一、MySQL8下载 MySQL Community Server 社区版本,开源免费,自由下载,但不提供官方技术支持,适用于大多数普通用户。 MySQL Enterprise Edition 企业版本,需付费,不能在线下载&#x…...

【FPGA入门】第五篇、按键消抖

目录 第一部分、按键抖动现象 第二部分、消抖思路及代码 1、简单的按键消抖思路 2、实际按键消抖思路 3、实际按键消抖模块代码 第三部分、总结 第一部分、按键抖动现象 只要学习过单片机的都会知道,按键在按下去和松开的那个瞬间都存在抖动,在单片…...

【MySql】MySql的事务基础篇

文章目录 CURD加控制什么是事物为什么会出现事务事务的版本支持事务的提交方式 CURD加控制 模拟一个买票系统的场景如下所示: MySQL注定会被多个客户端进行访问的,这个是肯定的,存储的都是数据,数据在上层可能有一个线程在用&…...

docker创建Ubuntu,Ubuntu创建桌面环境,本机使用VNC连接

题目:docker创建Ubuntu,Ubuntu创建桌面环境,本机使用VNC连接 文章目录 前言docker创建基于Ubuntu:20.04的容器使用ssh连接容器容器安装桌面环境本机电脑使用VNC连接测试用python来创建的ui能否显示坑参考 前言 为什么我想要用ubuntu的桌面环…...

理解redis的多线程和IO多路复用

参考资料 https://blog.csdn.net/TZ845195485/article/details/119745735 Redis单线程和多线程问题的背景 Redis里程碑版本迭代 Redis的单线程 主要是指Redis的网络IO和键值对读写是由一个线程来完成的,Redis在处理客户端的请求时包括获取(socket读&a…...

iOS 开发 | 自定义不规则 label

把我之前发布在简书的博客搬运过来。 目录 场景思路具体实现1. 自定义一个继承自UILabel的IrregularLabel2. 在初始化方法中进行相应初始化和设置3. 在layoutSubviews方法中进行路径的设置 最终效果箭头 label 场景 最近 App 改版,以下是截取的部分 UI 设计图&…...

client-go的Indexer三部曲之三:源码阅读

欢迎访问我的GitHub 这里分类和汇总了欣宸的全部原创(含配套源码):https://github.com/zq2599/blog_demos 《client-go的Indexer三部曲》全部链接 基本功能性能测试源码阅读 本篇概览 本文是《client-go的Indexer三部曲》系列的终篇,主要任务是阅读和…...

收件地址解析成 省+市+区+详细地址的形式

项目中的源代码在我的GitHub:https://github.com/weitw/address-analyzer 先看效果: 如上图,address数输入的地址,Address对象是解析后的地址。可以支持逆推上一级,且支持地址白话解析。 一、项目介绍 1、解析规则 …...

数据结构与算法基础(青岛大学-王卓)(5)

叮叮咚咚,新一期来袭,我还在吃桃子,吃桃子,吃桃子。。。串和python的字符串差不多,数组和广义表像是python的list 文章目录 串(string) - 字符串概念及术语串的类型定义存储结构(同线性表)串的模式匹配算法…...

微信小程序开发入门学习01-TDesign模板解读

目录 1 使用模板创建小程序2 app.json3 页面布局总结 原来我们使用微信开发者工具,比较困难的是前端框架的选择上,官方也没有提供一套框架供我们使用,最近开发者工具已经提供了一套前端框架,后续我们开发的效率会因为使用模板提高…...

新能源汽车智慧充电桩管理方案:新能源充电桩散热问题及消防安全监管方案

随着新能源汽车的快速普及,充电桩作为核心配套设施,其安全性与可靠性备受关注。然而,在高温、高负荷运行环境下,充电桩的散热问题与消防安全隐患日益凸显,成为制约行业发展的关键瓶颈。 如何通过智慧化管理手段优化散…...

精益数据分析(97/126):邮件营销与用户参与度的关键指标优化指南

精益数据分析(97/126):邮件营销与用户参与度的关键指标优化指南 在数字化营销时代,邮件列表效度、用户参与度和网站性能等指标往往决定着创业公司的增长成败。今天,我们将深入解析邮件打开率、网站可用性、页面参与时…...

云原生玩法三问:构建自定义开发环境

云原生玩法三问:构建自定义开发环境 引言 临时运维一个古董项目,无文档,无环境,无交接人,俗称三无。 运行设备的环境老,本地环境版本高,ssh不过去。正好最近对 腾讯出品的云原生 cnb 感兴趣&…...

并发编程 - go版

1.并发编程基础概念 进程和线程 A. 进程是程序在操作系统中的一次执行过程,系统进行资源分配和调度的一个独立单位。B. 线程是进程的一个执行实体,是CPU调度和分派的基本单位,它是比进程更小的能独立运行的基本单位。C.一个进程可以创建和撤销多个线程;同一个进程中…...

「全栈技术解析」推客小程序系统开发:从架构设计到裂变增长的完整解决方案

在移动互联网营销竞争白热化的当下,推客小程序系统凭借其裂变传播、精准营销等特性,成为企业抢占市场的利器。本文将深度解析推客小程序系统开发的核心技术与实现路径,助力开发者打造具有市场竞争力的营销工具。​ 一、系统核心功能架构&…...

【LeetCode】算法详解#6 ---除自身以外数组的乘积

1.题目介绍 给定一个整数数组 nums,返回 数组 answer ,其中 answer[i] 等于 nums 中除 nums[i] 之外其余各元素的乘积 。 题目数据 保证 数组 nums之中任意元素的全部前缀元素和后缀的乘积都在 32 位 整数范围内。 请 不要使用除法,且在 O…...

【C++】纯虚函数类外可以写实现吗?

1. 答案 先说答案&#xff0c;可以。 2.代码测试 .h头文件 #include <iostream> #include <string>// 抽象基类 class AbstractBase { public:AbstractBase() default;virtual ~AbstractBase() default; // 默认析构函数public:virtual int PureVirtualFunct…...

智能职业发展系统:AI驱动的职业规划平台技术解析

智能职业发展系统&#xff1a;AI驱动的职业规划平台技术解析 引言&#xff1a;数字时代的职业革命 在当今瞬息万变的就业市场中&#xff0c;传统的职业规划方法已无法满足个人和企业的需求。据统计&#xff0c;全球每年有超过2亿人面临职业转型困境&#xff0c;而企业也因此遭…...

Linux安全加固:从攻防视角构建系统免疫

Linux安全加固:从攻防视角构建系统免疫 构建坚不可摧的数字堡垒 引言:攻防对抗的新纪元 在日益复杂的网络威胁环境中,Linux系统安全已从被动防御转向主动免疫。2023年全球网络安全报告显示,高级持续性威胁(APT)攻击同比增长65%,平均入侵停留时间缩短至48小时。本章将从…...

2025年低延迟业务DDoS防护全攻略:高可用架构与实战方案

一、延迟敏感行业面临的DDoS攻击新挑战 2025年&#xff0c;金融交易、实时竞技游戏、工业物联网等低延迟业务成为DDoS攻击的首要目标。攻击呈现三大特征&#xff1a; AI驱动的自适应攻击&#xff1a;攻击流量模拟真实用户行为&#xff0c;差异率低至0.5%&#xff0c;传统规则引…...