一、反掩码简介
反掩码就是通配符掩码 , 通过标记0和1告诉设备应该匹配到哪位。 在反掩码中,相应位为1的地址在比较中忽略,为0的必须被检查。IP地址与反掩码都是32位的数 由于跟子网掩码刚好相反,所以也叫反掩码 。 例如掩码是255.255.255.0 , wildcard-mask 就是0.0.0.255 , 255.255.255.248 , 反掩就是0.0.0.7。
路由器使用的通配符掩码(或反掩码)与源或目标地址一起来分辨匹配的地址范围,它跟子网掩码刚好相反。它像子网掩码告诉路由器IP地址的哪一位属于网络位一样,通配符掩码告诉路由器为了判断出匹配,它需要检查IP地址中的多少位。这个地址掩码对使我们可以只使用两个32位的号码来确定IP地址的范围。这是十分方便的,因为如果没有掩码的话,你不得不对每个匹配的IP客户地址加入一个单独的访问列表语句。这将造成很多额外的输入和路由器大量额外的处理过程。所以地址掩码对相当有用。
在子网掩码中,将掩码的一位设成1表示IP地址对应的位属于网络地址部分。相反,在访问列表中将通配符掩码中的一位设成1表示I P地址中对应的位既可以是1又可以是0。有时,可将其称作“无关”位,因为路由器在判断是否匹配时并不关心它们。掩码位设成0则表示IP地址中相对应的位必须精确匹配。
二、常见反掩码
CIDR 子网掩码 反掩码
/30 255.255.255.252 0.0.0.3
/29 255.255.255.248 0.0.0.7
/28 255.255.255.240 0.0.0.15
/27 255.255.255.224 0.0.0.31
/26 255.255.255.192 0.0.0.63
/25 255.255.255.128 0.0.0.127
/24 255.255.255.0 0.0.0.255
/23 255.255.254.0 0.0.1.255
/22 255.255.252.0 0.0.3.255
/21 255.255.248.0 0.0.7.255
/20 255.255.240.0 0.0.15.255
/19 255.255.224.0 0.0.31.255
/18 255.255.192.0 0.0.63.255
/17 255.255.128.0 0.0.127.255
/16 255.255.0.0 0.0.255.255
/15 255.254.0.0 0.1.255.255
/14 255.252.0.0 0.3.255.255
/13 255.248.0.0 0.7.255.255
/12 255.240.0.0 0.15.255.255
/11 255.224.0.0 0.31.255.255
/10 255.192.0.0 0.63.255.255
/9 255.128.0.0 0.127.255.255
/8 255.0.0.0 0.255.255.255
三、计算方法实例
用二进制来表示子网掩码值,再用广播地址求其差值,然后再算回十进制。
即,推出公式:通配符掩码=255-掩码.255-掩码.255-掩码.255-掩码
举例一
求子网掩码255.255.255.248通配符掩码(反掩码)
(1)、把子网掩码255.255.255.248转换成二进制为:
11111111.11111111.11111111.11111000
通配符掩码值为:广播全1(二进制)地址 减去 子网掩码二制制值,即:
11111111.11111111.11111111.11111111 - 11111111.11111111.11111111.11111000
得到结果为:
00000000.00000000.00000000.00000111
转换为十进制:
0.0.0.7
(2)、通配符掩码=255-掩码.255-掩码.255-掩码.255-掩码,即:
255-255.255-255.255-255.255-248=0.0.0.7
举例二
求子网掩码255.255.128.0通配符掩码(反掩码)
(1)、把子网掩码255.255.128.0转换成二进制为:
11111111.11111111.10000000.0000000
通配符掩码值为:广播全1(二进制)地址 减去 子网掩码二制制值,即:
11111111.11111111.11111111.11111111 - 11111111.11111111.10000000.0000000
得到结果为:
00000000.00000000.01111111.11111111
转换为十进制:
0.0.127.255
(2)、通配符掩码=255-掩码.255-掩码.255-掩码.255-掩码,即:
255-255.255-255.255-128.255-0=0.0.127.255