Сеть в windows "шаг за шагом" - объясните плиз

Тема в разделе "WASM.NT.KERNEL", создана пользователем hlt, 15 фев 2008.

  1. hlt

    hlt Member

    Публикаций:
    0
    Регистрация:
    21 дек 2007
    Сообщения:
    56
    Народ, помогите плиз разобраться с сетевой архитектурой винды... - я уже прикумарился в очередной раз перечитывать DDK... :dntknw:
    Вобщем, есть такие непонятные моменты:
    1. как я понял - архитектура винды позволяет поддерживать, впринципе, любое число протоколов. Как регистрируются протоколы в винде понятно, но не очень понятно следующее: кто и когда связывает протокол с минипортом - например, какой компонент связывает TCPIP с адаптером и когда?
    2. Что происходит, когда в систему добавляется например VPN или Dial-up соединение?... Имеется ввиду вот что... - логично (как по мне) предположить, что должен появиться какой-нить минипорт (аля-виртуальный адаптер), но я почему-то на практике такого не обнаружил. Есть подозрение, что тут немаловажную роль играет NDISWAN-драйвер (кстати, по докам не очень понятно, как он используется - подскажите плиз).
    3. Так же логично предположить, что я по идее, могу слать фреймы через установленное VPN(Dial-up) соединение, причем, полагаю, это не должно отличаться от передач через любой другой адаптер. Но опять-же, при включении VPN соединения число минипортов не увеличилось... - тут у меня два варианта - либо я ошибаюсь, и не должно быть никакого минипорта (что тогда должно быть?), либо же какой-то глюк с WinDBG :)
    4. Я так понимаю, что при попадении пакета из сети - он скармливается всем протоколам по порядку, - пока кто-то их не обработает... - верно?
    5. Объясните плиз муть с ProtocolReceive - я что-то не пойму, - винда, что, - может дать тока кусок пакета?... А по какому праву? :)... ей что, лень дать весь пакет?... (ну, ессно, я задаю сей вопрос исключительно от незнания, и непонимания - такшо, не кричите на меня :) )
    6. Совсем не могу догнать, зачем в NdisOpenAdapter в качестве одного из параметров передается MediumArray. Я канеш, понимаю, что там надо указывать типы поддерживаемой среды... но... разве это имеет значение??... Как мне потом использовать SelectedMediumIndex? И... что скрывается за константой NdisMediumWan - там что другая методика обработки фреймов? Просто совсем не могу в это врубиться - протоколам же по идее, должно быть пофиг, в какой среде они реализовываются... Определенно, я в чем-то неправ, - проясните плиз картину :dntknw:...
     
  2. Novi4ek

    Novi4ek New Member

    Публикаций:
    0
    Регистрация:
    3 авг 2007
    Сообщения:
    317
    Я в этом деле такой же собственно интересующийся дилетант. Так что всеми своими датчиками буду тоже следить за этой темой!

    >>как я понял - архитектура винды позволяет поддерживать, впринципе, любое число протоколов

    Тут мне кажется есть ошибка в том смысле что набор канальных протоколов детерминирован. Если адаптер работает с другим протоколом то драйвер должен прозрачно эмулировать его работу для системы.
     
  3. 2FED

    2FED New Member

    Публикаций:
    0
    Регистрация:
    20 фев 2008
    Сообщения:
    1.002
    Сетевая архитектура
    http://rapidshare.com/files/93283640/net.JPG
     
  4. hlt

    hlt Member

    Публикаций:
    0
    Регистрация:
    21 дек 2007
    Сообщения:
    56
    Спасибо за схему :)... Кстати, тогда вопрос - я так понимаю, это скан с какой-то книги, - не подскажешь с какой, и есть ли там сабжевое инфо? :)
     
  5. 2FED

    2FED New Member

    Публикаций:
    0
    Регистрация:
    20 фев 2008
    Сообщения:
    1.002
    Программирование драйверов и систем безопасности.
    http://rouse.drkb.ru/books/driver_and_sequrity.zip

    но там только теория, никаких примеров, но зато очень подробно расказано что и как, и какие апи надо юзать.