“ping”命令是如何工作的?

liv*_*hak 25 networking ping arp network-protocols

ping 命令是如何工作的?具体来说,ARP(地址解析协议)从何而来?

我在一次采访中被问到这个问题,我无法想出一个可以使用 ARP 的场景。

Pla*_*own 18

如果你真的想了解,有一个很好的(写得很好)白皮书这里

这是摘要:

  • Ping(应用层程序。
  • 打开一个到 IP 层的“原始”套接字。
  • IP 层(OSI 上的第 2 层)打包 ICMP 数据包并发送它。

由于中间没有 TCP 层,因此Ping (program)必须监视所有传入的 ICMP 数据包并仅过滤来自目的地的数据包

希望有帮助。


Dav*_*rtz 10

假设 ping 涉及通过以太网或 WiFi 网络发送的数据包,ARP 用于查找接收出站数据包的设备的以太网硬件地址。通常,这将是发起 ping 的机器所在的 LAN 的路由器。

典型的流程是:

  1. 您输入命令以 ping 目标。

  2. DNS 用于确定 IP 地址(如果需要)。

  3. 查询路由表以找到通往该目的地的下一跳。

  4. ARP 用于查找下一跳的硬件地址。

  5. IP 数据包被发送到下一跳,封装在以太网或 WiFi 帧中。

  • 这里唯一真正回答问题的答案! (3认同)