假设我们有一个 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 可用,子网上也不能有任何设备?
为什么子网上的主机数少于我们可以用剩余位进行的组合数?
网络工程
ip
ipv4
子网
IP地址
2021-07-19 00:56:30
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.0
和192.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 对分配给子网上的设备无效。