解析网络掩码

2018-03-04 00:20
网络安全和信息化 2018年4期
关键词:掩码子网宣告

子网掩码

应用:判断目的IP跟自己是否是同一网段的依据。

特点:由1和0组成。左边是网络位,1的数目等于网络位的长度;右边是主机位,0的数目等于主机位的长度,1和0绝对不可能间隔,1总在0的前面。

误区:对方跟我在同一子网,但不能通信。

案 例:网 络 配置:PC0:172.16.20.8255.255.255.0

PC1:172.16.20.250 255.255.255.240

PC0上 运 行Ping 172.16.20.250

具体通信过程:

1.PC0认为PC1跟自己在同一个子网,首先广播发送ARP请求PC1的MAC。

2.PC1收到请求后回应PC0的MAC。

3.PC0得到了PC1的MAC地 址,封 装ICMP数据包,其中PC目的IP即172.16.20.250。

4.PC1收到PC0的ICMP请求包,准备响应(其实到这里整个数据通信都是畅通的)。

但是,PC1发现用自己的掩码匹配发现两个IP不是同一 子 网(PC0 :172.16.20.0,PC1:172.16.20.240),而 自己又没有配置网关地址,丢弃数据包不回应,则通信终止。

当然在现实中,有很多用户反映同样的配置可以连通,其实关键在于后面是否配置了网关,因为现实中都配有网关了。

比如,上例中都配上网关:172.16.20.254。 这 样PC1发现PC0不在同一子网后会将数据包转发给网关,然后再与PC0实现通信。

以上案例充分说明子网掩码只具有本地意义,不能作为匹配对端正常通信的依据。这就类似于现实生活中的“一厢情愿”,她符合我的标准,误认为就可以正常交往了,但她发现我不是他的“菜”,通信结束了。

通配符掩码

应用:匹配一组符合否规则的IP地址。

特点:0表匹配,1表示不需要匹配。0和1 的位置根据需求可随意安放。

误区:跟子网掩码是相反的过程,简称为“反掩码”,根据子网掩码方式匹配。

案 例 1: 阻 止172.16.1.0/24访问

配置环境:H3C交换机(下同)

命 令:rule 0 deny source 172.16.1.00.0.0.255

根据通配符匹配原则,全0的匹配,即172.16.1;全1的不需要匹配,即172.16.1.X。当然这里刚好与子网掩码讲到的一样,正好 是 255.255.255.0(反 掩码)匹配的结果,全1的是网络位,全0的是主机位。实际上是一种巧合而已,前提是掩码中1总在0的前面。实际上逻辑关系已经变了,只是恰巧蒙对了而已。

在官方的文档中没有反掩码一说,英文名称wildcard mask非常清楚地表明是通配符,如下所示,在H3C交换机上显示的帮助信息:

[JIAOXUE_A1-DS-aclbasic-2003-ip-ac1]rule 0 deny source 172.16.1.0 ?

0 Wildcard bits:0.0.0.0 (a host)

X.X.X.X Wildcard of source

另外一种情况:

案例2:阻止 X.16.1.x访问

命 令:rule 0 deny source 172.16.1.0255.0.0.255

[JIAOXUE_A1-DS-aclbasic-2003-ip-ac1]dis this

acl number 2003 name ip-ac1

rule 0 deny source 0.16.1.0 255.0.0.255

如果按照“反掩码”的思想来匹配就有冲突了,因为全1不是连续的,也不都是在0的前面了,只能用通配符的思想来匹配了,它表示阻止所有中间两位是16.1的网络IP。

当然也有特殊情况,这也作为有的用户实验证明“反掩码”的案例:

案例 3:OSPF的 network命令:宣告172.16.2.0 网络

命 令 :network 172.16.2.00.0.0.255

此时的network命令实际上宣告了172.16.2.0-172.16.2.255有256个地址,如果把接口的掩码反过来写,正好表示172.16.2.0这个网络地址。或者写成如下命令:

network 172.16.3.0 255.255.255.0

最终效果居然一样了。查看系统的配置清单如下:

[JIAOXUE_A1-DS-ospf-11-area-0.0.0.4]dis this

area 0.0.0.4

network 172.16.2.0 0.0.0.255

network 172.16.3.0 0.0.0.255

network 172.16.20.0 0.0.0.255

系统把它自动转换过了,完整地宣告了用户原来要表达的意愿。其实这也是一个特例,因为network本身的功能是宣告网络地址,这就隐含了地址的固定格式,那么通配符掩码在配置的时候必须遵循网络地址的格式,连续的1,如果不是就会提醒配置错误,如下所示:

[JIAOXUE_A1-DS-ospf-11-area-0.0.0.4]network 172.16.0.1 255.0.0.255

OSPF Network mask is not continuous.(OSPF网络掩码不连续)。

思考:network 172.16.3.0 255.255.255.0按照正常匹配应该是宣告IP前三个字节是任意数据,后一个字节是0的网络。

这显然是不符合网络地址规则的,但是它又是连接的1和连接的0,因此系统就“聪明”地自作主张自动转换成正常的网络地址掩码了。正是这样善意的举动导致不少用户产生了“反掩码”这一习惯性的描述。

猜你喜欢
掩码子网宣告
考虑荷电状态的交直流微电网多模式协调控制策略
从一件无效宣告请求案谈专利申请过程中的几点启示和建议
雪季
低面积复杂度AES低熵掩码方案的研究
子网划分问题研究及应用
航天器多子网时间同步系统设计与验证
基于布尔异或掩码转算术加法掩码的安全设计*
《计算机网络技术》的几个重点课题的教学分析
基于掩码的区域增长相位解缠方法
创造是一种积累