书计算机网络说
127.xx.yy.zz 形式的所有地址都保留用于环回测试。发送到该地址的数据包不会被发送到线路上;它们在本地进行处理并被视为传入数据包。这使得数据包可以在发送者不知道其编号的情况下发送到主机,这对于测试很有用。
你能告诉我如何在 Linux 中进行环回测试,并将其与测试相同事物(任何事物)的非环回测试进行对比吗?谢谢。
答案1
只需将您想要测试的任何服务配置为 CIDR 块内的有效 IP 地址即可127.0.0.0/8
。然后尝试连接到它来自同一主机位于您选择的 IP 地址。如果有效,那么您的环回测试成功。
环回接口和地址空间仅对网络基础设施有意义;对于应用程序或服务来说,127.0.0.0/8 块中的 IP 就像任何其他 IP 地址一样。
在环回接口和“实际”网络接口上运行服务之间的区别在于,正如您问题中的引述所述,环回流量永远不会“在线上”出去,也就是说,没有数据会传输到超出范围的地方。主机本身。
这意味着,如果您要在环回范围内设置服务进行测试,您必须来自同一主机的测试。如果您想测试来自另一台主机的连接(以测试网络连接),您必须相反,将您的服务直接或间接绑定到面向“线路”的接口和地址。
答案2
你能告诉我如何在 Linux 中进行环回测试吗
ping -c 1 127.0.0.1
,并将其与测试相同事物(任何事物)的非环回测试进行对比?
ping -c 1 1.1.1.1
答案3
告诉我如何在 Linux 中进行环回测试
通过环回连接到本地主机上运行的服务(在本例中是 HTTP 服务器)。如果服务器配置为侦听所有接口,您甚至不需要重新配置它。
$ telnet 127.0.0.1 80
,并将其与测试相同事物(任何事物)的非环回测试进行对比?
通过真实的网络接口从不同的主机连接到同一服务器(显然,因为这是让数据包与不同的机器通信的唯一方法)。
$ telnet 192.168.0.100 80
(将 192... 替换为真实 IP 地址或网络主机名)
答案4
是的,但使用1.1.1.1
会引入对澳大利亚现有 IP 地址的依赖。或许ping -c 1 google.com
?