Несколько сетевых карт на одном ПК, ошибка в работе сокетов?



  • На ПК стоят 2 сетевых карты подключенных в 2 разные не связанные подсети, 2 витруальных карты от VMWare 7.
    Создаю 2 UDP сокета (по 1му на каждой карте (реальной)).
    Отправляю пакет с сокетов подсоединённых к разным подсетям (адрес получателя - IP адрес второй карты, не броадкаст).
    Получаю пакет на сокете второй карты.
    По идее такого не должно быть, в петлю должны попадать пакеты отправленные на локалхост, на свой адрес, броадкаст. Если пакет адресный, он не должен подниматься на вход , а уходить вниз на физический уровень.
    "исходники":http://forum.sources.ru/index.php?act=Attach&type=post&id=2954141&attach_id=11352
    Загвоздка в том, что тоже самое написанное на Builder c++ на той же машине работает нормально, сокеты созданные на картах разных подсетей не получают пакетов друг от друга.
    Вот схема прохождения пакетов в системе OSI-ISO
    !http://s52.radikal.ru/i137/1108/c0/94bfc4c3d8d4.gif(OSI-ISO)!
    Пингуются все три карты. Трассировка сразу на адрес карты. Сервисы VMWare отключил, результат тот же!
    Может ли быть каким-то образом включен роут на уровне драйвера ethernet, который пересылает адресный пакет на уровне IP не вниз на физический уровень, а определяет что получатель на той же машине и направляет пакет на вход?



  • Забыл добавить... ОС Windows, но код пишу также и для Linux. Адреса:

    1. 10.1.1.2 точка-точка оптика с 10.1.1.3 на одном ПК.
    2. 10.1.1.3 ------------------------------.
    3. 10.1.1.4 точка-точка витая пара на другой ПК.
    4. 192.168.3.43 витая пара на свитч.

Log in to reply
 

Looks like your connection to Qt Forum was lost, please wait while we try to reconnect.