17_子网掩码的练习和特殊 ## 网络协议那些事儿

418 阅读7分钟

17_子网掩码的练习和特殊

网络协议那些事儿

内容简介


  1. 前言

上两课,我们学习了子网掩码,知道了它的作用:

  • 将 IP 地址划分为网络地址和主机地址两部分。

  • 计算 IP 地址所属的网络中可用的 IP 地址数目和地址范围,也可以知道网络可容纳的主机数目。

这一课我们就来做一些练习,巩固一下所学的子网掩码的知识点,然后会再学一些新知识。

  1. 对子网掩码的练习

由于上两课学习的知识点比较难,而且对于本专栏的剩余部分来说是非常基要的,因此我们来做一些练习,以确保你牢固掌握了这块知识。

即使你已经对上两课的知识点理解得比较透彻了,我也建议你做一下这些练习。因为某些示例有些棘手,你可能会对答案感到吃惊。

网络地址、主机地址还是广播地址?

练习的原理很简单。我们会给你几组 IP 地址 / 子网掩码 的对,你需要回答该 IP 地址是网络本身的地址网络中主机可用的 IP 地址,还是网络的广播地址

第一个例子

首先来热个身,我们给出这对相关联的 IP 地址和子网掩码:

192.168.0.15 / 255.255.255.240。

和以前一样,我们将计算由此确定的网络的第一个和最后一个地址。然后,我们只需要查看给定地址是否为两个地址之一。


255.255.255.240 -> 11111111.11111111.11111111.11110000

192.168.0.15 -> 11000000.10101000.00000000.00001111

  
  


我们将 IP 地址中的网络地址用绿色来标识:

网络地址后面的 4 个二进制位就是代表主机地址。因此,要获得这个网络的第一个和最后一个 IP 地址,只需要将主机地址的位先全部设置为 0,然后再全部设置为 1:

因此,192.168.0.0 是该网络本身的地址,192.168.0.15 是该网络的广播地址。练习中给出的地址 192.168.0.15 就是该网络的广播地址。

我们可以判断得更快吗?

答案是肯定的。我们看到,题目给出的 IP 地址(192.168.0.15)的主机地址的所有位都是 1:

因此,我们已经可以判断这个 IP 地址就是该网络的广播地址。

同样地,如果我们看到某个 IP 地址的主机地址的所有位都为 0,那么可以判断这个 IP 地址就是该网络本身的地址。

更复杂的例子

好的,我们正式开始!

我们给出几组相关联的 IP 地址和子网掩码,“下面,请开始你的表演”,请计算一下,然后看看你是否得出了正确的答案。


192.168.0.15 / 255.255.255.0

192.168.1.0 / 255.255.255.0

192.168.1.0 / 255.255.254.0

10.8.65.29 / 255.255.255.224

10.8.65.31 / 255.255.255.224

10.0.0.255 / 255.255.254.0

  
  


以下是答案(完成练习前请不要看):

192.168.0.15 / 255.255.255.0

网络的 IP 地址范围从 192.168.0.0 到 192.168.0.255,因此 192.168.0.15 是主机可用的地址

192.168.1.0 / 255.255.255.0

网络的 IP 地址范围从 192.168.1.0 到 192.168.1.255,因此 192.168.1.0 是网络本身的地址

192.168.1.0 / 255.255.254.0

网络的 IP 地址范围从 192.168.0.0 到 192.168.1.255,因此 192.168.1.0 是主机可用的地址

10.8.65.29 / 255.255.255.224

网络的 IP 地址范围从 10.8.65.0 到 10.8.65.31,因此 10.8.65.29 是主机可用的地址

10.8.65.31 / 255.255.255.224

网络的 IP 地址范围从 10.8.65.0 到 10.8.65.31,因此 10.8.65.31 是广播地址

10.0.0.255 / 255.255.254.0

网络的 IP 地址范围从 10.0.0.0 到 10.0.1.255,因此 10.0.0.255 是主机可用的地址

一些小窍门

经过这些练习之后,你也许已经注意到一些有趣的事实:

  • 以 255 结尾的地址不一定是广播地址。

  • 以 0 结尾的地址也不一定是网络本身的地址。

此外,我们还看到了所有的广播地址之间的共同点:它们的最后一个字节是奇数。这很正常,因为它们的主机地址的所有位都是 1,因此它们肯定以 1 结尾。

同样地,网络本身的地址的最后一个字节将始终是偶数,因为它们的主机地址的所有位都是 0,因此它们肯定以 0 结尾。

这个规则可以帮助你避免在判断时出错。

  1. 特殊的地址

RFC

我们学习了 IP 地址和子网掩码,我们将它们关联起来,赋予网络中的一台主机。所有这些网络合起来,就组成了我们现在赖以上网的 Internet(互联网)。

但是,并非所有 IP 地址都具有相同的含义,某些地址已被保留为 “不用于 Internet(互联网)” 了。这些地址定义在 RFC 1918 中。

RFC 是英语 Request For Comments 的缩写,表示 “请求评论”,是一种文档,呈现人们希望在互联网上看到的技术。关于 RFC 的详细信息,可以看 RFC 的 百度百科

例如,如果我想创建一个将彻底改变互联网的新协议,我就会将其以 RFC 的形式呈现,别人可以读取,并提出意见(这也是 RFC “请求评论” 这个术语的由来,就好比说 “我发布了这个文档,走过路过不要错过,大家快来看看啊,记得给出评论哦,这样我好修订文档哦!”),最终可能会被接受为互联网的一个标准。

因此,RFC 文档就指定了互联网上几乎所有内容的详细操作。

每个不同的 RFC 文档一般用 RFC 后接一个文档的编号来表示。例如 RFC 791 代表了 IP 协议的 RFC 文档。

也有比较搞怪的 RFC 文档,例如 RFC 1149,定义了一个 “以鸟类为载体的网际协议(IP over Avian Carriers, IPoAC)”,是 1990 年 4 月 1 日通过的,也就是愚人节当天。RFC 1149 就是说类似信鸽一类的鸟类也可以传递 IP 数据(网络包),当然,这是有趣的恶搞。

好的,让我们说回 RFC 1918。

RFC 1918

RFC 1918 这个 RFC 文档指定了具有特定用途的 IP 地址范围(代表网络)。

实际上,这些 IP 地址范围被保留为供私人使用。这意味着,如果你在自己家中或在一个公司内部建立网络,则必须使用这些地址。

你也许会问:“难道我不能随意选择想在自己家中使用的地址吗?那我还怎么任性啊?”

不能。这是有原因的:假设我正在建立一个家庭网络,而我并不知道 RFC 1918。因此,我随机选择了一个网络,例如,网络 104.31.78.0 / 255.255.255.0(对应的网络范围是 104.31.78.0 ~ 104.31.78.255)。

但不幸的是,该网络地址范围属于互联网上的某个人或机构。你也许会认为这并不要紧,因为无论如何,我的网络是私有的,不会打扰到互联网上的任何人。但实际上,我将遇到问题…

例如,我尝试去一个我喜欢的站点,却不能访问了!

因为,我要去的网站的 IP 地址是 104.31.78.104,该地址属于我选择的网络范围(104.31.78.0 ~ 104.31.78.255)。

因此,当我的主机尝试访问此地址时,它会认为该 IP 地址代表的主机位于和自己相同的网络中,因此无法访问该地址,我就无法连接到这个网站。

那么,应该如何选择私有地址呢?

很简单,只需在 RFC 1918 定义的地址范围内选择你的私有 IP 地址范围即可。

RFC 1918 定义的私有 IP 地址范围是:

  • 10.0.0.0 / 255.0.0.0 :对应的地址范围是 10.0.0.0 ~ 10.255.255.255。被称为 A 类私有地址。

  • 172.16.0.0 / 255.240.0.0 :对应的地址范围是 172.16.0.0 ~ 172.31.255.255。被称为 B 类私有地址。

  • 192.168.0.0 / 255.255.0.0 :对应的地址范围是 192.168.0.0 ~ 192.168.255.255。被称为 C 类私有地址。

例如,我完全可以选择网络地址范围 10.0.0.0 / 255.255.255.0 或 192.168.0.0 / 255.255.255.0。

由于这些地址不属于互联网上的任何人,因此我的主机将能够访问互联网上的任何站点。

这也是为什么网络运营商给我们提供的 IP 地址经常在这些范围内的原因。

  1. 总结

  1. RFC 是一种文档,呈现人们希望在互联网上看到的技术,有点像手册。

  2. 私人或公司内部使用的 IP 地址范围是有约束的,由 RFC 1918 定义。这是为了不和互联网上的 IP 地址起冲突。

  3. 私有 IP 地址范围是 10.0.0.0 ~ 10.255.255.255,172.16.0.0 ~ 172.31.255.255 和 192.168.0.0 ~ 192.168.255.255 。

好了,现在你已经对 IP 地址和子网掩码比较熟悉了,我们就可以去攻坚子网掩码中的困难部分:划分 IP 地址范围 了。

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