A类IP地址: 一个A类IP地址由1字节的网络地址和3字节主机地址组成
B类IP地址: 一个B类IP地址由2个字节的网络地址和2个字节的主机地址组成
C类IP地址: 一个C类IP地址由3字节的网络地址和1字节的主机地址组成

IP地址分类:
A类:000~127,默认子网掩码:255.0.0.0
B类:128~191,默认子网掩码:255.255.0.0
C类:192~223,默认子网掩码:255.255.255.0
D类:224~239
E类:240~255
子网掩码(subnet mask)又叫网络掩码、地址掩码、子网络遮罩,它是一种用来指明一个IP地址的哪些位标识的是主机所在的子网,以及哪些位标识的是主机的位掩码。子网掩码不能单独存在,它必须结合IP地址一起使用。子网掩码只有一个作用,就是将某个IP地址划分成网络地址和主机地址两部分。
子网掩码是一个32位地址,用于屏蔽IP地址的一部分以区别网络标识和主机标识,并说明该IP地址是在局域网上,还是在远程网上。

计算方式:
由于子网掩码的位数决定于可能的子网数目和每个子网的主机数目.在定义子网掩码前,必须弄清楚本来使用的子网数和主机数目。

(1)根据子网数
利用子网数来计算
在求子网掩码之前必须先搞清楚要划分的子网数目,以及每个子网内的所需主机数目。
1)将子网数目转化为二进制来表示
2)取得该二进制的位数,为 N
3)取得该IP地址的类子网掩码,将其主机地址部分的前N位置1 即得出该IP地址划分子网的子网掩码。
如欲将B类IP地址168.195.0.0划分成27个子网:
1)27=11011
2)该二进制为五位数,N = 5
3)将B类地址的子网掩码255.255.0.0的主机地址前5位置1(B类地址的主机位包括后两个字节,所以这里要把第三个字节的前5位置1),得到 255.255.248.0

(2)根据主机数
利用主机数来计算
1)将主机数目转化为二进制来表示
2)如果主机数小于或等于254(注意去掉保留的两个IP地址),则取得该主机的二进制位数,为 N,这里肯定N<8。如果大于254,则 N>8,这就是说主机地址将占据不止8位。
3)使用255.255.255.255来将该类IP地址的主机地址位数全部置1,然后从后向前的将N位全部置为 0,即为子网掩码值。
如欲将B类IP地址168.195.0.0划分成若干子网,每个子网内有主机700台:

  1. 700=1010111100
    2)该二进制为十位数,N = 10
    3)将该B类地址的子网掩码255.255.0.0的主机地址全部置1,得到255.255.255.255
    然后再从后向前将后10位置0,即为: 11111111.11111111.11111100.00000000
    即255.255.252.0。这就是该欲划分成主机为700台的B类IP地址168.195.0.0的子网掩码。

原文链接:https://blog.csdn.net/qq_25827845/article/details/70946041