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

RIP动态路由协议详解

目录

一:RIP协议的基本信息

二:RIP协议中的更新方式

三:RIP协议中的计时器

定时更新器(UPDATE timer)

无效定时器(invalid Timer)

垃圾收集定时器(garbage collection timer)

四:RIP协议的配置

五:RIP协议缺省的产生方式


一:RIP协议的基本信息

       ( 一):RIP协议是一种动态的路径矢量型路由协议。RIP协议更新路由信息时只发送路由信息,不发送top信息。在目前的RIP协议中有两个版本。

        (1):RIPV1

                        RIPV1是一种有类别的动态路由协议,所谓有类别就是可以根据主类网段划分。在传递路由的过程中不会传递掩码。

        (2):RIPV2

                        RIPV2是一种无类别的路由协议,所谓无类别的路由协议就是不会根据主类网段来划分,在传递的过程中会传递掩码。

        

        (二):通过发送数据包进行路由信息的交互,request(请求) response (响应);

                        数据包封装基于UDP发送,端口号520,周期性发送,周期更新时间为 30 s ,RIPV2发送路由更新地址 224.0.0.9 ( RIPV1 使用255.255.255.255)

二:RIP协议中的更新方式

                (1):触发更新

        当本设备中的某些路由信息出现变化时,RIP不会等待计时器而是会直接向它周围的所有路由器发送改变的路由的信息。

                (2):30s周期更新

                等待一个更新计时器,计时器的时间为30s,当计时器的时间为0时会发送自己的所有的路由信息。

三:RIP协议中的计时器

        在RIP协议中存在3个计时器:定时更新器(UPDATE timer),无效定时器(invalid Timer),垃圾收集定时器(garbage collection timer)。

定时更新器(UPDATE timer)

        更新定时器也称为周期定时器(Periodic Timer),每台 RIP路由器都有一个属于自已的 RIP 更新定时器。缺省情况下,更新定时器的周期值为 30 秒。更新定时器是一个倒计时定时器,每当更新定时器的值倒计为0时,路由器便会向它的所有邻居发送 RIP响应消息。注意,当路由器接收到RIP请求消息的时候,就会立即发送 RIP响应消息,但这并不影响基于更新定时器的周期性RIP响应消息的发送。

无效定时器(invalid Timer)

        每台RIP路由器都会为自己的RIP路由表中的每一个路由项建立并维护一个无效定时器。无效定时器也是一个倒计时定时器。缺省情况下,无效定时器的初始值为180秒(更新定时器的周期值的6倍)。在RIP路由表中,一个路由项被创建时或者每次被更新时(请仔细复习RIP路由表的更新算法),该路由项的无效定时器的值就会被复位成初始值,然后开始倒计时。通常情况下,一个路由项每隔 30 秒钟就会被更新一次。当一个路由项的无效定时器的值倒计为0时,就说明该路由项已经有 180秒的时间没有被更新了,此时路由器会认为该路由项已经变为一个无效的路由项,也就是认为该路由项所指的目的地已经变为不可达,于是路由器会停该路由的Cost设置为16。

垃圾收集定时器(garbage collection timer)

       当一个路由项的无效定时器的值倒计为0时,该路由项便成为了一个无效路由项,其Cost的值会被设置为16。注意,路由器并不会立即将这个无效路由项删除掉,而是会为该无效路由项启用一个被称为垃圾收集定时器的倒数计时器。垃圾收集定时器的缺省初始值为120秒。在垃圾收集定时器的值倒计为0之前,该路由器仍然会在周期性的RIP响应消息中携带这条无效路由的信息,其目的是告诉它的所有邻居这条路由对于自己来说已经无效,以便邻居路由器能够及时对各自的RIP路由表中的相应路由项进行更新。一旦垃圾收集定时器的值倒计为0,路由器便会将该无效路由项的所有信息(包括与该路由项对应的无效定时器和垃圾收集定时器)立即删除掉。注意,在垃圾收集定时器的值倒计为0之前的某一时刻,如果该无效路由被更新成为一条有效路由(即Cost的值被更新为小于16),则该路由项的无效定时器的值会被复位成初始值,然后开始倒计时,而相应的垃圾收集定时器则会被删除掉。

四:RIP协议的配置

        (1):启用RIP协议: 启用Rip 并指定进程ID (进程ID 只具有本地意义)

        (2):Network 通告: (network 1.0.0.0 1.将本路由器上接口IP地址以1开头所有接口激活(激活 代表着能发送并接收RIP的相关数据包)2.将激活的接口所对应的路由通告进入RIP协议)

五:RIP协议缺省的产生方式

        1:输入该命令产生缺省

        2:查看缺省

相关文章:

RIP动态路由协议详解

目录 一:RIP协议的基本信息 二:RIP协议中的更新方式 三:RIP协议中的计时器 定时更新器(UPDATE timer) 无效定时器(invalid Timer) 垃圾收集定时器(garbage collection timer&a…...

ROS2 安装与测试

文章目录 ROS2 安装与测试ROS2 安装1. 设置编码2. 添加源3. 安装 ROS24. 设置环境变量 ROS2 示例测试实例一:命令行实例实例二:小海龟仿真实例 参考链接 ROS2 安装与测试 ROS2 安装 基于 Ubuntu 22.04 LTS 操作系统。 1. 设置编码 sudo apt update &…...

MySQL数据分组技术深度解析及实践

在处理大量数据库记录时,数据分组是一种强大的工具,它允许我们按照特定列的值将数据划分为逻辑上的集合,进而对每个集合执行聚合操作,如计数、求和或平均值等。MySQL中的​​GROUP BY​​​子句正是实现这一功能的关键所在。本文将详细介绍​​GROUP BY​​的使用方法,结合…...

【敦煌网注册/登录安全分析报告】

敦煌网注册/登录安全分析报告 前言 由于网站注册入口容易被黑客攻击,存在如下安全问题: 暴力破解密码,造成用户信息泄露短信盗刷的安全问题,影响业务及导致用户投诉带来经济损失,尤其是后付费客户,风险巨大…...

Python读取ASC文件并转换成Excel文件(坐标)

import pandas as pd# 读取asc文件,指定空格为分隔符 df pd.read_csv(out_view2.asc, sep , headerNone)# 去掉空列 df df.dropna(howall, axis1)# 将数据保存到Excel文件 df.to_excel(out_view2.xlsx, indexFalse, headerFalse)效果图...

Rust 的 Warp 库编写的 restful api 参数传递与解析方法

Warp是一个用 Rust 编写的流行的异步 web 框架。在使用 warp 构建 RESTful API 时,可以通过多种方式传递参数到你的处理函数中。 以下是一些常见的方法,说明如何在 warp 中传递参数: 路径参数: 你可以使用 warp::path 和 warp::…...

关不掉的弹窗

这里分两种方式 第一种 #include<Windows.h> int main(){system("mode 15,14");while(1){MessageBox(NULL,TEXT("关不掉吧!"),TEXT("中病毒啦~~你这个SB!"),MB_OK);}} 实际上不是关不掉&#xff0c;而是关不完 解决方法&#xff1a;找…...

【JVM】类加载机制及双亲委派模型

目录 一、类加载过程 1. 加载 2. 连接 a. 验证 b. 准备 c. 解析 3. 初始化 二、双亲委派模型 类加载器 双亲委派模型的工作过程 双亲委派模型的优点 一、类加载过程 JVM的类加载机制是JVM在运行时&#xff0c;将 .class 文件加载到内存中并转换为Java类的过程。它…...

WordPress插件:链接自动识别转为超链接

WordPress插件&#xff1a;链接自动识别转为超链接 <?phpfunction open_links_in_new_tab() {add_filter(the_content, make_clickable);function autoblank($text) {$return str_replace(<a, <a target"_blank", $text);return $return;}add_filter(th…...

Java----数组的定义和使用

1.数组的定义 在Java中&#xff0c;数组是一种相同数据类型的集合。数组在内存中是一段连续的空间。 2.数组的创建和初始化 2.1数组的创建 在Java中&#xff0c;数组创建的形式与C语言又所不同。 Java中数组创建的形式 T[] 数组名 new T[N]; 1.T表示数组存放的数据类型…...

【C++】-QT多线程-006

1【QT】多线程 #ifndef MYWIDGET_H #define MYWIDGET_H#include <QWidget>namespace Ui { class MyWidget; }class MyWidget : public QWidget {Q_OBJECTpublic:explicit MyWidget(QWidget *parent 0);~MyWidget();/* 5 自定义信号*/ /*所有的信号函数只声明不定义&…...

vscode go语言开发中在任意包运行和调试代码 Example使用方法

一般情况下我们在进行go语言开发的时候我们都需要创建一个main方法和main包才能运行go代码&#xff0c; 针对这个问题&#xff0c;go语言给我们内置了功能强大的testing测试框架&#xff0c; 其中一个很有意思的Example测试就非常的方便使用。 他不管你在什么包&#xff0c;也…...

数据库查询--条件查询

目录 1.关系运算条件的查询 2.逻辑运算符条件的查询 3.带关键字IN的查询 4.带BETWEEN AND关键字的查询 5.空值查询 6.带LIKE关键字的模糊查询 1.关系运算条件的查询 在SELECT语句中&#xff0c;最常见的是使用WHERE字句指定关系运算条件对数据进行过滤。 语法格式&#x…...

用 Python 和 AkShare 进行个股数据清洗:源码剖析和建议优化

这是《个股清洗源码》一个获取股票买卖盘信息并将其打印到控制台并保存到文件的脚本。 下面我们来对源码进行剖析 先复习一下源码 import os import akshare as ak from akshare import stock_bid_ask_em from datetime import datetime import pandas as pd from io import …...

颍川诞生了两个帝王的仲父

伯、仲、叔、季是古代兄弟的长幼排行顺序&#xff0c;《释名释亲属》载&#xff1a;“父之弟曰仲父……仲父之弟曰叔父”。也就是古代称父亲的兄弟为仲父&#xff0c;多用于帝王对宰相重臣的尊称。 历史上最有名的、有正史记载的帝王“仲父”有两位&#xff0c;而且都出自颍川…...

SpringAMQP发布、订阅——Fanout Exchange交换机代码模拟

发布订阅模型: MQ提供了很多交换机模型 其中常用的有下边三个: Fanout:广播 Direct:路由 Topic:话题 转换器只负责消息路由&#xff0c;不是存储&#xff0c;路由失败则消息丢失 Fanout Exchange:会将接收到的消息路由导每一个跟其绑定的queue. 利用SpringAMQP演示Fanout…...

js原生三种弹框

第一种&#xff1a; alert("提示内容")&#xff1a;提示弹框&#xff1b; alert("提示"); 第二种&#xff1a; prompt("内容","输入框默认值")&#xff1a;输入弹框&#xff0c;第一个值输入框提示内容&#xff0c;第二个值输入框默…...

LWIP+TCP客户端

一、TCP API函数 其中tcp_poll()函数的第三个参数表示隔几秒调用一次这个周期性函数 二、修改服务器的IP 三、TCP客户端编程思路 申请套接字绑定服务器IP和端口号等待客户端连接 进入连接回调函数在连接回调函数中 配置一些回调函数&#xff0c;如接收回调函数&#xff0c;周期…...

程序人生 | 人生如棋,落子无悔

人生的开始&#xff0c;始于哭声&#xff0c;浮浮沉沉几十年。终了&#xff0c;一声长叹&#xff0c;在一片哭声中撒手离去。 人生的道路虽然漫长&#xff0c;但是关键就是那么几次机会的选择&#xff0c;可以决定此后几十年的光阴。 有个故事讲&#xff1a;古代有个人去砍柴…...

python的deap库使用记录

主要是在遗传符号回归的代码中添加了注释和根据一部分源码做了一点改动 import operator import random import numpy as np import matplotlib.pyplot as plt from deap import algorithms, base, creator, tools, gp from operator import attrgetter##生成数据 def generat…...

避坑指南:SpringBoot调用DeepSeek API时你可能会遇到的5个问题及解决方案

SpringBoot集成DeepSeek API的5个典型避坑指南 在将DeepSeek的对话补全能力整合到SpringBoot应用时&#xff0c;不少开发者会遇到一些看似简单却容易踩坑的问题。这些问题往往不会在官方文档中被特别强调&#xff0c;但却能让你在调试过程中耗费数小时。本文将聚焦五个最具代表…...

League-Toolkit故障排除指南:从启动失败到高效修复的完整方案

League-Toolkit故障排除指南&#xff1a;从启动失败到高效修复的完整方案 【免费下载链接】League-Toolkit 兴趣使然的、简单易用的英雄联盟工具集。支持战绩查询、自动秒选等功能。基于 LCU API。 项目地址: https://gitcode.com/gh_mirrors/le/League-Toolkit League-…...

高防服务器怎么选?360CDN 高防性价比分析

作为运维中小站点3年的老站长&#xff0c;前阵子被DDoS攻击搞得焦头烂额&#xff0c;网站频繁卡顿、宕机&#xff0c;损失不少流量。试过普通服务器加防护插件&#xff0c;基本形同虚设&#xff0c;后来陆续测试了360CDN高防以及其他几款主流高防产品&#xff0c;全程实测不吹不…...

BilibiliDown终极实战指南:解锁B站视频批量下载的完整方案

BilibiliDown终极实战指南&#xff1a;解锁B站视频批量下载的完整方案 【免费下载链接】BilibiliDown (GUI-多平台支持) B站 哔哩哔哩 视频下载器。支持稍后再看、收藏夹、UP主视频批量下载|Bilibili Video Downloader &#x1f633; 项目地址: https://gitcode.com/gh_mirro…...

终极指南:如何在Chainer中构建强大的循环神经网络(RNN)

终极指南&#xff1a;如何在Chainer中构建强大的循环神经网络(RNN) 【免费下载链接】chainer A flexible framework of neural networks for deep learning 项目地址: https://gitcode.com/gh_mirrors/ch/chainer 想要掌握深度学习中的序列建模吗&#xff1f;Chainer框架…...

Qwen2.5-Coder-1.5B新手指南:如何用‘fill-in-the-middle’模式补全代码

Qwen2.5-Coder-1.5B新手指南&#xff1a;如何用‘fill-in-the-middle’模式补全代码 重要提示&#xff1a;Qwen2.5-Coder-1.5B是一个专门用于代码任务的预训练模型&#xff0c;不适合直接用于对话。它最擅长的场景是代码补全、生成和修复&#xff0c;特别是使用"fill-in-t…...

注CO2驱替煤层气THM耦合模型与自定义PDE耦合固体力学

注co2驱替煤层气THM耦合模型 自定义pde耦合固体力学今天&#xff0c;我来分享一下关于CO2驱替煤层气的THM&#xff08;热-水-力学&#xff09;耦合模型的构建过程。这个模型听起来有点复杂&#xff0c;但其实拆开来理解&#xff0c;每一步都还挺有意思的。尤其是其中涉及的自定…...

CentOS 7.9 上TDengine 3.0.4.2 二进制安装避坑指南:从下载到压测一条龙

CentOS 7.9 上TDengine 3.0.4.2 二进制安装实战&#xff1a;从零部署到百万级压测全解析 时序数据库正在成为物联网、工业互联网和金融监控等场景的核心基础设施。作为国产时序数据库的佼佼者&#xff0c;TDengine以其卓越的写入性能和压缩比&#xff0c;正在全球范围内获得越…...

FreeRTOS内存管理实战:如何在Xilinx Zynq上正确配置堆大小避免Malloc失败

FreeRTOS内存管理实战&#xff1a;Xilinx Zynq平台堆配置与优化指南 在嵌入式系统开发中&#xff0c;内存管理往往是决定系统稳定性的关键因素之一。当你在Xilinx Zynq平台上使用FreeRTOS时&#xff0c;突然遇到vApplicationMallocFailedHook()被调用的错误提示&#xff0c;这就…...

TensorRT性能调优实战指南:从瓶颈诊断到引擎优化

TensorRT性能调优实战指南&#xff1a;从瓶颈诊断到引擎优化 【免费下载链接】TensorRT NVIDIA TensorRT™ 是一个用于在 NVIDIA GPU 上进行高性能深度学习推理的软件开发工具包&#xff08;SDK&#xff09;。此代码库包含了 TensorRT 的开源组件 项目地址: https://gitcode.…...