反掩码或通配符掩码计算
本文由 Andre tian 于 2014-11-12 15:11 Wednesday 发布在 数据通信技术 评论(0)
在子网掩码中,将掩码的一位设成1表示IP地址对应的位属于网络地址部分。相反,在访问列表中将通配符掩码中的一位设成1表示I P地址中对应的位既可以是1又可以是0。有时,可将其称作“无关”位,因为路由器在判断是否匹配时并不关心它们。掩码位设成0则表示IP地址中相对应的位必须精确匹配。
例:
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都是连续的,通配符和反掩码区别在于,转换二进制后,通配符可以不连续,而反掩码需要连续,那么不连续的通配符该如何计算呢?
这个问题我也是花了2天才解决的,也是我今天讲的重点.
在教材上有这样一个例子
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.********和11000000.10101000.00000010.******** (通配符掩码第四段全为1,也就是代表第四段不需要检查,取值范围在0~255之间,这里我用“星号”表示)
最后这道题的表示范围也就出来了192.168.0.0/24和192.168.2.0/24.
文章摘自:http://blog.163.com/hughhughlove@126/blog/static/622956642010131012173/
发表评论: