对通配符掩码和反掩码有些混淆,OSPF使用反掩码,ACL则使用通配符掩码。
通配符掩码和反掩码的区别:
反掩码是IP地址掩码的反码,用于计算子网广播地址等;通配符掩码不连续,灵活匹配IP地址,用于路由选择、ACL等 通配符掩码,英文名 wildcard-mask,反掩码直译成inverse-mask 通配符掩码和反掩码的区别: 反掩码是IP地址掩码的反码,用于计算子网广播地址等;通配符掩码不连续,灵活匹配IP地址,用于路由选择、ACL等
掩码
左边永远是 1,右边永远是 0
1 和 0 ,永远不会交叉出现
关注 “掩码” 中 1 所对应的位;
反掩码
左边永远是 0,右边永远是 1
1 和 0 ,永远不会交叉出现
关注 “掩码” 中 0 所对应的位;
通配符:(wildcard bits)
关注 “通配符” 中 0 所对应的位;
掩码 mask 的相关知识点
掩码中有1有0,其中连续的1表示网络号,而连续的0表示主机范围,
举例:
255.255.255.0 转成二进制形式:
1111 1111 . 1111 1111 . 1111 1111 . 0000 0000
其中的1有24个,说明这个掩码有24位的网络号,也可以用 /24 表示
/24 是网络位,24个 比特(bit )位,且为连续的24个1,
子网掩码长度一共32个bit,由两部分组成,网络位+主机位,本例中,网络位有24bit,剩下的8个bit就是主机位,用二进制形式表示,其范围是:
0000 0000 ~ 1111 1111
转成十进制形式:
0~255,
主机编号从0到255,共256个
/24 的网段里, 0用来表示本网段,作为网段地址使用,255用于表示网段中的广播地址,所以可用于表示主机的主机地址有254个,
这就是子网掩码的作用,
请注意,子网掩码中的1是连续的,不能出现一堆1里面夹着0的情况, 子网掩码中的0也同理,不能出现一堆0里面夹着1的情况。
比如,1111 1111.1111 0000.1111 1111.0000 1100,这样的子网掩码是不合法的,
请注意,下面的斜线模式指的是连续的1和连续的0,1是连续的,0也是连续的,不能出现断开的情况, 比如,/16 指的是连续的16个1再接着16个连续的0,是这样的 11111111.11111111.00000000.00000000 而不能出现类似 11111111.00000000.11111111.00000000,这样的虽然也是16个1和16个0,但是,1不连续了,0也不连续了,所以是错误的子网掩码,
通配符掩码知识点
在通配符掩码中,有0
的位置表示必须精确匹配
这一位,1
表示不关心
这一位(是0是1都行),
反掩码不能单独存在,通配符掩码
是要跟着一个ip地址
的(这个ip地址是一个具体的主机地址也可以是一个网络号,它们是一个整体,
以下是我针对ACL里面的三条策略做的手动计算。
11111111 128+64+32+16+8+4+2+1=255
11000000 128+64+0+0+0+0+0+0=192
10101100 128+0+32+0+8+4+0+0=172
10101000 128+0+32+0+8+0+0+0=168
交换机里面ACL如下:
acl number 3000
rule 5 deny ip destination 172.16.0.0 0.15.255.255
rule10 deny ip destination 10.0.0.0 0.255.255.255
rule 15 deny ip destination 192.168.0.0 0.0.255.255
ACL中通配符:172.16.0.0 0.15.255.255
IP转为二进制: 10101100.00010000.00000000.00000000
通配符掩码转二进制: 00000000.00001111.11111111.11111111
0必须匹配,1无需匹配
第一位:172必须配置
第二位:16必须匹配,16+0——16+15
16到31
第三位:0~255
第四位:0~255
此次配备的网段地址:
172.16.0.0/24 ~ 172.31.0.0/24
ACL中通配符:10.0.0.0 0.255.255.255
IP转为二进制 : 00001010.00000000.00000000.00000000
通配符掩码转二进制: 00000000.11111111.11111111.11111111
0必须匹配,1无需匹配
第一位:10必须匹配
第二到第四位无需匹配
此次匹配网段地址:
10.0.0.0~10.255.255.255
ACL中通配符:192.168.0.0 0.0.255.255
IP转为二进制: 11000000.10101000.00000000.00000000
通配符掩码转二进制: 00000000.00000000.11111111.11111111
0必须匹配,1无需匹配
第一和第二位必须匹配,第三和第四位无需匹配
此次匹配网段地址:192.168.0.0~192.168.255.255