«Интерфейс сетевой базовой системы ввода/вывода».
Интерфейс сетевой базовой системы ввода/вывода (NetBIOS) представляет собой разработанный фирмой Microsoft Corp. интерфейс программирования, позволяющий обмениваться запросами ввода-вывода с удаленным компьютером. Пользуясь функциями NetBIOS’а, программист создает приложения, независимые от конкретной сетевой аппаратуры.
Расширенный пользовательский интерфейс транспортного протокола локальной сети (NetBEUI, NetBios Extended User Interface transport) создан фирмой IBM для работы под сетевым интерфейсом NetBIOS фирмы Microsoft Corp; протокол NetBEUI широко применялся в первых версиях Windows’NT.
Несмотря на то, что этот протокол обеспечивает наивысшую скорость работы, ряд присущих ему недостатков (таких, как невозможность маршрутизации и сильная зашумленность в большой сети) позволяет эффективно использовать его только в небольших локальных сетях.
NetBIOS является интерфейсом сеансового уровня, могущим быть использованным приложениями для связи с NetBIOS-совместимыми транспортными протоколами (например, протокол NetBEUI). Двусторонние соединения между ЭВМ с NetBIOS реализует между ними логическое соединение (сеанс). После установления логического соединения компьютеры могут обмениваться данными в формате блоков управления сетью (NCB, Network Control Block) или в формате блоков сообщений сервера (SMB, Server Message Block); при настройке сетевой компоненты NetBIOS указывается сетевое имя компьютера (имя, под которым этот компьютер будет ‘виден’ другим пользователям сети).
Функции NetBIOS обычно не используются программистом напрямую вследствие низкого их уровня, хотя в принципе это возможно (существуют справочники по их применению, например фирменное руководство NetBIOS programmer reference фирмы IBM Corp.).
Протокол NetBIOS был создан для работы в локальных сетях. Система NetBIOS предназначена для персональных ЭВМ типа IBM/PC в качестве интерфейса, не зависящего от фирмыпроизводителя. NetBIOS применяет в качестве транспортных протоколов TCP и UDP. Описание NetBIOS содержится в документе IBM 6322916 "Technical Reference PC Network" (см. также RFC-10012, 1088 и STD48).
Пакет NETBIOS создан для использования группой ЭВМ, поддерживает как режим сессий (работа через соединение), так и режим дейтограмм (без установления соединения). 16-и символьные имена объектов в Netbios распределяются динамически. Netbios имеет собственную DNS, которая может взаимодействовать с интернетовской. Имя объекта при работе с NETBIOS не может начинаться с символа *.
Приложения могут через Netbios найти нужные им ресурсы, установить связь и послать или получить информацию. NETBIOS использует для службы имен порт 137, для службы дейтограмм — порт 138, а для сессий — порт 139.
Любая сессия начинается с Netbios-запроса, задания IP-адреса и определения TCP-порта удаленного объекта, далее следует обмен NETBIOS-сообщениями, после чего сессия закрывается. Сессия осуществляет обмен информацией между двумя netbiosприложениями. Длина сообщения лежит в пределах от 0 до 131071 байт. Допустимо одновременное осуществление нескольких сессий между двумя объектами.
При организации IP-транспорта через NETBIOS IP-дейтограмма вкладывается в NETBIOS-пакет. Информационный обмен происходит в этом случае без установления соединения между объектами. Имена Netbios должны содержать в себе IP-адреса. Так, часть NETBIOS-адреса может иметь вид, ip.**.**.**.**, где IP указывает на тип операции (IP через Netbios), а **.**.**.** — IP-адрес. Система Netbios имеет собственную систему команд (call, listen, hang up, send, receive, session status, reset, cancel, adapter status, unlink, загрузка удаленной программы) и примитивов для работы с дейтограммами (послать дейтограмму, послать дейтограмму широковещательно, получить дейтограмму, получить широковещательную дейтограмму). Все оконечные узлы Netbios делятся на три типа:
· широковещательные ("b") узлы;
· узлы точкаточка ("p");
· узлы смешанного типа ("m").
IP-адрес может ассоциироваться с одним из указанных типов. Bузлы устанавливают связь со своим партнером посредством широковещательных запросов. P и Mузлы для этой цели используют Netbios сервер имен (NBNS) и сервер распределения дейтограмм (NBDD).
Разработана (1985 г) улучшенная версия протокола NETBIOS — NetBeui (NetBios extended user interface). Этот новый протокол используется операционными системами LAN manager, LAN server, Windows NT и Windows XP, а по своей функции занимает нишу протоколов TCP/IP, охватывая связной, сетевой и транспортный уровни. Здесь стандартизован формат пакетов NetBios, добавлены некоторые новые функции. Netbeui базируется на протоколе OSI LLC2, вводит стандарт на формат кадра Netbios (NDF) и использует NetBios в качестве интерфейса высокого уровня. Протокол обладает высоким быстродействием и служит для объединения небольших локальных сетей (20-200 ЭВМ) друг с другом или с главной ЭВМ. Этот протокол соответствует связному, сетевому и транспортному уровню модели OSI. В новых версиях NetBuei (3.0 и выше) снято ограничение на число одновременных сессий (254). Среди ограничений NetBuei следует назвать отсутствие внутренней маршрутизации и серьезные сложности при работе в региональных сетях. По этой причине Netbuei рекомендуется для локальных сетей (здесь они предпочтительнее других протоколов), а для внешних связей использовать, например, TCP/IP.
Для подключения терминальной системы к локальной сети или к другой терминальной системе разработан протокол NBFCP (NetBios frames control protocol, код поля протокола = 803F), который, в свою очередь, базируется на протоколе PPP. Формат кадра протокола NBFCP показан на рис. 6.6.
Рис. 6.6. Формат кадра NBFCP
Поле тип содержит код 2, поле длина определяет размер заголовка, если длина=8, имя партнера отсутствует. Поле класс партнера идентифицирует тип системы отправителя (см. таблицу 6.6). Таблица возможных значений поля класс партнера приведена ниже. Поле имя партнера может иметь до 32 октетов.
код класса |
описание |
1 |
Зарезервировано |
2 |
Сервер внешнего порта PPP NetBIOS |
3 |
Зарезервировано |
4 |
Сервер локального доступа PPP NetBIOS |
5 |
Зарезервировано |
6 |
Мост PPP NetBIOS |
7 |
Зарезервировано |
8 |
Терминальная система PPP |
Особенностью NetBIOS является возможность его работы поверх разных протоколов, самыми распространёнными/известными из которых являются NetBEUI, IPX и стек протоколов TCP/IP; причём если старые версии Windows ориентировались на более лёгкие в реализации и менее ресурсоёмкие NetBEUI и IPX, то современные Windows ориентируются на TCP/IP. При использовании NetBEUI и IPX NetBIOS сам обеспечивает надёжность доставки данных (функциональность SPX не использовалась), а при использовании TCP/IP надёжность доставки обеспечивает TCP, за что удостоился отдельного имени «NBT».
Интерфейс NetBIOS представляет собой стандартный интерфейс разработки приложений (API) для обеспечения сетевых операций ввода/вывода и управления низлежащим транспортным протоколом. Приложения, использующие NetBIOS API интерфейс, могут работать только при наличии протокола, допускающего использование такого интерфейса.
NetBIOS также определяет протокол, функционирующий на сеансовом/транспортном уровнях модели OSI. Этот протокол используется протоколами нижележащих уровней, такими как NBFP (NetBEUI) и NetBT для выполнения сетевых запросов ввода/вывода и операций, описанных в стандартном интерфейсном наборе команд NetBIOS. То есть NetBIOS сам не поддерживает выполнение файловых операций. Эта функция возлагается на протоколы нижележащих уровней, а сам NetBIOS обеспечивает только связь с этими протоколами и NetBIOS API интерфейс.
NetBIOS обеспечивает:
· регистрацию и проверку сетевых имен
· установление и разрыв соединений
· связь с гарантированной доставкой информации
· связь с негарантированной доставкой информации
· поддержку управления и мониторинга драйвера и сетевой карты