NetBIOS Frame Protocol (NetBIOS Frame Protocol)

Перейти к навигации Перейти к поиску

NetBIOS Frames Protocol или NBF — протокол передачи данных сетевого и транспортного уровня, не поддерживающий маршрутизацию. Наиболее часто использовался на разных уровнях сетей Microsoft Windows в 1990-х годах. Реализация протокола NBF (он же NetBIOS поверх IEEE 802.2 LLC) присутствует в многих операционных системах, выпущенных в 1990-х годах, например, LAN Manager, IBM LAN Server, Windows для рабочих групп, Windows 95 и Windows NT. Некоторые другие протоколы, например NetBIOS поверх TCP/IP или NetBIOS поверх IPX/SPX также содержат реализацию служб NetBIOS/NetBEUI поверх другого протокола.

Иногда в расширительном смысле протокол NBF определяется как NetBEUI, но это неверно. Эта ошибка возникает из-за путаницы с NetBIOS Extended User Interface, расширением NetBIOS API, которое изначально было разработано связанным с протоколом NBF. Протокол и эмулятор NetBEUI были изначально разработаны, чтобы дать возможность программам, требующим NetBIOS, работать в новых на то время сетях Token ring от IBM.[1] Microsoft поддержало эту ошибку, обозначив собственную реализацию протокола NBF как NetBEUI. В реальности NBF — это протокол, а NetBEUI изначально — расширение NetBIOS API.

В протоколе NBF для службы имен и службы датаграмм NetBIOS/NetBEUI используется режим 1 стандарта IEEE 802.2. Для сессионной службы (виртуального соединения) NetBIOS/NetBEUI используется режим 2 стандарта IEEE 802.2. В протоколе NBF большое применение нашла рассылка широковещательных сообщений, что объясняет его популярность как интерфейса для чатов. Если протоколом NBF в небольшой сети используется незначительный сетевой ресурс, то широковещательные рассылки наносят ощутимый удар по производительности и скорости работы сети, особенно с увеличением числа хостов при росте сети.

Первая система для создания локальной сети, IBM PC Network, разработана Sytek по заказу IBM и была применена Microsoft для MS-NET в 1985 году. В 1987 году реализация этой разработки была включена Microsoft и Novell в их операционные системы LAN Manager и NetWare.

Поскольку протокол NBF не поддерживает маршрутизацию, связь с его использованием может быть установлена только при нахождении обоих устройств в одном широковещательном домене, однако с его помощью возможно подключение к сетевым сегментам, присоединенным через сетевой мост. Это означает, что протокол NBF целесообразно применять лишь в локальных сетях небольшого или среднего размера, в которых, ввиду необходимости минимальной конфигурации, он обладает преимуществом перед протоколом TCP/IP. Чтобы протокол NetBIOS/NetBEUI был работоспособен в межсетевых решениях, реализация его служб должна быть запущена поверх другого протокола, например, IPX/SPX или TCP/IP.[2]

NetBIOS/NetBEUI предоставляет три несвязанных службы:

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

В протоколе NBF реализованы все три упомянутые службы.

Служба имен

[править | править код]

Прежде чем начать сессию или доставить датаграмму приложение должно зарегистрировать свое имя NetBIOS/NetBEUI, используя службу имен. Для осуществления этого в сеть посылаются широковещательные пакеты Add Name Query (англ. запрос нового имени) и Add Group Name Query (англ. запрос нового группового имени). В случае, когда выбранное имя NetBIOS/NetBEUI уже занято, служба имен на хосте, использующем это имя, отправляет в сеть широковещательное сообщение Node Conflict (англ. конфликт узлов).

Чтобы установить сессию или доставить датаграмму на определённый хост вместо широковещательной рассылки, протокол NBF должен определить MAC-адрес адрес хоста с нужным именем NetBIOS/NetBEUI. Это осуществляется отправкой в сеть пакета Name Query (англ. запрос имени), ответом на который будет MAC-адрес хоста, направившего ответ, то есть хоста с запрошенным именем.

Служба доставки датаграмм

[править | править код]

Режим отправки датаграмм — т. н. «бесконтактный». Датаграмма отсылается в специальных пакетах Datagram при отправке на определённое имя NetBIOS/NetBEUI. В случае отправки на все доступные имена NetBIOS/NetBEUI в сети используется другой тип пакетов — Datagram Broadcast (англ. широковещательные Datagram)

Сессионная служба

[править | править код]

В сессионном режиме два хоста устанавливают соединение в режиме т. н. «диалога» (англ. conversation), что позволяет осуществлять доставку сообщений большего размера, а также осуществлять обнаружение и коррекцию ошибок.

Для установки сессии требуется осуществить обмен пакетами. При инициализации сессии хост должен отправить специальный пакет Name Query. Компьютер, с которым должна быть установлена сессия, отвечает пакетом Name Recognized (англ. имя опознано) с указанием, что сессия не может быть установлена (либо потому что хост не ожидает установления сессии с данным компьютером, или из-за отсутствия ресурсов на установление новой сессии), либо с указанием на возможность установления сессии (в этом случае в ответе также указывается локальный номер сессии, который будет использоваться в последующих пакетах). Хост, инициализировавший сессию после этого отправляет пакет Session Initialize (англ. инициализация сессии), на что должен поступить ответ Session Confirm (англ. подтверждение сессии).

После установления сессии данные передаются в пакетах данных. Стандарт IEEE 802.2 обеспечивает управление потоками и ретрансляцию пакетов данных. Поскольку NetBIOS/NetBEUI позволяет осуществлять передачу пакетов бо́льшего размера, нежели максимально возможный пакет на конкретном слое управления доступом к среде, пакеты NetBIOS/NetBEUI при передаче могут быть разбиты на серию пакетов Data First Middle и пакет Data Only Last. Пакеты, которым не требуется разбитие, отправляются единственным пакетом Data Only Last. После получения каждого пакета Data Only Last высылается подтверждение получения. Это подтверждение также означает, что все предшествующие пакеты Data First Middle также успешно получены.

Сессия закрывается посредством отправки запроса Session End (англ. окончание сессии).

Доступность

[править | править код]

За исключением реализаций в DOS и UNIX, протокол NBF доступен почти в каждой версии Windows вплоть до Windows 2000,[3] однако сфера его использования стала быстро сокращаться с окончанием разработки NetBIOS over TCP/IP.

Microsoft официально прекратил поддержку протокола, начиная с Windows XP,[4] однако необходимые файлы по-прежнему имелись на установочном CD-ROM и могли быть установлены в ручном режиме.[5] В Windows Vista поддержка NetBEUI (то есть NBF) отсутствует вообще, тем не менее установка и использование драйвера из Windows XP по-прежнему возможна.[6]

Примечания

[править | править код]
  1. NetBios NetBEUI NBF Networking Introduction. Дата обращения: 3 июля 2007. Архивировано 7 февраля 2007 года.
  2. NetBios NetBEUI NBF Networking Encapsulation. Дата обращения: 24 ноября 2006. Архивировано 15 сентября 2006 года.
  3. NetBEUI support on Windows 2000. Дата обращения: 19 марта 2007.
  4. The NetBEUI Protocol Is Not Available in Windows XP (KB306059). Дата обращения: 19 марта 2007. Архивировано 29 марта 2007 года.
  5. How to install NetBEUI on Windows XP (KB301041). Дата обращения: 19 марта 2007. Архивировано 13 сентября 2005 года.
  6. NetBeui on XP and Vista. Дата обращения: 1 октября 2017. Архивировано 2 октября 2017 года.