ARP 101,两台主机不同的网络

网络工程 路由 ARP
2022-03-02 05:21:14

我知道这是一个重复的问题,但我找不到任何以前讨论标题的线程。我对此的理解正确吗?

这是场景。连接到路由器的不同网络上的两台主机

主机 A 10.1.1.1/24 (MAC: AAAA.AAAA.AAAA)

主机 B 10.2.2.2/24 (MAC: BBBB.BBBB.BBBB)

这是我对主机 A 何时 ping 主机 B 的理解。

  • 主机 A ping 主机 B
  • 主机A首先查看主机B的IP,根据自己的子网掩码进行计算,在不同的网络上实现。
  • 主机 A 知道将其发送到其默认网关。
  • 由于 ping 必须被封装,主机 A 创建一个 IP 标头,其 + 源为自身 (10.1.1.1) 和目标主机 B (10.2.2.2)。
  • 然后 Ping 在 TCP/IP 模型中向下浮动,现在必须构建以太网帧头。
  • 它作为源 mac (AAAA.AAAA.AAAA) 插入自己,但它不知道网关的 MAC。所以它广播出FFFF.FFFF.FFFF。
  • 路由器用它的网关 mac 的单播回复
  • 主机 A 将路由器的网关 mac 插入以太网帧头。并且关闭数据包。
  • 然后路由器剥离第 2 层,并将数据包发送到主机 B。
1个回答

是的,这个过程是正确的。关于步骤“它作为源mac(AAAA.AAAA.AAAA)插入自己,但它不知道网关的MAC。所以它广播出FFFF.FFFF.FFFF。” 请记住,主机 A 将首先检查它的 ARP 表,以检查路由器 MAC 是否已经存在于 arp 表中。

同样,当路由器接收到数据包/帧时,它将检查第 2 层寻址下一个第 3 层寻址。在以太网等多路访问网络的情况下,路由器接下来将检查它自己的 ARP 表,以检查它是否知道主机 B 的 MAC。如果不是,它将执行 ARP 查找。

希望这可以帮助。

亚当