计算机网络(14)ip地址超详解

先看图:

注意看第三列蓝色标注的点不会改变,A类地址第一个比特只会是0,B类是10,C类是110,D类是1110,E类是1111.

IPv4地址根据其用途和网络规模的不同,分为五个主要类别(A、B、C、D、E),其中前三类(A、B、C)是用于分配给终端设备的,D类和E类是保留地址,通常不分配给普通用户。具体分类如下:

  1. A类地址(Class A):

    • 地址范围:0.0.0.0 到 127.255.255.255
    • 网络部分:第一个字节(8位)
    • 默认子网掩码:255.0.0.0(/8)
    • 适用于大型网络,支持大规模主机。
    • 示例10.0.0.1
  2. B类地址(Class B):

    • 地址范围:128.0.0.0 到 191.255.255.255
    • 网络部分:前两个字节(16位)
    • 默认子网掩码:255.255.0.0(/16)
    • 适用于中型网络,支持中等规模的主机数。
    • 示例172.16.0.1
  3. C类地址(Class C):

    • 地址范围:192.0.0.0 到 223.255.255.255
    • 网络部分:前三个字节(24位)
    • 默认子网掩码:255.255.255.0(/24)
    • 适用于小型网络,通常用于局域网。
    • 示例192.168.1.1
  4. D类地址(Class D):

    • 地址范围:224.0.0.0 到 239.255.255.255
    • 用途:多播地址(Multicast),用于将数据包发送给多个接收者。
    • 不用于普通主机地址分配。
    • 示例233.0.0.1
  5. E类地址(Class E):

    • 地址范围:240.0.0.0 到 255.255.255.255
    • 用途:保留地址,通常用于实验性或未来使用,普通用户不可使用。
    • 示例250.0.0.1

特殊地址范围:

  • 环回地址(Loopback Address):127.0.0.0 到 127.255.255.255,用于本机测试和诊断。
  • 私有地址(Private Address):
    • A类:10.0.0.0 到 10.255.255.255
    • B类:172.16.0.0 到 172.31.255.255
    • C类:192.168.0.0 到 192.168.255.255 这些地址在局域网内部使用,不会在公网路由中转发。

总结:

IPv4地址可以分为五大类:A类、B类、C类、D类和E类,其中A、B、C类地址常用于实际的网络地址分配,D类用于多播,E类是保留地址。

在计算网络中 可能的网络数量每个网络中的主机数量 时,需要根据 IP 地址的类别CIDR 子网掩码 来分析。以下是计算方法的详细讲解:


1. 基本概念:

  • IP 地址长度:IPv4 地址总长度为 32 位
  • 网络部分:IP 地址前面的一部分位表示网络 ID。
  • 主机部分:IP 地址后面的一部分位表示主机 ID。

2. 分类计算:

(1)网络数量
  • 网络数量取决于网络 ID 的位数: 网络数量=2^网络 ID 的位数
(2)每个网络的主机数量
  • 主机数量取决于主机 ID 的位数: 主机数量=2主机 ID 的位数−2\text{主机数量} = 2^{\text{主机 ID 的位数}} - 2主机数量=2主机 ID 的位数−2 (减去 2 是因为一个地址用于网络地址,一个用于广播地址)

3. 按类别计算

对于 A 类、B 类、C 类 IP 地址:

  1. A 类

    • 网络 ID:8 位。
    • 主机 ID:24 位。
    • 可能的网络数量:2^7 = 128(0 和 127 保留)。
    • 每个网络的主机数量:2^{24} - 2 = 16,777。
  2. B 类

    • 网络 ID:16 位。
    • 主机 ID:16 位。
    • 可能的网络数量:42^{14} = 16,384(前 2 位固定为 10)。
    • 每个网络的主机数量:2^{16} - 2 = 65,534。
  3. C 类

    • 网络 ID:24 位。
    • 主机 ID:8 位。
    • 可能的网络数量:2^{21} = 2,097,152(前 3 位固定为 110)。
    • 每个网络的主机数量 2^{8} - 2 = 254

4. 使用子网掩码计算(CIDR 表示法)

给定一个 CIDR 表示法 IP 地址:192.168.1.0/28
  1. 网络部分: 子网掩码 /28 表示网络部分占 28 位。
  2. 主机部分: 剩余的位数为 32−28=4 位。
  3. 计算:
    • 网络数量:2^{28}
    • 每个网络的主机数量: 2^4 - 2 = 14(减 2 为网络地址和广播地址)。

Subnet Mask 和 Slash Notation 的详解

在计算机网络中,子网掩码(Subnet Mask)斜杠表示法(Slash Notation) 都是用来描述网络中 IP 地址划分的方式,尤其是用于区分 网络部分主机部分。以下是两者的详细解释:


1. Subnet Mask(子网掩码)

定义: 子网掩码是一种 32 位的二进制数,与 IPv4 地址一样分为四个 8 位(1 字节),通常以 点分十进制 表示,用来标识 IP 地址的 网络部分主机部分

子网掩码规则:
  1. 子网掩码由一串连续的 1 和后续的 0 组成:
    • 连续的 1 表示网络部分。
    • 连续的 0 表示主机部分。
  2. 例如:
    • 子网掩码 255.255.255.0 对应的二进制是:

      11111111.11111111.11111111.00000000

      • 前 24 位为网络部分
      • 后 8 位为主机部分
常见子网掩码:
ClassSubnet MaskBinary RepresentationCIDR Notation
A255.0.0.011111111.00000000.00000000.00000000/8
B255.255.0.011111111.11111111.00000000.00000000/16
C255.255.255.011111111.11111111.11111111.00000000/24

2. Slash Notation(斜杠表示法 / CIDR 表示法)

定义: 斜杠表示法(也叫 CIDR,Classless Inter-Domain Routing)用 斜杠 / 后面接数字 来表示网络部分的位数,简化了子网掩码的表示。

示例:
  • 192.168.1.0/24

    • /24 表示子网掩码有 24 位是网络部分。
    • 对应的子网掩码是:255.255.255.0
  • 10.0.0.0/8

    • /8 表示子网掩码有 8 位是网络部分。
    • 对应的子网掩码是:255.0.0.0

3. Subnet Mask 与 Slash Notation 的换算

子网掩码和斜杠表示法可以互相转换:

  • 步骤:
    1. 将斜杠后面的数字(网络部分位数)转为连续的 1,补充为 32 位。
    2. 按每 8 位划分为十进制,得到子网掩码。
换算表:
CIDR NotationSubnet MaskHost BitsNumber of Hosts
/8255.0.0.0242^{24} - 2 = 16,777,2142
/16255.255.0.0162^{16} - 2 = 65,534
/24255.255.255.082^8 - 2 = 254
/30255.255.255.25222^2 - 2 = 2

4. 子网掩码的作用

  1. 划分网络和主机部分:
    • 子网掩码用于告诉路由器或设备,某个 IP 地址属于哪一个网络。
  2. 子网划分:
    • 子网掩码允许将一个大的网络划分为多个小的网络,以提高网络效率。

在 IPv4 中,主机可以通过不同的方式进行通信,具体方式取决于 IP 地址的类型和用途。以下是主机使用 IPv4 地址进行通信的主要方式:


1. 单播通信(Unicast Communication)

定义:

  • 单播是指一个主机直接与另一个主机通信。
  • 通信的目标是一个唯一的 IPv4 地址。

应用场景:

  • 常见的点对点通信,如网页浏览、文件传输等。

示例:

  • 主机 A(192.168.1.1)与主机 B(192.168.1.2)通信。
  • 单播 IP 地址范围:所有非保留地址(例如,不是广播或多播地址)。

2. 广播通信(Broadcast Communication)

定义:

  • 广播是指一台主机向同一子网内的所有主机发送消息
  • 目标地址是广播地址,通常以 .255 结尾。

类型:

  1. 有限广播(Limited Broadcast):
    • 地址:255.255.255.255
    • 用于当前网络的所有设备通信,不会路由到其他网络。
  2. 直接广播(Directed Broadcast):
    • 地址:子网的广播地址,如 192.168.1.255
    • 用于特定子网中的所有设备。

应用场景:

  • ARP 请求。
  • 动态主机配置协议(DHCP)广播请求。

3. 多播通信(Multicast Communication)

定义:

  • 多播是指一台主机向一个多播组中的多个主机发送消息,而不是所有主机。
  • 目标地址是多播地址(224.0.0.0 - 239.255.255.255)。

应用场景:

  • 视频会议、流媒体广播。
  • 路由协议(如 OSPF、EIGRP)使用多播来交换信息。

示例:

  • IP 地址 224.0.0.5 是 OSPF 路由协议使用的多播地址。

4. 任播通信(Anycast Communication)

定义:

  • 任播是指一组主机共享一个 IP 地址,消息发送到最靠近的主机(通常通过路由协议确定)。

应用场景:

  • CDN(内容分发网络)优化用户请求。
  • 数据中心的负载均衡。

注意:

  • IPv4 中任播通常通过特殊配置实现,并不直接由地址分类支持。

5. 点对点通信(Peer-to-Peer Communication)

定义:

  • 点对点通信是指两个主机直接通信,无需中间服务器。

应用场景:

  • 文件共享(如 BitTorrent)。
  • 在线语音或视频聊天。

6. 静态 IP 和动态 IP 通信

定义:

  1. 静态 IP: 主机被分配固定的 IP 地址。
  2. 动态 IP: 主机从 DHCP 服务器动态分配一个临时 IP 地址。

应用场景:

  • 静态 IP 通常用于服务器、打印机等需要固定地址的设备。
  • 动态 IP 常用于客户端设备,如笔记本电脑、手机等。

总结

主机在 IPv4 网络中可以通过单播、广播、多播和任播等方式通信,不同的方式适用于不同的应用场景:

  • 单播:一对一通信(常规传输)。
  • 广播:一对所有(局域网内)。
  • 多播:一对多(特定组)。
  • 任播:一对最近(高效路由选择)。

我看到题目提到了 192.168.17.9 这个 IP 地址,并且要求找出该网络的 地址数量起始地址结束地址

这是一个 Class C 网络,它的默认子网掩码是 255.255.255.0,也就是 /24

步骤 1:计算总地址数量

  • Class C 网络中,主机部分有 8 位。
  • 总地址数量: 2^8 = 256个地址。
  • 其中 2 个地址是特定的,分别是网络地址和广播地址,因此 可用主机地址数量为 256-2=254 个。

步骤 2:确定网络的起始地址和结束地址

  • 网络地址:它是该网络的第一个地址,通常是 IP 地址的最后一部分(主机部分)全为 0
  • 广播地址:它是该网络的最后一个地址,通常是 IP 地址的最后一部分(主机部分)全为 1
举例:192.168.17.9 网络
  • IP 地址:192.168.17.9
  • 子网掩码:255.255.255.0

网络的起始地址是:192.168.17.0   (起始地址是网络地址,用来标记网络本身)
广播地址是:192.168.17.255              (结束地址是广播地址,用来向网络中所有设备广播数据)
可用主机地址范围是:192.168.17.1 到 192.168.17.254(可用的主机地址是网络地址和广播地址之间的地址范围)

总结:

  • 总地址数量:256
  • 起始地址:192.168.17.0
  • 结束地址(广播地址):192.168.17.255
  • 可用主机地址范围:192.168.17.1 到 192.168.17.254

私有 IP 地址(Private IP Address) 是在专用网络中使用的一种 IP 地址范围,用于设备间通信。它不能直接用于互联网通信,必须通过网络地址转换(NAT)或代理服务器连接到公共网络。私有 IP 地址是由 互联网工程任务组(IETF) 在 RFC 1918 中定义的。


私有 IP 地址的范围

根据 IPv4 协议,私有 IP 地址的范围如下:

地址类别私有 IP 范围子网掩码可用地址数量(不包含网络和广播地址)
A 类10.0.0.0 - 10.255.255.255255.0.0.0/816,777,214
B 类172.16.0.0 - 172.31.255.255255.240.0.0/121,048,574
C 类192.168.0.0 - 192.168.255.255255.255.0.0/1665,534
  • 私有地址与 公共 IP 地址(Public IP Address) 不同,公共地址是分配给互联网上的设备,私有地址只能在内部网络中使用。

为什么使用私有 IP 地址?

  1. 地址节约:

    • 全球 IPv4 地址有限,私有 IP 地址可以无限次重复使用在不同的内部网络中,从而节省公共 IP 地址的使用。
  2. 安全性:

    • 私有 IP 地址无法直接通过互联网访问,因此增加了一层安全性,防止外部攻击直接到达内部设备。
  3. 灵活性:

    • 私有 IP 地址为企业和家庭网络提供了更多的灵活性,无需向互联网服务提供商(ISP)购买额外的 IP 地址。

工作原理

  1. 内部通信:

    • 使用私有 IP 地址的设备可以在同一网络中直接通信。例如,一台电脑和打印机在家庭网络中可以通过私有 IP 地址直接相互访问。
  2. 连接互联网:

    • 私有 IP 地址不能直接访问互联网。需要通过 NAT(网络地址转换)将私有 IP 地址映射为公共 IP 地址,再通过公共 IP 地址访问外部网络。

使用私有 IP 地址的场景

  1. 家庭网络:

    • 路由器通常使用私有 IP 地址,如 192.168.1.1,为家中的设备分配地址(如 192.168.1.2192.168.1.254)。
  2. 企业内部网络:

    • 大型企业可以使用 A 类或 B 类私有 IP 地址范围,为办公设备(如电脑、服务器和打印机)分配地址。
  3. 数据中心和云网络:

    • 云计算平台(如 AWS、Azure)在虚拟网络中使用私有 IP 地址管理虚拟机之间的通信。

私有 IP 地址与 NAT(网络地址转换)

  • NAT 是私有网络和公共互联网之间的重要桥梁:
    • 路由器将内部网络的私有 IP 地址转换为一个公共 IP 地址。
    • 例如:
      • 私有网络设备:192.168.1.2 → NAT → 公共 IP 地址:203.0.113.1
    • 这样,多个设备可以通过一个公共 IP 地址访问互联网。

如何查看设备的私有 IP 地址?

  • Windows 系统:

    1. 打开命令提示符(cmd)。
    2. 输入命令:ipconfig
    3. 查看“IPv4 地址”字段,例如:192.168.1.100
  • Linux 系统:

    1. 打开终端。
    2. 输入命令:ifconfigip addr
    3. 查看网络接口的 IP 地址。
  • macOS 系统:

    1. 打开“系统偏好设置”。
    2. 选择“网络”。
    3. 查看当前连接网络的 IP 地址。
  • 路由器的私有 IP 地址:

    • 通常可以在浏览器地址栏中输入 192.168.1.1192.168.0.1 进入路由器的管理页面。

IPv6 中的私有地址

IPv6 的私有地址称为 唯一本地地址(ULA),范围是:

  • FC00::/7

它类似于 IPv4 的私有地址,但有更大的地址空间。


常见问题

  1. 私有 IP 地址可以访问互联网吗?

    • 不可以。需要通过 NAT 或代理服务器将私有地址转换为公共 IP 地址。
  2. 私有 IP 地址能重复使用吗?

    • 可以。在不同的网络中,私有地址可以无限次重复使用,但在同一网络中不能重复。
  3. 能否手动设置私有 IP 地址?

    • 可以。设备可以使用 DHCP 自动获取私有地址,也可以手动设置静态私有 IP 地址。

公共 IP 地址(Public IP Address)详解

公共 IP 地址 是分配给互联网上设备的唯一地址,用于设备间直接通信。它由 互联网号码分配机构(IANA) 统一分配,并通过各地区的互联网注册机构(RIR)进一步分发给 ISP 和最终用户。每个公共 IP 地址在全球范围内都是唯一的,确保互联网上设备能够相互识别和通信。


公共 IP 地址的范围

IPv4 的公共 IP 地址范围如下(排除私有地址和保留地址):

地址类别范围子网掩码说明
A 类1.0.0.0 - 126.255.255.255255.0.0.0为大型网络分配
B 类128.0.0.0 - 191.255.255.255255.255.0.0为中型网络分配
C 类192.0.1.0 - 223.255.255.255255.255.255.0为小型网络分配
  • 公共 IP 地址的范围中排除了私有 IP 地址 (10.x.x.x172.16.x.x - 172.31.x.x192.168.x.x) 和特殊保留地址(如广播地址、环回地址 127.0.0.1)。

公共 IP 地址的特点

  1. 全球唯一性:

    • 每个公共 IP 地址在全球范围内是唯一的,确保互联网上的设备可以通过这个地址进行唯一标识和定位。
  2. 直接访问互联网:

    • 公共 IP 地址的设备可以直接与其他互联网设备通信,无需通过 NAT。
  3. 路由能力:

    • 公共 IP 地址是全球互联网路由系统的一部分,可以通过路由器在全球范围内转发。
  4. 有限资源:

    • IPv4 的公共 IP 地址只有约 43 亿个,由于互联网设备的迅速增加,IPv4 公共地址已接近耗尽,促使 IPv6 的广泛部署。

公共 IP 地址的分配方式

公共 IP 地址通过以下方式分配:

  1. 静态公共 IP 地址:

    • 长期分配给一个特定设备或服务器,适用于需要固定地址的场景,如托管网站、服务器等。
    • 优势:地址固定,便于远程访问和管理。
    • 劣势:分配成本较高。
  2. 动态公共 IP 地址:

    • 由 ISP 通过 DHCP 动态分配,适用于普通家庭或企业用户。
    • 优势:节省公共地址资源,成本低。
    • 劣势:地址会定期变化,可能会影响某些需要稳定 IP 的应用。

公共 IP 地址的用途

  1. 设备直接连接互联网:

    • 公共 IP 地址用于标识连接互联网的设备,如服务器、网站主机、云服务等。
  2. 托管服务:

    • 企业和个人网站需要公共 IP 地址以供全球访问。
  3. 远程访问:

    • 使用公共 IP 地址,可以通过远程桌面、SSH 等方式访问远程设备。
  4. 网络游戏和在线服务:

    • 公共 IP 地址允许设备直接与游戏服务器或其他设备交互。

IPv4 公共 IP 地址耗尽

由于 IPv4 地址的限制(约 43 亿个地址),随着互联网设备的激增,公共 IPv4 地址几乎全部耗尽。为解决这一问题:

  1. 引入 IPv6:

    • IPv6 提供了 128 位地址空间,总共有 340 座“百亿亿亿”(21282^{128}2128)个地址,可完全满足未来需求。
    • IPv6 的公共地址范围从 2000::/3 开始。
  2. NAT(网络地址转换):

    • 使用 NAT 技术,多个设备共享一个公共 IP 地址,通过私有 IP 地址与外部网络通信

如何查找设备的公共 IP 地址?

  • 通过浏览器:

    1. 打开浏览器,访问网站如 whatismyipaddress.com 或 ipinfo.io。
    2. 网站会直接显示当前设备的公共 IP 地址。
  • 通过命令行:

    • 使用 curl 或其他工具获取公共 IP 地址:
       

      curl ifconfig.me


公共 IP 地址 vs 私有 IP 地址

特性公共 IP 地址私有 IP 地址
定义在互联网中唯一,全球可访问仅在局域网中使用,不能直接访问互联网
分配由 IANA 或 ISP 分配由路由器或 DHCP 动态分配
使用范围全球互联网家庭网络、企业网络等局域网
路由可路由至任何互联网设备只能在同一局域网中路由
转换无需转换通过 NAT 转换为公共 IP 地址
示例范围8.8.8.8(谷歌 DNS 服务器)192.168.1.1(家庭路由器 IP)

常见问题

  1. 公共 IP 地址可以手动设置吗?

    • 如果 ISP 提供静态公共 IP 地址,可以手动配置在设备上。
    • 动态公共 IP 地址由 ISP 自动分配,用户无法直接控制。
  2. 公共 IP 地址是固定的吗?

    • 静态公共 IP 地址是固定的;动态公共 IP 地址会根据 ISP 的分配周期更换。
  3. 一个设备能有多个公共 IP 地址吗?

    • 是的,例如服务器可以绑定多个公共 IP 地址,用于不同的服务或虚拟机。
  4. 能否从公共 IP 地址反查设备位置?

    • 公共 IP 地址通常可用于估算设备的地理位置,但并不精确(基于 ISP 的位置)。

在家庭网络中,一台电脑通过路由器连接互联网,通常会使用 私有 IP 地址。下面是具体情况的分析:


电脑的 IP 地址:私有 IP 地址

  1. 分配方式

    • 路由器会使用 DHCP(动态主机配置协议) 动态分配一个 私有 IP 地址 给连接的设备(如电脑、手机等)。
    • 私有 IP 地址通常在以下范围内(根据 RFC 1918 标准):
      • 10.0.0.0 - 10.255.255.255
      • 172.16.0.0 - 172.31.255.255
      • 192.168.0.0 - 192.168.255.255
  2. 作用

    • 私有 IP 地址只在局域网(LAN)内有效,不能直接用于访问互联网。
    • 例如,家庭网络中常见的私有 IP 地址格式是 192.168.x.x
  3. 路由器的作用

    • 当电脑向外部互联网发送请求时,路由器会通过 网络地址转换(NAT) 把私有 IP 转换成公共 IP 地址。

路由器的 IP 地址:公共 IP 地址

  1. 路由器的外网接口(WAN):

    • 路由器从 互联网服务提供商(ISP) 获取一个 公共 IP 地址,这是用于与互联网直接通信的地址。
    • 例如,路由器的公共 IP 地址可能是 123.45.67.89
  2. 路由器的内网接口(LAN):

    • 路由器在局域网内充当 DHCP 服务器,分配私有 IP 地址(如 192.168.1.x)给局域网中的设备。

简化通信流程

假设电脑的私有 IP 是 192.168.1.5,路由器的公共 IP 是 123.45.67.89,当电脑访问互联网时:

  1. 发送请求

    • 电脑(私有 IP)通过路由器,发送访问目标网站的请求(如 www.google.com)。
    • 路由器的 NAT 功能将请求的来源地址改为其公共 IP 地址(123.45.67.89)。
  2. 接收响应

    • 目标网站将响应数据发送到路由器的公共 IP 地址。
    • 路由器根据 NAT 表,将响应数据转发回对应的私有 IP 地址(192.168.1.5)。

总结

  • 电脑使用的是私有 IP 地址(如 192.168.1.5)。
  • 路由器使用的是公共 IP 地址(如 123.45.67.89)来与互联网通信。
  • 私有 IP 地址是局域网内设备之间通信使用的,而公共 IP 地址是路由器与互联网之间通信的唯一标识。

这张图片描述了子网划分的五个步骤,具体如下:

  1. 确定IP地址的类别并记录默认子网掩码
  2. 将默认子网掩码转换为二进制形式
  3. 记录每个子网所需的主机数量,找到子网生成器(SG)和八位组的位置
  4. 生成新的子网掩码
  5. 使用子网生成器(SG)在适当的八位组位置生成网络范围(子网)

问题1:要将 IP 地址 216.21.5.0 划分为每个子网至少包含 30 个主机的子网,可以按照以下步骤完成子网划分:


步骤 1:确定 IP 地址类别和默认子网掩码

  • 216.21.5.0 属于 C 类地址(因为 216 的范围是 192–223)。
  • 默认子网掩码是:255.255.255.0/24

步骤 2:每个子网所需的主机数

  • 每个子网至少需要 30 个主机
  • 主机位数计算公式: 2H−2≥所需主机数2^H - 2 \geq \text{所需主机数}2H−2≥所需主机数 其中 HHH 是主机位数。
  • 解: 25−2=302^5 - 2 = 3025−2=30 所以,需要 5 位作为主机位

步骤 3:生成新的子网掩码

  • IPv4 地址总共有 32 位,默认子网掩码为 /24,主机位数占 5 位,则子网位数为: 32−5=2732 - 5 = 2732−5=27
  • 新的子网掩码为 /27,对应的十进制表示为:255.255.255.224

步骤 4:确定子网生成器(SG)和子网范围

  • 子网生成器(SG):
    根据子网掩码 /27 的最后一个八位组,子网块大小为:

    28−子网位数=28−3=322^{8 - \text{子网位数}} = 2^{8 - 3} = 3228−子网位数=28−3=32

    因此,子网间隔是 32

  • 子网范围:
    根据子网生成器,将子网划分如下:

    • 第一个子网:216.21.5.0 - 216.21.5.31(主机范围:216.21.5.1 - 216.21.5.30
    • 第二个子网:216.21.5.32 - 216.21.5.63(主机范围:216.21.5.33 - 216.21.5.62
    • 第三个子网:216.21.5.64 - 216.21.5.95(主机范围:216.21.5.65 - 216.21.5.94
    • 依此类推。

总结

216.21.5.0 划分为每个子网至少 30 个主机后:

  • 子网掩码:255.255.255.224/27
  • 每个子网间隔:32。
  • 子网范围:
    • 216.21.5.0 - 216.21.5.31
    • 216.21.5.32 - 216.21.5.63
    • 216.21.5.64 - 216.21.5.95
    • ...

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

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

相关文章

HashMap底层原理

jdk1.8之后hashmap底层结构 jdk1.8之后,是哈希表数据结构,也可以说是数组链表或红黑树,下图是没有添加数据的一个hashmap。 现在开始添加数据,看下面具体步骤 put操作 如下,我们来简单看看hashmap的put源码&#xff…

【GD32】(三) ISP基本使用

0 前言 有一块GD32的板子不知道为啥用着用着就下载不了程序了,没办法,只能另寻他法。作为STM32的平替,GD32的功能和STM32基本是一致的,所以也可以使用ISP来下载程序。于是就开始复活这块板子。 1 BOOT模式 对于熟悉STM32开发的人…

摄像机视频分析软件下载LiteAIServer视频智能分析平台玩手机打电话检测算法技术的实现

随着科技的不断进步,摄像机视频分析软件的发展已经为我们的生活带来了许多便捷。其中,LiteAIServer视频智能分析平台的玩手机打电话检测算法技术尤为突出,它利用先进的图像处理和人工智能技术,能够自动识别并监控视频中的玩手机或…

推荐几个 VSCode 流程图工具

Visual Studio Code(简称VSCode)是一个由微软开发的免费、开源的代码编辑器。 VSCode 发布于 2015 年,而且很快就成为开发者社区中广受欢迎的开发工具。 VSCode 可用于 Windows、macOS 和 Linux 等操作系统。 VSCode 拥有一个庞大的扩展市…

学习Prompt Turning

传统的微调因为代价很高,而且一旦权重很大,这种fine 微微的意思是调不动模型的,所以需要这种提示词调 mindnlp直接有 peft config peft_config PromptTuningConfig(task_type“SEQ_CLS”, num_virtual_tokens10) 方便我们进行prompt tunin…

2024 APMCM亚太数学建模C题 - 宠物行业及相关产业的发展分析和策略(详细解题思路)

在当下, 日益发展的时代,宠物的数量应该均为稳步上升,在美国出现了下降的趋势, 中国 2019-2020 年也下降,这部分变化可能与疫情相关。需要对该部分进行必要的解释说明。 问题 1: 基于附件 1 中的数据及您的团队收集的额…

若依-一个请求中返回多个表的信息

背景 主表是点位表关联子表 需要知道对应 合作商的信息关联子表 需要直到对应 区域的信息关联子表 需要直到对应 设备数量 实现的方案 关联实体相关的标签

AWTK-WEB 快速入门(1) - C 语言应用程序

先安装 AWTK Designer 用 AWTK Designer 新建一个应用程序 2.1. 新建应用程序 这里假设应用程序的名称为 AwtkApplicationC,后面会用到,如果使用其它名称,后面要做相应修改。 在窗口上放置一个按钮将按钮的名称改为 “close”将按钮的文本改…

客户流失分析综述

引言 客户流失这个术语通常用来描述在特定时间或合同期内停止与公司进行业务往来的客户倾向性[1]。传统上,关于客户流失的研究始于客户关系管理(CRM)[2]。在运营服务时,防止客户流失至关重要。过去,客户获取相对于流失…

PDF内容提取,MinerU使用

准备环境 # python 3.10 python3 -m pip install huggingface_hub python3 -m pip install modelscope python3 -m pip install -U magic-pdf[full] --extra-index-url https://wheels.myhloli.com下载需要的模型 import json import osimport requests from huggingface_hub…

Kafka 分区分配及再平衡策略深度解析与消费者事务和数据积压的简单介绍

Kafka:分布式消息系统的核心原理与安装部署-CSDN博客 自定义 Kafka 脚本 kf-use.sh 的解析与功能与应用示例-CSDN博客 Kafka 生产者全面解析:从基础原理到高级实践-CSDN博客 Kafka 生产者优化与数据处理经验-CSDN博客 Kafka 工作流程解析&#xff1a…

【2024APMCM亚太赛A题】完整参考论文与代码分享

A题 一、问题重述二、问题分析问题一:水下图像分类问题二:退化原因建模问题三:针对单一退化的图像增强方法问题四:复杂场景的综合增强模型问题五:针对性增强与综合增强的比较 三、问题假设退化特征独立性假设物理模型普…

数据结构(初阶6)---二叉树(遍历——递归的艺术)(详解)

二叉树的遍历与练习 一.二叉树的基本遍历形式1.前序遍历(深度优先遍历)2.中序遍历(深度优先遍历)3.后序遍历(深度优先遍历)4.层序遍历!!(广度优先遍历) 二.二叉树的leetcode小练习1.判断平衡二叉树1)正常解法2)优化解法 2.对称二叉…

ChatGPT 与其他 AI 技术在短视频营销中的技术应用与协同策略

摘要: 本文深入探讨了 ChatGPT 及其他 AI 技术在短视频营销中的应用。从技术层面剖析了这些技术如何助力短视频内容创作、个性化推荐、用户互动以及营销效果评估等多方面,通过具体方法分析、数据引用与大模型工具介绍,旨在为短视频营销领域提…

先安装Ubuntu20.04,再安装win10实现双系统

准备 一个刻录好Ubuntu20.04系统u盘一个刻录了Ventory的U盘,其中有Windows10的iso系统文件。Ventory参考Gparted分区软件,用于腾出一块硬盘空间安装Win10 过程 给win10腾出一块硬盘空间,设置为NTFS格式 Ubuntu系统中其实已经有GParted软件…

数据结构------树(Java语言描述)

一、树的基本概念 树是一种非线性的数据结构,它由节点组成,有一个特定的节点称为根节点,其余节点可以分为多个互不相交的子树。 树中的节点具有以下特点: 1.每个节点有零个或多个子节点。 2.除了根节点外,每个节点…

查看浏览器的请求头

爬虫时用到了请求头,虽然可以用网上公开的,但是还是想了解一下本机浏览器的。以 Edge 为例,其余浏览器通用。 打开浏览器任一网页,按F12打开DevTools;或鼠标右键,选择“检查”。首次打开界面应该显示在网页…

如何在Python中进行数学建模?

数学建模是数据科学中使用的强大工具,通过数学方程和算法来表示真实世界的系统和现象。Python拥有丰富的库生态系统,为开发和实现数学模型提供了一个很好的平台。本文将指导您完成Python中的数学建模过程,重点关注数据科学中的应用。 数学建…

前后端分离,解决vue+axios跨域和proxyTable不生效等问题

看到我这篇文章前可能你以前看过很多类似的文章。至少我是这样的,因为一直没有很好的解决问题。 正文 当我们通过webstorm等IDE开发工具启动项目的时候,通过命令控制台可以观察到启动项目的命令 如下: webpack-dev-server --inline --prog…

ES6 、ESNext 规范、编译工具babel

ES6 、ESNext 规范、编译工具简介 ES6ES(ECMAScript) vs JS常量进一步探讨 obj对象的扩展面试:使对象属性也不能更改——Object.freeze(obj) 解构deconstruction变量的解构赋值:数组解构赋值:对象解构赋值:…