通配符掩码计算

自作多情 提交于 2019-12-06 10:09:51

一,通配符掩码
1.通配符掩码的用途和结构
①用途
通配符掩码(wildcard-mask)路由器使用的通配符掩码与源或目标地址一起来分辨匹配的地址范围,它与子网掩码不同。它不像子网掩码告诉路由器IP地址的哪一位属于网络号一样,通配符掩码告诉路由器为了判断出匹配,它需要检查IP地址中的多少位。
②结构
通配符掩码中,0表示要检查的位,1表示不需要检查的位
通配符掩码中,可以用255.255.255.255表示所有IP地址,因为全为1说明32位中所有位都不需检查,此时可用any替代。而0.0.0.0的通配符则表示所有32位都必须要进行匹配,它只表示一个IP地址,可以用host表示。

二,求子网掩码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

如 ip地址为 192.168.0.1 通配符掩码为 0.0.0.255

遇到这样的题目大家肯定会直接把通配符掩码取反,
00000000.0000000.00000000.11111111 (0.0.0.255)取反 11111111.11111111.11111111.00000000
得出的范围是:192.168.0.0/24

例:
ip地址为 192.168.0.1 通配符掩码为 0.0.3.255
00000000.00000000.00000011.11111111 (0.0.3.255)取反 11111111.11111111.11111100.00000000
得出的范围是:192.168.0.0/22

以上2个例子都是连续的,也就是通配符转换二进制后1和0都是连续的,通配符和反掩码区别在于,转换二进制后,通配符可以不连续,而反掩码需要连续,那么不连续的通配符该如何计算呢?
ip地址为 192.168.0.1 通配符掩码为 0.0.2.255 表示的范围是 192.168.0.0/24和192.168.2.0/24

这题并不能用上面的方法计算,那该如何计算呢?其实我们都存在着一个误区,认为通配符掩码就是子网掩码取反.
我们看百度百科解释中这样的一句话:相反,在访问列表中将通配符掩码中的一位设成1表示I P地址中对应的位既可以是1又可以是0。有时,可将其称作“无关”位,因为路由器在判断是否匹配时并不关心它们。
也就是说通配符掩码1相对应的位,是无关紧要的,可以是0也可以是1.那么我们的计算方法就出来了。
首先转换成二进制
11000000.10101000.00000000.00000001 (192.168.0.1)
00000000.00000000.00000010.11111111 (0.0.2.255)
通配符掩码0位必须检查,1位无需检查,也就是说通配符掩码第三段第7位那个1所对应的IP位,可以是0也可以是1.
结果就产生了2种情况.
11000000.10101000.00000000.11111111和11000000.10101000.00000010.11111111

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!