子网掩码 32 位或 30 位

网络工程 ip 子网 IP地址
2022-02-05 21:37:04

我是网络新手,对子网掩码有疑问。假设我们有一个 B 类 IP 地址。我知道如何计算子网掩码。我的问题是:我们可以用于此 IP 的最后一个子网掩码是什么。在子网划分的情况下,我们可以255.255.255.255将此IP用作子网掩码还是我们可以使用的最后一个子网掩码是255.255.255.252

我的意思是我们可以在创建子网掩码时使用所有 32 位还是只能使用 30 位?

3个回答

大多数网络供应商都很好地使用 /31 前缀作为最小的非主机网络 - 也就是点对点链接。

在 /30 中,可以将两个路由器与 /31 网络互连,但只占用了我的 IP 地址空间的 50%。

此 /31 在 RFC3021 https://tools.ietf.org/rfc/rfc3021.txt中指定

我在 Cisco、Juniper 和 Nokia Boxes 上将 /31 用于 IPv4,在我的 IPv6 拓扑中使用 /127 前缀。我对 /31 有问题的唯一盒子是 Forigate 防火墙。

首先,网络类已经过时。事实上,在你出生之前,它们就一直如此。让他们平静地死去。

您可以为 IP 使用从 /1 到 /32 的任何子网掩码。这取决于 IP 所在子网的大小。

开 /32

/ 255.255.255.25532 128.42.5.4(广播地址。但是引用一个单独的 IP 地址会很有用。

开 /30

在普通子网中(但请参阅下面的例外),将有一个网络地址(IP 地址的子网部分由全零组成)和广播地址(IP 地址的子网部分由全1 组成)。因此,如果 IP 地址的子网部分中有 n 位,则可以在该子网中分配 2^n-2 个可能的常规 IP 地址(网络地址和广播地址减去 2)。

所以 /30 (255.255.255.252) 在这个意义上是最小的子网,它有 2 个常规 IP 地址,除了网络和广播地址之外可以使用(但请参阅下面的 /31 的描述)。

在您的示例中,如果它是 /30,我们将有:

  • 网络地址:(128.42.5.4最后两位为 00)
  • 广播地址:(128.42.5.7后两位 11)
  • 2个常规IP地址128.42.5.5128.42.5.6

还有 /31

您可能想知道,对于小子网,我们真的需要浪费两个 IP 地址用于广播和网络吗?特别是对于每一端只有一个接口的点对点子网,RFC 3021允许 /31 (255.255.255.254) 仅包含两个 IP 地址,没有网络地址和广播地址。

在您的示例中,如果它是 /31,我们将拥有:

  • 第一个常规 IP 地址:(128.42.5.4最后一位为 0)
  • 第二个常规 IP 地址:(128.42.5.5最后一位为 1)

路由器将这些解释为网络地址或广播地址会有什么问题吗?如果他们遵循 RFC3021(大多数路由器都这样做)并为 /31 网络设置例外,则不会。

因此,可以在每一端使用 IP 地址的点对点链接很受欢迎。每次使用 /31 而不是 /30 时,它会保存 2 个 IP 地址。