☰
IP 子网划分实战:如何让 400 台主机处于同一个子网?
2026/9/30 2:44:35 网站建设 项目流程

前言

最近在学习《网络协议分析》时,遇到了一道比较典型的 IP 子网规划问题:

某公司有 400 台主机,希望平均分布在两层楼进行管理,每层楼约 200 台,并且要求这 400 台主机全部属于同一个子网。已知给出的 IP 地址为192.128.0.3,应该如何规划 IP 地址?子网掩码应该是多少?两层楼分别使用什么 IP 地址范围?网关又应该如何设置?

刚看到这道题时,我们的第一反应是:既然题目说的是 C 类 IP 地址,那么是不是直接使用默认子网掩码255.255.255.0就可以了?

真正计算后才发现,事情没有这么简单。

一个/24网络最多只有 254 个可用主机地址,而现在有 400 台主机,还需要给网关预留地址,因此/24根本不够。

这篇博客记录一下完整的分析和计算过程,同时总结几个在做这道题时比较容易弄混的地方。


一、先明确问题:到底需要多少个 IP 地址?

公司的基本需求是:

  • 主机数量:400 台

  • 楼层数量:2 层

  • 每层:约 200 台

  • 所有主机:必须属于同一个子网

  • 还需要设置默认网关

因此,不能简单地把两层楼分别划成两个独立子网。

我们的目标应该是:

先创建一个足够大的子网,使它能够容纳全部 400 台主机,然后再在这个子网内部按照楼层划分地址范围。

另外,除了 400 台主机之外,还至少需要给网关预留一个 IP 地址。

所以至少需要:

400 + 1 = 401 个可用 IP 地址

二、为什么默认的 /24 不够?

C 类地址常见的默认子网掩码为:

255.255.255.0

也就是:

/24

IPv4 地址总共有 32 位。

如果网络位占 24 位,那么剩下:

32 - 24 = 8 位

作为主机位。

具有 n 位主机位时,可用主机地址数量通常计算为:

2^n - 2

之所以减 2,是因为有两个特殊地址不能分配给普通主机:

主机位全 0 → 网络地址 主机位全 1 → 广播地址

因此/24网络可以提供:

2^8 - 2 = 256 - 2 = 254

也就是说:

/24 → 254 个可用主机地址

而我们至少需要 401 个。

显然:

254 < 401

所以/24无法满足要求。


三、到底需要多少位主机位?

接下来不再根据“A 类、B 类、C 类”直接套默认掩码,而是从实际主机数量反推。

设主机位数量为n,需要满足:

2^n - 2 ≥ 401

先尝试n = 8:

2^8 - 2 = 254

不够。

继续尝试n = 9:

2^9 - 2 = 510

此时:

510 ≥ 401

满足要求。

所以至少需要:

9 位主机位

IPv4 地址总共 32 位,因此网络位数量为:

32 - 9 = 23

所以最终应该使用:

/23

四、/23 对应什么子网掩码?

/23的含义是:

IPv4 地址前 23 位属于网络位,剩余 9 位属于主机位。

因此将子网掩码写成二进制:

11111111.11111111.11111110.00000000

每 8 位转换成十进制:

11111111 → 255 11111111 → 255 11111110 → 254 00000000 → 0

因此/23对应的子网掩码为:

255.255.254.0

最终得到:

CIDR:/23 子网掩码: 255.255.254.0

五、为什么 /23 可以同时包含 192.128.0.x 和 192.128.1.x?

这是我在做这道题时比较容易产生疑问的地方。

一开始看到:

192.128.0.x

和:

192.128.1.x

很容易下意识认为:

第三个数字都不一样了,这不是两个不同的网段吗?

但实际上,不能只通过十进制 IP 地址的外观判断两台主机是否属于同一个子网。

关键要看子网掩码。

我们的掩码是:

255.255.254.0

转换成二进制:

11111111.11111111.11111110.00000000

注意第三个八位组:

11111110

这里并不是 8 位全部属于网络位。

第三个八位组的最后 1 位已经属于主机位。

所以在这个/23网络中:

192.128.0.x

和:

192.128.1.x

可以属于同一个子网。

对于本题:

192.128.0.0/23

覆盖的完整地址空间为:

192.128.0.0 ~ 192.128.1.255

也就是说,它实际上把这一整段地址作为一个逻辑网络进行管理。


六、计算网络地址、广播地址和可用地址

对于:

192.128.0.0/23

主机位全部为 0 时得到网络地址:

192.128.0.0

主机位全部为 1 时得到广播地址:

192.128.1.255

因此:

网络地址: 192.128.0.0 广播地址: 192.128.1.255

这两个地址不能分配给普通设备。

所以真正可以使用的主机地址范围为:

192.128.0.1 ~ 192.128.1.254

总共有:

2^9 - 2 = 510

个可用地址。


七、给两层楼分配 IP 地址

接下来需要给两层楼分别分配 200 个地址。

这里要注意:

楼层之间只是为了方便管理而划分不同的地址范围,并不是把它们划成两个独立子网。

所有主机仍然统一使用:

255.255.254.0

也就是/23。

1. 一层楼

给一层楼分配前 200 个地址:

192.128.0.1 ~ 192.128.0.200

刚好 200 个。


2. 二层楼

二层楼继续从:

192.128.0.201

开始。

分配到:

192.128.1.144

因此二层楼地址范围为:

192.128.0.201 ~ 192.128.1.144

这里有一个非常容易出错的地方:

在/23网络中:

192.128.0.255

并不是广播地址。

同样:

192.128.1.0

也不是这个/23网络的网络地址。

它们都处于:

192.128.0.0/23

的可用主机地址空间之中。

所以地址可以连续经过:

192.128.0.254 192.128.0.255 192.128.1.0 192.128.1.1 ...

真正的广播地址是:

192.128.1.255

这也是这道题特别值得注意的一点。


八、网关应该设置成什么?

最开始很容易想到:

192.128.0.1

因为实际网络中经常能看到.1被设置成默认网关。

但是这里存在一个问题。

我们已经给一层楼分配:

192.128.0.1 ~ 192.128.0.200

如果又把:

192.128.0.1

设置成网关,那么这个 IP 地址就同时分配给了:

网关 + 一层楼某台主机

会发生 IP 地址冲突。

所以需要重新选择。

这里将最后一个可用主机地址:

192.128.1.254

设置为默认网关。

因此:

默认网关:192.128.1.254

这样就不会和前面的 400 台主机发生冲突。


九、最终 IP 地址规划方案

最终得到如下方案:

项目地址
网络地址192.128.0.0
CIDR 前缀/23
子网掩码255.255.254.0
广播地址192.128.1.255
可用地址范围192.128.0.1 ~ 192.128.1.254
一层楼192.128.0.1 ~ 192.128.0.200
二层楼192.128.0.201 ~ 192.128.1.144
默认网关192.128.1.254
扩展备用192.128.1.145 ~ 192.128.1.253
最大可用主机数510

十、怎么证明两层楼确实属于同一个子网?

不能只说:

“因为我使用的是 /23,所以它们属于同一个子网。”

最好真正验证一次。

判断两个 IP 是否属于同一子网,可以分别计算:

IP 地址 AND 子网掩码

也就是进行按位与运算。

例如从一层楼选择:

192.128.0.199

从二层楼选择:

192.128.1.100

统一使用子网掩码:

255.255.254.0

分别进行按位与运算。

最终:

192.128.0.199 AND 255.255.254.0 → 192.128.0.0

另外一个:

192.128.1.100 AND 255.255.254.0 → 192.128.0.0

两个 IP 最终计算出的网络地址都是:

192.128.0.0

所以可以确定:

192.128.0.199 和 192.128.1.100 属于同一个 /23 子网。


十一、容量是否足够?

最后还要检查地址容量。

/23有 9 位主机位:

2^9 = 512

减去网络地址和广播地址:

512 - 2 = 510

所以共有:

510 个可用地址

当前需要:

400 台主机 + 1 个网关 = 401 个地址

因此剩余:

510 - 401 = 109

个可用地址。

容量足够。


十二、这次实验中踩过的几个坑

1. 一看到 C 类地址就直接使用 /24

这是我一开始最容易犯的错误。

以前学习时会记:

C 类地址 → 255.255.255.0

所以看到题目以后很容易直接套/24。

但是实际网络规划更重要的是:

先看需要多少台主机,再决定需要多少主机位。

本题需要 400 台主机,/24只有 254 个可用地址,所以必须扩大地址空间。


2. 误以为 192.128.0.x 和 192.128.1.x 一定属于不同子网

以前看到第三个八位组不同,很容易直接判断它们属于不同网络。

但这其实取决于子网掩码。

在/24下,它们确实通常是不同网络。

但在/23下:

192.128.0.x

和:

192.128.1.x

可以属于同一个网络。

所以判断是否同网段不能只看 IP 地址本身。


3. 把 192.128.0.255 当成广播地址

这是一个很典型的惯性思维。

在:

192.128.0.0/24

中,192.128.0.255的确是广播地址。

但是本题使用:

192.128.0.0/23

此时真正的广播地址已经变成:

192.128.1.255

因此:

192.128.0.255

在这个/23网络中可以作为普通主机地址使用。

这也让我更加理解了:

网络地址和广播地址并不是只看 IP 最后一位是不是 0 或 255,而必须结合子网掩码判断。


4. 网关地址不能和普通主机冲突

开始时想把:

192.128.0.1

设置为网关。

但一层楼的主机也从这个地址开始分配。

因此最终改成:

192.128.1.254

这个过程让我意识到:

一个网络规划方案不能只保证“地址数量够”,还需要检查:

网络地址 广播地址 普通主机地址 网关地址 预留地址

之间有没有冲突。


最终结论

对于 400 台主机全部处于同一个子网的需求,可以采用:

网络:192.128.0.0/23 子网掩码: 255.255.254.0 网络地址: 192.128.0.0 广播地址: 192.128.1.255 可用地址: 192.128.0.1 ~ 192.128.1.254 一层楼: 192.128.0.1 ~ 192.128.0.200 二层楼: 192.128.0.201 ~ 192.128.1.144 默认网关: 192.128.1.254 扩展备用: 192.128.1.145 ~ 192.128.1.253

通过/23,可以提供510 个可用主机地址,因此能够满足 400 台主机以及网关的地址需求,并且两层楼的所有设备仍然属于同一个逻辑子网。

需要专业的网站建设服务?

联系我们获取免费的网站建设咨询和方案报价,让我们帮助您实现业务目标

立即咨询