“ping”命令是广播消息吗?

网络工程 联网 ARP 局域网
2022-02-17 19:10:09

我正在了解 ARP 的工作原理,并且对 ping 网络实用程序有一些疑问。

ping 用于测试设备之间的连接性和可达性。PC 有自己的 ARP 表,它们存储与 LAN 中相应 MAC 地址匹配的 IP 地址,对吧?

问题 1

我的本地网络中有一台台式计算机和一台笔记本电脑连接到路由器。这是我的拓扑

在此处输入图像描述

我决定使用 arp -d 清理笔记本电脑的 ARP 表,并尝试 ping 我的台式计算机 (192.168.1.10) 以查看 ARP 条目是如何工作的。条目已成功添加,但是,路由器的条目也已添加。为什么会这样?我只ping了我的台式电脑。

问题2

同样,我已经清除了笔记本电脑的 ARP 表。我没有与网络中的任何设备通信,但仍然添加了路由器的 ARP 条目。知道为什么以及如何发生这种情况吗?这次没有添加台式机的条目,只添加了路由器条目。

1个回答

Ping 向目标发送 ICMP Echo Request 并期望 ICMP Echo 回复。ICMP 消息封装在 IP 数据包中,发送到您指定的地址。单播地址需要知道目标 MAC 地址(或远程目标的网关 MAC)。ARP 是确定 MAC 地址的常用方法。

请注意,由于您正在 ping 本地目的地,因此实际上并不涉及路由器功能。您似乎使用了包含第 2 层交换机(用于“LAN”端口)的消费级路由器,并且涉及到该路由器

您的主机可能会来回发送各种消息,彼此之间或向 Internet 发送。除非您确切了解操作系统和所有进程中发生的全部情况,否则您只能猜测地址被 ARPed 的原因。但是,主机配置和实现在这里是明确的题外话。