Стек протоколов NetBIOS/NetBEUI
Исторически сложилось так, что пользовательский интерфейс NetBIOS и его транспортный протокол, NBF, стали самыми "любимыми" протоколами Microsoft. Полученный в результате стек много раз переопределялся, перестраивался и переукомплектовывался для многих сетевых продуктов, включая LAN Manager, Windows for Workgroups, Windows NT.
Сегодняшний стек NetBIOS/NetBEUI разбит на три составляющих: NetBIOS API, SMB и транспортный протокол NBF. Взаимосвязь этих модулей изображена на рис. 3.
Рис. 3. Архитектура стека NetBIOS/NetBEUI
Рассмотрим основные протоколы стека.
- NetBIOS- интерфейс прикладного программирования сетевых приложений.
NetBIOS - это сокращение от Network BIOS, и, как пользовательский интерфейс, NetBIOS распространил понятие базовой системы ввода-вывода ПК на сети. Когда фирма IBM, создавшая NetBIOS, начала работу, ее целью было создать простой сетевой протокол для небольших сетей персональных компьютеров. Этот протокол должен был предоставлять API для разработки сетевых приложений, которые могли бы взаимодействовать на межмашинном или межпрограммном уровне. Кроме того, такая система именования сетей позволяла бы использовать назначаемые человеком имена устройств, например, MyServer, которые легче запоминать и с которыми проще работать, чем со сложной схемой нумерации.
NetBIOS осуществляет адресацию в локальных сетях на основе уникальных имен узлов и практически не требует настройки (поэтому он привлекателен для поддержки сетей с небольшим числом компьютеров). Длина имени хостов - 16 байт, из них 6 байт - сетевой адрес машины, 10 байт - служебные. Кроме того, каждый компьютер имеет произвольное символьное имя. Также произвольные имена имеют рабочие группы из нескольких узлов. Эти имена назначаются и удаляются системным администратором. При каждом подключении к сети протокол NetBIOS опрашивает сеть для проверки уникальности имени узла.
Подчеркнем, что NetBIOS является API (Application Programming Interface - интерфейс прикладного программирования) сетевых приложений и не указывает, как данные перемещаются между системами, а лишь определяет, как данные упаковываются и получаются приложениями. Пакеты NetBIOS могут, в принципе, использовать любой транспортный протокол - и Microsoft заставляет их это делать, пользуясь протоколом NetBIOS-над-TCP (NBT). NBF обозначает конкретный транспортный протокол, изначально предназначенный для работы с NetBIOS.
- SMB (Server Message Block) - блоки сообщений сервера.
Когда Microsoft избрала NetBIOS основной для первого поколения своего ПО локальных сетей, она ввела еще один компонент, характерный для ее программных средств, - блоки сообщений сервера SMB. SMB наделяет интерфейс NetBIOS сетевыми функциональными возможностями помимо того, что дает сам по себе транспортный протокол этого стека NBF (SMB можно транспортировать по протоколу IP или IPX так же свободно, как и по NBF).
SMB - это четко сформулированный метод взаимодействия серверов и узлов. Спецификация SMB включает достаточно полный словарь команд сетевого ввода-вывода. Например, если пользователь хочет открыть файл, расположенный на сервере, то из одной системы в другую передается SMB-команда SMBopen.
Команды SMB обеспечивают выполнение широкой гаммы операций и являются быстрым и экономически эффективным способом реализации большинства общеупотребительных сетевых функций. Есть команды для таких операций, как проверка прав доступа при регистрации, печать, непосредственная работа с файлами и каталогами.
Команды, входящие в спецификацию SMB, можно рассматривать как "команды наименьшего общего кратного". Поскольку эта спецификация предполагает, что в сети будут работать компьютеры разных типов, то для существенного повышения эффективности операций допускается использование "расширенных протоколов". Например, два DOS-компьютера в общении между собой пользуются расширением DOS, две NT-системы пользуются расширением NT и т.п. Это позволяет узлам взаимодействовать с максимальной эффективностью, гарантируя п то же время совместимость между разнородными устройствами.
- NBF(NetBIOS Frames) - транспортный протокол стека
NBF находится на самом нижнем уровне стека. Он выполняет функции протокола транспортного и сетевого уровней и предоставляет базовые услуги связи между устройствами. При сетевом вводе-выводе верхние уровни (NetBIOS-приложения или SMB-транзакции) передают данные прямо в NBF для обработки. NBF инкапсулирует данные в кадры, находит устройство или устройства, с которыми нужно установить связь, и передает данные в сетевую интерфейсную плату для последующей доставки, хотя и при помощи других механизмов. Некоторые услуги предоставляются лишь после установления соединения, что подразумевает ведение подробного и тщательно контролируемого "разговора" между двумя системами по виртуальному каналу. Некоторые услуги предоставляются без установления соединения, с помощью дейтаграмм. В таких случаях о переданных пакетах никто больше не вспоминает. Это метод используется в ситуациях, когда передаются повторяемые широковещательные сообщения, например, сообщения об изменении состояния и тому подобное.
NBF - самое слабое звено в стеке NetBEUI. Как и сама система NetBIOS, NBF не позволяет осуществлять маршрутизацию, т.е. может взаимодействовать только с теми устройствами, которые видит в ближайшей подсети или в подсети, соединенной с данной локальной сетью мостом. Вместе с тем, ввиду отсутствия потребности в дополнительных расходах на ведение маршрутных таблиц и тому подобной информации, NBF исключительно мал и быстр, - а это идеальный вариант для небольших сетей, насчитывающих менее 100 устройств. Кроме того, поскольку IBM создавала NBF в расчете на кольцевые сети с маркерным доступом, стандартный размер кадра в таких пакетах - 4096 байтов, что позволяет значительно повысить пропускную способность в сетях, которые могут работать с этим протоколом.
NBF является протоколом с интенсивным использованием широковещательной передачи. Поскольку предполагалось, что в сети будет всего несколько узлов и что устройства будут появляться там и исчезать произвольно, то считалось, что лучше обнаруживать устройства с помощью широковещательной передачи, нежели с применением какого-то централизованного реестра. К сожалению, в сегодняшних сетях с маршрутизаторами широковещательные пакеты работают не очень хорошо, так как маршрутизаторы не пропускают пакеты, не адресованные конкретно другому сегменту сети. А поскольку структура имен NetBIOS - не иерархическая, то устройства не могут указывать на удаленные сетевые сегменты. Таким образом, единственный способ заставить NetBIOS работать в больших сетях - соединить разные сегменты мостами в одну виртуальную сеть. К сожалению, такая зависимость от широковещательного режима ограничивает сфер применения относительно небольшими сетями, потому что большие соединенные мостами сети все равно работают не очень хорошо.
- NetBEUI(NetBIOS Extended User Interface) - расширенный интерфейс протокола NetBIOS
Специально для локальных сетей, работающих на базе протокола NetBIOS, корпорацией IBM был разработан расширенный интерфейс для этого протокола. Он рассчитан на поддержку небольших локальных сетей (не более 150-200 машин). Данный протокол может использоваться только в отдельных сегментах локальной сети, т.к. пакеты NetBEUI не могут транслироваться через мосты (устройства, соединяющие несколько сегментов сети). Этот стандарт считается устаревшим. Он поддерживается в ОС семейства Windows 9x/ME/2000, но уже не поддерживается Windows XP.
Дата добавления: 2015-05-13; просмотров: 1891;