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

ops/2025/2/13 15:28:27/

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.ppmy.cn/ops/158071.html

相关文章

使用 npx tailwindcss init 时发生 npm error could not determine executable to run 错误

介绍 当我尝试将 TailwindCSS 引入 React 时出现了错误,因此我写了一篇有关它的文章。 问题 当我像以前一样运行安装命令时,出现错误。 解决 比以往更加简单 $ npm install -D tailwindcss3.4.13 autoprefixer postcss $ npx tailwindcss init -p…

【DeepSeek】在本地计算机上部署DeepSeek-R1大模型实战(完整版)

【作者主页】Francek Chen 【专栏介绍】 ⌈ ⌈ ⌈人工智能与大模型应用 ⌋ ⌋ ⌋ 人工智能(AI)通过算法模拟人类智能,利用机器学习、深度学习等技术驱动医疗、金融等领域的智能化。大模型是千亿参数的深度神经网络(如ChatGPT&…

【算法学习】蓝耘云智算|利用DeepSeek R1模型提升数据结构与算法学习效率

文章目录 💪为什么选择DeepSeek R1模型学习数据结构与算法?💪如何使用DeepSeek R1模型学习数据结构与算法?💪使用DeepSeek R1模型进行实践学习步骤详解:设计一个用Python编写的堆栈/队列操作游戏**1. 安装必…

《麻省理工公开课:线性代数》 中文学习笔记

​ 《麻省理工公开课:线性代数》是麻省理工公开课中广为流传的一门好课。这是我学习MIT线性代数课程 Linear Algebra的中文参考学习笔记。希望在自己学习的同时,也对大家学习有所帮助。 笔记特点: 笔记与原课程视频一一对应,可以…

【Java并发编程之如何在线程中安全地访问一个全局Boolean类型的静态变量?】

Java并发编程之如何在线程中安全地访问一个全局Boolean类型的静态变量? 0x00 存在并发问题的代码0x01 修复方案方案一 使用 volatile 关键字方案二 使用 synchronized 同步方案三 使用 AtomicBoolean 原子类0x02 选择策略在Java中,保证多线程访问全局布尔变量时的读写安全性,…

前瞻技术:塑造未来生活的新趋势

人工智能在艺术创作中的应用越来越普遍。AI可以生成画作、音乐和文学作品。它通过分析大量数据,学习艺术风格,并能创造出独特的作品。 AI创作的艺术作品有几个特点。首先,它可以快速完成创作,节省时间。第二,AI能够融…

【大语言模型】最新ChatGPT、DeepSeek等大语言模型助力高效办公、论文与项目撰写、数据分析、机器学习与深度学习建模等科研应用

ChatGPT、DeepSeek等大语言模型助力科研应用 随着人工智能技术的快速发展,大语言模型如ChatGPT和DeepSeek在科研领域的应用正在为科研人员提供强大的支持。这些模型通过深度学习和大规模语料库训练,能够帮助科研人员高效地筛选文献、生成论文内容、进行数…

《LSTM与HMM:序列建模领域的双雄对决》

在序列建模的广阔领域中,长短期记忆网络(LSTM)和隐马尔可夫模型(HMM)都是极为重要的工具,它们各自有着独特的优势和应用场景。下面将对两者在序列建模上的异同进行深入探讨。 相同点 序列数据处理能力&…