当路由器将数据包从 Internet 转发到私有网络中的主机时,路由器是否使用其自己的 ARP 缓存来引导该数据包?

当路由器将数据包从 Internet 转发到私有网络中的主机时,路由器是否使用其自己的 ARP 缓存来引导该数据包?

假设一个数据包来自互联网,比如说来自 Web 服务器的 HTTP 响应。

路由器将数据包定向到交换机。但交换机不会更改目标和源 MAC。这意味着路由器必须事先知道哪个 MAC 地址属于具有该 IP 的主机。

那么问题是,路由器是否有自己的ARP缓存,就像任何装有Windows和Linux的主机在内存中一样?

答案1

路由器将数据包传送至交换机。

不是。路由器将数据包发送到 IP 地址。

为此,它需要知道下一跳 ARP 地址。因此,它将使用自己的缓存或延迟,直到它发送“谁有 XXXX 的 ARP?”之后。

但交换机不会更改目标和源 MAC。这意味着路由器必须事先知道具有该 IP 的主机的 MAC 地址。

正确。这种情况没有什么特别之处。无论有没有交换机。数据报到达,都会被解析。路由现在知道目的地(并且这个目的地不是路由器本身)。因此,检查路由表以确定哪个网络(和哪个 NIC)需要输出到下一跳。以及是否需要下一跳的 ARP。

并且 ARP 遵循完全正常的方法:1a 检查。1b) 如果未知,则检索并存储在缓存中。2) 发送。

答案2

是的,路由器有自己的 ARP 存储。而且通常实际上是基于 Windows 或 Linux 的机器。

相关内容