18_划分_IP_地址范 ## 网络协议那些事儿

90 阅读10分钟

18_划分_IP_地址范

网络协议那些事儿

内容简介


  1. 前言

划分 IP 地址范围,又被称为 “IP 地址段划分”,等等。

学习如何划分 IP 地址范围的这几课,需要你振奋起精神,因为需要不少的思考,将会有很多计算要做(可以使用这样的网站:进制转换 ),也有不少概念要掌握。

请不要忽视这些概念,因为这些概念对于本专栏的后续课程是非常必要的!

我们将要学习的 “划分 IP 地址范围” 的知识点是网络管理员的工作的重要组成部分。作为网络管理员,必须精通 IP 地址范围划分的技术,并且对这门技术非常得心应手,以便能快速且正确地识别网络。

好了,系好你的安全带,我们又要发车了!

  1. 用基本方法来划分

在这几课中,我们将努力学习如何正确地划分 IP 地址范围。

但是,划分 IP 地址范围到底是什么意思啊?

设想一下,你管理着一所著名的大学(比如 清华、 北大、 复旦、 浙大、 上海交大,等等)的计算机学院的网络。

计算机学院中的学生可是会学习网络的工作原理哦,他们可能会寻找你的网络的缺陷,来加以利用。

假设你已经将计算机学院的网络中的主机配置为属于同一大型网络 10.0.0.0 / 255.255.0.0。

不过,在这个网络中,有学生、老师和行政管理人员。你很快意识到,一些有点小聪明的学生成功进入了他们老师的主机,更改了自己期末考试的成绩。

那该怎么办呢?

我们可以把这个大的网络分成几个较小的网络。然后,我们可以将学生放在一个网络中,将老师放在另一个网络中。甚至还有一个网络专门留给行政管理人员,这样老师们就不能更改自己的工资单了。

划分 IP 地址范围在网络领域很常用,将一个大的地址范围分为几个小的地址范围,以分隔不同的群体。

简单来说,就是从一个大的网络(大的 IP 地址范围)中分出若干小的网络(小的 IP 地址范围),这些小的网络被称为子网

这也是子网掩码的名称由来:基于子网掩码,可以将一个网络划分为若干子网。

CIDR 表示法:“懒人” 专用写法

在网络领域,总有一些 “懒人”,至少我就是,哈哈。因此,网络领域的先驱为了我们这些 “懒人”,专门发明了一种子网掩码的更快速写法,就是 CIDR 表示法。

CIDR 是 Classless Inter-Domain Routing 的缩写,表示 “无类别域间路由”。光看这名字实在不好理解。

我们以后再讲 CIDR 的确切含义,目前我们暂时先使用 CIDR 表示法来表示子网掩码。

我们知道子网掩码有 32 位。在这 32 位中,有一些位是 1,其余的位则为 0。

我们之前已经学过,子网掩码的 0 和 1 的二进制位是不能混合排列的(由于子网掩码的二进制位的连续性),因此只要知道子网掩码中 1 的位数,就可以知道整个子网掩码了。

所以,我们只需要简单地将 1 的位数写出来,就可以代表整个子网掩码咯。

例如,我们可以将子网掩码 255.255.255.0 简写为 /24,表示该子网掩码中前 24 位都是 1。

同样地,可以将 192.168.0.1 / 255.255.255.0 简写为 192.168.0.1/24。

这样的表示法写起来更快,对吧?也许这不是革命性的,但是当你必须写很多子网掩码时,速度会快很多!

从现在开始,我们可以用 /20 这种表示法来代替 255.255.240.0 了。之后的课程中,我们有时会用 CIDR 表示法,有时会用传统的表示法。

当然了,CIDR 表示法对于我们的计算不是那么方便,我们常常不得不将其转回到点分十进制的表示法,才能方便计算。

小试牛刀

假设有一个公司,它的网络为 10.0.0.0/16,我们将划分这个网络的地址范围。

该公司拥有 1000 名技术人员,200 名商务人员和 20 名经理。因此,我们需要在这个网络中划分出三个子网。

我们该怎么来划分呢?

确认足够的地址数目

首先,我们要确认大的地址范围(10.0.0.0/16)是否包含足够 1220(1000 + 200 + 20)名员工使用的地址数目。

10.0.0.0/16 这个网络的子网掩码有 16 位是 1,16 位是 0(因为子网掩码总共有 32 位)。

之前的课程中我们学过一个公式,该公式使我们能够根据子网掩码中 0 的位数来确定网络中的可用 IP 地址数。

我们回顾之前说过的那个公式:

网络中可用的 IP 地址数 = 2 的 “子网掩码中 0 的 个数” 次方。

因此,在上面的网络中,有 2 的 16 次方 个地址,也就是 65536 个可用的 IP 地址,这对于分配给 1220 名员工来说已经绰绰有余了。

好的,我们已经确定了:大的地址范围(10.0.0.0/16)包含足够 1220 名员工使用的地址数目。

子网掩码的计算

现在,我们已经知道每个子网中需要包含多少个地址,还有前面提到的公式(该公式为我们提供了网络中的可用地址数与子网掩码中 0 的位数之间的关系)。因此,我们肯定可以推断出每个子网掩码所需的 0 的位数,从而确定三个子网的子网掩码。

对于 1000 名技术人员,我们需要一个至少有 1000 个可用地址的网络。

根据之前说的那个公式(网络中可用的 IP 地址数 = 2 的 “子网掩码中 0 的 个数” 次方),我们可以推断出子网掩码中需要的 0 的位数。

我们有 1000 名技术人员,1000 小于 2 的 10 次方(2 的 10 次方是 1024)。

因此,我们只要将子网掩码中的 10 位二进制位置为 0,就应该足够标识 1000 台机器了(毕竟我们有 1024 个可用地址)。如果子网掩码中包含 10 个 0,那么我们的子网掩码将是:

11111111.11111111.11111100.00000000(点分二进制表示),也就是 255.255.252.0(点分十进制表示),也可以表示为 /22(CIDR 表示法)。

因此,对于技术人员的网络,我们可以选用子网掩码 255.255.252.0,使得网络具有 1024 个可用的地址,从而为 1000 名技术人员提供足够的 IP 地址。

我们可以为 200 名商务人员执行相同的计算:200 小于 2 的 8 次方(2 的 8 次方是 256),因此商务人员的网络的子网掩码是 255.255.255.0。

最后,对于 20 名经理:20 小于 2 的 5 次方(2 的 5 次方是 32),因此经理的网络的子网掩码是 255.255.255.224。

但是我们拿这些子网掩码做什么呢?

我们的目标是找到与上面的三个子网掩码相关联的 IP 地址范围。为此,我们可以从提供的大的地址范围中进行很多选择。

IP 地址范围的选择

我们拥有 10.0.0.0/16 这个包含 65536 个可用地址的网络,我们要在这 65536 个地址中为我们的技术人员找一个包含 1024 个地址的子网。

对于我们来说,最简单的选择是从最低地址开始,虽然这不是唯一的选择。

因此,我们可以让技术人员的网络的地址范围从 10.0.0.0 开始。

我们已经可以通过 10.0.0.0 / 255.255.252.0 这个 IP 地址和子网掩码的关联对来标识技术人员的网络。但是,最好知道该子网的最后一个地址,这样我们能更加直观地了解地址范围。

让我们开始计算吧。

通常,我们会将 IP 地址和子网掩码都转换为二进制。但是仔细考虑一下,我们意识到子网掩码的 4 个字节中只有一个是我们感兴趣的,也就是 1 和 0 之间出现划分的那个字节,对于 255.255.252.0 这个子网掩码来说是第三个字节,也就是 252。

因此,我们只需要处理第三个字节(毕竟我们 “喜欢偷懒”,哈哈),而不需要用二进制来计算整个地址。

  • 子网掩码的第三个字节:252 -> 11111100

  • IP 地址的第三个字节:0 -> 00000000

因此,根据子网掩码,子网中所有主机的 IP 地址的第三个字节都会以 000000 开头。

子网中的最后一个地址将是主机部分的所有位都为 1 的地址,即第三个字节为 00000011(就是十进制的 3)和第四个字节为 11111111(就是十进制的 255)。可别忘了第四个字节哦。

因此,技术人员的网络的地址范围的最后一个地址是 10.0.3.255。

因此,我们在大的地址范围内为技术人员选择了合适的地址范围。

接着,我们需要为 200 名商务人员选择地址范围。然而,地址范围的选择有了一个限制,因为技术人员的网络已经占用了大的地址范围内从 10.0.0.0 到 10.0.3.255 的地址。

例如,我们可以在技术人员的地址范围之后紧跟商务人员的地址范围,也就是让商务人员的地址范围从 10.0.4.0 开始。

我们已经可以通过 10.0.4.0 / 255.255.255.0 这个关联对来标识商务人员的网络。和之前一样,我们也想要知道这个地址范围的最后一个地址。

这次,由于划分位于两个字节之间,因此计算很容易。商务人员的网络的最后一个地址是 10.0.4.255。

我们可以对经理的网络的地址范围执行相同的推理,让其从 10.0.5.0 开始。

通过将经理的网络的子网掩码(255.255.255.224)与此地址关联,我们找到了地址范围的最后一个地址 10.0.5.31。

这样,我们就从给定的网络(10.0.0.0/16 -> 从 10.0.0.0 到 10.0.255.255)中划分出了三个子网:

  • 技术人员的网络:10.0.0.0/22 -> 从 10.0.0.0 到 10.0.3.255;

  • 商务人员的网络:10.0.4.0/24 -> 从 10.0.4.0 到 10.0.4.255;

  • 经理的网络:10.0.5.0/27 -> 从 10.0.5.0 到 10.0.5.31。

这三个群组里的每个地址都是不同的,并且都包含在大的地址范围之内。

很好,我们成功了!

下一课,我们继续学习划分 IP 地址范围,内容将会越来越有趣哦。

  1. 总结

  1. CIDR 表示法可以让我们通过一个斜杠( / )后接子网掩码中的 1 的位数(例如 /24 )来简约地表示一个子网掩码;

  2. 请记住这个公式:网络中可用的 IP 地址数 = 2 的 “子网掩码中 0 的 个数” 次方。可以通过这个公式快速算出每个子网所需的子网掩码;

  3. 划分 IP 地址范围时,我们通常有多种选择。

一起加油吧~

}如果您想了解更多技术资源,欢迎加入点击这里钉钉群交流IT技术资源查看“IT技术交流群一”群的钉钉群号: 129605002953