注意:我不是指使用子网划分时丢失的 2 个 IP 地址。
我认为我的数学有些地方错了。以下是我正在做的事情。
- B 类私有 IP 范围:172.16.0.0 至 172.31.255.255
为了减少广播域,我应用了子网掩码255.255.254.0/23
这使我获得了以下子网
172.16.2.0
=>172.16.2.1
至172.16x.3x.255
(512 个主机)
255.255.255.192/26
现在,这就是我感到困惑的地方:我想将这个子网进一步划分为更小的子网,因此我通过从主机部分借用一些位来使用子网掩码。
根据此IP地址子网计算器计算器网,我将得到 4 个子网
172.16.2.0
=>172.16.2.1
至172.16.2.62
172.16.2.64
=>172.16.2.65
至172.16.2.126
172.16.2.128
=>172.16.2.129
至172.16.2.190
172.16.2.192
=>172.16.2.193
至172.16.2.254
问题:172.16.3.x 范围内的 IP 地址会发生什么情况?为什么它没有显示在子网中?
答案1
为什么它没有显示在子网中?
因为 calculator.net 很大程度上停留在过时的“有类网络”思维方式中——甚至那也是错的。不要使用它。
请注意,它没有选项指定原始网络是 /23,唯一的选项是“A/B/C 类”。仅凭这一点就已经排除了它作为可靠工具的可能性。但除此之外,它还说“所有可能的 /26 网络172.16.2.*“表格上方,这意味着即使这三个选项都不起作用,网站只是总是假设 /24 或“C 类”网络作为起点。
(视觉子网计算器更接近现实;它不会直接为您提供“所有可能的 /26”列表,但这是因为没有要求所有子网都具有相同的大小。可能还有其他很好的工具做只需列出给定父前缀的所有可能的 /26;我不知道任何在线工具,但它可以在 Python 的 3 行中完成。)
不过,关于“广播域”有一点需要注意:较小的子网(较长的前缀)本身并不能缩小广播域——较少的子网数量实际连接(主机、网桥、交换机)是该子网的一部分,这会影响到这一点。因此,如果您将具有十台主机和一个交换机的 /16 重新编号为具有完全相同的十台主机连接到同一台交换机的 /28,您的广播域仍然相同。
答案2
提醒:不再有“B 类”。CIDR 出现于 1993 年 — 30 年前,您可能在职业生涯中从未见过任何有类网络。停止使用这些术语,“A 类”、“B 类”,这些术语早已被遗忘。172.16.0.0/12 范围现在被视为 RFC 1918 私有范围,没有从地址的第一个八位字节推断出的任何“默认子网划分”(就像在有类网络中一样)。
您的问题的其余部分完全基于 CIDR。术语“位掩码长度”,即斜杠后指定的掩码中的单个位数,是 CIDR 表示法;在有类网络中没有这种东西。像“255.255.254.0/23”这样的表示法很奇怪,而且不被普遍认可;您可以任何一个使用 /255.255.254.0(位掩码形式)或者/23(CIDR 位掩码长度格式)用于指定 IP 地址中的子网划分。在 IPv4 中,这些是完全同义词,在 IPv6 中仅使用 CIDR 格式。
/23 (/255.255.254.0) 网络(每个网络有 512 个地址)是:
- 172.16.0.0/23 => 172.16.0.0 ÷ 172.16.1.255
- 172.16.2.0/23 => 172.16.2.0 ÷ 172.16.3.255
- 172.16.4.0/23 => 172.16.4.0 ÷ 172.16.5.255 等等。
然后,当您将网络 172.16.2.0/23 划分为 /26(/255.255.255.192)网络(每个网络 64 个地址)时,您将得到 512/64 = 8 个这样的网络:
- 172.16.2.0/26 => 172.16.2.0 ÷ 172.16.2.63
- 172.16.2.64/26 => 172.16.2.64 ÷ 172.16.2.127
- 172.16.2.128/26 => 172.16.2.128 ÷ 172.16.2.191
- 172.16.2.192/26 => 172.16.2.192 ÷ 172.16.2.255
- 172.16.3.0/26 => 172.16.3.0 ÷ 172.16.3.63
- 172.16.3.64/26 => 172.16.3.64 ÷ 172.16.3.127
- 172.16.3.128/26 => 172.16.3.128 ÷ 172.16.3.191
- 172.16.3.192/26 => 172.16.3.192 ÷ 172.16.3.255
你看,“父”块的所有地址都在那里。
为什么您的工具输出不同的结果,这确实是我们无法回答的问题。要么是它进行了无效计算,在这种情况下存在错误,您需要联系开发人员,要么您输入了错误的数据,例如您输入的不是 172.16.2.0/23,而是 /24,在这种情况下您实际上应该只从上面的列表中获得前四个网络,因为 172.16.2.0/24 有 256 个地址,从 172.16.2.0 到 .255。
答案3
问题:172.16.3.x 范围内的 IP 地址会发生什么情况?为什么它没有显示在子网中?
没什么。程序只是不知道您正在考虑 172.16.2.0/23。
注意表单如何将IP地址,而不是网络块。给它地址“172.16.2.0/23”并要求它提供 /26 块只会引发错误。如果只输入“172.16.2.0”(如您的链接所示),它无法知道您是在考虑 172.16.2.0/23、/25、/24、/22 还是 /21...(出于某种原因,当要求例如 /22 块时,它似乎确实接受输入“172.16.2.0/23”,哦,好吧。)
但是它确实显示了除包含 172.16.2.0 本身的块之外的一些 /26 块。根据它所说的“172.16.2.* 的所有 4 个可能的 /26 网络”,它似乎给出了所有数字直到字节边界,因此您可以轻松看到在 172.16.2.0/26 之后,下一个是 172.16.2.64/26,然后是 .128,然后是 .192,而无需进行手动计算。例如,对于 172.16.3.x,没有必要显示这些,因为数字只是重复。它从未说过它会在 /23 内为您提供所有 /26。
当然,对于所有用户来说,该输出可能不是必要的,但对于某些用户来说,它可能会有所帮助,这样他们就不需要考虑它是否是与 /28 匹配的 .112 或 .120,以防他们确实需要它。
如果您向它询问 /23 块,它会显示直到下一个字节边界的网络,即“172.16.*.* 的所有 128 个可能的 /23 网络”。
答案4
当使用子网掩码 255.255.255.192/26 进行子网划分时,了解子网划分的工作原理以及它如何影响可用 IP 地址的数量非常重要。
子网掩码 255.255.255.192/26 代表一个 26 位网络掩码。以二进制表示,如下所示:11111111.11111111.11111111.11000000。
对于 /26 子网掩码,前 26 位保留用于网络部分,剩下 6 位用于主机部分。计算子网中主机数量的公式是 2^(主机位数) - 2。
在这种情况下,主机部分有 6 位,因此公式变为 2^6 - 2,等于 64 - 2 = 62。因此,您应该有 62 个可用于子网内主机的 IP 地址。
需要注意的是,子网中的第一个和最后一个 IP 地址是保留的。第一个 IP 地址表示网络地址,最后一个 IP 地址表示广播地址。这些地址不能分配给主机,因此从主机总数中减去 2。
如果您认为在划分子网后丢失了 IP 地址,则可能是由于配置错误或对子网划分过程的误解。请仔细检查您的计算,并确保您正确考虑了保留的网络和广播地址。