0.0.0.0/8 中的 IP 地址是否本质上是私有 IP 地址,虽然没有说是?

网络工程 IP地址
2022-02-08 01:14:17

0.0.0.0/8 据说是当前网络。范围内的 IP 地址是否不公开?它们本质上是私有 IP 地址吗,虽然没有说是?谢谢。

2个回答

IPv4 地址的 IANA 注册表参考 RFC 1122 的 0.0.0.0/8。RFC 1122 在第 3.2.1.3 节中定义了该块中的地址,请注意它是在分类时代编写的,因此需要进行一些翻译才能将其翻译成现代术语。

首先定义0.0.0.0/32(在有类术语中网络号为0,主机号为0)

(a)  { 0, 0 }
   This host on this network.  MUST NOT be sent, except as
   a source address as part of an initialization procedure
   by which the host learns its own IP address.

实际上,此地址广泛用于 DHCP,它还在套接字 API 中用作通配符地址以指定“任何接口”。一些实现还将尝试发送数据包或连接到 0.0.0.0 与尝试将它们发送到环回地址相同。

现在让我们看看 0.0.0.0/8 的其余部分(在分类术语网络编号 0 中)

(b)  { 0, <Host-number> }
   Specified host on this network.  It MUST NOT be sent,
   except as a source address as part of an initialization
   procedure by which the host learns its full IP address.

因此,原则上,如果您的网络在网络特定地址和 IP 地址的主机部分之间具有静态映射,您可以在初始化过程中使用 0.0.0.0/8 中的地址作为源地址来查找 IP 的网络部分地址。

在实践中,这很少发生。虽然网络特定地址和 Internet 地址之间的静态映射在 Internet 早期是一件事,但如今它们基本上闻所未闻。


范围内的 IP 地址是否不公开?

它们不在公共互联网上使用。

它们本质上是私有 IP 地址吗,虽然没有说是?

并不真地。

是的,它们的预期用途是给定网络的本地用途,但它们的预期用途非常具体。它们不打算用作通用私有地址。

您可能会问“既然没有人将它们用于其原始目的,并且它们不用于 Internet 上的任何东西,为什么不忽略 RFC 并将它们用作通用私有地址?”。

对此的答案是“不幸的是,实现不会让你”。

0.0.0.0/8块由 ARIN 保留,请参阅RFC 1122(彼得的回答很好地解释了 RFC 的术语,请阅读并欣赏。)

0.0.0.0/32可以暂时使用 [edit]作为源地址,用于通过 DHCP 等通过网络获取本地 IP 地址。