IP协议标准规定:每一个使用子网的节点都选择一个32位的位模式,若位模式中的某位置为1,则对应IP地址中的某位就为网络地址(包括网络部分和子网号)中的一位;若位模式中的某位置0,则对应IP地址中的某位就为主机地址中的一位。即子网掩码由1和0组成,且1和0分别连续。子网掩码的长度也是32位,左边是网络位,用二进制数字“1”表示,1的数目等于网络位的长度;右边是主机位,用二进制数字“0”表示,0的数目等于主机位的长度。
子网掩码是一种用来指明一个IP地址的哪些位标识的是主机所在的子网,以及哪些位标识的是主机的位掩码。子网掩码不能单独存在,它必须结合IP地址一起使用。从一个IP数据报的首部并无法判断源主机或目的主机所连接的网络是否进行了子网的划分;使用子网掩码可以找出IP地址中的子网部分。子网掩码只有一个作用,就是将某个IP地址划分成网络地址和主机地址两部分。
子网掩码的运算:
子网掩码与IP地址结合使用,可以区分出某个IP地址网络地址位和主机地址位:
一个B类网络166.111.0.0,若在主机标识中取出5位作为子网地址位,则该子网的子网掩码为255. 255. 248.
0
网络地址
166.
111.
0.
0
10100110.01101111.00000000.00000000
子网掩码
255.
255.
248.
0
11111111.11111111.11111000.00000000
子网掩码与IP地址结合使用,可以区分出一个网络地址的网络号和主机号:
一个C类地址为:192.9.200.15子网掩码为:255.255.255.0。则它的网络号和主机号可按以下步骤计算出:
1、将IP地址192.9.200.15转换为二进制,11000000 00001001 11001000
00001111;
2、将子网掩码255.255.255.0转换为二进制,11111111 11111111 11111111
00000000;
3、将两个二进制数逻辑与(AND)运算后得出的结果即为网络部分;
11000000 00001001 11001000 00001111
AND 11111111 11111111 11111111 00000000
11000000 00001001 11001000 00000000
结果为192.9.200.0,即网络号为192.9.200.0
4、将子网掩码取反再与IP地址逻辑与(AND)后得到的结果即为主机部分。
11000000 00001001 11001000 00001111
AND 00000000 00000000 00000000 11111111
00000000 00000000 00000000 00001111
结果为0.0.0.15,即主机号为15
利用子网掩码还可以判断两台主机是否在同一子网中。若两台主机的IP地址分别与他们的子网掩码相“与”后的结果相同,则说明这两台主机在同一子网中。