网络上的所有计算机都会回答我吗?
答案1
没有人应该回答您的请求,因为每个网络接口只应该回答与其绑定的地址(即不回答其他接口)。
答案2
Linux 机器可能会有响应。
http://lwn.net/Articles/45373/
“如果 Linux 系统(具有默认配置)在其某个接口上收到 ARP 请求,并且该请求正在寻找分配给任何系统接口的 IP 地址,则系统将通过接收该请求的接口响应该 ARP 请求。即使所涉及的接口不是分配了请求地址的接口,也会发生此响应。”
答案3
鉴于 RFC1122(互联网主机要求)规定了 127/8 地址块:
Addresses of this form MUST NOT appear outside a host.
RFC1812(IP 版本 4 路由器的要求)规定:
A router SHOULD NOT forward, except over a loopback interface, any
packet that has a destination address on network 127. A router
MAY have a switch that allows the network manager to disable these
checks. If such a switch is provided, it MUST default to
performing the checks.
显而易见的问题是,如果您不打算通过环回接口以外的任何方式向这些地址发送数据包,那么您为什么要对 127.0.0.1 进行 ARP 呢?
从你最初的问题来看:
“网络上的所有计算机都会回答我吗?”——不会。
“会发生什么?”——结果可能有所不同,从什么都没有发生到从可能有错误或配置错误的孤立主机/网关获取响应。
答案4
这取决于响应的 TCP/IP 堆栈的编写质量(或缺陷程度)。
你不应该得到任何回应,但我以前也见过奇怪的行为......