如果在 WAN 中,目标端会发生什么?

网络工程 ipv4 子网 MAC地址
2021-07-16 23:10:34

当发送方知道目的地在另一个网络中时(通过对其网络的子网划分地址进行 AND 操作)遵循什么程序,因此数据包确实到达了主机端

假设我们从 PC-A 发送到 PC-B 我的问题是

  1. 来自主机的第一个数据包将包含目标主机的地址或默认网关的地址作为目标?

    如果默认网关的地址在头包中作为目的地,那么在到达默认网关的地址后,它如何知道到哪里(PC-B),数据将被发送?(因为我们没有将目标地址写为 PC-B,而是将目标写为默认网关)。原始目标地址 (PC-B) 和默认网关地址是否同时传输?

  2. 假设数据到达最后一个路由器/网络。我确定这次目标地址将是 PC-B。所以问题是网络如何决定丢弃 PC-B 中的数据包?通过比较它的MAC 地址或PC-B 地址的 IP 地址的 HOST 部分(拜托我真的被这个逻辑搞疯了,我没有得到任何满意的答案,请描述一下)

谢谢

管理员,如果您认为问题重复了,请在重播中发布链接,但我没有找到对我的第二个问题的有效/令人满意的答案。

2个回答

我认为您混淆了第 2 层(MAC)寻址和第 3 层(IP)寻址。对于刚开始接触网络的学生来说,这是一个常见的错误。无论您是第一跳还是最后一跳都没有关系 - 过程是相同的:

PC 和路由器根据它们的物理连接使用它们的硬件地址相互发送数据。在以太网的情况下,它是 MAC 地址。因此,当一个以太网设备要向另一个设备发送数据时,它会使用 MAC 地址。

PC-A 发送带有 PC-B 目标 IP 地址的数据包。MAC 地址将是默认网关的 MAC 地址。

需要记住的重要一点是,当数据包从源传输到目的地时,第三层信息(IP 地址)保持不变。MAC 地址随着数据从一个第 2 层网段移动到另一个第 2 层网段而发生变化。因此,当数据包从路由器移动到路由器时,目标 MAC 地址将是下一跳路由器的 MAC。

第 3 层 (IP) 地址用于确定发送方将使用哪个物理接口,以及该接口上设备的 MAC 地址。同样,无论接收方是路由器还是终端主机,过程都是一样的。

发送方使用 IP 地址的网络部分和路由表来确定要使用的物理接口。如果路由表指示下一跳地址,则发送方使用 ARP 来确定下一跳的 MAC 地址。

如果没有下一跳,则发送方使用 ARP 来确定终端主机的 MAC 地址。最后一跳路由器将确定 PC-B 位于本地连接的网络上,因此将使用 PC-B 的 MAC 地址发送数据。同样,IP 地址不变。

  1. 来自发送方的帧将包含网关的 MAC 地址。在该帧内,IP 数据包将包含 PC-B 的 IP 地址。第一跳路由器将使用其 IP 路由表根据 PC-B 的 IP 地址转发数据包。

  2. 如果最后一跳路由器在与 PC-B 相同的网络中有一个直接连接的接口,但没有 PC-B 的 MAC 地址,它将向网络发送 ARP 请求以获取 PC-B 的 MAC 地址。一旦有了它,它就会将数据包转发到以 PC-B 的 MAC 地址和 PC-B 的 IP 地址作为目的地的网段。

编辑:如果 PC-A 和 PC-B 在同一网段上,则路由器根本不参与。PC-A 向 PC-B 发送 ARP 请求,PC-B 用其 MAC 地址进行响应。然后,PC-A 将帧发送到使用 PC-B 的 MAC 地址作为目的地的网段上。