RIP动态路由协议详解

2024-05-12 01:12
文章标签 动态 详解 协议 路由 rip

本文主要是介绍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动态路由协议详解的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/981188

相关文章

RabbitMQ 延时队列插件安装与使用示例详解(基于 Delayed Message Plugin)

《RabbitMQ延时队列插件安装与使用示例详解(基于DelayedMessagePlugin)》本文详解RabbitMQ通过安装rabbitmq_delayed_message_exchan... 目录 一、什么是 RabbitMQ 延时队列? 二、安装前准备✅ RabbitMQ 环境要求 三、安装延时队

从基础到高级详解Python数值格式化输出的完全指南

《从基础到高级详解Python数值格式化输出的完全指南》在数据分析、金融计算和科学报告领域,数值格式化是提升可读性和专业性的关键技术,本文将深入解析Python中数值格式化输出的相关方法,感兴趣的小伙... 目录引言:数值格式化的核心价值一、基础格式化方法1.1 三种核心格式化方式对比1.2 基础格式化示例

Java中的stream流分组示例详解

《Java中的stream流分组示例详解》Java8StreamAPI以函数式风格处理集合数据,支持分组、统计等操作,可按单/多字段分组,使用String、Map.Entry或Java16record... 目录什么是stream流1、根据某个字段分组2、按多个字段分组(组合分组)1、方法一:使用 Stri

Spring创建Bean的八种主要方式详解

《Spring创建Bean的八种主要方式详解》Spring(尤其是SpringBoot)提供了多种方式来让容器创建和管理Bean,@Component、@Configuration+@Bean、@En... 目录引言一、Spring 创建 Bean 的 8 种主要方式1. @Component 及其衍生注解

Python异步编程之await与asyncio基本用法详解

《Python异步编程之await与asyncio基本用法详解》在Python中,await和asyncio是异步编程的核心工具,用于高效处理I/O密集型任务(如网络请求、文件读写、数据库操作等),接... 目录一、核心概念二、使用场景三、基本用法1. 定义协程2. 运行协程3. 并发执行多个任务四、关键

从基础到进阶详解Python条件判断的实用指南

《从基础到进阶详解Python条件判断的实用指南》本文将通过15个实战案例,带你大家掌握条件判断的核心技巧,并从基础语法到高级应用一网打尽,文中的示例代码讲解详细,感兴趣的小伙伴可以跟随小编一起学习一... 目录​引言:条件判断为何如此重要一、基础语法:三行代码构建决策系统二、多条件分支:elif的魔法三、

Java利用@SneakyThrows注解提升异常处理效率详解

《Java利用@SneakyThrows注解提升异常处理效率详解》这篇文章将深度剖析@SneakyThrows的原理,用法,适用场景以及隐藏的陷阱,看看它如何让Java异常处理效率飙升50%,感兴趣的... 目录前言一、检查型异常的“诅咒”:为什么Java开发者讨厌它1.1 检查型异常的痛点1.2 为什么说

MySQL的配置文件详解及实例代码

《MySQL的配置文件详解及实例代码》MySQL的配置文件是服务器运行的重要组成部分,用于设置服务器操作的各种参数,下面:本文主要介绍MySQL配置文件的相关资料,文中通过代码介绍的非常详细,需要... 目录前言一、配置文件结构1.[mysqld]2.[client]3.[mysql]4.[mysqldum

springboot2.1.3 hystrix集成及hystrix-dashboard监控详解

《springboot2.1.3hystrix集成及hystrix-dashboard监控详解》Hystrix是Netflix开源的微服务容错工具,通过线程池隔离和熔断机制防止服务崩溃,支持降级、监... 目录Hystrix是Netflix开源技术www.chinasem.cn栈中的又一员猛将Hystrix熔

Java调用Python脚本实现HelloWorld的示例详解

《Java调用Python脚本实现HelloWorld的示例详解》作为程序员,我们经常会遇到需要在Java项目中调用Python脚本的场景,下面我们来看看如何从基础到进阶,一步步实现Java与Pyth... 目录一、环境准备二、基础调用:使用 Runtime.exec()2.1 实现步骤2.2 代码解析三、