我知道这是一个重复的问题,但我找不到任何以前讨论标题的线程。我对此的理解正确吗?
这是场景。连接到路由器的不同网络上的两台主机
主机 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。