划分子网

划分子网

为什么要划分子网?

  1. IP地址空间的利用率有时很低。
  2. 给每一个物理网络分配一个网络号会使路由表变得太大因而使网络性能变坏。
  3. 两级IP地址不够灵活。

为解决上述问题,从1985年起在IP地址中又增加了一个“子网号”字段,使两级IP地址变成三级IP地址,它能够较好地解决上述问题,并且使用起来也很灵活。这种做法叫做划分子网(subnetting)。划分子网已成为互联网的正式标准协议。

来自:《计算机网络(第七版)》 谢希仁 编著 p135

增加“子网号”字段前,IP地址::={<网络号>, <主机号>}。

为了进行子网划分,我们需要从主机号借用若干比特作为子网号。

增加“子网号”字段后,IP地址::={<网络号>, <子网号>, <主机号>}。

我们使用子网掩码来表达对原网络中主机号的借位。子网掩码是一个32位的二进制串,由一串1和跟随的一串0组成。其中,1对应于IP地址中的网络号及子网号,而0对应于主机号。只需将IP地址和其对应的子关掩码逐位相“与”,即可求出相应子网的网络地址

子网中:

  • 主机号为全0的IP地址为该子网的网络地址
  • 主机号为全1的IP地址为该子网的广播地址

因此,子网中的主机号为全0或全1的地址都不能被指派,即:主机号不允许为全0或全1。

如何划分子网?

下面举例说明如何划分子网:

某公司共有5个部门,每个部门最多有25台主机。如果分配给该公司使用的地址为一个C类地址,网络地址为192.168.161.0,那么该公司应如何划分子网?

1、根据部门数求子网号的位数

∵该公司共有5个部门,2^2^<5<=2^3^

∴子网号的位数=3

则主机号的位数=32-24-3=5,每个子网中最多可有2^5^–2=30台主机(即每个子网可用IP地址数为30),满足各部门的需求。

∵(11100000)2=(224)10

因此,各子网的子网掩码均为255.255.255.224。

2、求每个子网的网络地址

把IP地址除网络位的部分用二进制表示,将子网位从全0递增到全1,将主机位设置为全0,这样就能得出每个子网的网络地址了。

网络位 子网位 主机位 子网的网络地址
第1个子网 192.168.161 . 000 00000 192.168.161.0
第2个子网 192.168.161 . 001 00000 192.168.161.32
第3个子网 192.168.161 . 010 00000 192.168.161.64
第4个子网 192.168.161 . 011 00000 192.168.161.96
第5个子网 192.168.161 . 100 00000 192.168.161.128
第6个子网 192.168.161 . 101 00000 192.168.161.160
第7个子网 192.168.161 . 110 00000 192.168.161.192
第8个子网 192.168.161 . 111 00000 192.168.161.224

由此可得出下表:

网络地址 网段 广播地址 第一个可用地址 最大的一个可用地址
192.168.161.0 192.168.161.0-192.168.161.31 192.168.161.31 192.168.161.1 192.168.161.30
192.168.161.32 192.168.161.32-192.168.161.63 192.168.161.63 192.168.161.33 192.168.161.62
192.168.161.64 192.168.161.64-192.168.161.95 192.168.161.95 192.168.161.65 192.168.161.94
192.168.161.96 192.168.161.96-192.168.161.127 192.168.161.127 192.168.161.97 192.168.161.126
192.168.161.128 192.168.161.128-192.168.161.159 192.168.161.159 192.168.161.129 192.168.161.158
192.168.161.160 192.168.161.160-192.168.161.191 192.168.161.191 192.168.161.161 192.168.161.190
192.168.161.192 192.168.161.192-192.168.161.223 192.168.161.223 192.168.161.193 192.168.161.222
192.168.161.224 192.168.161.224-192.168.161.255 192.168.161.255 192.168.161.225 192.168.161.254

最后

可以看出,想要推导出最终的这张表,关键是要求出每个子网的网络地址。

可以用以下规律来检查所推出的表格是否正确:

  1. 每个子网的网络地址的末尾数字(用十进制表示)总会是偶数。
  2. 每个子网的第一个可用地址的末尾数字(用十进制表示)总会是奇数。
  3. 每个子网的最大的一个可用地址的末尾数字(用十进制表示)总会是偶数。

另外,在划分子网时,常常需要将一个8位二进制数转化为十进制数,所以我们应当熟记一个8位二进制数的每一位的权重。

位序 权重
0 1
1 2
2 4
3 8
4 16
5 32
6 64
7 128

(11111111)2=(255)10

(10000000)2=(128)10