百度百科:
子网掩码(subnet mask)又叫网络掩码、地址掩码、子网络遮罩,它是一种用来指明一个IP地址的哪些位标识的是主机所在的子网,以及哪些位标识的是主机的位掩码。子网掩码不能单独存在,它必须结合IP地址一起使用。子网掩码只有一个作用,就是将某个IP地址划分成网络地址和主机地址两部分。
子网掩码是一个32位地址,用于屏蔽IP地址的一部分以区别网络标识和主机标识,并说明该IP地址是在局域网上,还是在广域网上。

理解:
子网掩码要配合ip使用,在一个网域内划分更小的子网。
例如 ip:192.168.1.1,mask:255.255.255.0 ,这就是一个C类未划分子网的网络,.0为网络地址,.255为广播地址,有254个ip可以使用,即192.168.1.1~192.168.1.254。
再例如 在192.168.1.0/24(这个/24就是子网掩码,也就是255.255.255.0,24个1)这个IP段内,设置mask为255.255.255.240,那么子网内有256-240=16个ip,而去掉开头一个网络地址和最后一个广播地址,剩下14个为可用的ip。一共划分出16个子网:
子网1:ip-192.168.1.1~14,网络地址-192.168.1.0,广播地址-192.168.1.15,mask:255.255.255.240(28)
子网2:ip-192.168.1.17~31,网络地址-192.168.1.16,广播地址-192.168.1.32,mask:255.255.255.240(28)
...
子网16:ip-192.168.1.240~254,网络地址-192.168.1.239,广播地址-192.168.1.255,mask:255.255.255.240(28)

计算:
ip:192.168.1.236
mask:2555.255.255.248
先转为二进制,得到
ip:11000000.10101000.00000001.11101100
mask:11111111.11111111.11111000
做与运算,得到的结果就是该ip的网络地址的二进制
11000000.10101000.00000001.11101000 即 192.168.1.232
C类地址的网络位从未划分的24位变成29位,29-24=5,2的5次方=32,即可以划分出32个子网。每个子网256-248=8个ip,其中第一个是网络地址,最后一个是广播地址。

子网掩码的简写:转化为二进制,数1的个数即可。注意,子网掩码的1必须连续,否则子网掩码无效,例如“11111111,00001111,11111111,11110000”,“255.0.255.0”,“255.255.255.220”都是无效的子网掩码。