如何尽可能高效地将 IPv4 网络划分为不同大小的子网?

网络工程 ipv4 子网 互联网
2021-07-11 23:22:52

我需要将网络划分172.16.0.0/12为 3 个不同的子网用于不同的目的。其中一个需要 6 个主机地址,另一个需要 85 个主机地址和最后 100 个主机地址。应该这样做,以便尽可能少的地址未被使用。

现在,第一个子网很容易,我可以创建一个172.16.0.0/29具有 2 3 - 2 = 6 个可用主机地址的子网不过,我不确定如何处理下一个子网。是否可以从 say 中创建子网172.16.0.8-172.16.0.127也许继续128-255(最后一个八位字节)的第三个

我的第二个猜测是像以前一样划分最小的子网,然后创建下一个子网 at172.16.0.1/25和最后一个 at 172.16.0.2/25但是,这样未使用地址的数量会更高。

我还应该提到子网应该可以访问 Internet。这怎么能保证呢?我读到整个172.16.0.0/12地址范围都是私有的,因此它们在 Internet 上不起作用。这是真的?

编辑:这就是我的想法:

http://www.cisco.com/c/en/us/support/docs/ip/routing-information-protocol-rip/13788-3.html

我知道我不能像他们在这里所做的那样对我的网络进行子网划分,因为我的两个子网必须保留 128 个主机的地址空间。这意味着,我可以创建子网172.16.0.0/25172.16.0.128/25172.16.1.0/29我现在想知道的是:“保留供将来使用”中的空间是否算作某种子网,还是可以用作普通地址?

4个回答

我需要将网络 172.16.0.0/12 划分为 3 个不同的子网用于不同的目的。其中一个需要 6 个主机地址,另一个需要 85 个主机地址和最后 100 个主机地址。应该这样做,以便尽可能少的地址未被使用。

首先,您必须确定“未使用”的确切含义。最明智的子网划分方式取决于您对未来使用量增长的看法。显然,您拥有的空间比您需要的要多得多,因此真正的问题是如何将当前分配的空间放入现有空间中,以最大限度地降低将来必须重新编号的风险。

如果您希望您的增长来自添加更多子网,并且您希望您的一些新子网很大,那么以保留大块空闲的方式打包子网是有意义的。另一方面,如果您希望现有子网变得更大,那么您可能希望在它们之后留下间隙,您可以使用这些间隙来扩展现有子网或根据需要创建另一个小型子网。

我会警告不要在私人空间过于吝啬。在整个过程中使用 /24 肯定会浪费一些地址,但它使人们更容易看到正在发生的事情。大多数组织都足够小,以至于私有 IP 空间的耗尽不是主要问题。

现在,第一个子网很容易,我可以创建一个子网 172.16.0.0/29,它有 2^3-2=6 个可用的主机地址。

美好的

不过,我不确定如何处理下一个子网。是否可以从 172.16.0.8-172.16.0.127 建立子网?

不,那是不可能的。子网的大小必须是 2 的幂,并且它们的边界必须是它们大小的倍数。

因此,在第一个位置上方进行分配后,您可以放置​​ /25 是 172.16.0.128/25 。你也可以把它们放在 172.16.1.0/25 172.16.1.128/25

哪种安排最有意义,同样取决于预期的增长。如果您希望其中一个子网可能需要扩展到 /24,那么将其放在 172.16.1.0/25 并让 172.16.1.128/25 空闲是有意义的。

我还应该提到子网应该可以访问 Internet。这怎么能保证呢?我读到整个 172.16.0.0/12 地址范围都是私有的,因此它们在 Internet 上不起作用。这是真的?

这些地址不能直接在互联网上使用。如果您只需要与 itnernet 建立出站连接,那么您可以使用 NAT 将多个私有地址隐藏在一个公共地址后面。如果您需要接受入站连接,则必须配置 NAT 以转发这些连接,否则您将需要获得公共空间(如今这变得越来越困难)。

您可以使用172.16.0.128/25然后172.16.1.0/25用于下一个。我喜欢避免零子网,但它是一个有效范围。

如果您进行数学计算,您会看到 172.16.0.8/25 的网络地址实际上是 172.16.0.0。如果您需要 100 台主机并希望使用 /25 子网,那么您必须从 172.16.0.0 开始并计算 128 的增量。

你是对的,这172.16.0.0/12是私有地址空间。只要您确保您的互联网路由器/防火墙正在执行某种类型的 NAT,您的私有地址就会被转换为公共 IP 地址以访问互联网。

你需要用二进制来做这种事情,然后它变得很明显,你最终不会尝试做一些不正确的事情,比如172.16.0.8-172.16.0.127从 say 创建一个子网”,你会看到这是不可能的。你应该研究这个答案

如果您坚持不做错,您可以永远记住两个连续的相同掩码长度等于掩码长度小一个。例如,两个连续的/27网络构成一个/26网络。你所展示的,二/27、二/28和一/30,可以简化为一/26,一/27,一/30

是的,该172.16.0.0/12范围是专用网络范围,如10.0.0.0/8192.168.0.0/16` 一样,它们无法在公共 Internet 上路由。

“留作将来使用的空间”是未分配的,可以划分成更多的子网,在需要时使用。您应该努力不要创建一个小到没有增长空间的子网,并且您应该始终需要一些未分配的空间,以便在需要时用于新的子网。

您是否拥有整个 B 类 172.16.0.0/12 分配?

问的原因?规划意外增长/扩展,避免重叠,促进连接修复。考虑仔细看看 Rob Maupins 关于“保留供将来使用的空间”的建议。不要像我一样学习困难。

IP 子网设计的一个被忽视的副产品是网络邻接。正如 Rob Maupin 所提到的,为 X 台主机创建的网络范围太小?如果之后围绕您的分配实施了非常规的 IPAM 或基础架构设计更改,则可以回来咬您。

利用您创建的 B 类分配来确保管理和控制。最好考虑在 /12 顶级网络下创建一个 /28(14 台主机)和两个 /25(每个 126 台主机。)。

或者至少在 /12 下创建一个 C 类 /24 IP 网络范围,并将 /24 子网划分为两个 /25 网络。创建与第一个 C 类相邻的第二个 /24 IP 网络范围。将第二个 /24 子网化为 /28 网络范围。您要部署的三个网络上的 IP 主机数量的结果空间。启用所需的网络保护,并为额外的主机分配空间。

最重要的是考虑实施这种或类似的设计,以避免/消除由于 IPAM 配置错误或有人在您的网络子域之间获取 IP 地址范围而导致 IPv4 连接中断的可能性。