多环回 (127/8) 地址在什么情况下有用?

网络工程 ipv4 环回
2021-07-22 16:35:55

我在 java 中制作了一个应用程序,其中客户端通过回送地址 127.0.0.1 将 ip 数据包发送到服务器。一个非常简单的应用程序,只是为了测试事情是如何工作的。起初我想如果我创建了几个客户端会话,就会创建新的 loppback-hosts。而是创建了 127.0.0.1:portnumber 的新套接字。但是我的问题是,由于环回似乎有一个前缀 8,在什么情况下使用多个环回主机,即 127.0.0.1、127.0.0.2、.. 127.255.255.255?

1个回答

您可以随意使用从 127.0.0.1 到 127.255.255.254 的所有环回地址。根据RFC 3330,它们都“在主机内部循环”。一些操作系统开箱即用地响应所有环回地址,而在其他操作系统上,您必须在环回接口上明确定义额外的地址。

对于大多数测试,127.0.0.1/32 就足够了,但有时多个 IP 可能有用或必要。例子包括:

  • 使用基于 IP 的虚拟主机测试 Web 服务器,为不同 IP 上的不同网站提供服务。
  • 在某些邮件系统上,邮件会通过位于同一系统上的多个 MTA。为了清楚地区分它们(例如在邮件头中),它们都可以运行在不同的本地 IP 地址而不是不同的 TCP 端口上。

所以多个地址可能很有用,但决定分配超过 1600 万个地址显然是在没有人担心地址短缺的时候做出的……

请注意,IPv6 只有一个环回地址 (::1/128)。