反掩码详解
正掩码和反掩码的区别:正掩码必须是连续的,而反掩码可以不连续,例如:C类地址子网掩码中不可以出现255.253.255.0(二进制为11111111 11111101 11111111 00000000)这样的掩码;而反掩码可以出现0.0.0.2(二进制为00000000 00000000 00000000 00000010)。正掩码表示的路由条目,而反掩码表示的范围。
反掩码就是通配符掩码 , 通过标记0和1告诉设备应该匹配到哪位。 在反掩码中,相应位为1的地址在比较中忽略,为0的必须被检查。IP地址与反掩码都是32位的数 由于跟子网掩码刚好相反,所以也叫反掩码 。
例如掩码是255.255.255.0 , wildcard-mask(通配符掩码) 就是0.0.0.255 , 255.255.255.248 , 反掩就是0.0.0.7。
通配符掩码(wildcard-mask)
路由器使用的通配符掩码(或反掩码)与源或目标地址一起来分辨匹配的地址范围,它跟子网掩码刚好相反。它像子网掩码告诉路由器IP地址的哪一位属于网络位一样,通配符掩码告诉路由器为了判断出匹配,它需要检查IP地址中的多少位。这个地址掩码使我们可以只使用两个32位的号码来确定IP地址的范围。这是十分方便的,因为如果没有掩码的话,你不得不对每个匹配的IP客户地址加入一个单独的访问列表语句。这将造成很多额外的输入和路由器大量额外的处理过程。所以地址掩码对相当有用。
在子网掩码中,将掩码的一位设成1表示IP地址对应的位属于网络地址部分。相反,在访问列表中将通配符掩码中的一位设成1表示I P地址中对应的位既可以是1又可以是0。有时,可将其称作“无关”位,因为路由器在判断是否匹配时并不关心它们。掩码位设成0则表示IP地址中相对应的位必须精确匹配。
在通配符掩码中,值为0 的八位位组表示网络地址中相应的八位位组必须严格匹配。另一方面,职位255则表示不必关心网络地址中相应的八位位组的匹配情况。网络和通配符掩码1.1.1.1 0.0.0.0的组合将只指定1.1.1.1,而不包含其它地址。
如果你坚持要匹配网络中的某个范围,则网络和通配符掩码1.1.0.0 0.0.255.255的组合将指定一个范围1.1.0.0 ~ 1.1.255.255。
重点方法:当配置通配符时它们的取值总是块尺寸减去1。例如:/28的块尺寸为16,因此在子网号和一个在需配置的八位位组中添加值为15的统配符(0.0.0.15)。
通配符掩码表
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
转载于:https://blog.51cto.com/viken/521840