在配置 IP 地址,路由协议、控制列表中会使用到子网掩码,来对 IP 地址的网络位和主机位进行范围控制。
掩码
掩码(Mask)是由连续的 1 或 0 组成的 32 位掩码,用来衡量 IP 地址网络位的长度
1 对应的部分为网络位
0 对应的部分为主机位
典型使用:
在接口配置 IP 地址的时候需要配置掩码
通过配置掩码位数可以控制 IP 地址网络位的数量
反掩码
反掩码(Wildcard-mask)是 IP 地址掩码的反码,是直接把 IP 地址的掩码数字取反操作。
0 变 1 ,1 变 0
1 表示忽略 IP 地址中对应的位,0 表示必须保留此位。
例如:子网掩码 255.0.0.0,该掩码的反码为 0.255.255.255
典型使用:
在宣告 OSPF 区域所包含的网段时会使用反掩码
通过配置反掩码可以控制 OSPF 宣告的网段范围
虽然命令提示显示为通配符位,但是其实是使用反掩码
提示通配符 OSPF 网络掩码不是连续的。
通配符与反掩码的最大区别是:
通配符是可以是不连续的 1 和 0
反掩码必须是连续的 1
通配符
通配符(Wildcard)以点分十进制表示,并以二进制的 0 表示“匹配”,1 表示“不关心”,这与子网掩码恰好相反。
其实就是更为严格的反掩码
例如:子网掩码 255.255.255.0 对应的通配符掩码就是 0.0.0.255 。
通配符掩码中的 0 或 1 可以是不连续的,这样可以更加灵活地进行匹配,
例如 0.255.0.255 就是一个合法的通配符掩码
典型使用:
在配置 ACL 访问控制列表的时候会使用通配符
通过配置连续/不连续的 1 可以对地址进行匹配
偶数位匹配
例如192.168.0.0 0.0.254.255
通配符:0.0.254.255
11000000.10101000.00000000.00000000
00000000.00000000.11111110.11111111
绿色背景为必须匹配的二进制位
通过观察可以发现可以匹配的为:
11000000.10100000.00000010.00000000
11000000.10101000.00000100.00000000
11000000.10101000.00000110.00000000
11000000.10101000.00001000.00000000
11000000.10101000.00001010.00000000
第三段分别为 2,4,6,8,10
结论:可以匹配出偶数位网段
奇数位匹配
例如192.168.1.0 0.0.254.255
通配符:0.0.254.255
11000000.10101000.0000001.00000000
00000000.00000000.11111110.11111111
绿色背景为必须匹配的二进制位
通过观察可以发现可以匹配的为:
11000000.10100000.00000001.00000000
11000000.10101000.00000011.00000000
11000000.10101000.00000101.00000000
11000000.10101000.00000111.00000000
11000000.10101000.00001001.00000000
11000000.10101000.00001011.00000000
第三段分别为 1,3,5,7,9,11
结论:可以匹配出奇数位网段
总结
对比掩码、反掩码、通配符
类型 | 规则 | 作用 | 举例 | 备注 |
掩码 | 连续的 1 和 0 | IP 地址 | 255.255.255.0 | 1 对应网络位,0 对应主机位 |
反掩码 | 连续的 1 和 0 | 路由协议 | 0.0.0.255 | 0 必须匹配,1 无需匹配 |
通配符 | 任意的 1 和 0 | 访问控制列表 | 0.0.255.0 | 0 必须匹配,1 无需匹配 |
通配符用法
通配符 | 说明 | 举例 |
X.X.X.X 0 | 仅匹配一个地址 | 192.168.1.1 0.0.0.00 只匹配 192.168.1.1 这个地址 |
X.X.X.X 0.0.0.255 | 匹配一个 C 类网段 | 192.168.1.0 0.0.0.255 匹配 192.168.1.0 这个网段 |
X.X.X.X 0.0.254.255 | 匹配偶数网段 | 192.168.0.0 0.0.254.255 匹配 192.168.0.0 中的的偶数网段 |
X.X.1.X 0.0.254.255 | 匹配奇数网段 | 192.168.1.0 0.0.254.255 匹配 192.168.0.0 中的的奇数网段 |
X.X.X.X 255.255.255.255 | 匹配任意地址 | 0.0.0.0 255.255.255.255 匹配任意地址 |