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

news/2024/11/24 23:55:18/

先看图:

注意看第三列蓝色标注的点不会改变,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.ppmy.cn/news/1549665.html

相关文章

R语言 | 宽数据变成一列,保留对应的行名和列名

对应稀疏矩阵 转为 宽数据框,见 数据格式转换 | 稀疏矩阵3列还原为原始矩阵/数据框,自定义函数 df3toMatrix() 目的:比如查看鸢尾花整体的指标分布,4个指标分开,画到一个图中。每个品种画一个图。 1.数据整理&#…

vscode remote-ssh直连docker容器

1、想要通过本地vscode远程开发,需要下载vscode的remote-ssh插件 2、docker创建 查看了本地有的镜像,使用ubuntu:20.04版本 docker run -it --name janice1119 -v /home/janice:/var/janice ubuntu:20.04 -p3333:22 /bin/bash docker run -it会在创…

蓝桥杯疑似例题解答方案(打印任意阶杨辉三角)

题目:输入n,打印n阶的杨辉三角 杨辉三角是一种特殊的由数字构成的三角形,边缘上的数字都是1,内部的数字则是左上角和右上角数字的加和。它本质上其实是二项展开的系数序列(我们通过这个性质可以给出一种与本篇文章的方…

QT基础 编码问题 定时器 事件 绘图事件 keyPressEvent QT5.12.3环境 C++实现

一、编码问题 在计算机编程中,流(Stream)是一种抽象的概念,用于表示数据的输入或输出。根据处理数据的不同方式,流可以分为字节流(Byte Stream)和字符流(Character Stream&#xff0…

鸿蒙开发:ForEach中为什么键值生成函数很重要

前言 在列表组件使用的时候,如List、Grid、WaterFlow等,循环渲染时都会使用到ForEach或者LazyForEach,当然了,也有单独使用的场景,如下,一个很简单的列表组件使用,这种使用方式,在官…

HTML实现 扫雷游戏

前言: 游戏起源与发展 扫雷游戏的雏形可追溯到 1973 年的 “方块(cube)” 游戏,后经改编出现了 “rlogic” 游戏,玩家需为指挥中心探出安全路线避开地雷。在此基础上,开发者汤姆・安德森编写出了扫雷游戏的…

条件编译(手绘)

大家好,今天给大家分享一下条件编译,由于符号有点难写,我已经将内容记在笔记本中,现在供大家学习。 那么我们来看看代码的实现

推荐几个 VSCode 流程图工具

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