为什么要划分子网?

子网划分有什么用处,网上各种说法不一,这里我们不去深究而选择其中一个理由:就是为了简化路由表。

划分思路

它的思路也比较简单:就是把本该是主机号的位移点给子网号使用

举例说明,原本有一个B类地址145.13.0.0,如下:

子网掩码28什么意思(计算机网络17网络层)(1)

IP地址的几节中,我们提到IP地址就是一个32位(4字节)的二进制数,上面是用点分十进制方式进行分割了一下。

当前主机号有16位,如果我们把前面的8位挪给子网号使用,那么主机号就只剩下8位。

子网掩码28什么意思(计算机网络17网络层)(2)

那么一个完整的IP地址=<网络号>,<子网号>,<主机号>

比如划分之后的IP地址形式有:145.13.1.x145.13.7.x145.13.8.x145.13.100.x145.13.125.x...

红色表示子网号

新的拓扑结构

子网掩码28什么意思(计算机网络17网络层)(3)

当前使用了3个子网号,但是对外依然还是145.13.x.x。那么当外界的数据传到该网络时,究竟传给哪个网络呢?这个时候就需要子网掩码

子网掩码

子网掩码的思路来源于二进制位运算,当进行“与”运算时,只有两者都为1时才为1,否则都为0。同理,如果我们想屏蔽某些位,只需要用0和它进行“与”运算即可。

子网掩码28什么意思(计算机网络17网络层)(4)

当外部数据传送的IP为145.13.3.10时,我们如何知道这个网络号呢?因为我们将主机的前8位都给了子网号,因此划分之后的完整网络号是:A.A.A.B,作者在这里使用A来表示网络号,因此我们只要把B屏蔽掉即可。

自然会想到使用FF FF FF 00来屏蔽,这就是子网掩码,就像是一个面具一样,把想显示出来的显示,不想显示的部分把它罩住。

因此,在有子网划分的网络中,路由器的转发算法就有点区别,需要使用各个网络的掩码和IP地址进行“与”操作,看是否在本网络中,然后进行下一步操作。

我们在路由器一节中写过,路由器是一个复杂的设备,各种功能都需要参数来配,因此子网划分最终还是路由器配置的问题,这里不讨论了了解即可。

一道计算题

下面我们用一道题来演练整个知识点

题目:某单位分配到一个B类IP地址,其网络号为129.250.0.0。该单位有4000台机器,平均分布在16个不同的地点。如果选用子网掩码为255.255.255.0,试给每一个地点分配一个子网号码,求算出每个地点主机号码的最小值和最大值。

解答:16个不同的地点,每个地点的机器数=4000/16=250台。

  1. 由于使用的子网掩码为255.255.255.0,因此每网络可连接的主机数=2⁸-2=254,主机号全0和全1不能分配给主机,这个在IP地址一节中有记录。而当前每个网络(地点)需要连接250台机器,因此够用。
  2. 根据子网掩码可知,子网号是8位,因此可用的子网号=2⁸-2=254。为什么减2呢?因为根据互联网标准协议RFC950文档,子网号不能为全0或全1。由于子网号有254个,远大于16个不同的地点,因此子网划分足够。
  3. 下面是子网划分之后的结构

子网掩码28什么意思(计算机网络17网络层)(5)

总结

这篇写了子网划分和子网掩码的主要知识点,还有一些旁枝细节没有写,了解即可,读者看下就能明白,下篇我们继续研究。

,