什么是IP / CIDR 子网计算?
CIDR 计算器根据网段与掩码位数给出网络地址、子网掩码、广播地址、可用主机范围与地址总数,并可判断某个 IP 是否落在该网段内。计算在浏览器本地完成。
怎么用IP / CIDR 子网计算?
- 1输入形如 192.168.16.0/20 的网段。
- 2查看网络地址、掩码、广播地址与可用主机范围。
- 3在下方输入一个 IP,即时判断是否在该网段内。
在代码里怎么实现?
一次性操作用上面的工具,重复性工作建议固化到脚本或项目里。
Shell
# 需要 ipcalc 或 sipcalc
ipcalc 192.168.16.0/20
# Python 标准库
python3 -c "import ipaddress;n=ipaddress.ip_network('192.168.16.0/20');print(n.network_address,n.broadcast_address,n.num_addresses)"常见问题
为什么可用主机数要减 2?+
因为每个网段的第一个地址是网络地址、最后一个是广播地址,都不能分配给主机。例外是 /31(点对点链路,RFC 3021)与 /32(单主机),这两种情况不扣除。
/20 到底是多大?+
掩码 20 位意味着主机位有 12 位,共 4096 个地址、4094 台可用主机,等于 16 个 /24 网段。规划内网时按需求量往上取整选掩码,留出扩容余量但不要过度浪费。