如何在不同子网上的两个IP主机之间发送数据包?

时间:2009-10-21 15:20:18

标签: networking ip

主持人1: 10.10.0.1

主持人2: 10.10.1.2

面具是: 255.255.255.0

如何从主机1向主机2发送数据包?

3 个答案:

答案 0 :(得分:4)

将主机1的默认网关设置为10.10.0 / 24网络和10.10.1 / 24网络上的网关计算机。然后在网关机器上启用IP转发。

除非它们确实位于同一物理网络上,否则无法直接发送数据包。如果它们位于不同的物理子网上,您会将数据包发送到哪个MAC地址?没有一个 - 因为主机2不在同一个物理网络上 - 这就是你将它发送到网关的原因。

如果主机1和主机2位于同一物理网络上,那么您不需要寻找通用解决方案。在这种情况下,您可以发送ARP请求,然后将数据包发送到您收到回复的MAC地址,它将到达主机2 - 就像TCP / IP数据包通常通过以太网发送到同一网络上的主机一样。

答案 1 :(得分:0)

在您的PC或路由器上,您可以将路由添加到其他网络。因此,如果您想要在PC或网络上的特定端口之外的路由,您可以添加一条路由,指定发往该目标网络/主机的所有数据包都将从您选择的特定接口发送出来。

当然,到达目的地的数据包也依赖于回路,因此您需要为每个方向添加一个。

在Windows中,您可以使用route命令在命令行上执行此操作。输入route ?了解详情。

例如,在Allied Telesis网络路由器上,如果您可以访问路由器的配置,则可以使用add ip route命令。

如果您可以提供您正在使用的系统和布局的示例,我们可能会提供更多信息,使您可以更轻松地使用它。

答案 2 :(得分:-1)

如果你能说出来 - 两台计算机都在不同的子网上。

做一个“逻辑AND:在IP和掩码上:

1st给出 - 10.10.0.0和2nd给出 - 10.10.1.0。这两个是子网的网络地址。您需要将数据包发送到另一个子网的路由器,以便它可以交付

OTOH,你能说出这种情况究竟出现在哪里吗?了解现实世界的情景可以帮助我们更有效地解决问题

<强>路由

如果您想要熟悉路由,那么您可能需要检查this reply on newsgroup comp.os.linux.networking处理路由