一.什么叫子网掩码:
子网掩码(subnet mask)又叫网络掩码、地址掩码、子网络遮罩,它用来指明一个IP地址的哪些位标识的是主机所在的子网,以及哪些位标识的是主机的位掩码。子网掩码不能单独存在,它必须结合IP地址一起使用。
子网掩码是一个32位地址,用于屏蔽IP地址的一部分以区别网络标识和主机标识,并说明该IP地址是在局域网上,还是在广域网上。
通俗点来说: 子网掩码是一个32位二进制地址,必须配合IP地址一起使用。
使用子网掩码有两个作用:
- 用于屏蔽IP地址的一部分以区别网络标识和主机标识,并说明该IP地址是在局域网上,还是在远程网上。
- 用于将一个大的IP网络划分为若干小的子网络。这也就是“子网”的理解。
二.子网掩码怎么用的:
使用子网是为了减少IP的浪费。因为随着互联网的发展,越来越多的网络产生,有的网络多则几百台,有的只有区区几台,这样就浪费了很多IP地址,所以要划分子网。使用子网可以提高网络应用的效率。
通过计算机的子网掩码判断两台计算机是否属于同一网段的方法是,将计算机十进制的IP地址和子网掩码转换为二进制的形式,然后进行二进制“与”(AND)计算(全1则得1,不全1则得0),如果得出的结果是相同的,那么这两台计算机就属于同一网段。
通过下边这个例子就可以看下:
对于我们常说的网络A、 B、C 类IP地址,其默认子网掩码的二进制与十进制对应关系如上所示。
子网掩码工作过程是:将32位的子网掩码与IP地址进行二进制形式的按位逻辑“与”运算得到的便是网络地址,将子网掩码二进制按位取反,然后与IP地址二进制进行逻辑“与”(AND)运算,得到的就是主机地址。
比如:有如下4个主机,IP配置分别是这样的:
怎么判断谁和谁是同一网段呢,同网段的才可以通信,不同网段的就要借助交换机了。
第一步:先把IP地址都转成二进制
第二步:各自的IP地址与各自的子网掩码做“与”运算
运算结果相同的话,就是同一网段。
从上边的运算结果就可以看出来,
区别其实就在子网掩码上,从计算过程也能看出来,为啥掩码用255和0的多,因为转成二进制全是1或0,当然也可以是其他数字,划分子网的时候,就会有其他数字。
在工作中,有时候分配网络,直接不说子网掩码是多少,而是说,给你一个多少位的地址,比如说给分配一个28位的网段,192.168.1.30/28
这个就需要我们自己计算一下,可用IP是多少,子网掩码是多少,主机该怎么配置,可以借助子网掩码计算器,网上一搜就有,
这个具体怎么算,下边我们算下,28位的意思就是子网掩码前28位是固定的都是1,
子网掩码: 11111111 11111111 11111111 11110000 转换后是:255.255.255.240
然后拿子网掩码与给的IP地址做“与”运算,得到子网地址
11000000.10101000.00000001.00010000 192.168.1.16
然后第29位到第32位全变成1,
11000000.10101000.00000001.00011111 192.168.1.31
所以这个IP段就是192.168.1.16—192.168.1.31段。
开头地址后半部分主机位是0的,作为网络地址使用;结尾主机位为1的,作为广播地址使用。
这是协议规则。所以头尾都不能用,就剩
192.168.1.17—192.168.1.30 共14个可用的地址。子网掩码就是255.255.255.240,这就用掩码隔开的单独一个网段。
所以划分网段的时候,如果你需要100个主机IP,就可以自己反算一下,反算出来,自己需要多少位的掩码,这都有现成的掩码计算器可以用,但你自己知道的话,就会更清楚这是怎么划分的。