【干货 | 子网掩码/子网反掩码/通配符】学好这些你需要的只是这一篇文章
在配置ACL或者各种动态路由协议的时候,有的时候或许会很困惑为什么感觉我配置都对啊,怎么和我预想的结果不对呢?为什么两端无法通信呢?但有可能是因为你搞混了下面这些小东西才导致通信出现问题哦!掩码,反掩码,通配符或许你都听过,但今天我们来一起学习下这些看似不起眼,但却很重要的东西。
子网掩码(Mask)
掩码中的”1“代表网络位,”0“代表主机位。一个具体的IP地址+掩码=网络号。掩码必须由从左到右连续的“1”和“0”组成。连续的“1”不可以被“0”隔开,所以我们算掩码的时候只会出现以下的这些情况:
0000 0000 = 0 1000 0000 = 128 1100 0000 = 192
1110 0000 = 224 1111 0000 = 240 1111 1000 =248
1111 1100 = 252 1111 1110 = 254 1111 1111 = 255
例子1,IP地址192.168.1.1 掩码 255.255.255.0,得网络号为:192.168.1.0/24
所以掩码中的“1”代表精确匹配,“0”代表任意匹配。
子网反掩码(Wild card Mask)
反掩码其实就是用255.255.255.255减去掩码,剩下的就为反掩码。反掩码也必须由从右到左连续的“1”和“0”组成,所以我们在计算反掩码的时候只会出现以下的情况:
0000 0000 = 0 0000 0001 = 1 0000 0011 = 3
0000 0111 = 7 0000 1111 = 15 0001 1111 =31
0011 1111 = 63 0111 1111 = 127 1111 1111 = 255
其中“1”代表主机位,代表任意匹配;"0"代表网络位,代表精确匹配。
例如我们在OSPF中的一条命令,
此时图片中的0.0.0.0 代表的就是精确匹配192.168.1.1这条32位的主机路由。
例子2,IP地址192.168.1.0 反掩码 0.0.0.255 代表有256个IP地址。
通配符掩码(Wildcard Mask)
不小心观察反掩码和通配符的区别,很经常把他们搞混,去看它们的英文注释 就更相近的了,但是他们的作用非常的不一样。通配符经常用于ACL(访问控制列表)用来按照人为的意愿去放行或者堵塞流量。
通配符和反掩码很不同的一点是反掩码必须有连续的"1"和"0"组成,但是通配符的"1"可以被"0"隔开。通配符中"0"代表精确匹配,"1"代表任意匹配。
一样我们以一个例子来体现IP地址192.168.8.0 通配符0.0.7.255
192.168.8.0
0.0.7.255
其中通配符0代表精确匹配IP地址的192.168部分
8的二进制为:0000 1000
7的二进制为:0000 0111
一样的,我们说0代表精确匹配1代表任意匹配,则可变的为后三位,变化范围为000-111
所以我们得出IP地址192.168.8.0 通配符 0.0.7.255 匹配的网段为192.168.8.0-192.168.15.255
简单的计算子网掩码,以这个例子为准,用255.255.255.255减去0.0.7.255 等于255.255.248.0,这个255.255.248.0就是你输入电脑中的子网掩码。
总结
掩码主要用于IP地址配置时候使用
反掩码主要用于动态路由协议通告的时候使用
通配符主要用于ACL配置时候使用
以上纯属个人理解,如若解释不当,还请大手指出!!! 作者:何19