0

当我们可以从以太网标头中提取它时,我很困惑为什么我们在 ARP 数据包中需要 MAC 地址。只需保持 IP 地址和其他字段不变并删除 MAC 地址即可。我们可以从以太网中提取它们。我在想什么吗?

谢谢。

4

2 回答 2

0

当我们可以从以太网报头中提取它时,为什么我们需要在 ARP 数据包中使用 MAC 地址

ARP 数据包正文中没有 MAC 地址会导致(至少)以下情况:

  1. ARP 不能在L2 网桥上工作:网桥需要转发传入的 ARP 请求,将自己的传出接口的 MAC 放在 L2 协议头的源字段中。回复(除非广播)将发往网桥本身,而不是转发。(请参阅此处的表格,显示和比较 ARP 消息的 L2 和 L3 字段。)

  2. 任何 ARP 实现都依赖于底层 MAC 协议:接收 ARP 消息的代码需要有关在 MAC 层中查找源 MAC 地址的信息,并且该信息必须可由 ARP 代码访问。

于 2016-01-28T20:54:10.173 回答
0

ARP 请求以广播的目的 MAC 地址和发送者的 MAC 地址作为源 MAC 地址发出。这是因为发件人不知道目标 MAC 地址并要求提供。广播目标 MAC 地址确保 LAN 上的每个主机都会收到请求。

ARP 回复将原始发送者的地址作为目标地址,这样回复只会发送到原始发送者,并且不会打扰 LAN 上的所有主机。

于 2016-01-28T22:01:35.283 回答