Введение

Сетевой протокол Microsoft Windows NetBIOS Frames (NBF) — это немаршрутизируемый сетевой и транспортный протокол данных, который наиболее часто использовался как один из уровней сетевой архитектуры Microsoft Windows в 1990-х годах. NBF, или NetBIOS поверх IEEE 802.2 LLC, применялся во многих сетевых операционных системах, выпущенных в 1990-х годах, таких как LAN Manager, LAN Server, Windows для рабочих групп, Windows 95 и Windows NT. Другие протоколы, такие как NBT (NetBIOS поверх TCP/IP) и NBX (NetBIOS поверх IPX/SPX), также реализуют службы NetBIOS/NetBEUI с использованием других протоколов. Протокол NBF часто, но ошибочно, называют NetBEUI. Это связано с путаницей с NetBIOS Extended User Interface — расширением API NetBIOS, которое изначально разрабатывалось совместно с протоколом NBF; и протокол, и эмулятор NetBEUI изначально создавались для обеспечения работы программ NetBIOS в новой сети Token Ring от IBM. Microsoft способствовала этой путанице, обозначив свою реализацию протокола NBF как NetBEUI. NBF — это протокол, а оригинальный NetBEUI был расширением API NetBIOS.

Обзор

Протокол NBF использует режим 802.2 типа 1 для обеспечения службы имен и служб датаграмм NetBIOS/NetBEUI, а режим 802.2 типа 2 – для обеспечения службы сеансов NetBIOS/NetBEUI (виртуальных каналов). Протокол NBF активно использует широковещательные сообщения, что и обуславливает его репутацию многословного интерфейса. Хотя протокол потребляет немного сетевых ресурсов в очень маленькой сети, широковещательные сообщения начинают негативно сказываться на производительности и скорости по мере увеличения числа хостов в сети. Sytek разработала NetBIOS для IBM в рамках программы PC Network, а Microsoft использовала её для MS NET в 1985 году. В 1987 году Microsoft и Novell использовали NetBIOS в своих сетевых операционных системах LAN Manager и NetWare. Поскольку протокол NBF не поддерживает маршрутизацию, он может использоваться только для связи с устройствами в одном домене широковещания, однако, благодаря поддержке мостов, он также может использоваться для связи с сетевыми сегментами, соединенными друг с другом через мосты. Отсутствие поддержки маршрутизируемых сетей означает, что NBF наиболее подходит для небольших и средних сетей, где он обладает преимуществом перед TCP/IP, требующим минимальной настройки. Для эффективного использования в сети, службы NetBIOS/NetBEUI должны быть реализованы поверх других протоколов, таких как IPX и TCP/IP (см. выше).

Служба имен

Для начала сеансов или отправки дейтаграмм приложение должно зарегистрировать свое имя NetBIOS/NetBEUI, используя службу имен. Для этого в сеть транслируется пакет запроса "Добавить имя" или запроса "Добавить имя группы". Если имя NetBIOS/NetBEUI уже используется, служба имен, работающая на хосте, владеющем этим именем, транслирует в сеть сообщение "Конфликт узлов". Кроме того, для начала сеанса или отправки дейтаграммы конкретному хосту, а не для широковещательной рассылки, протоколу NBF необходимо определить MAC-адрес хоста с заданным именем NetBIOS/NetBEUI. Это делается путем отправки пакета запроса "Имя", ответ на который содержит MAC-адрес хоста, отправившего ответ, то есть хоста с этим именем.

Служба распространения датграмм

Режим датаграмм является "без установления соединения". Датаграмма отправляется в пакете "Datagram", если она предназначена для конкретного имени NetBIOS/NetBEUI, или в пакете "Datagram Broadcast", если она предназначена для всех имен NetBIOS/NetBEUI в сети.

Служба сеансов

Режим сеанса позволяет двум компьютерам установить соединение для "обмена данными", обеспечивает обработку сообщений большего размера, а также обнаружение и восстановление ошибок. Сеансы устанавливаются посредством обмена пакетами. Компьютер, инициирующий сеанс, отправляет запрос "Запрос имени", указывая на необходимость инициализации сеанса. Компьютер, с которым планируется установить сеанс, отвечает сообщением "Имя подтверждено", указывающим либо на невозможность установления сеанса (либо потому, что этот компьютер не ожидает установления сеансов с таким именем, либо из-за отсутствия доступных ресурсов для установления сеанса с этим именем), либо на возможность установления сеанса (в этом случае ответ содержит локальный номер сеанса, который будет использоваться в последующих пакетах). Компьютер, начинающий сеанс, затем отправляет запрос "Инициализация сеанса", на который следует ответ "Подтверждение сеанса". Данные в установленном сеансе передаются пакетами данных. IEEE 802.2 обеспечивает управление потоком данных и повторную передачу пакетов. Поскольку NetBIOS/NetBEUI позволяет отправлять пакеты, превышающие максимальный размер пакета, допустимый на определенном уровне MAC, пакет NetBIOS/NetBEUI может быть передан в виде последовательности пакетов "Data First Middle" и пакета "Data Only Last"; пакеты, не требующие сегментации, будут отправлены как единый пакет "Data Only Last". Подтверждение отправляется для всех успешно полученных пакетов "Data Only Last", подтверждая также все предшествующие пакеты "Data First Middle". Закрытие сеанса осуществляется отправкой запроса "Завершение сеанса".

Доступность

Протокол NBF, помимо реализаций для DOS, OS/2 и Unix, официально поддерживался Microsoft практически во всех версиях Windows до Windows 2000, однако его использование быстро сократилось после разработки NBT. Microsoft официально прекратила поддержку, начиная с Windows XP, но он поставляется на CD-ROM Windows XP и может быть установлен вручную. Windows Vista вообще не включает поддержку NetBEUI (то есть NBF), но можно использовать драйверы поддержки NetBEUI от Windows XP.