大多数应用程序只需要一个环回 IP 地址127.0.0.1
。但是,不仅提供了地址块127.0.0.1/32
,甚至还127.0.0.0/24
提供了,而且实际上127.0.0.0/8
提供了整个范围。显然,这是完全不合理的空间浪费,因为拥有多个环回 IP 地址毫无意义。或者可能没有。为什么有多个环回 IP 地址?
答案1
127/8(127.0.0.0/8 的简写)由 IANA 保留。
Win95 支持 127.0.0.1,但不支持其他 127/8 地址。WinXP 支持 127/8。Cisco IOS 默认不支持环回地址,但支持环回概念,并且可以手动分配地址。如果计算机不需要多个环回地址,或者不需要任何环回地址,则没有理由必须支持所有这些地址。但是,由于 IANA 现在已经为此目的保留了所有这些地址,因此 TCP/IP 堆栈没有理由不支持它们。
大多数情况下,不需要多个地址;我经常使用多个环回连接,但只需指定不同的 TCP 端口即可。(我这样做是为了 SSH 端口转发。其他 VPN 软件也可能经常使用此类功能,正如 Isaac Hanson 在他的回答中提到的那样。)无论您在一个地址上使用不同的 TCP 端口(共有 65,535 个),还是多个 IP 地址,在技术上几乎没有区别。(但是,在某些情况下,拥有唯一的地址可能更容易,例如如果您有多个可以监听相同“默认”端口号的服务器。)
完全不合理的空间浪费
啊,这么粗鲁的语言。请允许我进一步激怒你 :)
实际上,IPv4 地址浪费最多的是 224/3,其中包括 224/4(用于多播的最低限度)和 240/4(几乎全部浪费,只有一个地址例外)。所以,不要以为 IPv4 地址快用完了。IANA 刚刚分发了以前的 A 类、B 类和 C 类地址。但千万不要以为所有地址都已以最有效的方式得到利用。查看其他一些地址:IETF BCP 153(目前指向RFC 6890)。 较老的RFC 5735以不同的格式包含了大量的相同信息,例如第 6 页的第 4 节。仔细研究这些内容或其他一些标准,我确信你可以找到其他大量没有被高效使用/分配的地址。
他们认为,支持一些标准可能比帮助 IPv4 继续艰难前行更可取。其中一个关键原因可能是有些人确实想帮助推动人们采用 IPv6。
答案2
该范围内的其他 IP 地址可用于绑定到 VPN 连接,以及测试您不想绑定到本地主机的服务。
答案3
为什么有多个环回IP地址?
A 类网络号 127 被赋予了“环回”功能,也就是说,由更高级别协议发送到网络 127 地址的数据报应在主机内部环回。“发送”到网络 127 地址的数据报不应出现在任何网络上。
来源:网络号码
如果它是整个 A 类,那么最后三个八位字节的其他任意值有什么意义呢?
环回范围的目的是测试主机上的 TCP/IP 协议实现。由于较低层是短路的,因此发送到环回地址可以有效地测试较高层(IP 及以上),而不会出现较低层出现问题的可能性。127.0.0.1 是用于测试目的的最常用地址。
有关详细信息,请参阅什么是环回设备以及如何使用它?和为什么环回 IP 地址从 127.0.0.1 变为 127.255.255.254?。