User Tag List

Показано с 1 по 10 из 59

Тема: Эмуляция сети

Древовидный режим

Предыдущее сообщение Предыдущее сообщение   Следующее сообщение Следующее сообщение
  1. #10

    Регистрация
    14.08.2006
    Адрес
    Владимир
    Сообщений
    4,581
    Спасибо Благодарностей отдано 
    64
    Спасибо Благодарностей получено 
    112
    Поблагодарили
    97 сообщений
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от b2m Посмотреть сообщение
    Я не понял, так ты разобрался, как работать с TAP-драйвером? Или всё-таки нет?
    Пока нет.
    Но других путей не вижу.
    Все виртуалки на РС (которые по сути - эмуляторы) работают с сеткой через TAP или его проприетарный аналог.

    ---------- Post added at 23:29 ---------- Previous post was at 22:11 ----------

    Цитата Сообщение от Ramiros Посмотреть сообщение
    Сеть я делать врятли буду, нифига в этом непонимаю.
    Дык никто не понимает. Надо разбираться.

    ---------- Post added 15.02.2011 at 00:46 ---------- Previous post was 14.02.2011 at 23:29 ----------

    Некоторые приемы работы с TAP прогуглил. Ничего особенного - открыл, читаешь/пишешь.
    http://www.rsdn.ru/forum/network/3842938.flat.aspx
    http://www.rsdn.ru/forum/winapi/2724711.aspx

    А вообще, все сразу посылают в исходники OpenVPN - дескать "иди и смотри".

    А сама концепция пока не ясна. Неясно главным образом почему при объединении в бридж, и реальные адаптеры и TAP-ы перестают энумероваться (например из NDIS по ndisprotQueryBinding, да везде - даже по ipconfig, т.е. по GetAdaptersInfo) .

    Ну, тоесть в man-ax на OpenVPN конечно написано, что в Винде после объединения в бридж адаптеры теряют идентичность, и "сущность адаптера" остается только у бриджа, но нафига это так сделано и как это уложить в башке - пока не понятно. Что самое интересное, в Линухе виртуальные адаптеры после объединения в бридж никуда не деваются, как это происходит в Винде.

    Поэтому, хотя с бриджем было бы и проще (если бы оно работало как я представляю себе), но схема по прочтении людей по ссылкам похоже вырисовывается такая (несколько отличается от того что я сочинял двумя постами ранее):

    Код:
    эмулятор<-------+------->TAP1<-------+-------->router<-----+--->RealEthAdapter
    (IP-subnet1)    |                    |         is our      |      (IP-subnet2)
                    |                    |           PC        |
          WinAPI (CreateFile,     Windows IP stack        Windows IP stack
         WriteFile, ReadFile,                                 
           DeviceIoControl)
    Как видим, никакого NDIS.
    А РС, на котором будет работать эмулятор, сам будет роутить из сети где находится TAP1 в сеть реального адаптера, надо только галку поставить где надо. Или не ставить, если выход во внешнюю сеть не нужен - тогда взаимодействующий IP-софт (telnet, к примеру) просто запускаем на своем же РС - там же где и эмулятор, натравив его на TAP1.
    При этом TAP1 не обслуживается двумя стеками. "IP-стек кода на Z80" транслируется на выходе эмулятора в вызовы WinAPI, которые просто являются симметричной ответной частью для IP-стека Винды (имитирую ответные-парные "отправки и прием пакета" в/из эмулятор).
    Последний раз редактировалось Error404; 15.02.2011 в 01:20.
    Лучше сделать и жалеть, чем не сделать и жалеть.

    Некоторые из моих поделок тут: https://github.com/serge-404

Информация о теме

Пользователи, просматривающие эту тему

Эту тему просматривают: 1 (пользователей: 0 , гостей: 1)

Похожие темы

  1. Гейтование в FTN-сети
    от CityAceE в разделе Форум
    Ответов: 12
    Последнее: 31.12.2006, 08:19
  2. Soccer managers по сети!
    от Addison в разделе Игры
    Ответов: 4
    Последнее: 26.03.2006, 17:09

Ваши права

  • Вы не можете создавать новые темы
  • Вы не можете отвечать в темах
  • Вы не можете прикреплять вложения
  • Вы не можете редактировать свои сообщения
  •