计算机网络之路由表更新

article/2025/6/21 2:56:32

1.解题思路

对新接收到的路由表进行更新,全部"距离"+1,且"下一跳路由器"都写成发送方路由器的名称。

开始对比新表和原来的路由表

1.看目的网络

如果是新的目的网络,则直接把对应的各项信息填入表中;如果是相同的目的网络,继续看下一跳路由器。

2.看下一跳路由器

如果下一跳路由器相同,就更新(用新表的)。如果下一跳路由器不同,继续看距离。

3.看距离

如果距离不同,谁距离短,选谁来更新;如果距离相同,不更新。

2.实例解析

B的路由表

目的网络

距离

下一跳路由器

N1

7

A

N2

2

C

N6

8

F

N8

4

E

N9

4

F

B收到C发来的路由信息

目的网络

距离

N2

4

N3

8

N6

4

N8

3

N9

5

B收到C发来的路由信息(新表,对新接收到的路由表进行更新,全部"距离"+1,且"下一跳路由器"都写成发送方路由器的名称)

目的网络

距离

下一跳路由器

N2

5

C

N3

9

C

N6

5

C

N8

4

C

N9

6

C

 路由器B更新后的路由表

目的网络

距离

下一跳路由器

解释说明

N1

7

A

无新信息,不改变

N2

5

C

相同的下一跳,更新

N3

9

C

新的目的网络,添加进来

N6

5

C

不同的下一跳,距离更短,更新

N8

4

E

不同的下一跳,距离一样,不改变

N9

4

F

不同的下一跳,距离更大,不改变

3.进阶训练

在假定网络中的路由器R1的路由表有如图1所示的项目,图1中三列分别表示目的网络、距离和下一跳路由器。现在R1收到从R2发来的路由信息如图2所示,图2中两列分别表示目的网络和距离。试求出路由器R1更新后的路由表(详细说明每一个步骤)。

R1的原路由表

目的网络

距离

下一跳

10.0.0.0

0

直接

30.0.0.0

7

R7

40.0.0.0

3

R2

45.0.0.0

4

R8

180.0.0.0

5

R2

190.0.0.0

10

R5

R2的广播报文

目的网络

距离

10.0.0.0

4

30.0.0.0

4

40.0.0.0

2

41.0.0.0

3

180.0.0.0

5

R2更新后的路由表

目的网络

距离

下一跳

10.0.0.0

5

R2

30.0.0.0

5

R2

40.0.0.0

3

R2

41.0.0.0

4

R2

180.0.0.0

6

R2

R1更新后的路由表

目的网络

距离

下一跳

解释说明

10.0.0.0

0

直接

不变

30.0.0.0

5

R2

下一跳不同,选距离短的

40.0.0.0

3

R2

下一跳相同,更新

41.0.0.0

4

R2

添加新的

45.0.0.0

4

R8

不变

180.0.0.0

6

R2

下一跳相同,无条件更新

190.0.0.0

10

R5

不变

 

在距离 - 向量路由协议(如 RIP )中,“下一跳相同,即使距离更长,也无条件更新” 主要基于以下原因:

1.路由信息的可靠性

当路由器从某个邻居(下一跳相同意味着从同一邻居获取信息 )收到路由更新时,认为该邻居提供的是它所掌握的最新、最准确的路由信息。邻居路由器基于自身的网络连接情况和计算得出距离值,即使新距离变长,也表示其网络状态发生了变化,可能存在链路开销调整等情况。接收路由器没有理由怀疑该邻居提供信息的可靠性,所以选择更新。

2.避免路由环路

若不进行更新,可能会造成路由不一致。例如,若网络中某条链路出现故障,导致通过某一下一跳的路径距离变长。如果接收路由器不接受该更新,仍然使用旧的距离信息,就可能继续向该路径转发数据包。而发送更新的邻居路由器已经更新了距离,不再向这条不可达路径转发。这样就可能导致数据包在网络中兜圈子,形成路由环路。更新路由表,能让所有路由器对网络拓扑的认知保持一致,减少路由环路出现的可能性。

4.真题实践

 

求R2的路由表,采用路由聚合技术 

首先对路由器R1的两个子网进行聚合网络

最后为153.14.5.0/24

接着对路由器R3的两个子网进行聚合网络

最后为194.17.20.0/23

R2的路由表

目的网络

下一跳

接口

153.14.5.0/24

153.14.3.2

S0

194.17.20.0/23

194.17.24.2

S1

194.17.20.128/25

直接

E0

 


http://www.hkcw.cn/article/NsYsKFSyoe.shtml

相关文章

前端学习(7)—— HTML + CSS实现博客系统页面

目录 一,效果展示 二,实现博客列表页 2.1 实现导航栏 2.2 实现个人信息 2.3 实现博客列表 三,实现博客正文页 3.2 复用 3.4 实现博客正文 四,实现博客登录页 4.1 版心 4.2 登录框 五,实现博客编辑页 5.1 …

使用 HTML + JavaScript 实现一个日历任务管理系统

在现代快节奏的生活中,有效的时间管理变得越来越重要。本项目是一个基于 HTML 和 JavaScript 开发的日历任务管理系统,旨在为用户提供一个直观、便捷的时间管理工具。系统不仅能够清晰地展示当月日期,还支持事件的添加、编辑和删除操作&#…

最卸载器——Geek Uninstaller 使用指南

Geek Uninstaller 是一款轻量级的第三方卸载工具,专为 Windows 系统设计,提供比系统默认卸载器更彻底的应用清除能力。它体积小、绿色免安装,使用起来简单直观,但功能却不含糊。 一、为什么要用 Geek Uninstaller? Wi…

在QT中,利用charts库绘制FFT图形

第1章 添加charts库 1.1 .pro工程添加chart库 1.1.1 在.pro工程里面添加charts库 1.1.2 在需要使用的地方添加这两个库函数,顺序一点不要搞错,先添加.pro,否则编译器会找不到这两个.h文件。 第2章 Charts关键绘图函数 2.1 QChart 类 QChart 是…

5G-A:开启通信与行业变革的新时代

最近,不少细心的用户发现手机信号标识悄然发生了变化,从熟悉的 “5G” 变成了 “5G-A”。这一小小的改变,却蕴含着通信技术领域的重大升级,预示着一个全新的通信时代正在向我们走来。今天,就让我们深入了解一下 5G-A&a…

web安全开发,在线%机器学习异常流量检测系统%开发demo

框架:html,css,jquery,echart,python,flask,sklearn,uniapp,apk,kdd和nsl,mysql数据库。 经验心得 这是一个响应式的 H5 页面,适用于手机端和电脑端,平板,各种小程序。本来想vxxx小程序和AndroidStudo写两个但是工作量太多了加上也不是商用&…

每日算法-250531

每日算法学习记录 - 250531 今天完成了两道 LeetCode 题目,主要用到了前缀和的思想。记录如下: 1. 2559. 统计范围内的元音字符串数 题目 思路 前缀和 解题过程 我们可以先预处理出一个前缀和数组 nums,其中 nums[i] 表示 words 数组中从下…

CTFHub-RCE eval执行

观察源代码 我们可以发现源代码是request请求,所以我们可以通过GET或者POST请求,利用cmd参数进行命令执行 判断是Windows还是Linux 用GET请求 /?cmdsystem(ipconfig); 无回显 说明不是Windows系统 /?cmdsystem(ifconfig); 可以发现有回显&…

MCP架构深度解析:从基础原理到核心设计

💝💝💝欢迎莅临我的博客,很高兴能够在这里和您见面!希望您在这里可以感受到一份轻松愉快的氛围,不仅可以获得有趣的内容和知识,也可以畅所欲言、分享您的想法和见解。 持续学习,不断…

MySql(九)

目录 条件查询 1&#xff09;准备一张表 2&#xff09;插入数据 3&#xff09;条件查询格式 1---比较运算符 >大于 2---比较运算符 < 小于 3---比较运算符 > 大于等于 4---比较运算符 < 小于等于 5---比较运算符 ! 不等于 6---比较运算符 <> 不等于 7---比较…

赛博算命之“帝王之术”——奇门遁甲的JAVA实现

个人主页 文章专栏 文章目录 个人主页文章专栏 #前言#背景介绍#原理分析**一、干支系统计算**1. **四柱干支生成**2. **旬首与空亡判断** **二、九宫格与洛书模型**1. **地盘固定排布**2. **天盘动态移动** **三、阴阳遁与局数计算**1. **阴阳遁判断**2. **局数计算** **四、九…

C++ 栈(Stack)与队列(Queue)深度解析:从原理到实战

一、栈&#xff08;Stack&#xff09;&#xff1a;后进先出&#xff08;LIFO&#xff09;的线性结构 1. 核心特性与应用场景 特性&#xff1a;仅允许在栈顶进行元素的插入&#xff08;push&#xff09;和删除&#xff08;pop&#xff09;操作&#xff0c;遵循 “后进先出” 原…

【C++高级主题】命令空间(五):类、命名空间和作用域

目录 一、实参相关的查找&#xff08;ADL&#xff09;&#xff1a;函数调用的 “智能搜索” 1.1 ADL 的核心规则 1.2 ADL 的触发条件 1.3 ADL 的典型应用场景 1.4 ADL 的潜在风险与规避 二、隐式友元声明&#xff1a;类与命名空间的 “私密通道” 2.1 友元声明的基本规则…

Python Day38 学习

继续昨日的内容浙大疏锦行 学习一下两种机制&#xff1a;try-except机制和try-except-else-finally机制 try-except 摘自讲义 try&#xff1a;把你认为可能会出错的代码放在这里。 except&#xff1a;如果 try 块里的代码真的出错了&#xff08;从出错开始就不会继续执行t…

linux 1.0.7

用户和权限的含义与作用 linux中的用户和文件 用户的权限是非常重要的 而且有些程序需要使用管理员身份去执行 这些都是非常重要的 不可能让所有的人拥有所有的权限 这样的工具可以避免非法的手段来修改计算机中的数据 linux之所以安全还是权限管理做的很棒 每个登录的用户都有…

BFD 基本工作原理与实践:如何与 VRRP 联动实现高效链路故障检测?

BFD 基本工作原理与实践&#xff1a;如何与 VRRP 联动实现高效链路故障检测&#xff1f; &#x1f310; BFD 的基本原理BFD 主要特点BFD 工作机制 &#x1f500; 为什么 VRRP 需要 BFD&#xff1f;&#x1f527; BFD VRRP 配置实战&#xff08;华为设备&#xff09;&#x1f4…

python中将一个列表样式的字符串转换成真正列表的办法以及json.dumps()和 json.loads()

今天学习python的web.py&#xff0c;返回的内容为列表样式的字符串&#xff0c;如下 string_data "[(13.212.95.888, 8000, 10), (13.212.95.999, 8000, 10)]" 此时&#xff0c;如果想提取第一个元素&#xff0c;也就是(13.212.95.888, 8000, 10)&#xff0c;不能…

C++:指针(Pointers)

目录 什么是指针&#xff1f; 为什么需要指针&#xff1f; 1. 访问堆&#xff08;Access Heap&#xff09; 2. 资源管理&#xff08;Resource Management&#xff09; 3. 参数传递&#xff08;Parameter Passing&#xff09; 如何声明和使用指针&#xff1f; 如何利用指…

Acrobat DC v25.001 最新专业版已破,像word一样编辑PDF!

在数字化时代&#xff0c;PDF文件以其稳定性和通用性成为了文档交流和存储的热门选择。无论是阅读、编辑、转换还是转曲&#xff0c;大家对PDF文件的操作需求日益增加。因此&#xff0c;一款出色的PDF处理软件不仅要满足多样化的需求&#xff0c;还要通过简洁的界面和强大的功能…

RabbitMQ 高级特性

准备工作 1. 创建 Spring 项目 2. 引入依赖 3.修改配置文件 RabbitMQ官网 AMQP 0-9-1 Protocol Extensions | RabbitMQ 消息确认 消息确认机制 生产者发送消息,到达消费者后,可能会有以下情况: 1.消息处理成功 2.消息处理异常 RabbitMQ 向消费者发送消息之后,会把消息删除…