Принудительная передача данных TCP/IP с одного сетевого адаптера на другой на одном ПК
Мы готовим продукт для тестирования ЭМС. Продукт работает под управлением Windows Embedded Standard 2009 (сравните его с Windows XP) и имеет 2 сетевых адаптера, например NIC1 и NIC2.
Для теста на выбросы нам нужно отправить данные с NIC1 на NIC2. Если я назначу обеим сетевым картам IP-адрес в одном и том же диапазоне, я могу выполнить PING и отправлять / получать данные, но данные не передаются по перекрестному кабелю.
Есть ли способ (путем изменения таблицы маршрутизации fe) фактически отправлять данные с NIC1 на NIC2 по перекрестному кабелю без добавления дополнительного оборудования?
3 ответа
Самое простое решение, вероятно, заключается в использовании UDP-трансляции. Таким образом, Windows придется передавать данные по проводам, поскольку у нее нет возможности узнать, что в сети нет других узлов.
Я не совсем уверен, что Windows не будет отбрасывать входящие широковещательные пакеты, но это кажется маловероятным. Возможно, вы можете увидеть две копии каждого пакета (одну, отправленную напрямую, а другую - по беспроводной сети), но это тоже маловероятно.
Как насчет двух виртуальных машин. VM 1 подключена к первому интерфейсу, а VM 2 подключена ко второму интерфейсу. Отправляйте трафик между виртуальными машинами таким образом. Я не знаю, легко ли это в Windows, хотя.
Другой вариант - использовать локальную область IPv6, адреса, начинающиеся с fe80:: (только что протестирован в Linux, и он работает там, но у меня нет Windows, с которой можно попробовать).
Вы можете посмотреть в iperf. iperf предназначен для тестирования скорости и производительности сети путем отправки фактических данных. Для этого требуется клиент / сервер на обеих сторонах соединения, поэтому, в зависимости от среды, это может или не может помочь.