CIDR 前缀对照表
下表列出了常见的前缀长度,及其对应的点分十进制掩码和标准 CIDR 规则下的可用主机数。
| 前缀 | 子网掩码 | 可用主机数 |
|---|---|---|
| /8 | 255.0.0.0 | 16,777,214 |
| /16 | 255.255.0.0 | 65,534 |
| /24 | 255.255.255.0 | 254 |
| /25 | 255.255.255.128 | 126 |
| /26 | 255.255.255.192 | 62 |
| /27 | 255.255.255.224 | 30 |
| /28 | 255.255.255.240 | 14 |
| /29 | 255.255.255.248 | 6 |
| /30 | 255.255.255.252 | 2 |
| /31 | 255.255.255.254 | 2(点对点链路,RFC 3021) |
| /32 | 255.255.255.255 | 1(单主机路由) |
- 对于 /31 网络,RFC 3021 取消了网络地址/广播地址的保留,因此在点对点链路上两个地址都可以使用;本计算器会将主机数报告为 2,并把这两个地址都显示为可用范围。
- RFC 1918 保留的私有地址段为 10.0.0.0/8、172.16.0.0/12 和 192.168.0.0/16——这些地址段内的地址在公共互联网上不可路由。
- 本计算器仅涵盖 IPv4;IPv6 使用 128 位地址,并有自己的一套前缀惯例。
什么是 IP 子网划分和 CIDR?
IPv4 地址是一个 32 位的数字,习惯上写成四个十进制字节(例如 192.168.1.10)。子网划分把地址分成网络部分——用来标识子网,和主机部分——用来标识子网内的某台设备。两部分的分界点由前缀长度给出:/24 表示前 24 位是网络部分,剩下 8 位留给主机。子网划分由 RFC 950(1985 年)标准化。
CIDR(无类别域间路由,规定于 RFC 4632)取代了旧的 A/B/C 类地址体系,改用以斜杠记法表示的任意长度前缀。子网掩码就是把前缀表示成一个由若干个 1 后面跟着若干个 0 组成的 32 位模式:/24 对应 255.255.255.0。将掩码与地址按位与(AND)运算,得到的就是网络地址。
在传统子网中,有两个地址被保留:主机部分全为 0 的地址是网络地址,主机部分全为 1 的地址是广播地址。因此一个 /24 子网可提供 2⁸ − 2 = 254 个可用主机地址。例外情况是 /31,RFC 3021 专门为点对点链路定义了这一前缀:由于只有两个地址且不需要广播,这两个地址都可以使用。/32 则表示一条单主机路由。
如何使用这个 IP 子网计算器
- 输入你所在子网内任意一个 IPv4 地址,使用点分十进制格式(例如 192.168.1.10)。
- 输入 CIDR 前缀长度,范围为 0 到 32——也就是 /24 这类记法中斜杠后面的数字。
- 查看根据掩码计算出的网络地址、子网掩码和广播地址。
- 利用第一个/最后一个可用主机地址范围以及主机数量,来规划子网内的设备寻址。
子网计算背后的数学原理
前缀长度为 n 的子网掩码,是一个前 n 位为 1 的 32 位数值。网络地址 = IP 地址 AND 掩码;广播地址 = 网络地址 OR (NOT 掩码);对于 /30 及以下前缀,可用主机数 = 2^(32−n) − 2。第一个可用主机地址是网络地址加 1,最后一个是广播地址减 1。
示例:192.168.1.10/24。掩码是 255.255.255.0。做 AND 运算得到网络地址 192.168.1.0;用取反后的掩码做 OR 运算得到广播地址 192.168.1.255。可用范围是 192.168.1.1 到 192.168.1.254——也就是 2⁸ − 2 = 254 台主机。
常见错误
- 把网络地址和广播地址也算作可分配主机——一个 /24 网络共有 256 个地址,但只有 254 个可用主机(点对点的 /31 链路除外)。
- 以为每个子网都以 .255 结尾、以 .0 开头——例如 /26 的 192.168.1.64/26,其范围是从 .64(网络地址)到 .127(广播地址)。
- 把前缀长度和主机位数混淆:/24 表示 24 位网络位,主机位是 32 − 24 = 8 位。
- 在点对点链路上使用 /30(2 台主机)而不是 /31(同样是 2 台主机,依据 RFC 3021),本可以把地址消耗量减半。
常见问题
一个 /24 网络有多少可用主机?
254 个。一个 /24 网络留有 8 位主机位,共 2⁸ = 256 个地址,其中全 0 的地址是网络标识符,全 1 的地址是广播地址,剩下 254 个可分配的主机地址——例如在 192.168.1.0/24 中,就是 192.168.1.1 到 192.168.1.254。
IP 地址中的 /24 是什么意思?
它是 CIDR 前缀长度:表示地址中构成网络部分的前导位数。/24 表示 32 位中的前 24 位标识网络,等价于子网掩码 255.255.255.0,剩下的 8 位用来标识网络内的主机。
什么是子网掩码?
子网掩码是把前缀长度写成一个 32 位模式:网络位全为 1,主机位全为 0。将地址与其掩码做按位与(AND)运算,得到的就是网络地址。例如,掩码 255.255.255.192 对应 /26,留有 6 位主机位(62 个可用主机)。
为什么 /31 子网有 2 个可用主机,而不是 0 个?
按照传统规则,/31 会把它仅有的两个地址都浪费在网络标识符和广播标识符上。RFC 3021(2000 年)为点对点链路重新定义了 /31:由于恰好只有两个端点、且不需要广播,两个地址都可以分配使用。与 /30 相比,这在路由器到路由器的链路上把地址消耗量减半。
什么是私有 IP 地址?
RFC 1918 为私有用途保留了三个 IPv4 地址段:10.0.0.0/8、172.16.0.0/12 和 192.168.0.0/16。这些范围内的地址可以在任何组织或家庭网络内部重复使用,但不会在公共互联网上被路由;NAT 网关会把它们转换为公网地址,以实现互联网访问。
广播地址有什么用途?
广播地址是子网中最大的地址——主机位全部置为 1。发往该地址的数据包会被投递给该子网内的每一台主机,DHCP 发现等服务正是依赖这一机制。它不能分配给某台具体设备,唯一的例外是点对点的 /31 链路根本没有广播地址。
参考文献
- Mogul J, Postel J. Internet Standard Subnetting Procedure. RFC 950, IETF, 1985.
- Fuller V, Li T. Classless Inter-domain Routing (CIDR): The Internet Address Assignment and Aggregation Plan. RFC 4632, IETF, 2006.
- Retana A, White R, Fuller V, McPherson D. Using 31-Bit Prefixes on IPv4 Point-to-Point Links. RFC 3021, IETF, 2000.
- Rekhter Y, Moskowitz B, Karrenberg D, de Groot GJ, Lear E. Address Allocation for Private Internets. RFC 1918, IETF, 1996.