为什么我的子网掩码与 IP 地址不匹配?

为什么我的子网掩码与 IP 地址不匹配?

我的机器有一个 B 类 IP 地址 172.16.XXX.XXX。我的子网掩码是 255.255.255.XXX。我现在正在学习网络。所以到目前为止,我并不关心掩码。但从维基百科我知道 B 类应该有 255.255.0.0 作为子网掩码。那么为什么我的机器是个例外呢?

我的操作系统是Windows-7。

答案1

我的机器有一个 B 类 IP 地址 172.16.XXX.XXX

但从维基百科我了解到“B”类应该有 255.255.0.0 作为子网掩码。

IANA 保留的“B 类”私有网络实际上有子网掩码255.240.0.0,而不是 255.255.0.0。

让我澄清一下子网掩码的工作原理。

IP 地址可以实现:

  • 网络上的多个系统相互通信。
  • 而且它还为一个网络上的计算机与另一个网络上的计算机通信提供了基础。

因此,我们需要识别两件事:计算机及其所在的网络。IP 地址从左侧开始的部分(但不是全部)用于识别网络,其余部分用于识别计算机本身。

子网掩码决定了我们在哪里进行这种划分。IP 地址和子网掩码以十进制书写,以便于阅读,但计算机以二进制处理它们。十进制到二进制的工作原理如下,例如:

    128 |  64 |  32 |  16 |   8 |   4 |   2 |   1 |
   -----+-----+-----+-----+-----+-----+-----+-----+
      1 |   0 |   0 |   0 |   0 |   0 |   0 |   1 | = 129 in decimal

再看一下:

255.240.  0.  0 = 11111111 11110000 00000000 00000000
172. 16.  0.  1 = 10101100 00010000 00000000 00000001

子网掩码中 1 所涵盖的所有内容都属于网络,其余部分可分配给计算机。(由于所有合法的子网掩码都包含连续的多个 1,其余部分为 0,因此现在通常只用一个数字来表示它,该数字仅代表子网掩码中的 1 的数量。以上内容将用 /12 表示,即 172.16.0.1/12,而不是 172.16.0.1/255.240.0.0)


有了这些背景知识,您就可以理解子网划分的工作原理。

因此,您正在运营一个家庭网络,并决定将 172.16.0.0/24 用于其中的所有系统。通常,您会将这些信息输入 DHCP 服务器,然后该服务器将负责设置您其余的大部分系统。您可以告诉 DHCP 服务器给出 172.16.0.0/12 中的一系列地址,可能是 172.16.0.1 到 172.16.254.255,其余地址留给服务器或其他任何设备。所有这些的子网掩码都将设置为 255.240.0.0 或 /12。我最多可以有 1,048,576 减 2 台计算机(必须保留 0 台,最高地址始终是广播地址)。

但是,如果你想要使用第二个网络来做某事,比如 DMZ 或只是为了隔离几台机器,该怎么办呢?这时子网划分就派上用场了。

255.240.  0.  0 = 11111111 11110000 00000000 00000000 (/12)
172. 16.  0.  1 = 10101100 00010000 00000000 00000001

我可以在这里为网络保留一些位,然后就可以控制多个网络,但可以容纳较少的主机。

因此,如果我愿意,我可以告诉我的 DHCP 服务器分发子网掩码 255.255.0.0 和一系列 IP 地址,例如 172.16.0.1 到 172.16.255.254。这将是网络 0。

255.255.  0.  0 = 11111111 11111111 00000000 00000000 (/16)
                               XXXX   
172. 16.  0.  1 = 10101100 00010000 00000000 00000001

XXXX我保留这些位来分配给网络,而不是计算机。

然后,我可以告诉第二个路由器,如果我愿意处理 172.17.0.1 到 172.17.255.254。它们将被隔离,我需要一个单独的路由器来连接 172.16.0.0/16(16 = 255.255.0.0)和 172.17.0.0/16 上的计算机。

(这没有考虑 NAT 并尝试将互联网连接到这些网络,这会使事情变得复杂。)

我希望您能理解。在现实生活中,您不会在家庭环境中经常这样做,但在商业环境中肯定会这样做。我提到这一切只是为了让您知道,出于上述原因,255.255.0.0 适用于 172.16.XXX.XXX 以及 255.240.0.0。

答案2

分类寻址已经过时十多年了。没有人再关心默认子网掩码了。你只需要知道它,因为出于某种原因,考试总是问到它。将 B 类空间中的 /16 划分为 /24 是完全常规的做法。

答案3

有类路由已被取代跨域路由。因此,IPv4 地址的网络部分和主机部分的划分由子网掩码决定,并且地址之前属于哪个类别并不重要。因此,您的机器也不例外。

答案4

可能是因为你之前有一个 C 类地址,并且自动分配了一个 /24 子网掩码。当你将 IP 更改为 B 类地址时,默认情况下不会更改的子网掩码仍为 255.255.255.0

在 Windows 机器中,当 IP 更改/编辑时,子网掩码不会自动分配。

如果您使用 172.16.xy IP 地址和 255.255.255.z 掩码,则主机范围将取决于值“z”。 检查范围

When z= 0; Range 172.16.x.1 - 172.16.x.254
     z= 126; Range 1 - 126
     .
     .
     .
     z=252; Range 172.16.x.1 - 172.16.x.2

相关内容