强制将 TCP/IP 数据从一个 NIC 传输到同一台 PC 上的另一个 NIC

强制将 TCP/IP 数据从一个 NIC 传输到同一台 PC 上的另一个 NIC

我们正在准备一款产品进行 EMC 测试。该产品运行 Windows Embedded Standard 2009(与 Windows XP 相比),有 2 个 NIC,即 NIC1 和 NIC2。

对于发射测试,我们需要将数据从 NIC1 发送到 NIC2。如果我为两个 NIC 分配同一范围内的 IP 地址,我可以 PING 并发送/接收数据,但数据不会通过交叉电缆传输。

有没有办法(通过改变路由表 fe)通过交叉电缆将数据从 NIC1 实际发送到 NIC2,而无需添加额外的硬件?

答案1

最简单的解决方案可能是使用 UDP 广播。这样,Windows 就必须将数据传输到网络上,因为它无法知道网络上没有其他节点。

我不能完全肯定 Windows 不会丢弃传入的广播数据包,但这似乎不太可能。您可能会看到每个数据包的两个副本(一个直接发送,一个通过线路发送),但这似乎也不太可能。

答案2

那么两个虚拟机怎么样?VM 1 桥接到第一个接口,而 VM 2 桥接到第二个接口。以这种方式在虚拟机之间发送流量。不过,我不知道这在 Windows 中是否容易。

另一个选择是使用 IPv6 范围本地,以 fe80:: 开头的地址(刚刚在 Linux 中测试过并且在那里可以运行,但我没有 Windows 可以尝试)。

答案3

您可能会研究 iperf。iperf 旨在通过发送实际数据来测试网络速度和性能。但它需要连接两端都有客户端/服务器,因此根据环境的不同,它可能有用也可能没用。

http://en.wikipedia.org/wiki/Iperf

http://sourceforge.net/projects/iperf/

相关内容