【问题标题】:How to calculate subnets如何计算子网
【发布时间】:2025-12-15 08:50:02
【问题描述】:

已经有一段时间了,我无法弄清楚如何对以下范围进行子网划分。有人可以帮我划分这些范围并提供一些见解吗?

Subnet the 10.0.0.0/8 address space into 30 subnets.
Subnet the 172.16.0.0 address space into 13 subnets.
Subnet the 192.168.1.0/24 address space into 4 subnets.
Subnet the 192.168.0.0/24 address space into 7 subnets.

【问题讨论】:

标签: networking ip ip-address subnet


【解决方案1】:

您正在创建一个简单的二进制掩码(即在 make 和数字之间执行 AND 以解析网络地址,剩下的是主机 ID)。有更详细的信息herehere

【讨论】:

    【解决方案2】:

    我喜欢解决 IP 子网问题。 我会教第一个问题,你可以自己做剩下的。 步骤如下:

    1. 用子网掩码写入给定的网络地址。 10.0.0.0 / 8 => 我们不能改变前 8 位,N=8。

    2. 以二进制形式编写,每个八位字节用 . 分隔。 000001010。 00000000 . 00000000. 00000000 /8

    3. 现在问题来了,您需要多少个子网。 在这种情况下:30 个子网

    4. 求 2 的下一个最接近的幂,2^5 = 32(最接近 30)

    5. 子网所需的位数,M=5

    6. 省略前 N 位(步骤 1),对于接下来的 M 位,写入所有二进制组合。 在我们的示例中,前 8 位保持不变,然后我们写入所有 5 位组合并附加它。 第一个:00000101000000000 。 00000000. 00000000 /13 N+M 第二:00000101000001000 。 00000000. 00000000 /13 N+M 第三:00000101000010000 。 00000000. 00000000 /13 . 第 30 个子网:00000101011101000 。 00000000. 00000000 /13 第 31 个子网:00000101011110000 。 00000000. 00000000 /13 第 32 次赌注:00000101011111000 。 00000000. 00000000 /13

    7. 将每个事物转换为十进制等效值,您将获得 32 个不同的子网。 我希望它清楚。

    【讨论】:

      【解决方案3】:

      我已经完成了2个,剩下的就看你了!还有a look here,它会帮助你刷新你的记忆:)

      10.0.0.0/8 - 30 个子网

      N = network - S = subnet - H = host
      
      10.0.0.0 = NNNNNNNN.HHHHHHHH.HHHHHHHH.HHHHHHHH /8
      

      我们需要 30 个子网,所以 2^5 = 32 个子网(提供 524286 个可用主机 [2^19 - 2])

      10.0.0.0 = NNNNNNNN.SSSSSHHH.HHHHHHHH.HHHHHHHH /13
      
      1: 10.0.0.0/13 
      2: 10.8.0.0/13
      3: 10.16.0.0/13
      ...
      30th: 10.232.0.0/13
      

      192.168.1.0/24 - 4 个子网

      192.168.1.0 = NNNNNNNN.NNNNNNNN.NNNNNNNN.HHHHHHHH /24
      

      我们需要 4 个子网,所以 2^2 = 4 个子网(提供 62 个可用主机 [2^6 - 2])

      192.168.1.0 = NNNNNNNN.NNNNNNNN.NNNNNNNN.SSHHHHHH /26
      
      1: 192.168.1.0/26
      2: 192.168.1.64/26
      3: 192.168.1.128/26
      4: 192.168.1.192/26
      

      【讨论】: