【问题标题】: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)。有更详细的信息here和here。
【解决方案2】:
我喜欢解决 IP 子网问题。
我会教第一个问题,你可以自己做剩下的。
步骤如下:
用子网掩码写入给定的网络地址。
10.0.0.0 / 8 => 我们不能改变前 8 位,N=8。
以二进制形式编写,每个八位字节用 . 分隔。
000001010。 00000000 . 00000000. 00000000 /8
现在问题来了,您需要多少个子网。
在这种情况下:30 个子网
求 2 的下一个最接近的幂,2^5 = 32(最接近 30)
子网所需的位数,M=5
省略前 N 位(步骤 1),对于接下来的 M 位,写入所有二进制组合。
在我们的示例中,前 8 位保持不变,然后我们写入所有 5 位组合并附加它。
第一个:000001010。 00000000 。 00000000. 00000000 /13 N+M
第二:000001010。 00001000 。 00000000. 00000000 /13 N+M
第三:000001010。 00010000 。 00000000. 00000000 /13
.
第 30 个子网:000001010。 11101000 。 00000000. 00000000 /13
第 31 个子网:000001010。 11110000 。 00000000. 00000000 /13
第 32 次赌注:000001010。 11111000 。 00000000. 00000000 /13
将每个事物转换为十进制等效值,您将获得 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