通过 LAN 电缆将数据包发送到具有另一个网络 IP 的另一台 PC

网络工程 局域网 ARP 网络 苹果电脑
2022-02-10 04:07:20

如果说 PC A(192.168.2.2) 尝试将数据包发送到通过 LAN 连接的 PC B(10.0.2.3) 会发生什么情况(在这种情况下 PC A 和 PC B 只连接了 2 台计算机),因为没有路由器或用于转发数据包的交换机。让我让我的问题更容易理解。

1)我使用了静态 IP,以便我可以使用我选择的 IP 地址。

2) 现在,如果 PC A 试图向 PC B 发送数据包,它首先查看 IP 地址。在这种情况下,PC B 的 IP 是 10.0.2.3,从 IP 来看,它看起来像是用于另一个网络的。

3)下一步是将其发送到默认网关,但在这种情况下,我们只使用了 2 台 PC,并且仅通过 LAN 电缆连接,既没有路由器也没有交换机。

只有确定它们在同一个网络中,它才能发送 ARP 请求,对吗?那么 PC A 如何在不知道其 MAC 地址的情况下向 PC B 发送数据包呢?

2个回答

数据包转发决策将始终取决于定义的路由。结果只有3个:

  1. 路由已定义,网络已到达:转发(发送 ARP 请求以查找目标 MAC 地址)。
  2. 路由未定义,默认网关:转发(发送 ARP 请求以查找默认网关 MAC 地址)。
  3. 路由未定义,没有默认网关:丢弃。

如果没有路由器(网关),您需要自己路由流量。这里有2个解决方案:

  • 在每个设备上添加指向另一个设备的路由

  • (或)在指向另一台设备的每个设备上添加一个默认网关

它不起作用。我假设 192.168.2.2 使用 /24 或 /16 的子网掩码。由于没有到 10.0.2.3 的路由和默认网关,A 无法发送数据包。

您是正确的,因为 ARP 请求仅针对本地目的地,它们不能通过路由器。

如果您可以使用掩码 /0 设置两台 PC(= 所有 IP 都是本地的),那么它可以双向工作。PC A 将 B 的 IP 地址视为本地地址,对 IP 地址进行 ARP 处理并通过以太网将帧发送到 B 的 MAC 地址——无论两者之间是否有交换机(我大胆假设您使用的是以太网连接)。

当设置掩码 /0 存在问题时,您还可以设置到本地 IP 的默认路由 (0.0.0.0/0)。