为什么子网上的主机数少于我们可以用剩余位进行的组合数?

网络工程 ip ipv4 子网 IP地址
2021-07-19 00:56:30

假设我们有一个 C 类子网 ( 255.255.255.0),为什么我们有 254 个主机,即使我们有 256 个从192.168.1.0到 的唯一内部 IPv4 地址192.168.1.255即使我们使用 mask 扩大子网的数量255.255.255.254,为什么即使有 192.168.1.0 和 192.168.1.1 可用,子网上也不能有任何设备?

3个回答

首先,有类路由已经死了,它已经被 VLSM 和 CIDR 扼杀了 20 多年(参见 RFC 1518 和 1519)。

对于 IPv4,您不能使用网络地址或广播地址作为主机地址分配。在您的示例中,192.168.1.0是网络地址,192.168.1.255是广播地址。这些地址对 IPv4 具有特殊意义,将它们分配给主机会导致问题。

有几个例外:

  • 使用/32( 255.255.255.255) 地址只会为您提供一个可能的地址。这通常用于环回地址,并且必须路由该地址。
  • 使用/31( 255.255.255.254) 网络只有两个可能的地址,这两个地址都可以用作主机地址。用于点对点链接。这意味着您可以同时使用192.168.1.0192.168.1.1(仅有的两个可用地址)作为主机地址。这是根据RFC 3021 在 IPv4 点对点链接上使用 31 位前缀

因此,您使用/31( 255.255.255.254) 网络增加网络数量的示例将适用于点对点链接。

这仅适用于 IPv4,因为 IPv6 可以使用子网中的所有地址,甚至是第一个和最后一个地址。

任何子网的第一个 IP 地址(例如 102.168.0.0)都是网络地址。它是为此目的而保留的。

最后一个是为广播地址保留的。(192.168.1.255)

第二个地址(192.168.1.1),嗯,最好是默认网关。为什么?您可能必须在每个设备上设置默认网关;你会记住哪一个最好?例如 192.168.1.1 或 1.149?所以第一个和最后一个被保留。第一个是网关...

简单的公式....找到您的主机数量然后减去2...子网=网络ID中的第一个地址,最后一个IP是用于从网络到其他网络的通信的广播地址。

这两个 IP 对分配给子网上的设备无效。