为什么 IPv6 上只有一个环回地址?

为什么 IPv6 上只有一个环回地址?

IPv4 分配一整块 IPv4 环回地址,127.0.0.0/8。相比之下,IPv6 仅分配一个环回地址,::1

IPv6 在分配环回地址方面如此吝啬似乎令人惊讶,因为总体而言它提供了巨大的地址空间。

在 IPv4 中,我发现能够使用多个环回地址很有用。例如,对于某些复杂的 DNS 设置,我可以安装两个本地 DNS 服务器,一个在 上127.0.0.1:53,另一个在 上127.0.1.1:53。(使用不同的 IP 地址引用不同的服务器比在单个 IP 地址上使用非标准端口号更容易一些。)我无法在只有一个环回地址的 IPv6 上使用此策略。

与 IPv4 不同,为 IPv6 仅分配单个环回地址有什么好的理由?

答案1

它们不是必需的。就这么简单。

您可以随时根据需要为环回适配器分配链接本地或私有地址 - 在极少数情况下您确实会这样做。

我想说的是,大多数人甚至不知道除了 127.0.0.1 之外,你还可以使用其他任何地址,而且你是我 20 年来遇到的第一个声称使用超过这个地址的人。不是开玩笑。

大多数多服务器设置不需要它(而是使用 HTTP 主机标头 - 是的,我知道这仅限于 http,但我想说大多数需要它的服务器来自 Web 开发人员)。

答案2

如果您希望本地有更多可用地址,您可以直接分配您选择的 ULA 范围中的地址,然后将它们分配给本地计算机(如果您愿意,可以在环回接口上分配)。这样您就可以获得所需的所有地址。您不必被授予一个特殊块来分配您的计算机将在本地响应的地址。

答案3

IPv6 寻址架构有大量空间。/16 空间用于接口本地组播非常适合本地服务。

据我所知,套接字 API 是这里的限制,因为多播和单播地址不能互换使用。

相关内容