子网掩码(Subnet Masks)的长度为32位,即4个字节。它有两个功能: 
1、区分IP地址中的网络号与主机号。当TCP/IP网络上的主机相互
  通信时,就可利用子网掩码得知这些主机是否在相同的网络区段
  内。
 
2、将网络分割为多个子网。
 
默认情况下,A、B、C三类网络的子网掩码为:
 
类型 子网掩码(以位表示) 子网掩码(十进制)  
 
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
 
  上面表中,子网掩码为"1"的位用来定位网络号,为"0"的位用来定位主机号。例如:某台主机的IP地址为:168.95.116.39,而子网掩码为:255.255.0.0,则将这两个数据做AND(与)的逻辑运算后,所得出的值中非"0"的部分即为其网络号,即168.95,而IP地址中剩下的字节就是主机号,也就是:116.39。
  
  子网掩码的另一个用途就是可以将网络分割为多个以IP路由路(IP Router)连接的子网。如果某公司有多个分布于各地的网络,当然可以申请多个网络号,也可以只申请一个网络号,但是此时必须借助于子网掩码的帮助。
 
  例子: 假设有4个分布于各地的局域网络,每个网络都各约有15台主机,而只向NIC申请了一个C类网络号,为:203.66.77的网段,正常情况下,C类的子网掩码应该设为:255.255.255.0,但此时所有的计算机必须在同一网络区段内,可是现在网络分布于4个地区却只申请一个网络号,该怎么办呢?
 
  解决方法:假设此时将子网掩码设为255.255.255.224,224的二进制数为11100000,它用来表示原主机ID的最高3个位是子网掩码,也就是说我们将主机ID中的最高的3个位拿来分割子网。
 
  这3个位共有000、001、010、011、100、101、110、111等8种组合,扣掉不可使用的“000”(代表本身)合“111”(代表广播),还有6个组合,也就它共可提供6个子网,
 
每个子网可提供的IP地址就是:
 
 第一个子网:001 00001 到 001 11110 也就是:33 - 62
 第二个子网:010 00001 到 010 11110 也就是:65 - 94
 第三个子网:011 00001 到 011 11110 也就是:97 - 126
 第四个子网:100 00001 到 100 11110 也就是:129 - 158
 第五个子网:101 00001 到 101 11110 也就是:161 - 190
 第六个子网:110 00001 到 110 11110 也就是:193 - 222
 
各子网提供的IP地址排列如下:
   
  第一个子网:203.66.77.33 --- 203.66.77.62
  第二个子网:203.66.77.65 --- 203.66.77.94
  第三个子网:203.66.77.97 --- 203.66.77.126
  第四个子网:203.66.77.129 --- 202.66.77.158
  第五个子网:203.66.77.161 --- 203.66.77.190
  第六个子网:203.66.77.193 --- 203.66.77.222
 
  每个子网都可支持30台主机,足以应付4个子网各15台主机的需求。由这6个子网的IP地址可以发现,经过分割后,有一些IP地址就无法使用了,例如:第一、二子网之间的:203.66.77.63 与 203.66.77.64 这两面个地址。