首页/网络/IP 与子网速查/合法掩码判定:二进制必须连续 1
掩码与 CIDR 速算50 条

合法掩码判定:二进制必须连续 1

子网掩码从最高位开始必须是连续的 1,再接连续的 0;255.0.255.0、255.255.254.1 这类夹心掩码非法,设备会直接拒绝。

IP 与子网速查网络更新于 2026-10-12
合法示例255.255.254.0(/23)、255.255.192.0(/18)
非法示例255.0.255.0、255.255.254.1、255.255.255.127
原因掩码是前缀长度 n 的等价写法,1 必须连续

编程校验:让 Python 兜底

编程校验:让 Python 兜底
import ipaddress
for m in ['255.255.254.0', '255.0.255.0', '255.255.254.1']:
    try:
        ipaddress.ip_network(f'10.0.0.0/{m}', strict=False)
        print(m, 'OK')
    except ValueError as e:
        print(m, '非法:', e)
# 255.255.254.0 OK;后两个抛 NetmaskValueError
ACL 通配符掩码(wildcard)没有连续要求,0.1.0.255 这类值在 ACL 里合法;不要拿 ACL 规则判断子网掩码。

易错点

  • 把 ACL 的 wildcard(允许不连续)当作子网掩码使用
  • 手工敲入 255.255.253.0 之类值被设备拒绝后,才发现掩码不连续

数据来源与参考

  • RFC 4632(CIDR)
  • Python ipaddress 官方文档

相关工具

​‌‌​​‌​​​‌‌​‌‌‌‌​‌‌​​​‌‌​‌‌‌​​‌‌​​‌​‌‌‌​​‌‌‌​​​‌​‌‌​‌​​‌​‌‌‌​​​‌​‌‌​‌​​‌​‌‌​​​‌‌​‌‌‌​‌​​​‌‌​‌‌‌‌​​‌​‌‌‌​​‌‌​​​‌‌​‌‌​‌‌‌‌​‌‌​‌‌​‌