为什么0.0.0.0parsing到回送设备?

为什么0.0.0.0parsing到回送设备?

$ curl --verbose 0.0.0.0 * Rebuilt URL to: 0.0.0.0/ * Hostname was NOT found in DNS cache * Trying 0.0.0.0... * Connected to 0.0.0.0 (127.0.0.1) port 80 (#0) 

它遵循RFC要求。 RFC 5735说:

  1. 全局和其他专用地址块

    0.0.0.0/8 – 此块中的地址是指“本”networking上的源主机。 地址0.0.0.0/32可以用作该networking中该主机的源地址 ; 可以使用0.0.0.0/8以内的其他地址来引用该networking上的指定主机

所给出的,作为目的地的唯一合理的事情是以0.0.0.0来处理它。 你不能在任何地方路由它,因为返回数据包将违反RFC; 你不能说这是无效的,因为它不是用作源时; 当用作目的地时,唯一理智的做法是将其映射到localhost

我的一个老同事曾经使用telnet 0 22作为telnet localhost 22一个真正的定时器。