子网掩码使用介绍
子网掩码(subnet mask)又叫网络掩码、地址掩码、子网络遮罩,它是一种用来指明一个IP地址的哪些位标识的是主机所在的子网,以及哪些位标识的是主机的位掩码。子网掩码不能单独存在,它必须结合IP地址一起使用。子网掩码只有一个作用,就是将某个IP地址划分【成网络地址】和主机地址两部分。
子网掩码是一个32位地址,用于屏蔽IP地址的一部分以区别网络标识和主机标识,并说明该IP地址是在局域网上,还是在广域网上。
在大多数的网络教科书中,一般都将子网掩码的作用描述为通过逻辑运算,将IP地址划分为网络标识(Net.ID)和主机标识(Host.ID),只有网络标识相同的两台主机在无路由的情况下才能相互通信。
子网掩码的设定必须遵循一定的规则。与二进制IP地址相同,子网掩码由1和0组成,且1和0分别连续。子网掩码的长度也是32位,左边是网络位,用二进制数字“1”表示,1的数目等于网络位的长度;右边是主机位,用二进制数字“0”表示,0的数目等于主机位的长度。这样做的目的是为了让掩码与IP地址做按位与运算时用0遮住原主机数,而不改变原网络段数字,而且很容易通过0的位数确定子网的主机数(2的主机位数次方-2,因为主机号全为1时表示该网络广播地址,全为0时表示该网络的网络号,这是两个特殊地址)。通过子网掩码,才能表明一台主机所在的子网与其他子网的关系,使网络正常工作。
子网掩码是一个32位地址,是与IP地址结合使用的一种技术。它的主要作用有两个,一是用于屏蔽IP地址的一部分以区别网络标识和主机标识,并说明该IP地址是在局域网上,还是在远程网上。二是用于将一个大的IP网络划分为若干小的子网络。
使用子网是为了减少IP的浪费。因为随着互联网的发展,越来越多的网络产生,有的网络多则几百台,有的只有区区几台,这样就浪费了很多IP地址,所以要划分子网。使用子网可以提高网络应用的效率。
通过计算机的子网掩码判断两台计算机是否属于同一网段的方法是,将计算机十进制的IP地址和子网掩码转换为二进制的形式,然后进行二进制“与”(AND)计算(1与1则得1,不全1则得0),如果得出的结果是相同的,那么这两台计算机就属于同一网段。
声明网络地址与主机地址:
表 1 默认子网掩码
类别 子网掩码的二进制数值 子网掩码的十进制数值
A 11111111 00000000 00000000 00000000 255.0.0.0
B 11111111 11111111 00000000 00000000 255.255.0.0
C 11111111 11111111 11111111 00000000 255.255.255.0
子网掩码一定是配合IP地址来使用的。对于常用网络A、 B、C 类IP地址其默认子网掩码的二进制与十进制对应关系如表1所示。子网掩码工作过程是:将32位的子网掩码与IP地址进行二进制形式的按位逻辑“与”运算得到的便是网络地址,将子网掩码二进制按位取反,然后IP地址进行二进制的逻辑“与”(AND)运算,得到的就是主机地址。如:192.168.10.10 AND 255.255.255.0,结果为192.168.10.0,其表达的含义为:该IP地址属于 192.168.10.0这个网络,其主机号为10,即这个网络中编号为10的主机。
子网掩码的表述:
1.直接32位二进制
2.4个十进制
3.ip/子网掩码中网络地址位数(0-32)
在nginx屏蔽或允许通过地址的时候,可以采用第三种表述,即只要是位于同一网段的ip地址都会被屏蔽/或允许通过。
如192.168.1.0/24;与子网掩码255.255.255.0相与为【192.168.1.0】,我们举一个案例
如192.168.1.6,与子网掩码255.255.255.0相与为【192.168.1.0】,即与前面定义的网段192.168.1.0/24属于1个网段
如192.168.2.6,与子网掩码255.255.255.0相与为【192.168.2.0】,即与前面定义的网段192.168.1.0/24不属于1个网段
如192.161.5.6,与子网掩码255.255.255.0相与为【192.168.5.6】,即与前面定义的网段192.168.1.0/24不属于1个网段