注意:我指的不是使用子网划分时丢失的 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
。
根据Calculator.net上的这个 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 地址会怎样?为什么它不显示在子网中?
因为 calculator.net 在很大程度上陷入了过时的“分类网络”思维方式——甚至连这种想法都错了。不要使用它。
请注意它没有选项来指定原始网络是 /23,唯一的选项是“A/B/C 类”。仅此一项就已经排除了它作为可靠工具的可能性。但最重要的是,它在表格上方写着“All Possible /26 Networks for 172.16.2.* ”,这意味着即使这三个选项也什么都不做,而且该网站总是假定 /24 或“C 类”网络作为初始点。
(Visual Subnet Calculator更接近现实;它不会直接为您提供“所有可能的 /26”的列表,但那是因为不要求所有子网都具有相同的大小。可能还有其他好的工具可以做到列出所有可能的 /26 给定父前缀;我不知道有任何在线工具,但它可以用 3 行 Python 完成。)
不过,关于“广播域”的一个注意事项:较小的子网(较长的前缀)本身并不能减少广播域——作为该子网一部分的实际连接(主机、网桥、交换机)数量较少才是原因影响那个。因此,如果您将具有十台主机和一台交换机的 /16 重新编号为 /28,并且将完全相同的十台主机连接到同一台交换机,您的广播域也仍然相同。
提醒:不再有“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.2.0/23 划分为 /26 (/255.255.255.192) 网络(每个网络有 64 个地址)时,您会得到 512/64 = 8 个这样的网络:
看,“父”块的所有地址都在那里。
为什么你的工具输出不同的结果是我们无法回答的问题。要么它进行了无效计算,在这种情况下存在错误,你需要联系开发人员,要么你给了它错误的输入,比如你输入的不是 172.16.2.0/23,而是 /24,在这种情况下你应该只首先获得上面列表中的四个网络,因为 172.16.2.0/24 有 256 个地址,从 172.16.2.0 到 .255。
没有什么。该程序无法知道您正在考虑 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”,哦,好吧。)
但它确实显示了一些 /26 块,而不是包含 172.16.2.0 本身的块。根据它所说的“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 网络。。”。