三、网络掩码(Netmask)
1、网络掩码概述
网络掩码(Netmask)又称子网掩码(Subnet Mask)网络掩码为32 bit,与IP地址的位数一样,通常也以点分十进制数来表示。
子网掩码不能单独存在,它必须结合IP地址一起使用。子网掩码只有一个作用,就是将某个IP地址划分成网络地址和主机地址两部分。
说的通俗的话,就是用来分割子网和区分哪些IP是同一个网段的,哪些不是同一网段的。
通常将网络掩码中1的个数称为这个网络掩码的长度。如∶掩码0.0.0.0的长度是0,掩码252.0.0.0的长度是6。
网络掩码一般与IP地址结合使用,其中值为1的比特对应IP地址中的网络位;值为0的比特对应IP地址中的主机位,来识别一个IP地址中的网络位与主机位。
即:网络掩码中1的个数就是IP地址的网络号的位数,0的个数就是IP地址的主机号的位数。
(1)子网掩码的组成
同IP地址一样,子网掩码是由长度为32位二进制数组成的一个地址。
子网掩码32位与IP地址32位相对应,IP地址如果某位是网络地址,则子网掩码为1,否则为0
IP地址:192.168.1.111 子网掩码:255.255.255.0
①转换为二进制
1100 0000. 1010 1000. 0000 0001. 0110 1111 地址
1111 1111. 1111 1111. 1111 1111. 0000 0000 掩码
②子网掩码为1 所对应的IP地址那一位,则为网络位,子网掩码为0 所对应的位主机位。 24位网络位 8个主机位
注:左边连续的1的个数代表网络号的长度,(使用时必须是连续的,理论上也可以不连续),右边连续的0的个数代表主机号的长度。
(2)子网掩码的表示方法
①点分十进制表示法 二进制转换十进制,每8位用点号隔开
例如:子网掩码二进制11111111.11111111.11111111.00000000,表示为255.255.255.0
②CIDR斜线记法 IP地址/n
例1:192.168.1.100/24,其子网掩码表示为255.255.255.0,二进制表示为11111111.11111111.11111111.00000000
例2:172.16.198.12/20,其子网掩码表示为255.255.240.0,二进制表示为11111111.11111111.11110000.00000000
不难发现,例1中共有24个1,例2中共有20个1,所以n是这么来的。运营商ISP常用这样的方法给客户分配IP地址。
注:n为1到32的数字,表示子网掩码中网络号的长度,通过n的个数确定子网的主机数=2^(32-n)-2(-2的原因:主机位全为0时表示本网络的网络地址,主机位全为1时表示本网络的广播地址,这是两个特殊地址)。
在实际项目中,我们通常会遇到这样的IP地址。
ip地址:192.168.1.1 子网掩码:255.255.255.0