为什么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分配单个回送地址有什么好的理由?

他们不需要。 那么简单

您可以随时将链接本地或专用地址分配给回送适配器 – 在极less数情况下,您可以这样做。

我想说大多数人甚至不知道你可以使用别的东西,而不是127:0:0:1,你是我在20年左右遇到的第一个声称要使用它的人。 不开玩笑。

大多数多服务器设置不需要它(HTTP主机头被用来代替 – 是的,我知道这仅限于http,但我会说大多数服务器需要这是来自web开发人员)。

如果您希望在本地提供更多的地址,您可以从您select的ULA范围中分配地址,并将其分配给本地计算机(如果您愿意,可以在回送接口上)。 这会给你所有你想要的地址。 您不必被授予从中分配地址的特殊块,您的机器将在本地进行响应。

IPv6寻址体系结构有很多空间。 接口本地多播的/ 16空间将非常适合本地服务。

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