子网计算器:CIDR、子网掩码与可用主机数
输入带前缀长度(192.168.1.0/24)或子网掩码(255.255.255.0)的地址,即可一次得到网络地址、广播地址、可用主机范围、通配符掩码和主机数量。您可以把网络划分为更小的子网,也可以切换标签页,把起始和结束地址转换为数量最少的 CIDR 地址块。同样支持 IPv6 前缀。
CIDR 表示法的工作原理
CIDR(无类别域间路由)把网络写成地址、斜杠和一个数字。这个数字就是前缀长度:地址的 32 位中有多少位用于标识网络,其余的位标识网络内的主机。
/24 固定前 24 位,留下 8 位给主机,即 2^8 = 256 个地址,其子网掩码为 255.255.255.0。/16 为主机留出 16 位:65,536 个地址。前缀每增加一位,地址块就缩小一半。
对于普通的 IPv4 子网,可用主机数 = 2^(32 − 前缀长度) − 2。会损失两个地址:第一个是网络地址,最后一个是广播地址。
心算子网划分:块大小技巧
大多数日常子网不需要用二进制。取子网掩码中既不是 255 也不是 0 的那个字节,用 256 减去它。得到的结果就是块大小,网络从它的倍数处开始。
以 192.168.1.130/26 为例。掩码是 255.255.255.192,所以块大小是 256 − 192 = 64。网络从 .0、.64、.128 和 .192 开始,这使 .130 位于 .128 这个网络中。它的广播地址是下一个网络减一,即 .191,可用主机从 .129 到 .190,共 62 个。
常见的 IPv4 子网大小
| 前缀 | 子网掩码 | 地址总数 | 可用主机数 |
|---|---|---|---|
| /8 | 255.0.0.0 | 16,777,216 | 16,777,214 |
| /16 | 255.255.0.0 | 65,536 | 65,534 |
| /20 | 255.255.240.0 | 4,096 | 4,094 |
| /22 | 255.255.252.0 | 1,024 | 1,022 |
| /23 | 255.255.254.0 | 512 | 510 |
| /24 | 255.255.255.0 | 256 | 254 |
| /25 | 255.255.255.128 | 128 | 126 |
| /26 | 255.255.255.192 | 64 | 62 |
| /27 | 255.255.255.224 | 32 | 30 |
| /28 | 255.255.255.240 | 16 | 14 |
| /29 | 255.255.255.248 | 8 | 6 |
| /30 | 255.255.255.252 | 4 | 2 |
| /31 | 255.255.255.254 | 2 | 2(点对点链路) |
| /32 | 255.255.255.255 | 1 | 1(单个主机) |
私有及特殊的 IPv4 地址段
| 地址段 | 用途 |
|---|---|
| 10.0.0.0/8 | 私有网络(RFC 1918) |
| 172.16.0.0/12 | 私有网络(RFC 1918) |
| 192.168.0.0/16 | 私有网络(RFC 1918) |
| 100.64.0.0/10 | 运营商级 NAT 的共享地址空间 |
| 127.0.0.0/8 | 环回:本机 |
| 169.254.0.0/16 | 链路本地:DHCP 失败时自动分配 |
| 224.0.0.0/4 | 组播 |
私有地址段内的地址不会在公共互联网上路由,所以数以百万计的家庭和办公室才可以重复使用同样的地址。
值得了解的特殊情形
- /31:RFC 3021 允许在点对点链路上同时使用 /31 的两个地址,因此没有网络地址和广播地址,有两个可用主机。
- /32:单个地址,用于主机路由和防火墙规则。
- /0:整个地址空间,写作 0.0.0.0/0,用作默认路由。
- 通配符掩码:把子网掩码的每一位取反(/24 对应 0.0.0.255)。路由协议和访问控制列表常用它来代替子网掩码。
IPv6 前缀
IPv6 地址为 128 位,前缀长度的概念是一样的。/64 是单个网段的标准大小,因为地址自动配置要求接口标识符占 64 位。服务商通常会给一个站点分配 /48 或 /56,分别包含 65,536 个或 256 个 /64 网络。IPv6 没有广播地址,所以前缀中的每个地址都可用。
一个 /64 包含 2^64 个地址,大约是 1800 亿亿个,所以 IPv6 的子网划分重在组织网络,而不是节省地址。
规划子网
- 统计您当前需要的设备数量,并为增长留出空间。以后再重新编号会很痛苦。
- 针对不同的需求使用不同的前缀长度(可变长子网掩码),而不是给所有网络都用 /24。
- 让相互通信的子网保持对齐,以便路由可以汇总。
- 把每次分配都记录下来。纸面上的地址规划可以避免地址范围重叠。