前文回顾:

  1. ​自学网络协议(一):HTTP请求与响应——GET和POST真的不一样吗?​
  2. ​自学网络协议(二):OSI第一层——物理层Physical layer​
  3. ​自学网络协议(三):OSI第二层——机器通信那点事​
  4. ​自学网络协议(四):OSI第三层——网络层的作用(上)​
  5. ​自学网络协议(五):网间通信——子网掩码​

前面我们大致描述了IP地址范围,这一节来给各位演示一下用一个“特殊的方法”来轻而易举的划分网络资源。

让我们举一个“栗子”:​​10.45.185.24 / 255.255.248.0​​ 我们规定【神奇数字】的计算者是:256 —— 子网掩码的有效数字

子网掩码的有效数字对应子网掩码的第三个字节、对应于IP地址中的第三个字节

256-248=8
接下来,我们要找到小于或等于185(IP地址中的第三个字节)的“8”的倍数中的最大值:

  • 8*10=80<185
  • 8*20=160<185
  • 8*24=192>185

停!
我们找到了。和第一个地址有关的数值是184(185-1),和最后一个地址有关的数值是191(192-1)
因此,此网络的第一个地址是​​​10.45.184.0​​​,最后一个地址是​​10.45.191.255​

很简单,不是吗?

我们再来看一个例子:假设你负责一个公司某个部门的网络,是​​192.168.160.0 / 255.255.224.0​​。这个部门有三个群组:550名技术人员、130名商务人员、10名经理。现在,让你从网络中给它们划出3个子网。

  1. 【神奇数字】是:256-224=32
  2. 地址的有效字节是160(正好是32的倍数!)。因此,160是和网络上第一个地址有关的数值;而160+32-1=191是和网络上最后一个地址有关的数值
  3. 因此,网络上第一个地址是​​192.168.160.0​​​,最后一个地址是​​192.169.191.255​

然后,我们来划分子网范围:

上面我们知道了三个群组各自的人数,我们也知道一个网络的地址范围大小取决于其子网掩码。因此,我们又使用了这个公式:
网络中可用IP地址数=2的“子网掩码中0的个数”次方个

  • 2 ^ 9 =512 < 550 < 2 ^ 10 =1024 —— 对于550名技术人员,网络上要包含1024个地址。因此子网掩码有10位为0,即​​11111111.11111111.11111100.00000000​​​ ->​​255.255.252.0​
  • 对于130名商务人员,有 2 ^ 7 =128 < 130 < 2 ^ 8 =256 ——其子网掩码为​​255.255.255.0​
  • 对于10名经理,2 ^ 3 =8 < 10 < 2 ^ 4 =16 —— 其子网掩码是​​255.255.255.240​

得到了三个子网的子网掩码,接下来“一展身手”算出地址范围即可:

  • 【神奇数字】是:256-252=4
  • 对于技术人员,160是4的倍数,下一个4的倍数是164。164-1=163,则此网络最后一个地址为​​192.168.163.255​
  • 对于商务人员,其地址紧跟技术人员之后:第一个地址是​​192.168.164.0​​​,但这个的子网掩码比较特殊,其二进制划分正好是发生在两个字节之间。因此推算出其最后一个地址是​​192.168.164.255​​(感兴趣的可用【神奇数字】再算一遍)、
  • 经理也一样,紧跟在商务人员之后,第一个地址是​​192.168.165.0​​​,【神奇数字】是:256-240=16,16-1=15,其网络上最后一个地址是​​192.168.165.15​

网络资源并没有被分配完…