掩码、反掩码、通配符掩码,这三种分别使用在什么场景,我们来详细说明下。

三者的核心区别

名称 英文术语 特点/规则 应用场景
子网掩码 subnet mask - 左边连续的 1 表示网络位 - 右边连续的 0 表示主机位 - 必须连续,不能断开 用于划分网络、计算网络地址和广播地址
反掩码 inverse mask - 是子网掩码的逐位取反 - 左边连续的 0,右边连续的 1 - 关注掩码中 0 的部分 OSPF 等协议中,用来指定网络范围
通配符掩码 wildcard mask - 0 表示必须精确匹配 - 1 表示不关心(可匹配任意) - 可以不连续,灵活匹配 ACL、路由过滤、策略匹配

掩码类型对照表

项目 子网掩码(Netmask) 反掩码(Inverse Mask) 通配符掩码(Wildcard Mask)
英文术语 Netmask Inverse Mask Wildcard Mask
匹配逻辑 连续的 1 表示网络位,0 表示主机位 掩码取反,0 表示网络位,1 表示主机位 0 表示必须匹配,1 表示可忽略
是否必须连续 是,1 和 0 都必须连续 是,0 和 1 都必须连续 否,可不连续,灵活匹配
示例(十进制) 255.255.255.0 0.0.0.255 0.0.255.255
示例(二进制) 11111111.11111111.11111111.00000000 00000000.00000000.00000000.11111111 00000000.00000000.11111111.11111111
应用场景 网络划分、广播地址计算 OSPF 网络匹配 ACL、策略匹配、路由过滤
关注的位 掩码中 1 所在位 掩码中 0 所在位 通配符中 0 所在位

逻辑说明与匹配原则

  • 子网掩码:用于定义网络边界,必须连续,常用于 IP 地址规划。
  • 反掩码:是子网掩码的逐位取反,OSPF 中用于匹配网络范围。
  • 通配符掩码:ACL 中使用,0 表示必须匹配,1 表示可忽略,支持不连续匹配。

二进制位对照图(以 192.168.0.0 为例)

项目 二进制表示 说明
IP 地址 11000000.10101000.00000000.00000000 即 192.168.0.0
子网掩码 11111111.11111111.11111111.00000000 /24 网络位
反掩码 00000000.00000000.00000000.11111111 OSPF 中匹配主机范围
通配符掩码 00000000.00000000.11111111.11111111 ACL 中匹配 192.168.0.0~192.168.255.255

OSPF 配置示例(使用反掩码)

router ospf 1
 network 192.168.0.0 0.0.0.255 area 0
 network 10.0.0.0 0.0.0.255 area 0
 network 172.16.0.0 0.0.15.255 area 1
  • network 命令中使用的是 反掩码,即子网掩码的逐位取反。
  • 0.0.0.255 表示匹配 192.168.0.0/24 网段。

ACL 配置示例(使用通配符掩码)

acl number 3000
 rule 5 deny ip destination 172.16.0.0 0.15.255.255
 rule 10 deny ip destination 10.0.0.0 0.255.255.255
 rule 15 deny ip destination 192.168.0.0 0.0.255.255
 rule 20 permit ip
  • rule 5 匹配 172.16.0.0 ~ 172.31.255.255
  • rule 10 匹配 10.0.0.0 ~ 10.255.255.255
  • rule 15 匹配 192.168.0.0 ~ 192.168.255.255
  • rule 20 是默认允许其他流量

验证与排错

  • 使用 display acl 3000show access-list 查看匹配情况
  • 使用 debug ip packetpacket capture 验证 ACL 是否生效
  • OSPF 匹配失败时,检查反掩码是否与实际网段对齐
  • ACL 匹配异常时,确认通配符掩码是否覆盖目标范围
Copyright © https://yan-jian.com 2023 all right reserved更新时间: 2025-12-30 10:18:14

results matching ""

    No results matching ""