教授讲授了以下场景。一个组织购买了一个 C 类地址 216.21.5.0
,并希望用它来寻址其位于亚利桑那州、佛罗里达州和加利福尼亚州的办事处。其网络设置如下。
因此,所需的网络总数为 5。因此,子网掩码将是 255.255.255.224 或 /27。此外,最低子网位为 32,因此增量值将是 32。因此,我们总共得到 8 个网络范围,如下所示。
216.21.5.0 to 31
216.21.5.32 to 63
216.21.5.64 to 95
216.21.5.96 to 127
216.21.5.128 to 159
216.21.5.160 to 191
216.21.5.192 to 223
216.21.5.224 to 255
因此,我们在每个网络范围内大约有 30 台计算机。即亚利桑那州办公室 30 台、加利福尼亚州办公室 30 台、佛罗里达州办公室 30 台。
现在说一下我的疑问。
- 如果我们按照上述方式进行网络子网划分,那么我们将会浪费大量没有任何系统连接到的中间链路的 IP 地址。
- 另外,如果亚利桑那州办公室有 90 台计算机,而佛罗里达州办公室只有 20 台计算机,那么根据这种方法,这是不可能的。
PS 我对此 IP 子网划分过程感到很困惑。请解答我的疑惑。谢谢!
答案1
- 如果我们按照上述方式进行网络子网划分,那么我们将会浪费大量没有任何系统连接到的中间链路的 IP 地址。
- 另外,如果亚利桑那州有 90 台计算机,而佛罗里达州只有 20 台计算机,那么根据这种方法,这是不可能的。
这两个问题的答案基本相同:您不必将子网切成大小相等的部分。这与单个 ISP 根据各自的寻址需求为一个客户分配 /22 而为另一个客户分配 /28 是一样的。
假设您的子网 IP 地址分配需求分别为 90、50 和 30 个地址,并且您有一个完整的 IPv4 /24(仅此而已)可供使用。让我们看看如何分配这些子网。
90 个 IP 地址刚好适合 /25,因此您为其分配 .0/25,这样就留下了一个很好的余地,并且 .128/25 未分配。
50 个 IP 地址需要 64 个地址块(相当于 /26),因此您分配了 .128/26,留下了一些余地,而 .192/26 尚未分配。
30 个 IP 地址需要 32 个地址块(/27),因此您分配了 .192/27,这几乎没有增长空间,但 .224/27 仍未分配。20 个 IP 地址也需要 /27,但会给您留下更大的空间。(另一方面,如果您需要 35 个 IP 地址,则需要 /26,这会导致您分配的网络块中没有剩余的 IP 地址空间。在这种情况下,如果您需要在分配的网络块内但在站点子网之外运行点对点链接,您必须向 ISP 请求 /23 并重新开始。)
空间 .224/27 可以细分为 /30 或 /31,用于点对点链路。由于每个链路上实际上只需要两个 IP 地址(每个端点一个),所以 /31 应该可以,但有时也会使用 /30 来允许网络和广播地址。如果使用 /31,则可以在其中挤入 16 (2^(31-27)) 个点对点链路,而无需借助 NAT 或本地地址(如 RFC 1918)之类的技巧。
希望我给出的数字是正确的(我还没有仔细检查),但你应该明白我的意思了。诀窍是先分配最大的块,然后继续分配剩余的块,分配尽可能最小的块,这样你就可以在每个子网上容纳所需的主机数量。
您可能会遇到其他问题,因为如果没有特殊安排,整体 /24 几乎肯定会转到其中一个站点,但如果您可以接受这一点,那么像上述这样的设置应该会让您非常接近理想的(或最不糟糕的)寻址情况。
还值得记住的是,为每个客户端主机分配一个公共的全局 IP 地址通常不是一个好主意。在所有不需要直接访问互联网的设备前面使用单个 NAT 网关,您可以轻松地将几百个客户端整合到一个全局 IP 地址上,同时还可能获得一些网络安全。