突破编程_C++_网络编程(TCPIP 四层模型(网络层(1))

1 网络层概述

TCP/IP 四层模型中的网络层是模型中的核心组成部分,它主要负责处理数据包的路由和转发,确保数据能够在源主机和目标主机之间准确地传输。

一、主要功能

网络层的主要功能是实现数据包的选路和转发。当数据从应用层传输到传输层后,传输层将其封装成数据包(通常称为段),并传递给网络层。网络层根据数据包中的目的地址信息,确定数据包应该通过哪些路由器或交换机进行转发,最终到达目标主机。

为了实现这一功能,网络层使用了 IP(Internet Protocol,互联网协议)作为其核心协议。IP 协议定义了在网络中如何寻址、传递和分配数据包。每个数据包都包含源 IP 地址和目的 IP 地址,这样网络层就可以根据这些地址信息来确定数据包的传输路径。

二、其他协议

除了 IP 协议外,网络层还包含了一些其他的协议,以支持更复杂的网络功能和错误处理。例如,ICMP(Internet Control Message Protocol,互联网控制消息协议)用于在网络中传递错误消息。当数据包在网络中传输时,如果遇到问题(如无法到达目的地址或数据包过期),ICMP协议会生成相应的错误消息并返回给源主机,以便源主机能够采取相应的处理措施。

三、路由选择

网络层还负责路由选择,即根据网络拓扑结构、链路状态、路由算法等信息,选择最佳的数据包传输路径。这通常涉及到动态路由协议(如 OSPF、BGP 等)和静态路由配置。动态路由协议允许路由器之间交换路由信息,并根据网络变化自动调整路由表;而静态路由则需要管理员手动配置路由条目。

四、安全性与可靠性

网络层还涉及一些安全性和可靠性的考虑。例如,IPsec(IP 安全性)协议提供了对网络层数据包的加密和认证功能,以确保数据在传输过程中的机密性和完整性。此外,网络层还通过一些机制(如分片与重组、流量控制等)来确保数据包的可靠传输。

2 网络层与 OSI 七层模型中网络层的比较

TCP/IP 四层模型与 OSI 七层模型都是用于描述计算机网络通信的架构模型,但它们之间存在一些显著的差异。特别是在网络层这一部分,两种模型虽然有着相似的功能和作用,但在具体的实现和应用上却有所不同。以下是对 TCP/IP 四层模型中网络层与 OSI 七层模型中网络层的详细比较:

一、定义与功能

TCP/IP 四层模型中的网络层主要负责处理数据包(在 TCP/IP 中通常称为数据报)的路由和转发,确保数据能够从源主机准确地传输到目标主机。它使用 IP 协议作为核心,处理机器之间跨多个网络的路由,并管理网络名称和地址。

OSI 七层模型中的网络层则位于数据链路层和应用层之间,它同样负责数据的路由和转发,但更注重于为数据提供可靠的传输路径。OSI 网络层关注于将数据从源端经过若干个中间节点传送到目的端,并为此提供最基本的端到端的数据传送服务。

二、协议与组件

TCP/IP 网络层的主要协议包括 IP 协议、ICMP 协议、ARP 协议等。这些协议共同协作,实现数据包的封装、寻址、路由选择和转发等功能。

OSI 网络层则包含更多的协议和组件,如 X.25 协议、综合业务数据网(ISDN)、异步传输模式(ATM)等。这些协议和组件提供了更丰富的网络服务和功能,以满足不同应用场景的需求。

三、关注点与优化

TCP/IP 网络层更注重于实际应用的效率和性能。它采用了一系列优化措施,如分片与重组、流量控制等,以确保数据能够高效、可靠地传输。此外,TCP/IP 网络层还关注于安全性,通过 IPsec 等协议提供对网络层数据包的加密和认证功能。

OSI 网络层则更关注于网络的标准化和通用性。它定义了一系列通用的网络服务和接口,以便不同的网络设备和应用可以无缝地连接和通信。OSI 网络层还关注于网络的扩展性和灵活性,以适应不断变化的网络环境。

四、实际应用与影响

TCP/IP 模型由于其简洁性和实用性,在实际应用中得到了广泛的采用。互联网以及大多数现代计算机网络都是基于 TCP/IP 协议栈构建的。TCP/IP 网络层的优秀设计使得这些网络能够高效地处理大量数据传输任务。

OSI 模型虽然提供了对网络通信的详尽描述和标准化,但在实际应用中并没有得到广泛采用。这主要是因为 OSI 模型过于复杂和庞大,难以在实际网络环境中实现。然而,OSI 模型对于网络研究和教学仍然具有重要意义,它提供了一种理解和分析网络通信的有效框架。

3 网络层基础

3.1 IP 地址

一、IP地址

IP地址,即互联网协议地址,是分配给连接到互联网的设备的一个数字标签。它用于在网络层中标识和定位设备,确保数据包能够准确地送达目标设备。每个IP地址都是唯一的,由网络部分和主机部分组成。

IP地址可以分为四个类别:A 类、B 类、C 类和 D 类。每个类别的IP地址范围、网络部分和主机部分的位数都有所不同。例如,A 类地址的网络部分占用前 8 位,主机部分占用后 24 位;而C类地址的网络部分占用前 24 位,主机部分占用后 8 位。这种分类方式有助于根据网络规模选择合适的 IP 地址类别。

A类 IP 地址:

  • A 类 IP 地址由 1 字节的网络地址和 3 字节的主机地址组成。网络地址的最高位必须是“0”。
  • 地址范围从 1.0.0.0 到 126.0.0.0。
  • A 类地址通常用于大型网络,每个网络可以容纳超过 1 亿个主机。

B 类 IP 地址:

  • B 类 IP 地址由 2 字节的网络地址和 2 字节的主机地址组成,网络地址的最高位必须是“10”。
  • 地址范围从 128.0.0.0 到 191.255.255.255。
  • B 类地址适用于中等规模的网络。

C 类 IP 地址:

  • C 类 IP 地址由 3 字节的网络地址和1字节的主机地址组成,网络地址的最高位必须是“110”。
  • 范围从 192.0.0.0 到 223.255.255.255。
  • C 类地址通常用于小型网络,每个网络能容纳 254 个主机。

D 类 IP 地址:

  • D 类地址不用于标识具体的网络设备,而是用于多播(Multicast)地址,即一个数据包可以发送给多个目标设备。
  • D 类 IP 地址的第一个字节以“1110”开始,地址范围从 224.0.0.0 到 239.255.255.255。

3.2 子网划分

在网络层中,子网划分是一个核心概念,它用于将一个大的网络分割成若干个子网络,以提高IP地址的利用率和网络的灵活性。

(1)子网划分的基本原理

子网划分的基本思想是通过改变 IP 地址的默认子网掩码,来重新定义网络地址和主机地址的边界。默认情况下,IP 地址根据类别(A 类、B 类、C 类)来划分网络部分和主机部分。但子网划分允许我们根据实际需求,自定义这些边界,从而更精细地控制网络地址的分配。

子网掩码是实现子网划分的关键。它是一个 32 位的二进制数,与 IP 地址一起使用,来确定哪些位是网络地址,哪些位是主机地址。例如,对于一个C类地址(如 192.168.1.0),默认的子网掩码是 255.255.255.0。通过改变这个子网掩码,我们可以将网络划分为更小的子网。

(2)子网划分的步骤

  • 确定原始网络和子网掩码:首先,需要知道原始的IP地址范围和子网掩码。
  • 计算可用主机数:根据原始子网掩码,计算每个子网中可用的主机数。
  • 确定新的子网掩码:根据所需的子网数量和每个子网中的主机数,确定新的子网掩码。
  • 划分子网:使用新的子网掩码,将原始网络划分为多个子网。
  • 分配IP地址:为每个子网分配IP地址范围,并确保它们不会重叠。

(3)示例

假设我们有一个 C 类网络地址 192.168.1.0,默认的子网掩码是 255.255.255.0。现在,我们希望将这个网络划分为 4 个子网,每个子网中至少有 10 台主机。

  • 计算可用主机数:原始的子网掩码 255.255.255.0 意味着前 24 位是网络地址,后 8 位是主机地址。因此,每个子网最多可以有 2^8-2=254 台主机(减去网络地址和广播地址)。

  • 确定新的子网掩码:由于我们需要 4 个子网,我们需要至少 2 位来表示这些子网。这意味着我们需要从主机地址中借用 2 位作为网络地址。因此,新的子网掩码将是 255.255.255.192(即 11111111.11111111.11111111.11000000)。

  • 划分子网:使用新的子网掩码,我们可以将网络划分为以下4个子网:

192.168.1.0/26(网络地址:192.168.1.0,主机范围:192.168.1.1-192.168.1.62)
192.168.1.64/26(网络地址:192.168.1.64,主机范围:192.168.1.65-192.168.1.126)
192.168.1.128/26(网络地址:192.168.1.128,主机范围:192.168.1.129-192.168.1.190)
192.168.1.192/26(网络地址:192.168.1.192,主机范围:192.168.1.193-192.168.1.254)

  • 分配IP地址:现在,每个子网都有足够的IP地址供至少10台主机使用。你可以根据需要为每个子网分配IP地址。

3.3 CIDR

CIDR(Classless Inter-Domain Routing,无类域间路由选择)是 TCP/IP 四层模型中网络层的一种 IP 地址分配和路由选择技术。这种技术相较于传统的IP地址分类方式,提供了更加灵活和高效的 IP 地址管理方案。

CIDR 的核心思想在于打破了基于类别的 IP 地址分配限制,引入了可变长度子网掩码(VLSM)的概念。通过 CIDR,管理员可以根据实际需求,灵活地调整网络前缀的长度,从而实现对 IP 地址空间的更高效利用。

在CIDR 中,IP 地址被划分为网络前缀和主机标识符两部分。网络前缀用于标识网络地址,而主机标识符则用于标识网络内的具体主机。这种划分方式使得 IP 地址的分配更加灵活,能够适应不同规模的网络需求。

CIDR 使用一个斜线后跟一个数字来表示前缀长度,例如 192.168.0.0/16。在这个例子中,“/16”表示前 16 位是网络部分,剩下的位则是主机部分。这种表示法使得我们可以快速判断一个 IP 地址属于哪个网络。

CIDR 的引入带来了诸多好处。首先,它提高了 IPv4 地址空间的分配效率,减少了 IP 地址的浪费。其次,CIDR 使得路由表更加简洁,提高了路由选择的效率。此外,CIDR 还有助于简化网络管理,降低网络维护成本。

在实际应用中,CIDR 使得网络管理员能够更加精确地控制IP地址的分配和使用。例如,在划分子网时,管理员可以根据子网内主机的数量,灵活地调整网络前缀的长度,从而确保每个子网都能得到足够的IP地址资源。

3.3 VLSM

VLSM(Variable Length Subnet Mask,可变长子网掩码)是网络层的一个关键概念,它允许网络管理员根据实际需求定制子网的大小,从而实现更灵活和高效的IP地址管理。

(1)VLSM 的基本原理

在传统的 IP 地址分配中,子网掩码是固定的,因此每个子网的大小也是固定的。这可能导致某些子网中 IP 地址的浪费,而另一些子网则可能面临 IP 地址不足的问题。VLSM 通过引入可变长的子网掩码,打破了这种限制,使得每个子网可以有不同的大小。

VLSM 的核心思想是从主机位中借用几位作为网络位,从而扩展网络部分的位数。通过调整子网掩码的长度,可以精确地控制每个子网的大小和范围。

(2)VLSM 的应用

VLSM 主要应用于大型网络环境中,特别是在需要精细控制 IP 地址分配和路由选择的情况下。它可以帮助网络管理员更有效地利用IP地址空间,减少地址浪费,并简化网络管理。

(3)示例

假设我们有一个 C 类网络地址 192.168.1.0,默认的子网掩码是 255.255.255.0。现在,我们希望将这个网络划分为两个大小不同的子网。

  • 确定原始网络和子网掩码:

原始网络地址:192.168.1.0
原始子网掩码:255.255.255.0

  • 计算可用主机数:

在默认子网掩码下,每个子网可以有 254 个可用主机地址(减去网络地址和广播地址)。

  • 确定新的子网掩码:

我们希望将网络划分为两个子网,一个大子网和一个小子网。假设大子网需要 200 个主机地址,小子网需要 50 个主机地址。
对于大子网,我们需要一个能够容纳 200 个主机的子网掩码。由于 2^8 = 256,我们可以使用/24(即 255.255.255.0)作为子网掩码,这将提供足够的地址空间。
对于小子网,我们需要一个能够容纳 50 个主机的子网掩码。由于 2^7 = 128,我们可以使用/27(即 255.255.255.224)作为子网掩码。

  • 划分子网:

使用/24作为大子网的子网掩码,保持原始网络地址 192.168.1.0 不变。
对于小子网,我们需要从原始网络中借用几位作为网络位。从主机位中借用 3 位(因为 2^3 = 8,足够区分两个子网),得到新的子网地址 192.168.1.32(二进制表示为 11000000.10101000.00000001.00100000)。小子网的子网掩码为 255.255.255.224。

  • 分配IP地址:

大子网的IP地址范围为 192.168.1.1 至 192.168.1.254(除去网络地址和广播地址)。
小子网的IP地址范围为 192.168.1.33 至 192.168.1.62(同样除去网络地址和广播地址)。

通过这个示例,我们可以看到 VLSM 如何允许我们根据实际需求创建不同大小的子网,从而更有效地利用 IP 地址空间。这种灵活性使得 VLSM 成为大型和复杂网络环境中不可或缺的工具。

3.4 超网

超网(Supernetting)是一种 IP 地址分配技术,主要用于简化路由表,提高网络的可扩展性和灵活性。超网通过聚合多个连续的子网,形成一个更大的、逻辑上统一的网络,从而减少了路由表中的条目数量,降低了路由器的处理负担。

(1)超网的基本原理

在传统的 CIDR(无类别域间路由)技术中,IP 地址被划分为网络前缀和主机标识符两部分。通过改变网络前缀的长度,CIDR 可以灵活地划分不同大小的子网。然而,随着网络规模的扩大和子网数量的增加,路由表的复杂性也会不断上升,给网络管理带来挑战。

超网技术就是在 CIDR 的基础上进一步发展的。它通过将多个连续的 CIDR 块聚合成一个更大的网络,简化了路由表的结构。具体来说,超网技术允许我们定义一个比单个子网更长的网络前缀,从而将多个子网合并成一个超网。这样做的好处是减少了路由表中需要维护的子网数量,降低了网络管理的复杂性。

(2)超网的实现方式

实现超网的关键在于确定一个合适的网络前缀长度,以便将多个连续的 CIDR 块合并成一个超网。这通常需要根据网络的实际情况和需求进行权衡和选择。一旦确定了网络前缀长度,就可以将多个 CIDR 块聚合到一个超网中,并在路由表中用一条记录来表示这个超网。

(3)示例

假设我们有以下四个连续的CIDR块:

  • 192.168.0.0/24
  • 192.168.1.0/24
  • 192.168.2.0/24
  • 192.168.3.0/24

这四个 CIDR 块都是/24 的,意味着它们各自有 256 个 IP 地址(其中 2 个用于网络地址和广播地址,剩下 254 个可用于主机)。如果我们想将这四个 CIDR 块合并成一个超网,可以选择一个更长的网络前缀。在这个例子中,我们可以选择/22 作为超网的网络前缀。

上面/22 的前缀意味着前 22 位是网络地址,后 10 位是主机地址。这样,我们就可以将上述四个 CIDR 块合并成一个 192.168.0.0/22 的超网。这个超网包含了从 192.168.0.0 到 192.168.3.255 的所有 IP 地址。

在路由表中,我们只需要一条记录来表示这个超网,而不是四条记录来分别表示四个 CIDR 块。这大大简化了路由表的结构,提高了路由器的处理效率。

(4)超网的优势

超网技术的优势主要体现在以下几个方面:

  • 简化路由表:通过聚合多个子网成一个超网,减少了路由表中的条目数量,使得路由表更加简洁。
  • 提高路由效率:减少了路由器的处理负担,提高了数据包转发的速度和准确性。
  • 增强网络可扩展性:随着网络的扩展,可以通过调整超网的网络前缀长度来适应不同的需求,保持网络的灵活性和可扩展性。

3.5 私有 IP 地址

私有 IP 地址主要用于在本地局域网中标识设备,确保它们可以相互通信。与公有 IP 地址(即互联网上全局可达的IP地址)不同,私有IP地址不会在互联网上路由,因此它们只能在特定范围内使用。

私有 IP 地址范围由 IANA(Internet Assigned Numbers Authority)保留,主要包括以下三个范围:

  • 10.0.0.0 ~ 10.255.255.255
  • 172.16.0.0 ~ 172.31.255.255
  • 192.168.0.0 ~ 192.168.255.255

这些地址范围被专门用于私有网络,如家庭网络、办公室局域网、数据中心等场景。在这些场景中,私有 IP 地址可以确保局域网内的设备之间可以通信,而不会与其他网络的设备发生冲突。

在选择私有 IP 地址时,企业需要注意以下几点:

  • 避免与常见的网络设备或应用程序自动分配的 IP 地址范围重叠,如 192.168.0.0 和 192.168.1.0 段,以减少 IP 地址冲突或其他故障的可能性。
  • 可以采用 C 类地址的子网掩码,并根据需要采用变长子网掩码,以获取更多的 IP 网段,并使每个子网中所容纳的计算机数量更为适宜。

通过合理使用私有 IP 地址,网络管理员可以更加灵活和高效地管理本地局域网内的设备,确保它们之间的通信顺畅,同时避免与互联网上的其他设备发生冲突。

3.6 NAT

NAT(Network Address Translator,网络地址转换)用于在私有网络和公共网络之间转换地址。NAT 允许一个私有网络(如一个家庭或企业的内部网络)中的设备使用私有 IP 地址,并通过一个公共 IP 地址与外部网络(如互联网)进行通信。

NAT 的主要功能包括地址转换和端口转换。

  • 地址转换:当私有网络中的设备要访问外部网络时,NAT 设备(如路由器或防火墙)会为该设备分配一个临时的公共 IP 地址。这通常是通过修改设备发送的数据包中的源 IP 地址来实现的,将私有 IP 地址替换为公共 IP 地址。这样,外部网络就可以通过这个公共 IP 地址与私有网络中的设备进行通信。
  • 端口转换:NAT 还负责处理端口转换。当外部网络响应私有网络中的设备时,NAT 设备会将响应数据中的目标公共 IP 地址和端口号转换回原始的私有 IP 地址和端口号。这样,私有网络中的设备就能正确地接收到外部网络的响应。

NAT 的使用有几个主要优点:

  • 节省公共 IP 地址:由于多个私有设备可以共享一个公共 IP 地址,NAT 有助于节省公共IP地址资源。
  • 提高安全性:通过隐藏私有网络的内部结构和设备,NAT 提供了一定程度的安全保护,使得外部网络难以直接访问私有网络中的设备。
  • 简化网络管理:NAT 可以简化网络地址配置和管理任务,特别是在大型网络中。

然而,NAT也有一些潜在的缺点,如可能增加网络延迟、在某些情况下可能导致通信问题(如某些基于端到端连接的应用可能无法正常工作),以及可能增加网络日志和追踪的难度。

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

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

相关文章

Coursera自然语言处理专项课程04:Natural Language Processing with Attention Models笔记 Week01

Natural Language Processing with Attention Models Course Certificate 本文是学习这门课 Natural Language Processing with Attention Models的学习笔记,如有侵权,请联系删除。 文章目录 Natural Language Processing with Attention ModelsWeek 01…

c# wpf style 简单试验

1.概要 wpf style 用来控制控件的样式 2.代码 <Window x:Class"WpfApp2.Window5"xmlns"http://schemas.microsoft.com/winfx/2006/xaml/presentation"xmlns:x"http://schemas.microsoft.com/winfx/2006/xaml"xmlns:d"http://schemas.…

MCAL SPI配置

用的是Qspi0 SpiDriver 要配置 4个选项 Spichannel SpiExternalDevice SpiJob SpiSequence Mcu 模块配置 dma配置

数组分割

题目 问题描述 小蓝有一个长度为 N 的数组 A [A0, A1, . . .&#xff0c;AN−1]。现在小蓝想要从 A 对应的数组下标所构成的集合 I {0, 1, 2, . . . , N − 1} 中找出一个子集 R1&#xff0c;那么 R1在 I 中的补集为 R2。记 S1 ∑ r ∈ R1 Ar&#xff0c;S2 ∑ r ∈ R2 Ar…

职场迷航?MBTI测试为你指明方向,找到最匹配的职业!

MBTI简介 MBTI的全名是Myers-Briggs Type Indicator。它是一种迫选型、自我报告式的性格评估工具&#xff0c;用以衡量和描述人们在获取信息、作出决策、对待生活等方面的心理活动规律和性格类型。 类型指标 美国的凯恩琳布里格斯和她的女儿伊莎贝尔布里格斯迈尔斯研制了迈尔…

归类一些vim的插件,需要时来看

本文结构&#xff1a; a、简介 b、一些插件名称及简要介绍 a、之前我一篇文章说了在vim中安装了一个可以自动补全")",">"等符号的插件autopairs,里面也有详细的安装及配置步骤。基于有些小伙伴想要了解些别的vim插件和自己有时候可能会有些灵感想要写…

开发环境->生产环境

1、数据迁移 不涉及docker # 以数据库用户导出数据 mysqldump -h 192.168.1.168 -P 3307 -u abragent -pabragebb17 abragent > abragent.sql# 以root用户导出数据 mysqldump -h 192.168.1.168 -P 3307 -u root -p8d3Ba1b abragent > abragent.sql 涉及docker …

递归算法练习

递归算法是所有算法中较难的一种&#xff0c;依靠他代码的简洁和清晰地逻辑很受人们喜欢&#xff0c;但是新手入门递归还是会被他不同寻常的思路吓到&#xff0c;其实面对递归问题我们只需要看清题目&#xff0c;分析出要求&#xff0c;有清晰的解题思路&#xff0c;只要仔细分…

十九、Rust Tcp Rpc 示例

前一篇&#xff0c;我们演示了 rust grpc 的应用&#xff0c;但 grpc 是基于 http 的&#xff0c;按理说其协议更重&#xff0c;同时也确见到网友验证过&#xff0c;相比 http 的 rpc&#xff0c;tpc 下的 rpc 性能确实更有优势。 同时&#xff0c;不同于 grpc 要编写一份 “中…

系统分析师-综合知识-应用数学与经济管理

系统分析师-综合知识-应用数学与经济管理 更多软考资料 https://ruankao.blog.csdn.net/ 文章目录 系统分析师-综合知识-应用数学与经济管理概述最小生成树真题-给出图真题-给出表 最短路径关键路径关键路径基本关键路径升级 网络与最大流量指派问题最小解最大解 线性规划决策…

软考--软件设计师(软件工程总结2)

目录 1.测试方法 2.软件项目管理 3.软件容错技术 4.软件复杂性度量 5.结构化分析方法&#xff08;一种面向数据流的开发方法&#xff09; 6.数据流图 1.测试方法 软件测试&#xff1a;静态测试&#xff08;被测程序采用人工检测&#xff0c;计算机辅助静态分析的手段&…

虚拟机打不开

问题 另一个程序已锁定文件的一部分&#xff0c;进程无法访问 打不开磁盘“G:\centeros\hadoop104kl\hadoop100-cl2.vmdk”或它所依赖的某个快照磁盘。 模块“Disk”启动失败。 未能启动虚拟机。 原因 前一次非正常关闭虚拟机导致.lck 文件是VMWare软件的一种磁盘锁文件&…

蓝桥杯算法题:外卖店优先级

“饱了么”外卖系统中维护着 N 家外卖店&#xff0c;编号 1∼N。每家外卖店都有一个优先级&#xff0c;初始时 (0时刻) 优先级都为 0。每经过 1个时间单位&#xff0c;如果外卖店没有订单&#xff0c;则优先级会减少 1&#xff0c;最低减到 0&#xff1b;而如果外卖店有订单&am…

特定领域软件体系结构

1.DSSA的定义 简单地说&#xff0c;DSSA&#xff08;Domain Specific Software Architecture&#xff09;就是在一个特定应用领域中为一组应用提供组织结构参考的标准软件体系结构。 从功能覆盖的范围的角度有两种理解DSSA中领域的含义的方式&#xff1a; &#xff08;1&#x…

使用Python写简单的点云高斯滤波

一、代码 Python import numpy as np import open3d as o3ddef apply_gaussian_filter(pcd, k=30, sigma=1.0):"""对点云应用高斯滤波。参数:pcd (open3d.geometry.PointCloud): 输入的点云。k (int): 每个点的邻居数量。sigma (float): 高斯核的标准差。返回…

极海APM32电机驱动板记录(二)

文章目录 1、解除写保护2、极海驱动板资源概述3、新建工程4、点灯5、嘀嗒定时器6、中断7、串口打印8、adc读取9、i2c尝试10、定时器测试11、电机驱动pwm测试 上一篇文章算是简单了解了一下极海的板子开发环境吧&#xff0c;结果前几天板子来了&#xff0c;然后发现一个大bug&am…

12、高精度加法(含源码)

高精度加法 难度&#xff1a;简单 题目描述 给定两个正整数&#xff0c;计算它们的和 输入格式 共两行&#xff0c;每行包含一个整数。 输出格式 共一行&#xff0c;包含所求的和。 数据范围&#xff1a; 1≤整数长度≤100000输入样例&#xff1a; 12 23输出样例&…

继承 多态 接口 抽象

继承&#xff1a; 继承需要我们学习的点&#xff1a; 什么是继承&#xff0c;继承的好处继承的特点子类到底能继承父类的那些内容&#xff1f;继承中&#xff1a;成员变量的访问特点继承中&#xff1a;成员方法的访问特点继承中&#xff1a;构造方法的特点This,super使用总结…

2024.3.15力扣每日一题——卖木头块

2024.3.15 题目来源我的题解方法一 记忆化搜索&#xff08;自顶向下&#xff09;方法二 动态规划&#xff08;自底向上&#xff09; 题目来源 力扣每日一题&#xff1b;题序&#xff1a;2312 我的题解 方法一 记忆化搜索&#xff08;自顶向下&#xff09; 用 f(x,y)表示当木…

firefox切换本地服务和全球服务的方法

方法1&#xff1a;“设置”>“同步">“切换全球/本地服务器” https://jingyan.baidu.com/article/1974b2898523bbb5b1f774e2.html 方法2&#xff1a;地址栏输入about:config&#xff0c;搜索首选项名称里输入identity.fxaccounts.autoconfig.uri&#xff0c;填入…