本文转载自https://www.centos.bz/2012/08/subnetting/


1 子网掩码


子网掩码是一个32位地址,是与IP地址结合使用的一种技术。用4个字节的点分二进制数来表示时,其网络地址部分全置为1,它的主机地址部分全置为0。 它的主要作用有两个,一是用于屏蔽IP地址的一部分以区别网络标识和主机标识,并说明该IP地址是在局域网上,还是在远程网上。二是用于将一个大的IP网 络划分为若干小的子网络。

根据子网掩码与IP计算出网络地址:

IP地址:192.168.56.1 子网掩码:255.255.255.0

转化为二进制进行“与”运算:

IP地址:11000000.10101000.00111000.00000001

子网掩码:11111111.11111111.11111111.00000000

与运算后结果:

11000000.10101000.00111000.00000000

转化为十进制为:

192.168.56.0

注解:不管网络是否有划分子网,只要将IP地址和子网掩码进行逐位与运算,就能得出网络地址


2 子网的划分


网络地址指的是企业或者机关从连接服务商ISP那里申请到的IP地址,如172.18.0.0,企业或机关的网络管理员需要将在这个网络地址上为本单位的主机分配IP地址。在分配IP地址之前,首先需要根据本单位的行政关系、网络拓朴结构划分网,为各个子网分配子网地址。然后才能在子网地址的基础上为各个子网中的主机分配IP地址。

我们从ISP那里申请得到的网络地址也称为主网地址,这是一个没有挪用主机位的网络地址。单位自己划分出的子网地址需要挪用主网地址中的主机位来为各个子网编址。网络地址或主网地址不用掩码也可以计算出来,只需要看出它是哪一类IP地址。A类主网地址是255.0.0.0,B类主网地址是255.255.0.0,C类主网地址是255.255.255.0。

下面我们从一个例子来学习完整的IP地址设计。
设某单位申请得到一个C类地址200.210.95.0,需要划分出6个子网。我们需要为这6个子网分配子网地址,然后计算出本单位子网的子网掩码、各个子网中IP地址的分配范围、可用IP地址数量和广播地址。
步骤1:计算机需要挪用的主机位数的位数。
需要多少主机位需要试算。借1位主机位可以分配出21=2个子网地址;借2位主机位可以分配出22=4个子网地址;借3位主机位可以分配出23=8个子网地址。因此我们决定挪用3位主机位作为子网地址的编码。
步骤2:用二进制数为各个子网编码。
子网1的地址编码:200.210.95.00000000
子网2的地址编码:200.210.95.00100000
子网3的地址编码:200.210.95.01000000
子网4的地址编码:200.210.95.01100000
子网5的地址编码:200.210.95.10000000
子网6的地址编码:200.210.95.10100000
步骤3:将二进制数的子网地址编码转换为十进制数表示,成为能发布的子网地址。
子网1的子网地址:200.210.95.0
子网2的子网地址:200.210.95.32
子网3的子网地址:200.210.95.64
子网4的子网地址:200.210.95.96
子网5的子网地址:200.210.95.128
子网6的子网地址:200.210.95.160
步骤4:计算出子网掩码
先计算出二进制的子网掩码:11111111.11111111.11111111.11100000
(下划线的位是挪用的主机位)
转换为十进制表示,成为对外发布的子网掩码:255.255.255.224
步骤5:计算出各个子网的广播IP地址
先计算出二进制的子网广播地址,然后转换为十进制:200.210.95.00011111
子网1的广播IP地址:200.210.95. 00011111 / 200.210.95.31
子网2的广播IP地址:200.210.95. 00111111 / 200.210.95.63
子网3的广播IP地址:200.210.95. 01011111 / 200.210.95.95
子网4的广播IP地址:200.210.95. 01111111 / 200.210.95.127
子网5的广播IP地址:200.210.95. 10011111 / 200.210.95.159
子网6的广播IP地址:200.210.95. 10111111 / 200.210.95.191
实际上,简单地用下一个子网地址减1,就得到本子网的广播地址。我们列出二进制的计算过程是为了让读者更好地理解广播地址是如何被编码的。
步骤6:列出各个子网的IP地址范围
子网1的IP地址分配范围:200.210.95.1至200.210.95.30
子网2的IP地址分配范围:200.210.95.33至200.210.95.62
子网3的IP地址分配范围:200.210.95.65至200.210.95.94
子网4的IP地址分配范围:200.210.95.97至200.210.95.126
子网5的IP地址分配范围:200.210.95.129至200.210.95.158
子网6的IP地址分配范围:200.210.95.161至200.210.95.190
步骤7:计算出每个子网中的IP地址数量
被挪用后主机位的位数为5,能够为主机编址的数量为2^5-2=30。
减2的目的是去掉子网地址和子网广播地址。

划分子网会损失主机IP地址的数量。这是因为我们需要拿出一部分地址来表示子网地址、子网广播地址。另外,连接各个子网的路由器的每个接口也需要额外的IP地址开销。但是,为了网络的性能和管理的需要,我们不得不损失这些IP地址