Введение
Сетевой протокол 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.
NetBIOS Frames (NBF) is a non routable network and transport level data protocol most commonly used as one of the layers of Microsoft Windows networking in the 1990s. NBF or NetBIOS over IEEE 802.2 LLC is used by a number of network operating systems released in the 1990s, such as LAN Manager, LAN Server, Windows for Workgroups, Windows 95 and Windows NT. Other protocols, such as NBT (NetBIOS over TCP/IP), and NBX (NetBIOS over IPX/SPX) also implement the NetBIOS/NetBEUI services over other protocol suites. The NBF protocol is broadly, but incorrectly, referred to as NetBEUI. This originates from the confusion with NetBIOS Extended User Interface, an extension to the NetBIOS API that was originally developed in conjunction with the NBF protocol; both the protocol and the NetBEUI emulator were originally developed to allow NetBIOS programs to run over IBM's new Token Ring network. Microsoft caused this confusion by labelling its NBF protocol implementation NetBEUI. NBF is a protocol and the original NetBEUI was a NetBIOS application programming interface extension.
Обзор
Протокол 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.