Интерфейсы сетевых компоновок

В принципе, возможно создать сетевой драйвер, который сможет посылать Винные как на сетевую плату, так и в сеть. По сути, он будет объединять собственно драйвер и средства поддержки сетевого протокола. Драйверы такого типа называют монолитными драйверами устройств.
Обратите внимание: я сказала "возможно". Этот подход не рекомендуется во многом по тем же причинам, что и встраивание драйверов устройств в операционную систему.
Гибкость обеспечивается только модульным подходом. Предположим, в драйвер вашей сетевой платы включены средства поддержки транспортного протокола. В этом случае, чтобы заменить или добавить еще один транспортный протокол, придется заменить драйвер. Такой подход неудобен, поскольку поддерживает только единственный транспортный протокол.
Поэтому вместо монолитных драйверов устройств в современных драйверах для "привязки" сетевых плат к транспортным протоколам используют мой инструмент — интерфейс сетевых компоновок. Как показано на рис. 3.4, — это интерфейс между драйвером сетевой платы и стеком транспортных протоколов (transport stack).

Примечание:
Интерфейс сетевых компоновок - именно то средство, которое обеспечивает "увязку" протокола с сетевой платой. Это, в сущности, "свадьба" драйвера сетевой платы с сетевым транспортным протоколом.

Принцип его применения совершенно очевиден. Интерфейс сетевых компоновок связывает каждый установленный драйвер с каждым установленным транспортным протоколом. Названия этих связей (clump) зависят от типа сети. Так, в сетях NetWare их называют модулями. Обменом данных модулями управляет программа, которую называют LAS в сетях NetWare и PROTMAN. SYS в Microsoft. Вся информация, необходимая интерфейсу компоновок, сохраняется в текстовом файле, таком как PROTOCOL.INI в сетях Microsoft или NET.CFG в NetWare. Однако, если в драйверах используют стандартные значения параметров, то в этих файлах содержится совсем немного информации.

Связующие нити

Как указано выше, основное преимущество использования интерфейс сетевых компоновок — возможность использования каждым сетевым драйвером нескольких транспортных протоколов. По умолчанию все сетевые транспортные протоколы "привязываются" ко всем установленным драйверам сетевых плат. Какой же протокол используется при отсылке данных по сети? Ответ зависит от порядка, в котором "привязывались" транспортные протоколы. Этот порядок можно изменять, поставив на первое место протокол, используемый чаще остальных. Это позволит уменьшить число повторных попыток его поиска, что необходимо для доступа к конкретному серверу.
Если же необходимо запретить доступ к серверу, использующему конкретный протокол, достаточно просто удалить его из списка протоколов, "привязанных" (bound) к сетевой плате.
Запутались? Хорошо. Если вы запутались сейчас, но этот вопрос все же вас интересует, знайте, что я вернусь к нему в гл. 15 "Защита сетей".

Звание "законодателя мод" в мире стандартов интерфейса сетевых компоновок оспаривают два конкурента: открытый интерфейс передачи данных (ODI) фирмы Novell и спецификация интерфейсов сетевых драйверов (NDIS) фирмы Microsoft. Принцип работы обоих интерфейсов во многом сходен. Основное различие в том, что драйверы ODI работают в реальном (незащищенном) режиме. Значит они должны использовать первые 640 Кбайт памяти, установленной на машине, и не могут "договариваться" другими драйверами. Напротив, драйверы NDIS функционируют в защищенном режиме и поэтому могут работать в многозадачном режиме вместе с прочими драйверами. Кроме того, они не используют дефицитную обычную память.
Зачем же применяют драйверы ODI, если они не работают в защищенном режиме?
Главным образом потому, что иногда они необходимы редиректору. Отнюдь не все редиректоры могут работать с драйверами NDIS. Чтобы рассеять сомнения, поднимите документацию на вашу операционную систему и ознакомьтесь с требованиями к редиректору.
Вообще же говоря, как NDIS, так и ODI работают со всеми транспортными протоколами, а ограничения налагаются, в основном, со стороны драйвера. 

Смотрите также

Считывание информации о состоянии
На рис. 4.3,4.4 и 4.5 представлены окна отображения состояния для двух различных марок беспроводных адаптеров. На рис. 4.6 изображено окно состояния Wireless Network Connection (Бесп ...

Сетевой кабель
Одним из наиболее важных компонентов любой локальной сети является сетевой кабель, посредством.которого выполняется прокладка коммуникаций. В настоящем разделе мы рассмотрим два типа сетевого кабеля, ...

Глава 11. Приложения локальных сетей и их лицензирование
Сетевая операционная система — всего лишь средство поддержки важнейших инструментов локальной сети. В этой главе рассматриваются приложения, которые могут понадобиться вашим сетевым клиентам, ...