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