IP 路由基础 | 路由条目生成 / 路由表内信息获取

注:本文为 “IP 路由” 相关文章合辑

未整理去重。


IP 路由基础

秦同学学学已于 2022-04-09 18:44:20 修改

一. IP 路由产生背景

  1. 我们都知道 IP 地址可以标识网络中的一个节点,并且每个 IP 地址都有自己的网段,各个网段并不相同,并且有可能分布在不同的网络区域

  2. 我们之前也学习过在同网段之间通信可以通过 ARP 协议来获取目的主机的 mac 地址达到数据通信的目的,那么问题来了,跨网段该如何进行通信呢???

跨网段通信这个需求催生出了 IP 路由这项技术,用来解决跨网段通信的需求

二. 路由信息介绍 — 路由表

  1. 路由转发

    网关及其中间节点(一般是路由器)解封装他们收到的 IP 报文,根据报文中目的 IP 地址,查询路由表选择合适路径后,按照路由表提供的出接口以及下一跳等进行转发,直到最后一跳路由器进行二层寻址(arp)将该报文转发给目的主机

  2. 常见转发报文设备 — 路由器

  3. 中间节点(路由器)选择转发依赖表项叫做 — 路由表

img

三. 路由表(比较重要单独拿出来进行讲述)

img

  • 目的网络:标识目的网段 (网段地址)

  • 掩码:与目的地址共同标识一个网段

  • 出接口: 数据包被路由后离开本路由器的接口(确定路径后从哪个接口出去)

  • 下一跳:路由器转发到达目的网段的数据包所使用的下一跳地址

可以理解为整个数据转发过程就是由一个个路由器内的路由表共同努力的结果

注意

路由器可以通过各种方式发现路由(直连、静态、动态)

路由器只会选择一条最优路由条目放入路由表中(会通过各种方式进行比较,下面讲述)

四、路由条目生成 / 路由表内信息获取

我们通过以上知识可以清楚知道路由器内路由表的重要性,所以我们必须探寻一下路由表是如何形成的

路由表形成一般常见的有三种 —— 直连、静态、动态 (这篇文章只讲直连路由、静态路由和动态路由内容太多,单独出文章进行讲述)

img

直连路由

img

  1. 直连路由是直连到此路由器的网路,配置好 IP 地址后设备会自动化生成

  2. 当路由器是此报文转发的最后一跳路由器时,路由器会匹配直连路由将该报文进行转发

  3. 使用直连路由进行转发的时候,报文的目的 IP 和路由器接口 IP 必须在同一个网段内(以确保转发正确)

  4. 并不是所有接口生成的直连路由器都将出现在路由表中,直连路由出现在路由表内前提是该接口的物理状态和协议状态都为 up

img

  1. 直连路由的下一跳为出接口位置的 IP 地址

五、最优路由条目选举办法

[huawei] display ip routing-table

img

Destination/Mask:表示此路由的目的网络地址与网络掩码。将目的地址和子网掩码 “逻辑与” 后可得到目的主机或路由器所在网段的地址。例如:目的地址为 1.1.1.1,掩码为 255.255.255.0 的主机或路由器所在网段的地址为 1.1.1.0。

Proto(Protocol):该路由的协议类型,也即路由器是通过什么协议获知该路由的。

Pre(Preference):表示此路由的路由协议优先级。针对同一目的地,可能存在不同下一跳、出接口等多条路由,这些不同的路由可能是由不同的路由协议发现的,也可以是手工配置的静态路由。优先级最高(数值最小)者将成为当前的最优路由。

Cost:路由开销。当到达同一目的地的多条路由具有相同的路由优先级时,路由开销最小的将成为当前的最优路由。

NextHop:表示对于本路由器而言,到达该路由指向的目的网络的下一跳地址。该字段指明了数据转发的下一个设备。

Interface:表示此路由的出接口。指明数据将从本路由器的哪个接口转发出去。

选举办法 — 路由优先级

img

・当路由器从多种不同的途径获知到达同一个目的网段的路由(这些路由的目的网络地址及网络掩码均相同,网络掩码越长越优,因为更加准确)时,路由器会比较这些路由的优先级,优选优先级值最小的路由。

・路由来源的优先级值( Preference )越小代表加入路由表的优先级越高。

・拥有 最高优先级的路由将被添加进路由表 。

个人理解

  1. 首先比较网络掩码,网络掩码越长优先级越高。掩码越长,主机位越少,IP 地址数量越少,寻址越容易。

  2. 若掩码相同,则比较协议优先级,协议优先级以数字表示,数字越小优先级越高。

路由来源

路由类型

默认优先级

直连

直连路由

0

静态

静态路由

60

动态路由

OSPF 内部路由

10

OSPF 外部路由

150

  1. 若优先级相同,则比较度量值(开销值),度量值越小优先级越高。
    • 常用的度量值包括跳数、带宽、时延、代价、负载、可靠性等。
    • 开销值可类比为性价比,从成本角度理解,开销越低越具优势。

六、IP 路由总结

  • 当路由器从多种不同的途径获知到达同一个目的网段的路由(这些路由的目的网络地址及网络掩码均相同)时,会选择路由优先级值最小的路由;如果这些路由学习自相同的路由协议,则优选度量值最优的。总之,最优的路由加入路由表。

  • 当路由器收到一个数据包时,会在自己的路由表中查询数据包的目的 IP 地址。如果能够找到匹配的路由表项,则依据表项所指示的出接口及下一跳来转发数据;如果没有匹配的表项,则丢弃该数据包。

  • 路由器的行为是逐跳的,数据包从源到目的地沿路径每个路由器都必须有关于目标网段的路由,否则就会造成丢包。

  • 数据通信往往是双向的,因此要关注流量的往返(往返路由)。 路由信息和流量信息相反。


IP 路由概述

牧鸯人已于 2023-03-21 15:16:17 修改

前言

在这里插入图片描述

在一个 IP 网络中,路由 ( Routing ) 是个非常非常基本的概念。网络的基本功能,是使得处于网络中的两个 IP 节点能够进行通信,而通信实际上就是数据交互的过程,数据交互则需要网络设备帮助我们来将数据在两个通信节点之间进行传输。当路由器 (或者其他三层设备) 收到一个 IP 数据包,路由器会找出 IP 包三层头中的目的 IP 地址,然后拿着目的 IP 地址到自己的路由表中进行查找,找到 “最匹配” 的条目后,将数据包根据路由条目所指示的出接口或下一跳 IP 转发出去,这就是 IP 路由 ( IP routing )。而每台路由器都会在本地维护一个路由表 ( Routing Table ), 路由表中装载着路由器获知的路由条目 ( Routes ), 路由条目由路由前缀 (路由所关联的目的地)、入路由信息来源、出接口或下一跳 IP 等元素构成。路由器通过静态的或者动态的方式获取路由条目并维护自己的路由表。

IP 路由表(IP Routing Table)

为了理解路由表中的信息种类,我们需要先考虑数据包到达路由器接口时会发生什么,这是非常有用的。首先,路由器会检查数据帧目标地址字段中的数据链路标识。如果它包含了路由器接口标识符或广播标识符,那么路由器:将从帧中剥离出数据包并传递给网络层。在网络层,路由器将检查数据包的目标地址。如果目标地址是路由器接口的 IP 地址或是所有主机的广播地址,那么需要进一步检查数据包的协议字段,然后再把被封装的数据发送给适当的内部进程。

除此之外,所有其他目标地址都需要进行路由选择。这里的目标地址可能是另一个网络上的主机地址,该网络或者与路由器相连 (包括与那个网络相连接的路由器接口), 或者不直接连接到路由器上。目标地址还可能是一一个定向的广播地址,这种地址有明确的网络地址或子网地址并且主机位全部为 1. 这些地址也是可以路由的。

每个路由表项最少必须包括下面三个项目:

  • 目标地址(路由前缀):这是路由条目所关联的目的的网络号。一条完整的路由前缀由:网络号 + 前缀长度构成,两种缺一不可,例如 192.168.1.0/24 与 192.168.1.0/25,虽然两者的网络号相同,都是 192.168.1.0,但是两者绝对是两条不同的路由、两个不同的路由前缀,因为他们的前缀长度不相同。

  • 指向目标的指针:指针不是指向路由器的直连目标网络就是指向直连网络内的另一台路由器地址,或者是到这个链路的本地接口。更接近目标网络一跳的路由器叫下一跳(next hop)路由器。

  • 路由信息的来源:本地路由是通过什么途径学习到的,例如是静态的,或者是通过 OSPF、IS-IS、EIGRP、BGP 等路由学习到的。

路由器将会尽快地进行最精准的匹配:按精确程度递增的顺序,可选地址排列如下:

  • 主机地址(主机路径);

  • 子网;

  • 一组子网(一条汇总路由);

  • 主网号;

  • 一组主网号(超网);

  • 缺省地址。

管理距离值(Administrative Distance,简称 AD)

路由器可以通过多种途径获知路由条目:如静态手工配置、各种动态路由协议等等。当路由器从两种不用的途径获知去往同一个目的地的两条路由,那么路由器会比较这两条路由的 AD 值,也就是管理距离,优选 AD 值小的路由。如果 AD 值相等,例如是同种路由协议,则进 - 步比较 metric 值,当然,这其中还牵涉到不同的路由协议内在的工作机制问题,这就要针对不同的路由协议具体讨论了。如下图,R3 与 R1 运行的是 RIP 协议,R3 又通过 OSPF 与 R2 建立邻接关系。于是 R3 同时 RIP、OSPF 学习到了去往目的地 1.1.1.0/24 的路由,这两条路由分别以 R1 和 R2 作为下一跳。那么 R3 最终选择 OSPF 的路由装载进路由表,也就是将 R2 作为实际去往 1.1.1.0/24 的下一跳,因为 OSPF 协议的 AD 值比 RIP 要小要更优。在这里插入图片描述

不同的路由协议对应的 AD 值见下表,这个众所周知的约定

Routing ProtocdlsAD备注
直连接口0
关联出接口的静态路由1Metric = 0
关联下一跳的静态路由1Metric = 0
EIGRP 汇总路由5
外部 BGP20
内部 EIGRP90
IGRP100
OSPF110
RIPv1、v2120
外部 EIGRP170
内部 BGP200

静态路由特征

静态路由的优点

  1. 占用的 CPU 和 RAM 资源较少。

  2. 可控性强,也便于管理员了解整个网络路由信息。

  3. 不需要动态路由更新,可以减少带宽的占用。

  4. 简单和易于配置。

静态路由的缺点

  1. 配置和维护耗费管理员大量时间。

  2. 配置时容易出错,尤其对大型网络。

  3. 当网络拓扑发生变化时,需要管理员维护变化的路由信息。

  4. 随着网络规模的增长和配置的扩展,维护越来越麻烦。

  5. 需要管理员对整个网络的情况完全了解后才能进行恰当的操作和配置。

静态路由使用场所

  1. 网络中仅包含几台路由器。在这种情况下,使用动态路由协议可能会增加额外的管理负担。

  2. 网络仅通过单个 ISP 接入 Internet。因为该 ISP 就是唯一的 Internet 出口点,所以不需要在此链路间运行动态路由协议。

  3. 路由器没有足够的 CPU 和内存来运行动态路由协议。

  4. 可以通过浮动静态路由为动态路由提供备份。

  5. 链路的带宽较低,因为动态路由更新和维护和带来额外的链路负担。

动态路由协议特征

动态路由是路由器之间通过路由协议 (如 RIP、EIGRP、OSPF、IS-IS 和 BGP 等) 动态交换路由信息来构建路由表的。使用动态路由协议最大的好处是,当网络拓扑结构发生变化时,路由器会自动地相互交换路由信息,因此路由器不仅能够自动获知新增加的网络,还可以在当前网络连接失败时找出备用路径。

动态路由协议功能

  1. 发现远程协议功能。

  2. 动态维护最新路由信息。

  3. 自动计算并选择通往目的网络的最佳路径。

  4. 当前路径无法使用时找出新的最佳路径。

动态路由协议的优点

  1. 当增加或删除网络时,管理员维护路由配置的工作量较小。

  2. 当网络拓扑结构发送变化时,路由协议可以自动进行调整来更新路由表。

  3. 配置不容易出错。

  4. 扩展性好,网络规模越大,越能体现出动态路由协议的优势。

动态路由协议的缺点

  1. 需要占用额外的资源,如路由器 CPU 时间和 RAM 以及链路带宽等。

  2. 需要掌握更多的网络知识才能进行配置、验证和故障排除等工作,特别是一些复杂的动态路由协议对管理员的要求较高。

常见的动态路由协议

路由 IP 时间包时常用的动态路由协议包括:

  1. RIP (Routing Information Protocol)—— 路由信息协议。

  2. EIGRP (Enhanced Interior Gateway)—— 增加型内部网关路由协议。

  3. OSPF (Open Shortest Path First)—— 开放最短路径优先。

  4. IS-IS (Intermediate System-to-Intermediate Sstem)—— 中间系统 - 中间系统。

  5. BGP (Border Gatewa Protocol)—— 边界网关协议。

动态路由协议分类

IGP 和 EGP

动态路由协议按照作用的 AS (Autonomous System, 自治系统) 来划分,分为 IGP (InteriorGateway Protocol, 内部网关协议) 和 EGP (Exterior Gateway Protocol, 外部网关协议)。IGP 用于自治系统内部,适用于 IP 协议的 IGP 包 RIP、EIGRP、OSPF 和 IS-IS。 而 EGP 用于不同机构管控下的不同自治系统之间的路由。BGP 是目前唯一使用的一种 EGP 协议,也是 Internet 所使用的主要路由协议。

距离矢量协议和链路状态路由协议

根据路由协议的工作原理,IGP 还可以进一步分为距离矢量路由协议和链路状态路由协议。距离矢量路由协议主要有 RIP 和 EIGRP,链路状态路由协议主要有 OSPF 和 IS-IS。

距离矢量协议适用的场所:

  1. 网络结构简单、扁平,不需要特殊的分层设计。

  2. 管理员没有足够的知识来配置链路状态协议和排查故障。

  3. 无关关注网络最差情况下的收敛时间。

链路状态协议适用的场合:

  1. 网络进行了分层设计。

  2. 管理员对于网络种采用的链路状态路由协议非常熟悉。

  3. 网络管理员对于网络中采用的链路状态路由协议非常熟悉。

有类路由协议和无类路由协议

路由协议按照所支持的 IP 地址类别又划分为有类路由协议和无类路由协议。有类路由协议在路由信息更新过程中不发送子网掩码信息,RIPv1 属于有类路由协议。无类路由协议在路由信息更新中携带子网掩码,同时支持 VLSM 和 CIDR 等;RIPv2、 EIGRP、OSPF、IS-IS 和 BGP 属于无类路由协议。

度量值(Metric)

度量值是指路由协议用来分配到达远程网络的路由开销值。对于同 - - 种路由协议,当有多条路径通往同一目的网络时,路由协议使用度量值来确定最佳路径。度量值越低,路径越优先。每一种路由协议都有自己的度量方法,所以不同的路由协议选择出的最佳路径可能是不 - 样的。IP 路由协议中经常使用的度量标准如下:

  1. 跳数 —— 数据包经过的路由器个数。

  2. 带宽 —— 链路的数据承载能力。

  3. 复杂 —— 链路的通信使用率。

  4. 延迟 —— 数据包从源到达目的需要的时间。

  5. 可靠性 —— 通过接口错误计数或以往的链路故障次数来估计出现链路故障的可能性。

  6. 开销 —— 链路上的费用,OSPF 中的开销值是根据接口带宽计算的。

路由加入到路由表中遵循的原则

路由表是保存在 RAM 中的时间文件,存储了与直连网络以及远程网络相关的信息。路由表包含网络与下一跳的关联信息。这些关联告知路由器,要以最佳的方式到达某目的地,可以将数据包发送到特定路由器 (即在到达最终目的地的途中的 “下一跳”)。下一跳也可以关联到通向最终目的地的送出接口。路由器在查找路由表的过程中通常采用 “递归查询” 路由器通常用以下 3 种途径构建路由表。

  1. 直连网络:直连到路由器某一接口的网络。当然,该接口处于活动状态,路由器自动将和自己直接连接的网络添加到路由表中。

  2. 静态路由:通过网络管理员手工配置添加到路由表中。

  3. 动态路由:由动态路由协议(如 RIP、EIGRP、OSPF 和 IS-IS 等)通告,路由器通过自动学习来构建路由表。

路由表工作的原理如下:

  1. 每台路由器根据其自身路由表中的信息独立做出转发决定。

  2. 一台路由器的路由表中包含某些信息并不表示其他路由器也包含相同的信息。

  3. 从一个网络能够到达另一个网络并不意味着数据包一定可以返回,也就是说路由信息必须双向可达,才能确保网络可以双向通信,所以静态路由一般都需要双向配置。

总结

为了实现数据的转发,路由器、路由表和路由协议是必不可少的。路由协议用于发现路由,生成路由表,路由表中保存了各种路由协议发现的路由,路由器用来选择路由,实现数据转发。


via:

  • IIP路由基础 - CSDN 博客
    https://blog.csdn.net/xiaobai729/article/details/122920727

  • IP 路由概述 - CSDN 博客
    https://blog.csdn.net/m0_61703913/article/details/124225059

  • IP Routing 概述 - CSDN 博客
    https://blog.csdn.net/u012829687/article/details/24407221

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

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

相关文章

sql:时间盲注和boolen盲注

关于时间盲注&#xff0c;boolen盲注的后面几个获取表、列、具体数据的函数补全 时间盲注方法 import time import requests# 获取数据库名 def inject_database(url):dataname for i in range(1, 20):low 32high 128mid (low high) // 2while low < high:payload &q…

zyNo.22

常见Web漏洞解析 命令执行漏洞 1.Bash与CMD常用命令 &#xff08;1&#xff09;Bash 读取文件&#xff1a;最常见的命令cat flag 在 Bash 中&#xff0c;cat 以及的tac、nl、more、head、less、tail、od、pr 均为文件读取相关命令&#xff0c;它们的区别如下&#xff1a; …

《Python 中 JSON 的魔法秘籍:从入门到精通的进阶指南》

在当今数字化时代&#xff0c;网络编程无处不在&#xff0c;数据的高效传输与交互是其核心。JSON 作为一种轻量级的数据交换格式&#xff0c;凭借其简洁、易读、跨语言的特性&#xff0c;成为网络编程中数据传输与存储的关键技术。无论是前后端数据交互&#xff0c;还是不同系统…

部门管理(体验,最原始方法来做,Django+mysql)

本人初学&#xff0c;写完代码在此记录和复盘 在创建和注册完APP之后&#xff08;我的命名是employees&#xff09;&#xff0c;编写models.py文件创建表 手动插入了几条数据 1.部门查询 urls.py和views.py在编写之前&#xff0c;都要注意导入对应的库 urls.py&#xff1a;…

Docker的容器

Docker的容器 一&#xff0e;容器 容器是一种轻量级的虚拟化技术。它有效的将单个操作系统的资源划分到各独立的组中&#xff0c;以便更好的平衡这些独立的组之间资源的使用。 容器主要包含了命名空间&#xff08;Namespaces&#xff09;和cgroup&#xff08;Control Groups…

[Redis] Redis分布式锁与常见面试题

&#x1f338;个人主页:https://blog.csdn.net/2301_80050796?spm1000.2115.3001.5343 &#x1f3f5;️热门专栏: &#x1f9ca; Java基本语法(97平均质量分)https://blog.csdn.net/2301_80050796/category_12615970.html?spm1001.2014.3001.5482 &#x1f355; Collection与…

Word 公式转 CSDN 插件 发布

经过几个月的苦修&#xff0c;这款插件终于面世了。 从Word复制公式到CSDN粘贴&#xff0c;总是出现公式中的文字被单独提出来&#xff0c;而公式作为一个图片被粘贴的情况。公式多了的时候还会导致CSDN禁止进一步的上传公式。 经过对CSDN公式的研究&#xff0c;发现在粘贴公…

JVM——堆的回收:引用计数发和可达性分析法、五种对象引用

目录 引用计数法和可达性分析法 引用计数法&#xff1a; 可达性分析算法&#xff1a; 五种对象引用 软引用&#xff1a; 弱引用&#xff1a; 引用计数法和可达性分析法 引用计数法&#xff1a; 引用计数法会为每个对象维护一个引用计数器&#xff0c;当对象被引用时加1&…

sqlilabs--小实验

一、先盲注判断 ?id1 and sleep(2)-- 如果发现页面存在注点&#xff0c;使用时间盲注脚本进行注入 import requestsdef inject_database(url):name for i in range(1, 20): # 假设数据库名称长度不超过20low 48 # 0high 122 # zmiddle (low high) // 2while low &l…

VMware Workstate 的 Ubuntu18 安装 vmware tools(不安装没法共享)

在共享主机路径后&#xff0c;可以在&#xff1a; /mnt/hgfs/下方找到共享的文件。但没有安装vmware tool时是没法共享的。 如何安装vmware tool&#xff0c;网上版本很多。这里记录一下&#xff1a; VMware Workstation 17 Pro&#xff0c;版本&#xff1a;17.6.0 虚拟机系统…

STM32 I2C通信协议说明

目录 背景 I2C协议 数据的有效性 I2C通信开始和停止条件 I2C数据传输 发送 响应 正常情况&#xff1a; 异常情况&#xff1a; 主机结束接收 写寄存器的标准流程 读寄存器的标准流程 仲裁机制 时钟同步 SDA线的仲裁 程序 背景 对单片机的三大通信中的I2C通信进…

Unity与SVN集成:实现高效版本控制

内容将会持续更新&#xff0c;有错误的地方欢迎指正&#xff0c;谢谢! Unity与SVN集成&#xff1a;实现高效版本控制 TechX 坚持将创新的科技带给世界&#xff01; 拥有更好的学习体验 —— 不断努力&#xff0c;不断进步&#xff0c;不断探索 TechX —— 心探索、心进取&…

BUU37 [DASCTF X GFCTF 2024|四月开启第一局]web1234【代码审计/序列化/RCE】

Hint1&#xff1a;本题的 flag 不在环境变量中 Hint2&#xff1a;session_start&#xff08;&#xff09;&#xff0c;注意链子挖掘 题目&#xff1a; 扫描出来www.zip class.php <?phpclass Admin{public $Config;public function __construct($Config){//安全获取基…

历史性突破!DeepSeek双模型GitHub热度超OpenAI,展现中国AI力量

在2025年2月7日&#xff0c;中国AI领域传来了一则振奋人心的消息&#xff1a;DeepSeek旗下的两大开源项目在GitHub平台上实现了历史性突破&#xff0c;其Star数成功超越了OpenAI的明星项目。这一成就不仅标志着DeepSeek在技术研发和市场影响力上的重大飞跃&#xff0c;也为中国…

肝了半年,我整理出了这篇云计算学习路线(新手必备,从入门到精通)

大家好&#xff01;我是凯哥&#xff0c;今天给大家分享一下云计算学习路线图。这是我按照自己最开始学习云计算的时候的学习路线&#xff0c;并且结合自己从业多年所涉及的知识精心总结的云计算的思维导图。这是凯哥精心总结的&#xff0c;花费了不少精力哦&#xff0c;希望对…

畅聊deepseek-r1,SiliconFlow 硅基流动注册+使用

文章目录 SiliconFlow 硅基流动注册使用注册创建API密钥使用网页端使用代码调用api调用支持的模型 SiliconFlow 硅基流动注册使用 注册 硅基流动官网 https://cloud.siliconflow.cn/i/XcgtUixn 注册流程 切换中文 ​ 邀请码&#xff1a; XcgtUixn 创建API密钥 账户管理 --&g…

Java 大数据与区块链的融合:数据可信共享与溯源(45)

&#x1f496;&#x1f496;&#x1f496;亲爱的朋友们&#xff0c;热烈欢迎你们来到 青云交的博客&#xff01;能与你们在此邂逅&#xff0c;我满心欢喜&#xff0c;深感无比荣幸。在这个瞬息万变的时代&#xff0c;我们每个人都在苦苦追寻一处能让心灵安然栖息的港湾。而 我的…

初阶c语言(循环语句习题,完结)

前言&#xff1a; c语言为b站鹏哥&#xff0c;嗯对应视频37集 昨天做的c语言&#xff0c;今天在来做一遍&#xff0c;发现做错了 今天改了平均值的计算&#xff0c; 就是说最大值加上最小值&#xff0c;如果说这个数值非常大的话&#xff0c;两个值加上会超过int类型的最大…

传感器篇(一)——深度相机

目录 一 概要 二 原理 三 对比 四 产品 五 结论 一 概要 深度相机是一种能够获取物体深度信息的设备&#xff0c;相较于普通相机只能记录物体的二维图像信息&#xff0c;深度相机可以感知物体与相机之间的距离&#xff0c;从而提供三维空间信息。在你正在阅读的报告中提到…

蓝桥杯之并查集

算法思想 并查集是一种树形的数据结构&#xff0c;主要用于解决一些元素分组问题。用于处理一些不相交集合的合并以及查询问题。并查集的思想是用一个数组表示了整片森林&#xff0c;树的根节点唯一标识了一个集合&#xff0c;我们只要找到了某个元素的树根&#xff0c;就能确…