计算机网络(5)

这次题目没想好就不想了,直接上内容哈哈

协议数据单元(Protocol Data Unit,PDU)是指在网络通信中,用于传输数据的基本单元。每层协议在进行通信时,都使用PDU来表示在该层进行处理的数据结构。不同的网络层次使用不同的PDU,这些PDU在各自的层中传递和操作,最终完成整个数据传输过程。

主要协议数据单元类型(按OSI七层模型)

每一层的PDU名称有所不同,常见的包括:

  1. 物理层(Physical Layer) - 比特流(Bits)

    • 物理层的PDU是比特流,即数据在物理介质上传输时表示的0和1的序列。
  2. 数据链路层(Data Link Layer) - 帧(Frame)

    • 数据链路层将比特流打包成帧,并添加MAC地址等信息,以保证数据能够在同一网络内正确传输。
  3. 网络层(Network Layer) - 数据包(Packet)

    • 网络层PDU是数据包,它包含源和目的IP地址信息,便于数据在不同网络之间的转发和路由。
  4. 传输层(Transport Layer) - 段(Segment,TCP)或数据报(Datagram,UDP)

    • 传输层使用段(TCP)或数据报(UDP)作为PDU,以提供可靠性、数据分段和端到端传输服务。
  5. 会话层、表示层和应用层(Session, Presentation, Application Layers) - 消息或数据(Message or Data)

    • 在这几层,PDU通常称为消息或数据。会话层、表示层和应用层的数据封装常用于数据的具体处理和呈现。

PDU的作用

  1. 数据封装:每层将上一层的PDU封装为自己的PDU,附加各层特定的头部(Header)信息以实现功能。例如,传输层PDU包含端口号,而网络层PDU包含IP地址。

  2. 分层通信:各层PDU确保不同协议层之间的数据交换互不干扰,实现分层通信。

  3. 灵活传输:每层根据自己定义的PDU格式处理数据,使得传输的灵活性和效率更高,尤其是在复杂网络环境中。

示例

在网络中,当你发送一条消息时,应用层会先将消息打包为数据,传输层再将数据封装成段或数据报,然后网络层将其封装为数据包,最后数据链路层将其封装为帧进行传输。

下面将逐一介绍集线器,交换机,和路由器

集线器(Hub)是一种网络设备,它主要用于在计算机网络中进行设备之间的连接。集线器属于 物理层(OSI模型的第1层)设备,下面是对集线器的详细讲解:

集线器的工作原理

集线器的作用是将多个设备(如计算机、打印机等)通过物理连接(通常是电缆)连接在一起,形成一个局域网(LAN)。它并不具备智能,只是简单地将信号从一个端口转发到其他所有端口。

  • 当某一设备(如计算机A)向网络中的其他设备发送数据时,数据被发送到集线器。
  • 集线器接收到数据后,会将该数据广播到所有其他端口上的设备。这意味着网络中的每个设备都会接收到该数据包。
  • 每个设备接收到数据后,根据目标地址判断自己是否需要处理该数据。如果数据的目标地址与该设备相符,它会接收并处理数据;否则,丢弃数据。

集线器的特点

  1. 简单的传输方式: 集线器不对数据进行处理,只是简单地将接收到的信号转发到所有其他端口。这意味着集线器不关心数据的内容,数据完全以电信号的形式进行转发。

  2. 广播行为: 集线器将数据广播到所有连接的设备,这会导致网络中的带宽资源浪费,因为不是所有的设备都需要接收数据。

  3. 共享带宽: 在使用集线器的网络中,所有设备共享同一个带宽。如果多个设备同时向集线器发送数据,可能会发生冲突,这会导致数据包丢失,并且设备需要重新发送数据。

  4. 物理层设备: 集线器不涉及网络地址(如IP地址或MAC地址)的解析,它只在物理层传输电信号,因此它不能执行诸如路由、交换、过滤等功能。它只是负责将电信号从一个端口传送到另一个端口。

2.交换机(Switch)是一种常见的网络设备,用于连接多个设备并在它们之间转发数据。交换机工作在 数据链路层(OSI模型的第二层),有时也能在 网络层(OSI模型的第三层)上工作,尤其是一些多层交换机(Layer 3 Switch)。交换机是现代局域网(LAN)中最常用的设备之一。

交换机的工作原理

交换机的工作原理与集线器(Hub)类似,都是通过接收信号并转发数据来实现设备之间的通信,但交换机比集线器更加智能。具体来说,交换机通过 MAC地址表(Media Access Control address table)来决定将数据包转发到哪个端口。

  1. 学习过程: 交换机在收到一个数据帧时,会记录下源设备的MAC地址和接收该数据帧的端口号,然后将这个信息保存在它的MAC地址表中。通过这个表,交换机能够知道哪些设备连接在哪些端口上。

  2. 转发过程: 当交换机收到一个数据帧时,它会检查帧中的目标MAC地址,并根据MAC地址表来决定将数据帧发送到哪个端口。如果目标地址存在于MAC地址表中,交换机会将数据帧只发送到对应的端口。如果目标MAC地址不在表中,交换机会将数据帧广播到所有端口,直到目标设备回复并更新交换机的表格。

  3. 隔离冲突域: 与集线器不同,交换机可以隔离每个端口的冲突域。这意味着连接到交换机的每个设备都可以独立地发送数据,而不会相互干扰,显著提高了网络性能。

交换机的类型

  1. 二层交换机(Layer 2 Switch): 工作在数据链路层,主要通过MAC地址来转发数据帧。它是最常见的交换机类型,适用于大多数普通局域网(LAN)环境。

  2. 三层交换机(Layer 3 Switch): 工作在网络层,除了可以根据MAC地址转发数据帧外,还可以基于IP地址做路由决策。三层交换机不仅能够执行传统的交换功能,还能像路由器一样进行IP地址的处理和路由选择,通常用于大型网络或复杂的分布式网络架构中。

  3. 多层交换机: 多层交换机结合了二层交换机和三层交换机的功能,支持数据链路层和网络层的功能,能够进行更复杂的流量管理和路由决策。

交换机的优势

  • 减少冲突: 交换机通过将每个端口作为独立的冲突域,避免了共享介质造成的冲突,从而提高了网络效率。
  • 提高带宽利用率: 交换机通过智能地将数据帧发送到特定的端口,避免了广播传输,提高了网络带宽的利用率。
  • 支持全双工通信: 现代交换机支持全双工通信模式,即数据可以同时在两个方向上发送和接收,提高了传输速度。

交换机的缺点

  • 成本较高: 相比集线器,交换机的成本较高,因为它需要进行更复杂的处理和管理。
  • 需要管理: 虽然很多交换机是即插即用的,但对于企业级网络中的交换机,可能需要进行配置和管理。

交换机与集线器的区别

特性集线器 (Hub)交换机 (Switch)
工作层物理层 (Layer 1)数据链路层 (Layer 2)
数据转发方式广播所有端口精确转发到目标端口
性能低,带宽共享高,带宽独立
冲突域单一冲突域每个端口独立冲突域
设备识别通过MAC地址识别

总的来说,交换机比集线器更为高效,能够更好地管理网络流量,减少冲突,并提高整体网络的性能。

路由器(Router)

路由器(Router)是网络中必不可少的设备所以他很重要。它的主要功能是 转发数据包(数据包的路由)并将不同网络之间的通信连接起来。路由器工作在 网络层(OSI模型的第三层),负责根据目标IP地址将数据包从源网络转发到目标网络,通常用于连接不同的子网、局域网(LAN)或广域网(WAN)。

路由器的基本工作原理

路由器的基本工作原理是根据数据包中的目标IP地址,查找路由表,决定将数据包转发到哪个网络。路由器的工作流程大致如下:

  1. 接收数据包: 路由器从连接到其接口的网络接收到一个数据包。数据包包含了目标设备的IP地址。

  2. 查找路由表: 路由器使用一个路由表来查找目标IP地址,并根据路由表的条目决定数据包的转发路径。路由表包含网络的目标地址、下一跳路由器、以及路由接口等信息。

  3. 转发数据包: 一旦找到匹配的路由条目,路由器将数据包转发到指定的下一跳路由器或目标设备。如果目标IP地址不在路由表中,路由器会将数据包丢弃或发出一个 "Destination Unreachable" 错误消息。

  4. 数据包转发: 路由器根据查找到的路由信息,决定将数据包发送到哪个接口,然后通过该接口转发到下一跳的路由器或最终的目标设备。

路由器的主要功能

  1. 路径选择与数据包转发: 路由器根据路由协议(如RIP、OSPF、BGP)与网络拓扑信息,决定最佳路径,并将数据包从源网络转发到目标网络。

  2. 子网间通信: 路由器能够连接不同的子网,使得不同子网中的设备能够互相通信。

  3. 网络地址转换(NAT): 路由器支持NAT功能,可以将内部私有IP地址转换为公网IP地址,支持多个内部设备共享一个公网IP,通常用于家庭和企业网络。

  4. IP分段和重组: 路由器会根据目标网络的MTU(最大传输单元)来分段大数据包,并在目标设备处重新组装。

  5. 数据包过滤与安全: 路由器可以根据访问控制列表(ACL)过滤进出网络的数据包,提高网络安全性,防止不必要的通信流量。

路由器的类型

  1. 家庭路由器: 这些路由器通常用于家庭或小型办公室网络,用于连接ISP提供的宽带连接,并将该连接共享给多个家庭设备。它们通常带有无线功能(Wi-Fi),提供局域网内设备的无线连接。

  2. 企业级路由器: 企业级路由器具有更强大的性能和功能,支持更多的接口、更复杂的路由协议以及更高的安全功能。它们常用于连接企业的内部网络和外部网络(如互联网)。

  3. 核心路由器: 核心路由器用于互联网的核心网络,处理高速数据流并在大型网络中转发数据。它们通常具有高速的处理能力和高带宽的连接。

  4. 边界路由器: 边界路由器位于企业网络和外部网络(如互联网)之间,负责连接内部网络和外部网络。它们通常用于控制进入和离开内部网络的流量,并执行路由协议、NAT等功能。

  5. 虚拟路由器: 虚拟路由器是一种基于软件的路由器,它在虚拟化环境中运行,不依赖于专用的硬件设备。

路由器与交换机的区别

特性路由器 (Router)交换机 (Switch)
工作层网络层(Layer 3)数据链路层(Layer 2)
功能根据目标IP地址转发数据包根据MAC地址转发数据帧
连接方式连接不同的网络或子网连接同一局域网内的设备
转发方式转发到目标网络或下一跳路由器转发到目标设备的端口
网络地址转换(NAT)支持不支持
路由协议支持(如RIP、OSPF、BGP)不支持

路由器的工作模式

  1. 静态路由(Static Routing): 网络管理员手动配置路由条目,指定从一个网络到另一个网络的路径。适用于小型网络或路径较少变化的情况。

  2. 动态路由(Dynamic Routing): 路由器使用路由协议(如RIP、OSPF、BGP)自动交换路由信息,动态更新路由表。适用于大型网络,能够适应网络拓扑的变化。

  3. 默认路由(Default Routing): 默认路由用于指定当目标网络在路由表中找不到时,数据包应发送到哪个路由器。通常用于连接到外部网络(如互联网)的边界路由器。

路由器的优势

  • 连接不同网络: 路由器能够连接不同的网络或子网,确保不同网络间的设备能够进行通信。
  • 提高网络安全: 通过过滤、NAT等功能,路由器能增加网络的安全性,保护内部网络免受外部威胁。
  • 智能路径选择: 路由器能够根据网络的状态选择最佳的转发路径,提高网络的可靠性和效率。

路由器的缺点

  • 性能较低: 路由器需要处理更复杂的任务,导致其性能可能不如交换机。
  • 成本较高: 路由器通常比交换机更昂贵,尤其是企业级和核心路由器。

总的来说,路由器是连接多个网络、保证数据能够高效可靠传输的重要设备,它的作用不可或缺,尤其是在大型网络、互联网和企业级网络中。

网络接口卡(NIC,Network Interface Card)

网络接口卡(NIC) 是一种硬件设备,用于将计算机或其他设备连接到计算机网络中。它提供物理连接和协议转换,允许设备与网络中的其他设备进行通信。NIC通常被插入到计算机的主板上,通过标准接口(如PCI、PCIe等)与计算机的中央处理器(CPU)进行通信。

网络接口卡的功能和工作原理

  1. 物理连接: 网络接口卡提供计算机与网络之间的物理连接。对于有线网络,它通过网线(如以太网线)与交换机、路由器或集线器等设备连接;对于无线网络,它通过无线电波与无线接入点连接。

  2. 数据链路层通信: NIC主要工作在OSI模型的 数据链路层(Layer 2)。它通过 MAC 地址 来唯一标识网络中的设备。在数据传输过程中,网络接口卡负责数据帧的封装和解封装,确保数据按照正确的协议格式在网络中传输。

  3. 数据包的发送与接收: 网络接口卡负责从计算机的操作系统获取数据,并将这些数据封装成网络帧,通过物理媒介发送到网络上。同样,它也会接收来自网络的数据包,并将其解封装,传递给操作系统或应用程序。

  4. 协议处理: 网络接口卡内置一些基本的协议处理功能,例如 Ethernet 协议,它决定了如何在数据链路层上进行数据传输。对于无线网络,NIC还可能支持 Wi-Fi 协议

  5. 硬件地址(MAC地址): 每个网络接口卡都有一个唯一的硬件地址MAC 地址(Media Access Control)。MAC 地址是全球唯一的,用于标识设备,并确保在网络中正确地传输数据。通常,NIC在出厂时会被赋予一个唯一的MAC地址。

  6. 流量控制: 网络接口卡还可以通过支持流量控制技术来避免网络拥塞,确保数据传输的顺畅性。这通常在高负载情况下起到作用,防止数据丢包。

网络接口卡的类型

  1. 有线网络接口卡(Wired NIC): 这是最常见的网络接口卡类型,它通过以太网线(RJ45)与网络设备(如交换机、路由器)连接,通常用于局域网(LAN)连接。

  2. 无线网络接口卡(Wireless NIC): 无线网卡用于连接无线网络,它支持Wi-Fi协议,允许设备通过无线接入点连接到网络。无线网卡内置无线电模块和天线,以便发送和接收无线信号。

  3. 光纤网络接口卡(Fiber NIC): 这种网络接口卡用于连接光纤网络。它通常用于企业级应用中,以提供更高的带宽和更远的传输距离。

  4. 虚拟网络接口卡(Virtual NIC): 虚拟网络接口卡常见于虚拟化环境中,如虚拟机(VM)中使用。它允许虚拟机与物理网络通信,并通常通过软件定义的方式进行管理。

网络接口卡的工作过程

  1. 接收数据: 网络接口卡接收到通过物理媒介传输过来的数据包,首先会检查该数据包的目的 MAC 地址。如果该数据包的目标是当前网络接口卡的 MAC 地址(或者是广播地址),那么数据包将被接受。

  2. 数据解封装: 网络接口卡会解封装接收到的帧,提取出数据包(如 IP 数据包)并将其传递给计算机的操作系统(通常是通过驱动程序)。

  3. 发送数据: 当操作系统或应用程序需要通过网络发送数据时,它将数据传递给网络接口卡。网络接口卡会将数据封装成数据帧,并通过物理媒介将数据发送到目标设备。

  4. 错误检测与处理: 网络接口卡负责检测传输中的错误。它会使用 循环冗余校验(CRC) 等技术来检测数据帧是否损坏。如果发现错误,网络接口卡会丢弃该帧并要求重新发送。

网络接口卡的主要功能

  1. 数据封装与解封装: 网络接口卡负责将操作系统传递的数据封装为数据帧,并通过网络发送;接收数据时,它会解封装数据并将其传递给操作系统。

  2. MAC地址管理: 网络接口卡包含一个唯一的 MAC 地址,用于在数据链路层上标识设备,并保证数据的正确转发。

  3. 流量控制与拥塞管理: NIC支持流量控制机制,以确保数据传输不超过网络的容量,避免出现数据丢失或网络拥塞。

  4. 错误检测: 网络接口卡具备错误检测能力,通过 CRC 校验等方式检查传输过程中可能发生的错误。

  5. 全双工与半双工模式: 网络接口卡支持全双工和半双工通信模式。在全双工模式下,设备可以同时发送和接收数据;在半双工模式下,设备只能在某一时刻发送或接收数据。

网络接口卡的安装和配置

  1. 硬件安装: 对于有线网络接口卡,用户需要将网卡插入计算机的扩展插槽(如 PCI、PCIe 插槽)。对于无线网卡,则是插入无线网卡模块或USB接口。

  2. 驱动程序安装: 安装完硬件后,操作系统需要识别并加载相应的驱动程序,确保网络接口卡能够正确工作。现代操作系统通常能够自动检测并安装适合的驱动程序。

  3. 网络配置: 网络接口卡的 IP 配置(例如静态 IP 或动态 IP)通常通过操作系统的网络设置界面进行配置。有线网卡通常会使用 DHCP 协议自动获取 IP 地址,而无线网卡则需要配置相应的无线网络名称和密码。

网络接口卡的常见问题

  1. 网络连接中断: 如果网络接口卡出现硬件故障或者驱动程序错误,可能会导致网络连接中断。用户可以通过重新安装驱动程序或更换硬件解决问题。

  2. 驱动程序不兼容: 在某些情况下,操作系统和网卡驱动程序之间可能会不兼容,导致无法正常使用网络接口卡。这时候需要更新驱动程序或使用适配的驱动版本。

  3. 网络速度慢: 如果网络接口卡的性能与当前的网络带宽不匹配,或者存在物理损坏,可能会导致网络速度变慢。检查硬件和连接是否正常是解决该问题的关键。

网络接口卡的应用

  1. 家庭网络: 家庭中的计算机、打印机和其他智能设备通常通过有线或无线网卡连接到家庭网络和互联网。

  2. 企业网络: 在企业环境中,网络接口卡用于连接计算机、服务器、交换机和路由器,确保局域网内各设备之间的通信。

  3. 无线网络接入: 无线网卡使移动设备能够通过无线接入点连接到 Wi-Fi 网络,是智能手机、笔记本电脑和其他移动设备的必备硬件。

  4. 虚拟化环境: 在虚拟化环境中,每个虚拟机都需要网络接口卡(虚拟网卡)来与物理网络进行通信。

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

微信小程序——实现二维码扫描功能(含代码)

✅作者简介:2022年博客新星 第八。热爱国学的Java后端开发者,修心和技术同步精进。 🍎个人主页:Java Fans的博客 🍊个人信条:不迁怒,不贰过。小知识,大智慧。 💞当前专栏…

OpenGL ES 文字渲染进阶--渲染中文字体

旧文 OpenGL ES 文字渲染方式有几种? 一文中分别介绍了 OpenGL 利用 Canvas 和 FreeType 绘制文字的方法。 无论采用哪种方式进行渲染,本质上原理都是纹理贴图:将带有文字的图像上传到纹理,然后进行贴图。 渲染中文字体 利用 Canvas 绘制中文字体和绘制其他字体在操作方式上…

redis实现消息队列的几种方式

一、了解 众所周知,redis是我们日常开发过程中使用最多的非关系型数据库,也是消息中间件。实际上除了常用的rabbitmq、rocketmq、kafka消息队列(大家自己下去研究吧~模式都是通用的),我们也能使用redis实现消息队列。…

WLAN消失或者已连接但是访问不了互联网

目录 1、WLAN已连接但是访问不了互联网 2、WLAN图标消失 今晚电脑突然连不上网了,重启试了好多种办法都没有用。 1、WLAN已连接但是访问不了互联网 这个的问题很多,建议直接网络重置,即将网络驱动全部删除,然后重新安装。 首先…

Hadoop生态圈框架部署(六)- HBase完全分布式部署

文章目录 前言一、Hbase完全分布式部署(手动部署)1. 下载Hbase2. 上传安装包3. 解压HBase安装包4. 配置HBase配置文件4.1 修改hbase-env.sh配置文件4.2 修改hbase-site.xml配置文件4.3 修改regionservers配置文件4.4 删除hbase中slf4j-reload4j-1.7.33.j…

【微服务】Docker 容器化

一、初识Docker 1. 为什么需要 Docker 大型项目组件较多,运行环境也较为复杂,部署时会遇到一些问题: 依赖关系复杂,容易出现兼容性的问题开发、测试、生产环境有差异 Docker 如何解决依赖的兼容问题 将应用的Libs(…

「Py」Python基础篇 之 Python都可以做哪些自动化?

✨博客主页何曾参静谧的博客📌文章专栏「Py」Python程序设计📚全部专栏「Win」Windows程序设计「IDE」集成开发环境「UG/NX」BlockUI集合「C/C」C/C程序设计「DSA」数据结构与算法「UG/NX」NX二次开发「QT」QT5程序设计「File」数据文件格式「UG/NX」NX定…

无插件H5播放器EasyPlayer.js网页web无插件播放器vue和react详细介绍

EasyPlayer.js H5播放器,是一款能够同时支持HTTP、HTTP-FLV、HLS(m3u8)、WS、WEBRTC、FMP4视频直播与视频点播等多种协议,支持H.264、H.265、AAC、G711A、Mp3等多种音视频编码格式,支持MSE、WASM、WebCodec等多种解码方…

什么是量化交易

课程大纲 内容初级初识量化,理解量化 初识量化 传统量化和AI量化的区别 量化思想挖掘 量化思想的挖掘及积累技巧 量化代码基础: python、pandas、SQL基础语法 金融数据分析 常用金融分析方式 常用因子分析方式 数据分析实战练习 回测及交易引擎 交易引擎…

Ajax 获取进度和中断请求

HTML加入一些内容方便看效果和做交互&#xff1a; <div><p>当前传输进度&#xff1a;<span id"progress">0%</span></p><button id"send">发送</button><button id"btn">中断</button> …

MCU移植LVGL

一.准备 1.1. 任意一个屏幕可以正常显示的GD32工程,stm32等其它mcu都一样&#xff1a; 1.2. LVGL源码 下载最新版源文件:https://github.com/lvgl/lvgl/tree/release/v8.3 我们会得到一个压缩文件&#xff0c;然后解压出来备用&#xff0c;现在准备好了一个GD32 Keil工程和一…

❤React-JSX语法认识和使用

1、JSX基本使用​ JSX是React的核心 JSX是ES的扩展 jsx语法 -> 普通的JavaScript代码 -> babel React可以使用JSX的前提和原因&#xff1a; React生态系统支持&#xff1a; 脚手架通常用于构建React应用程序&#xff0c;而JSX是React框架的核心语法之一。因此&#xf…

业务、技术、管理,谁才是指标平台的用户?

指标平台究竟应该给谁用&#xff1f;这个问题的答案涉及业务侧、技术侧和管理侧三个关键维度&#xff0c;每个维度都有不同的角色和需求。 业务侧&#xff1a;赋能一线&#xff0c;驱动增长 在业务侧&#xff0c;指标平台是前线员工的“作战地图”和“导航仪”。业务人员&…

向日葵软件Windows系统连接苹果系统(MacOS)的无反应问题解决办法

前言 向日葵软件最近开始收费了的&#xff0c;打算收割我们。这也是没有办法的事情&#xff0c;毕竟他们的程序员也是需要吃饭的&#xff0c;我也表示理解。 所以&#xff0c;我在连接了几次发现反应很迟钝后&#xff0c;果断的买了158元的包年会员。 但是&#xff0c;在买了会…

pip install volcengine-python-sdk报错

使用MetaGPT&#xff0c;配环境的时候&#xff0c;报错信息为&#xff1a; error: could not create ‘build\lib\volcenginesdktransitrouter\models\transit_router_traffic_qos_marking_policy_for_describe_transit_router_traffic_qos_marking_policies_output.py’: No s…

二叉树的遍历(手动)

树的遍历分四种&#xff1a; 层序遍历 前序遍历 中序遍历 后序遍历 层序遍历&#xff1a; 很好理解&#xff0c;就是bfs嘛&#xff08;二不二叉都行&#xff09; 前序遍历&#xff1a; 又叫先跟遍历&#xff0c;遍历顺序是根->左->右&#xff08;子树里也是&#…

2024 年 Apifox 和 Postman 对比介绍详细版

Apifox VS Postman &#xff0c;当下流行的的两款 API 开发工具&#xff0c;2024 版对比&#xff01;

【C语言刷力扣】1502.判断能否形成等差数列

题目&#xff1a; 解题思路; 先对数组进行升序排序&#xff0c;再用循环对比两相邻元素之间的差值。若出现不同&#xff0c;即不是等差数列。 时间复杂度&#xff1a; 空间复杂度&#xff1a; int compare(const void* a, const void* b) {return (*(int *)b - *(int *)a…

自动驾驶系列—从数据采集到存储:解密自动驾驶传感器数据采集盒子的关键技术

&#x1f31f;&#x1f31f; 欢迎来到我的技术小筑&#xff0c;一个专为技术探索者打造的交流空间。在这里&#xff0c;我们不仅分享代码的智慧&#xff0c;还探讨技术的深度与广度。无论您是资深开发者还是技术新手&#xff0c;这里都有一片属于您的天空。让我们在知识的海洋中…

程序员的数学之进制与零

最近一年多发生了很多平凡的大事&#xff0c;应接不暇&#xff0c;一度断更。从今儿起再接上来。 先从数学开始吧&#xff0c;因为太枯燥了。 生活中有许多种进制在共同起作用&#xff0c;例如&#xff0c;数学上的十进制、计算机中的二进制、八进制和十六进制、计时的60进制、…