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);}} 实际上不是关不掉,而是关不完 解决方法:找…...
【JVM】类加载机制及双亲委派模型
目录 一、类加载过程 1. 加载 2. 连接 a. 验证 b. 准备 c. 解析 3. 初始化 二、双亲委派模型 类加载器 双亲委派模型的工作过程 双亲委派模型的优点 一、类加载过程 JVM的类加载机制是JVM在运行时,将 .class 文件加载到内存中并转换为Java类的过程。它…...
WordPress插件:链接自动识别转为超链接
WordPress插件:链接自动识别转为超链接 <?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中,数组是一种相同数据类型的集合。数组在内存中是一段连续的空间。 2.数组的创建和初始化 2.1数组的创建 在Java中,数组创建的形式与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代码, 针对这个问题,go语言给我们内置了功能强大的testing测试框架, 其中一个很有意思的Example测试就非常的方便使用。 他不管你在什么包,也…...
数据库查询--条件查询
目录 1.关系运算条件的查询 2.逻辑运算符条件的查询 3.带关键字IN的查询 4.带BETWEEN AND关键字的查询 5.空值查询 6.带LIKE关键字的模糊查询 1.关系运算条件的查询 在SELECT语句中,最常见的是使用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 …...
颍川诞生了两个帝王的仲父
伯、仲、叔、季是古代兄弟的长幼排行顺序,《释名释亲属》载:“父之弟曰仲父……仲父之弟曰叔父”。也就是古代称父亲的兄弟为仲父,多用于帝王对宰相重臣的尊称。 历史上最有名的、有正史记载的帝王“仲父”有两位,而且都出自颍川…...
SpringAMQP发布、订阅——Fanout Exchange交换机代码模拟
发布订阅模型: MQ提供了很多交换机模型 其中常用的有下边三个: Fanout:广播 Direct:路由 Topic:话题 转换器只负责消息路由,不是存储,路由失败则消息丢失 Fanout Exchange:会将接收到的消息路由导每一个跟其绑定的queue. 利用SpringAMQP演示Fanout…...
js原生三种弹框
第一种: alert("提示内容"):提示弹框; alert("提示"); 第二种: prompt("内容","输入框默认值"):输入弹框,第一个值输入框提示内容,第二个值输入框默…...
LWIP+TCP客户端
一、TCP API函数 其中tcp_poll()函数的第三个参数表示隔几秒调用一次这个周期性函数 二、修改服务器的IP 三、TCP客户端编程思路 申请套接字绑定服务器IP和端口号等待客户端连接 进入连接回调函数在连接回调函数中 配置一些回调函数,如接收回调函数,周期…...
程序人生 | 人生如棋,落子无悔
人生的开始,始于哭声,浮浮沉沉几十年。终了,一声长叹,在一片哭声中撒手离去。 人生的道路虽然漫长,但是关键就是那么几次机会的选择,可以决定此后几十年的光阴。 有个故事讲:古代有个人去砍柴…...
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…...
OpenLayers 可视化之热力图
注:当前使用的是 ol 5.3.0 版本,天地图使用的key请到天地图官网申请,并替换为自己的key 热力图(Heatmap)又叫热点图,是一种通过特殊高亮显示事物密度分布、变化趋势的数据可视化技术。采用颜色的深浅来显示…...
Objective-C常用命名规范总结
【OC】常用命名规范总结 文章目录 【OC】常用命名规范总结1.类名(Class Name)2.协议名(Protocol Name)3.方法名(Method Name)4.属性名(Property Name)5.局部变量/实例变量(Local / Instance Variables&…...
新能源汽车智慧充电桩管理方案:新能源充电桩散热问题及消防安全监管方案
随着新能源汽车的快速普及,充电桩作为核心配套设施,其安全性与可靠性备受关注。然而,在高温、高负荷运行环境下,充电桩的散热问题与消防安全隐患日益凸显,成为制约行业发展的关键瓶颈。 如何通过智慧化管理手段优化散…...
Web 架构之 CDN 加速原理与落地实践
文章目录 一、思维导图二、正文内容(一)CDN 基础概念1. 定义2. 组成部分 (二)CDN 加速原理1. 请求路由2. 内容缓存3. 内容更新 (三)CDN 落地实践1. 选择 CDN 服务商2. 配置 CDN3. 集成到 Web 架构 …...
初学 pytest 记录
安装 pip install pytest用例可以是函数也可以是类中的方法 def test_func():print()class TestAdd: # def __init__(self): 在 pytest 中不可以使用__init__方法 # self.cc 12345 pytest.mark.api def test_str(self):res add(1, 2)assert res 12def test_int(self):r…...
Ubuntu Cursor升级成v1.0
0. 当前版本低 使用当前 Cursor v0.50时 GitHub Copilot Chat 打不开,快捷键也不好用,当看到 Cursor 升级后,还是蛮高兴的 1. 下载 Cursor 下载地址:https://www.cursor.com/cn/downloads 点击下载 Linux (x64) ,…...
Monorepo架构: Nx Cloud 扩展能力与缓存加速
借助 Nx Cloud 实现项目协同与加速构建 1 ) 缓存工作原理分析 在了解了本地缓存和远程缓存之后,我们来探究缓存是如何工作的。以计算文件的哈希串为例,若后续运行任务时文件哈希串未变,系统会直接使用对应的输出和制品文件。 2 …...
Mac flutter环境搭建
一、下载flutter sdk 制作 Android 应用 | Flutter 中文文档 - Flutter 中文开发者网站 - Flutter 1、查看mac电脑处理器选择sdk 2、解压 unzip ~/Downloads/flutter_macos_arm64_3.32.2-stable.zip \ -d ~/development/ 3、添加环境变量 命令行打开配置环境变量文件 ope…...
简约商务通用宣传年终总结12套PPT模版分享
IOS风格企业宣传PPT模版,年终工作总结PPT模版,简约精致扁平化商务通用动画PPT模版,素雅商务PPT模版 简约商务通用宣传年终总结12套PPT模版分享:商务通用年终总结类PPT模版https://pan.quark.cn/s/ece1e252d7df...
iOS 项目怎么构建稳定性保障机制?一次系统性防错经验分享(含 KeyMob 工具应用)
崩溃、内存飙升、后台任务未释放、页面卡顿、日志丢失——稳定性问题,不一定会立刻崩,但一旦积累,就是“上线后救不回来的代价”。 稳定性保障不是某个工具的功能,而是一套贯穿开发、测试、上线全流程的“观测分析防范”机制。 …...
