在IP地址的某个网络标识中,可以包含大量的主机(如A类地址的主机标识域为24位,B类地址的主机标识域为16位,C类的主机标识域有8位),
利用子网掩码可以判断两台主机是否在同一子网中。 子网掩码与IP地址一样也是32位二进制数,不同的是它的子网主机标识部分为全 "0". 若两台主机的IP地址分别与它们的子网掩码相 "与" 后的结果相同, 则说明此两台主机在同一子网中。
强调指出: 要理解子网掩码的含义,子网掩码就是掩去相同位数,剩余的位数可灵活变化,从0到1.
例1: 对于193.100.60.0网络, 若子网掩码设置为255.255.255.192, 请计算每个子网最多可接入多少台机器?
解析:子网掩码为 255.255.255.192, 第4字节用二进制表示为11000000, 则表示用原C类网的8位主机号的前两位表示子网号,剩下6位表示子网中的主机号, 所以 ,每个子网最多有64-2 =62台主机。 这里64的来源是2的6次方=64.
注: 主机号全0和全1不可分配为主机号。
例2: 假设一个主机的IP地址为 192.168.5.121, 而子网掩码为 255.255.255.248, 那么该 IP 地址的网络号为多少?
解析: 题中的IP地址,转化为二进制数为
1100 0000 1010 1000 00000101 01110000
子网掩码转化为二进制数为 ^ 1111 1111 1111 1111 1111 1111 1111 1000
1100 0000 1010 1000 0000 0101 0111 0000
=192.168.5.112
例3: 若某地址块中的地址为 128.34.57.26/22(此处/22 表示子网掩码的位数) , 请计算该地址块中的第一个地址 和最后一个地址以及该地址块中共包含的地址个数
解析: 本题中, 出现IP地址里有 57, 57的二进制表示为 00111001, 子网掩码为22 = 8(第一段) + 8(第二段) + 6(第三段的前6位),故取00111001的高6位, 当低两位都 为0, 并且最后一段都为0时,为第一个地址,即
0100 0000 0010 0010 0011 1000 0000 0000 ---> 128.34.56.0
当 00111001表示的低两位,以及最后一段都为1时,为最后一个地址:
0100 0000 0010 0010 0011 1000 0000 0000 ---> 128.34.59.255
归纳: IP地址共32位, 子网掩码占22位, 剩余10位可表示的地址总数为2的10次方=1024.