17_子网掩码的练习和特殊
网络协议那些事儿
内容简介
- 前言
上两课,我们学习了子网掩码,知道了它的作用:
-
将 IP 地址划分为网络地址和主机地址两部分。
-
计算 IP 地址所属的网络中可用的 IP 地址数目和地址范围,也可以知道网络可容纳的主机数目。
这一课我们就来做一些练习,巩固一下所学的子网掩码的知识点,然后会再学一些新知识。
- 对子网掩码的练习
由于上两课学习的知识点比较难,而且对于本专栏的剩余部分来说是非常基要的,因此我们来做一些练习,以确保你牢固掌握了这块知识。
即使你已经对上两课的知识点理解得比较透彻了,我也建议你做一下这些练习。因为某些示例有些棘手,你可能会对答案感到吃惊。
网络地址、主机地址还是广播地址?
练习的原理很简单。我们会给你几组 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 结尾。
这个规则可以帮助你避免在判断时出错。
- 特殊的地址
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 地址经常在这些范围内的原因。
- 总结
-
RFC 是一种文档,呈现人们希望在互联网上看到的技术,有点像手册。
-
私人或公司内部使用的 IP 地址范围是有约束的,由 RFC 1918 定义。这是为了不和互联网上的 IP 地址起冲突。
-
私有 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