HCIA项目实践--RIP相关原理知识面试问题总结回答

9.4 RIP

9.4.1 补充概念

什么是邻居?

        邻居指的是在网络拓扑结构中与某一节点(如路由器)直接相连的其他节点。它们之间可以直接进行通信和数据交互,能互相交换路由信息等,以实现网络中的数据转发和路径选择等功能。(上图R1和R2是邻居关系。)

什么是开销值?

        开销值(Cost Value)是衡量数据传输路径代价的一个量化指标。它通常与链路带宽、延迟、可靠性等因素相关,用于评估数据包通过某条链路或路径的代价。开销值越低,路径越优,网络设备会依据开销值来选择最优的数据传输路径,以实现高效的数据传输

上图中R2想要把信息发给R1时,只需要两个参数

目标网段和开销值(cost

        Cost (开销值 ) 当到达同一个目标网段存在多条路径时,需要比较开销值,优先选择开销值小的路径。

注意:同一种协议获取到的路由,比较开销值;不同协议获取到的路由,比较优先级。

这里开销值的算法:

COST = 本地路由表中的开销值 + 1

不同动态路由协议的开销值的评判标准是不一样的。

RIP开销值的评判标准 (跳数)

 以跳数作为选路依据,存在不合理性(如果加上传输速率就难说了)。每经过一个路由器跳数加 1,跳数越少开销值越低,通常规定 15 跳为最大有效跳数,16 跳则表示目标网络不可达。

RIP的优先级和工作半径

        RIP(路由信息协议)的默认的优先级设置为 100 ,这意味着在与其他路由协议竞争路由选择时,依据该优先级参与决策。同时,RIP 存在一个工作半径限制,即 15 跳。每经过一个路由器被视作一跳,跳数的增加意味着路径越长,当达到 15 跳时,便认为目标网络已达 “最远可达” 状态,若超过 15 跳,比如达到 16 跳,就会判定目标网络不可达。

Bellman-Ford算法(贝尔曼福特算法)

 1,R2发送2.0网段的路由信息给R1,R1本地的路由表中没有该网段的路由信息,R1将2.0网段的路由信息刷新到本地的路由表中。​2,R2发送2.0网段的路由信息给R1,R1本地的路由表中存在2.0网段的路由信息,并且,下一跳就是R2,R1将R2发来的路由信息刷新到本地的路由表中;(也就是将新的路由信息刷新到路由表中)。​3,R2发送2.0网段的路由信息给R1,R1本地的路由表中存在2.0网段的路由信息,并且,下一跳不是R2,如果发来的路由信息的开销值小于本地路由条目的开销值,则将R2发来的路由信息刷新到本地的路由表中;​4,R2发送2.0网段的路由信息给R1,R1本地的路由表中存在2.0网段的路由信息,并且,下一跳不是R2,如果发来的路由信息的开销值大于本地路由条目的开销值,则不刷新。

9.4.2 RIP的三个版本

RIPV1,RIPV2 --- IPV4

RIPNG --- IPV6

RIPV1和RIPV2的区别

1,RIPV1是有类别的路由协议,RIPV2是无类别的路由协议;

RIPV1在传递路由信息中目标网段时,不携带子网掩码;RIPV2携带子网掩码,路由宣告更灵活。

2,RIPV1不支持手工认证,RIPV2支持手工认证;

RIPV1 无手工认证机制,数据易被篡改;RIPV2 支持手工认证,像对暗号,保障路由信息安全。 手工认证(类似于有人敲门,去开门时对的暗号)。

3,RIPV1使用广播发送信息,RIPV2使用组播发送信息。

RIPV1 广播信息给所有设备,浪费资源;RIPV2 组播信息到指定组,节省带宽。

 #以上图为例,分析数据包#广播过程应用层:RIPV1传输层:UDP SP:520,DP:520 (4层)网络层:SIP:12.0.0.2 DIP:255.255.255.255 (3层)数据链路层:SMAC:自己 DMAC:全F (2层)#组播过程应用层:RIPV2传输层:UDP SP520,DP:520网络层:SIP:12.0.0.2 DIP:224.0.0.9(组播地址,专门为RIPV2准备的地址)数据链路层:SMAC:自己 DMAC:01-00-5e-00-00-09(所有组播地址都是以01-00-5e为开头的)。 

为什么RIP 协议传输层用 UDP 而非 TCP

一是 UDP 开销小,无连接、无拥塞控制与重传机制,能快速传输路由信息,适合 RIP 周期性更新需求。

二是 RIP 信息简单,少量数据传输,UDP 足以保证,无需 TCP 复杂机制。

三是可降低网络负载,提升效率,使网络响应更及时。

9.4.3 RIP的数据包
  • 请求数据包RIP-Request:路由器用它来主动获取其他路由器的路由信息。比如新接入网络的路由器,会发送请求包询问周边路由情况。

  • 响应数据包RIP-Response :(真正携带路由信息的数据包),包含路由表项,有目的网络地址、子网掩码、跳数等信息。路由器收到请求包后回应该包,也会定期广播或组播它来更新邻居的路由表。

 #注意RIP在收敛完成后,依然每隔30s会发送一个response报文 (类似于一个负责任的老师,为确保学生听懂,一直讲,直到或期待学生下一次能听懂。)这个行为叫周期更新,为了弥补没有确认机制;弥补没有保活机制。RIP的周期更新一定异步周期更新(类似高峰期需要错峰一样)

周期更新定义

        在计算机网络中,周期更新是指网络设备按照预先设定的固定时间间隔,对特定数据或信息进行刷新操作。例如路由器会周期性地向其他设备通告自己的路由表,以维护网络中路由信息的时效性。

周期更新作用

        周期更新可确保网络设备掌握的信息始终是最新的,有助于及时适应网络拓扑的变化。它能让路由选择更精准,减少数据传输延迟,增强网络的稳定性和可靠性,保障通信的顺畅进行。

9.4.4 RIP的计时器

RIP(路由信息协议)计时器是用于控制RIP运行节奏的机制。主要有更新计时器(定期广播路由信息)、失效计时器(判定路由是否失效)、抑制计时器(防止路由环路)和刷新计时器(决定何时从路由表清除无效路由),确保路由信息准确及时。

更新计时器(Update Timer)

  • 定义:该计时器用于设定路由器向相邻路由器广播路由信息的时间间隔,RIP 协议默认更新周期为 30 秒。即每 30 秒,运行 RIP 的路由器就会向相邻路由器发送完整的路由表。

  • 作用:定期更新可让各路由器的路由表紧跟网络拓扑变化,保持信息同步,保证数据包能沿最优路径转发。

  • 影响:更新周期设置很关键。过短会使网络通信流量大增,加重路由器处理负担;过长则在网络拓扑改变时,路由器难以及时获取新信息,导致数据包转发延迟甚至出错。

失效计时器(Expiration Timer)

  • 定义:失效计时器为每个路由条目单独计时,默认时长 180 秒。若在这段时间内,路由器未收到某路由条目的更新信息,该条目的失效计时器就会超时,路由器会将其度量值设为 16 跳(即无穷大),表示该路由不可达。

            时间是180S,当一条路由条目刷新之后开始计时,当180S时间到达后,该路由信息未刷新,则将判定该路由条目失效。首先,会将该路由信息从全局路由表中删除掉,但是,依然保存在缓存中,只是,将它的开销值改为16。在之后的周期更新中,依然会携带该路由信息。(带毒传输也就是只能告诉我有什么,但是不能告诉我没有什么。

  • 作用:它能有效检测网络中路由的有效性。当链路故障或路由器失效时,相关路由条目无法及时更新,失效计时器超时可让路由器迅速标记这些不可用路由。

  • 影响:其时长需根据网络稳定性合理调整。设置过短,网络短暂拥塞或延迟时易误判路由失效;设置过长,路由真正失效时路由器反应迟缓,影响网络正常运行。

抑制计时器(Hold - down Timer)

  • 定义:当路由器收到某路由条目不可达的消息后,会启动抑制计时器,默认 180 秒。计时期间,即便收到更优的该路由条目信息,路由器也不会立即更新路由表。

  • 作用:主要功能是防止路由环路。网络拓扑变化时,路由信息可能不一致、产生振荡,抑制计时器能让网络有时间稳定,避免路由器在不稳定时频繁更新路由表,减少环路发生。

  • 影响:设置不当会影响网络收敛速度。过长会使网络拓扑稳定后,路由器仍抑制更新,导致收敛缓慢;过短则难以有效防止路由环路。

刷新计时器(Flush Timer)

  • 定义:刷新计时器用于控制从路由表彻底删除失效路由条目的时间。某路由条目失效计时器超时后,刷新计时器开始计时,默认 240 秒,超时后该条目将被删除。

  • 作用:定期清理路由表中的无效条目,释放路由器内存资源,提高路由表查询效率。

  • 影响:时长设置要恰当。过短可能在网络短暂故障时过早删除可能恢复的条目;过长则会使无效信息长时间占据内存。

9.4.5 RIP的破环机制

(1)15跳的工作半径

   为路由范围划定了明确界限,有效避免了数据包在环路中无休止地循环转发,防止网络资源的浪费和拥塞,保证了路由的基本合理性和有效性。

(2)触发更新 --- 在拓扑结构发生变化时立即更新

   传统路由信息按固定间隔交换,网络拓扑突变,如链路断开、新节点加入时,固定更新难以及时反映,易导致环路。触发更新让路由器检测到变化后,立刻向相邻路由器发送新信息。网络中路由器能迅速获取并调整路由表,避免信息延迟导致的环路,使网络快速适应变化。

(3)水平分割 --- 从哪个接口接受到的信息将不再从这个接口发出

   因为信息从原接口发回,易在相邻路由器间循环形成环路。水平分割避免了不必要的信息往返,减少环路可能,提升信息传递效率。

(4)毒性逆转 --- 从哪个接口接受到的信息,依然可以从这个接口发出,但是要带毒

   是对水平分割的补充。通常水平分割禁止从接收接口再发信息,但特定场景会影响网络收敛。毒性逆转允许从原接口发信息,不过将路由跳数设为 16(即 “带毒”,表示不可达)。当网络变化使路由不可用时,能快速扩散不可达信息,让相邻路由器更新路由表,避免用无效路由,打破潜在环路,加速收敛。

注意:因为水平分割和毒性逆转的做法矛盾,所以,只能开启一个。华为设备默认开启水平分割。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.rhkb.cn/news/16637.html

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

相关文章

【ThreeJS Basics 1-3】Hello ThreeJS,实现第一个场景

文章目录 环境创建一个项目安装依赖基础 Web 页面概念解释编写代码运行项目 环境 我的环境是 node version 22 创建一个项目 首先,新建一个空的文件夹,然后 npm init -y , 此时会快速生成好默认的 package.json 安装依赖 在新建的项目下用 npm 安装依…

【JavaEE进阶】依赖注入 DI详解

目录 🌴什么是依赖注入 🎄依赖注入的三种方法 🚩属性注⼊(Field Injection) 🚩Setter注入 🚩构造方法注入 🚩三种注⼊的优缺点 🌳Autowired存在的问题 🌲解决Autowired存在的…

在Mac arm架构终端中运行 corepack enable yarn 命令,安装yarn

文章目录 1. 什么是 Corepack?2. 运行 corepack enable yarn 的作用3. 如何运行 corepack enable yarn4. 可能遇到的问题及解决方法问题 1:corepack 命令未找到问题 2:Yarn 未正确安装问题 3:权限问题 5. 验证 Yarn 是否启用成功6…

16.React学习笔记.React更新机制

一. 发生更新的时机以及顺序## image.png props/state改变render函数重新执行产生新的VDOM树新旧DOM树进行diff计算出差异进行更新更新到真实的DOM 二. React更新流程## React将最好的O(n^3)的tree比较算法优化为O(n)。 同层节点之间相互比较,不跨节点。不同类型的节…

SQL数据清理:去除字段值中的多余符号(Demo例子)

目录 前言1. 基础2. 进阶 前言 Excel中有大量不合法的符号,导入到系统之后,数据库有很多脏数据,对此下述展开sql的清洗教程 在数据库的文本字段中,可能会存在多余的逗号或符号,如,销售,, 或 二手车,销售,,这种情况 希…

计算机组成原理

观看地址如下【2019版】1.3.2 性能指标2——速度_哔哩哔哩_bilibili 第一章 计算机系统概述 了解 #低电平高电平 #计算机的发展 主要是因为逻辑元件的限制 选择题 微处理器的发展 这里的机器字长为 软硬件的发展 几种指令和数据流 计算机的系统结构 需求产生变化 电信号…

基于MATLAB的沥青试样孔隙率自动分析——原理详解与代码实现

摘要 在材料科学与土木工程领域,沥青孔隙率是评价其耐久性和稳定性的重要指标。本文提出一种基于图像处理的孔隙率自动计算方法,通过MATLAB实现灰度化、对比度增强、形态学处理等关键步骤,最终输出试样孔隙率。代码注释清晰,可直…

【嵌入式Linux应用开发基础】open函数与close函数

目录 一、open函数 1.1. 函数原型 1.2 参数说明 1.3 返回值 1.4. 示例代码 二、close函数 2.1. 函数原型 2.2. 示例代码 三、关键注意事项 3.1. 资源管理与泄漏防范 3.2. 错误处理的严谨性 3.3. 标志(flags)与权限(mode&#xff…

【通俗易懂说模型】一篇弄懂几个经典CNN图像模型(AlexNet、VGGNet、ResNet)

🌈 个人主页:十二月的猫-CSDN博客 🔥 系列专栏: 🏀深度学习_十二月的猫的博客-CSDN博客 💪🏻 十二月的寒冬阻挡不了春天的脚步,十二点的黑夜遮蔽不住黎明的曙光 目录 1. 前言 2. …

Android 14.0 Launcher3单层模式workspace中app列表页排序功能实现

1.概述 在14.0的定制化开发中,对于Launcher3的功能定制也是好多的,而对于单层app列表页来说排序功能的开发,也是常有的功能这就需要了解加载app数据的流程,然后根据需要进行排序就可以了,接下来就来实现这个功能 如图: 2. Launcher3单层模式workspace中app列表页排序功能…

8K样本在DeepSeek-R1-7B模型上的复现效果

7B Model and 8K Examples: Emerging Reasoning with Reinforcement Learning is Both Effective and Effic (notion.site) 港科大助理教授何俊贤的团队以Qwen2.5-Math-7B(基础模型)为起点,直接对其进行强化学习。整个过程中,没有…

四、自然语言处理_08Transformer翻译任务案例

0、前言 在Seq2Seq模型的学习过程中,做过一个文本翻译任务案例,多轮训练后,效果还算能看 Transformer作为NLP领域的扛把子,对于此类任务的处理会更为强大,下面将以基于Transformer模型来重新处理此任务,看…

MATLAB 生成脉冲序列 pulstran函数使用详解

MATLAB 生成脉冲序列 pulstran函数使用详解 目录 前言 一、参数说明 二、示例一 三、示例二 总结 前言 MATLAB中的pulstran函数用于生成脉冲序列,支持连续或离散脉冲。该函数通过将原型脉冲延迟并相加,生成脉冲序列,适用于信号处理和系统…

算法练习——滑动窗口

前言:滑动窗口的难点不在于怎么编写代码,而在于如何想到这题是用滑动窗口的算法去解决。其次滑动窗口的左端和右端在滑动时窗口内数据存在单调性。 一:长度最小的子数组 题目要求: 解题思路: 对于第一道滑动窗口算法…

Zabbix-监控SSL证书有效期

背景 项目需要,需要监控所有的SSL证书的有效期,因此需要自定义一个监控项 实现 创建自定义脚本 在Zabbix的scripts目录(/etc/zabbix/scripts/)下创建一个新的shell脚本check_ssl.sh,内容如下 #!/bin/bash time$(echo | openssl s_client…

VSCode中出现“#include错误,请更新includePath“问题,解决方法

1、出现的问题 在编写C程序时,想引用头文件但是出现如下提示: (1)首先检查要引用的头文件是否存在,位于哪里。 (2)如果头文件存在,在编译时提醒VSCode终端中"#include错误&am…

讯方·智汇云校华为授权培训机构的介绍

官方授权 华为授权培训服务伙伴(Huawei Authorized Learning Partner,简称HALP)是获得华为授权,面向公众(主要为华为企业业务的伙伴/客户)提供与华为产品和技术相关的培训服务,培养华为产业链所…

LabVIEW商业软件开发

在商业软件开发和仪器自动测试领域,LabVIEW以其图形化编程方式、高效的数据采集能力和强大的硬件集成优势,成为众多工程项目的核心开发工具。然而,商业软件的开发远不止编写代码和实现功能那么简单,尤其是在仪器自动测试领域&…

优化关键词还有哪些软件可用?

随着2025年互联网的发展,越来越多的企业认识到关键词优化的重要性。SEO(搜索引擎优化)作为提升网站流量和排名的重要手段,已经成为每个企业营销战略中的核心组成部分。而在SEO优化过程中,关键词的选择和优化无疑是至关…

程序诗篇里的灵动笔触:指针绘就数据的梦幻蓝图<9>

大家好啊,我是小象٩(๑ω๑)۶ 我的博客:Xiao Xiangζั͡ޓއއ 很高兴见到大家,希望能够和大家一起交流学习,共同进步。 这一节是对之前内容的修整 目录 一、传值调用和传址调用二、数组名的理解三、指针访问数组四、结尾 一…