在公司配路由器、搭建测试环境,或者用 VirtualBox 跑几台虚拟机互相通信时,你可能随手填了个 192.168.50.0/24,结果发现某台设备死活 ping 不通——十有八九,撞上了子网里的保留地址。
什么是子网中的保留地址?
不是所有 IP 都能随便分配给终端设备。子网划分后,头尾两个地址被协议硬性规定为特殊用途:网络地址(Network Address)和广播地址(Broadcast Address)。它们不能当主机 IP 用,就像小区门牌号不会标‘1号楼总入口’或‘本楼所有住户注意’一样。
每个子网都有的两个固定保留地址
以常见的 192.168.1.0/24 为例:
- 网络地址:
192.168.1.0—— 标识整个子网本身,用于路由表匹配; - 广播地址:
192.168.1.255—— 用来向该子网内所有设备发一次性消息,比如 ARP 请求。
也就是说,这个子网真正能分给电脑、手机、打印机的 IP,只有 192.168.1.1 到 192.168.1.254 这 254 个。
不同掩码下的保留地址怎么算?
关键看子网掩码决定了多少位是主机位。主机位全 0 是网络地址,全 1 是广播地址。
举个 /27 的例子(掩码 255.255.255.224):
子网 10.0.0.32/27 的主机位是后 5 位,所以:
网络地址:10.0.0.32 (32 = 00100000₂,后5位全0)
广播地址:10.0.0.63 (63 = 00111111₂,后5位全1)
可用地址:10.0.0.33 ~ 10.0.0.62(共30个)
除了子网头尾,还有哪些地址默认不分配?
虽然 RFC 没强制规定,但实际组网中以下地址也常被“习惯性保留”:
.1:普遍用作网关(如路由器 LAN 口 IP),很多家用光猫默认就是192.168.1.1;.254:在 /24 子网里,有些企业会把它设为备用网关或管理口;.2 ~ .10:DHCP 地址池通常从这里开始,避免和静态设备冲突;- 像
169.254.x.x这类链路本地地址,是 DHCP 失败后系统自动生成的,不能手动配进常规子网。
别踩坑:一个真实小案例
朋友在 VMware 里建了三台 CentOS 虚拟机,子网设成 172.16.200.0/24,然后把网关、DNS 和其中一台服务器全设成 172.16.200.0——结果全部不通。查了半天才发现,他误把网络地址当普通 IP 用了。改成 172.16.200.1 后立马连上。