如何向知道 IP 地址但不知道 MAC 地址的路由器发送请求?

网络工程 路由器 ip MAC地址 IP地址 苹果电脑
2022-02-03 18:00:29

应该使用什么协议?谢谢。

2个回答

我假设您的意思是任何 MAC 未知的数据包。ARP(地址解析协议)将针对此问题进行。

下面是 ARP 操作的高级工作。

在此处输入图像描述

想要发送数据包的主机或路由器首先在其路由表中查找目的地。这会返回两条信息。

  1. 要使用的界面。
  2. “下一跳 IP 地址”应该是什么。如果路由中没有指定下一跳 IP 地址,则将目的地用作下一跳 IP 地址。

接下来会发生什么取决于接口的类型。如果它是点对点接口,则仅发送数据包。下一跳 IP 地址被忽略。

如果它是一种使用自己的寻址方案支持多点寻址的接口(例如以太网、wifi 等使用的 MAC 地址),则在接口的 ARP 表中查找下一跳 IP 地址,如果合适的匹配找到然后发送数据包。

否则,在发生 ARP 请求时,数据包将排队。如果 ARP 请求成功,则将一个条目添加到 ARP 表中,并释放原始数据包以继续其旅程。如果 ARP 请求不成功,数据包将被丢弃,可能会向发送者返回 ICMP“目标主机不可达”错误。