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


13

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

Answers:


16

您可以根据需要使用从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)。


2
IPv6仅具有一个环回地址是一种错误,因为IP 4地址可以映射到IP 6地址。例如,::ffff:127.0.0.2。我不完全了解4到6映射的细节。
史蒂文·斯图尔特·加卢斯
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.