NetBIOS
![]() | В этой статье есть несколько проблем. Пожалуйста, помогите улучшить его или обсудите эти проблемы на странице обсуждения . ( Узнайте, как и когда удалять эти шаблонные сообщения )
|
NetBIOS ( / ˈ n ɛ t b aɪ ɒ s / ) — это аббревиатура от Network Basic Input/Output System . Он предоставляет услуги, связанные с сеансовым уровнем модели OSI, позволяя приложениям на отдельных компьютерах взаимодействовать через локальную сеть . Будучи строго API , NetBIOS не является сетевым протоколом . Операционные системы 1980-х годов (в первую очередь DOS и Novell Netware) работали с NetBIOS через IEEE 802.2 и IPX/SPX с использованием протоколов NetBIOS Frames (NBF) и NetBIOS через IPX/SPX (NBX) соответственно. В современных сетях NetBIOS обычно работает через TCP/IP по протоколу NetBIOS через TCP/IP (NBT). NetBIOS также используется для идентификации имен систем в TCP/IP (Windows).
История и терминология [ править ]
NetBIOS — это API-интерфейс уровня операционной системы, который позволяет приложениям на компьютерах взаимодействовать друг с другом через локальную сеть (LAN). API был создан в 1983 году компанией Sytek Inc. для связи программного обеспечения по технологии IBM PC Network LAN. [1] В сети IBM PC Network NetBIOS в качестве отдельного API полагался на собственные сетевые протоколы Sytek для передачи данных по проводу. [2]
В 1985 году IBM разработала схему сети Token Ring и выпустила эмулятор NetBIOS API Sytek, позволяющий приложениям эпохи PC-Network, поддерживающим NetBIOS, работать через новое оборудование IBM Token Ring. Этот эмулятор IBM, получивший название NetBIOS Extended User Interface (NetBEUI), расширил базовый API NetBIOS, созданный Sytek, помимо прочего, возможностью работать с большей емкостью узлов Token Ring. Новый сетевой протокол NBF был одновременно создан IBM, чтобы позволить своему NetBEUI API (их расширенному API NetBIOS) предоставлять свои услуги через Token Ring, в частности, на IEEE 802.2 уровне управления логическими каналами .
В 1985 году Microsoft создала собственную реализацию NetBIOS API для своей сетевой технологии MS-Net . Как и в случае с Token Ring от IBM, услуги реализации NetBIOS от Microsoft предоставлялись через уровень управления логическим каналом IEEE 802.2 по протоколу NBF. [3]
В 1986 году Novell выпустила Advanced Novell NetWare 2.0, включающую собственную эмуляцию NetBIOS API. NetWare IPX/SPX Его сервисы были инкапсулированы в протокол с использованием протокола NetBIOS over IPX/SPX (NBX).
В 1987 году был опубликован метод инкапсуляции NetBIOS в TCP и UDP пакеты — NetBIOS over TCP/IP (NBT). Он был описан в RFC 1001 («Стандарт протокола для службы NetBIOS на транспорте TCP/UDP: концепции и методы») и RFC 1002 («Стандарт протокола для службы NetBIOS на транспорте TCP/UDP: подробные спецификации»). Протокол NBT был разработан для того, чтобы «позволить реализовать [приложения NetBIOS] практически на любом типе системы, где доступен набор протоколов TCP/IP», и «позволить взаимодействовать NetBIOS в Интернете».
После того, как компьютер PS/2 появился на рынке в 1987 году, IBM выпустила программу поддержки локальной сети ПК, которая включала драйвер, предлагающий API NetBIOS.
Существует некоторая путаница между именами NetBIOS и NetBEUI. NetBEUI возник как название улучшенного эмулятора NetBIOS от IBM 1985 года для Token Ring. Название NetBEUI должно было там умереть, учитывая, что в то время реализации NetBIOS других компаний были известны просто как NetBIOS, независимо от того, включали ли они расширения API, найденные в эмуляторе Token Ring. Однако для MS-Net Microsoft решила назвать свою реализацию протокола NBF «NetBEUI», назвав свою реализацию транспортного протокола в честь расширенной версии API IBM. [ нужна ссылка ] Следовательно, общий доступ к файлам и принтерам Microsoft через Ethernet часто продолжает называться NetBEUI, а имя NetBIOS обычно используется только в отношении общего доступа к файлам и принтерам через TCP/IP . Точнее, первый — это кадры NetBIOS (NBF), а второй — NetBIOS через TCP/IP (NBT).
С момента своей первоначальной публикации в техническом справочнике IBM спецификация NetBIOS API стала де-факто стандартом в отрасли, несмотря на то, что изначально поддерживалась максимум только 80 ПК в локальной сети. Это ограничение в целом было преодолено в масштабах всей отрасли за счет перехода от NBF к NBT, в рамках которого, например, Microsoft смогла переключиться на систему доменных имен (DNS) для разрешения имен хостов NetBIOS , ранее использовав протокол NBF, разделенный на сегменты локальной сети. самостоятельно разрешать такие имена в клиент-серверных сетях Windows . [1]
Услуги [ править ]
NetBIOS предоставляет три отдельные службы:
- Служба имен (NetBIOS-NS) для регистрации и разрешения имен .
- Служба распространения датаграмм (NetBIOS-DGM) для связи без установления соединения.
- Служба сеансов (NetBIOS-SSN) для связи с установлением соединения .
(Примечание: SMB , верхний уровень, — это служба, которая работает поверх службы сеансов и службы дейтаграмм, и ее не следует путать с необходимой и неотъемлемой частью самого NetBIOS. Теперь она может работать поверх TCP с небольшим уровень адаптации, который добавляет поле длины к каждому сообщению SMB, это необходимо, поскольку TCP предоставляет только службу байтового потока без понятия границ сообщения.)
Служба имен [ править ]
Чтобы начать сеансы или распространить датаграммы, приложение должно зарегистрировать свое имя NetBIOS с помощью службы имен. Имена NetBIOS имеют длину 16 октетов и различаются в зависимости от конкретной реализации. Часто 16-й октет, называемый суффиксом NetBIOS, обозначает тип ресурса и может использоваться для указания другим приложениям, какой тип услуг предлагает система. [ нужна ссылка ] В NBT служба имен работает через UDP-порт 137 (TCP-порт 137 также может использоваться, но редко).
Примитивы службы имен, предлагаемые NetBIOS:
- Добавить имя – регистрирует NetBIOS-имя.
- Добавить имя группы – регистрирует имя «группы» NetBIOS.
- Удалить имя — отменить регистрацию NetBIOS-имени или имени группы.
- Найти имя – ищет имя NetBIOS в сети.
Протокол Интернета версии 6 (IPv6) не поддерживается протоколом разрешения имен NetBIOS. [4]
Служба распространения датаграмм [ править ]
Режим дейтаграмм без установления соединения ; приложение отвечает за обнаружение и восстановление ошибок. В NBT служба дейтаграмм работает на порту UDP 138.
Примитивы службы датаграмм, предлагаемые NetBIOS:
- Отправить дейтаграмму – отправить дейтаграмму на удаленное имя NetBIOS.
- Отправить широковещательную дейтаграмму — отправить дейтаграмму всем именам NetBIOS в сети.
- Получить дейтаграмму – дождаться прибытия пакета в результате операции отправки дейтаграммы.
- Получить широковещательную дейтаграмму – дождаться прибытия пакета в результате операции отправки широковещательной дейтаграммы.
Служба сеансов [ править ]
Режим сеанса позволяет двум компьютерам установить соединение, позволяет сообщениям охватывать несколько пакетов и обеспечивает обнаружение и восстановление ошибок. В NBT служба сеансов работает через TCP-порт 139.
Примитивы службы сеанса, предлагаемые NetBIOS:
- Вызов — открывает сеанс с удаленным именем NetBIOS.
- Прослушивать – прослушивать попытки открытия сеанса с именем NetBIOS.
- Hang Up – закрыть сессию.
- Отправить – отправляет пакет на компьютер на другом конце сеанса.
- Отправить без подтверждения – аналогично отправке, но не требует подтверждения.
- Прием – ожидание прибытия пакета от отправителя на другом конце сеанса.
В исходном протоколе, используемом для реализации служб NetBIOS в сети ПК, для установления сеанса инициирующий компьютер отправляет запрос Open, на который отвечает подтверждение открытия. Компьютер, запустивший сеанс, затем отправит пакет запроса сеанса, который предложит либо пакет принятия сеанса, либо пакет отклонения сеанса.
Во время установленного сеанса на каждый передаваемый пакет отвечает ответ либо с положительным подтверждением (ACK), либо с отрицательным подтверждением (NAK). NAK вызовет повторную передачу данных. Сеансы закрываются неинициализирующим компьютером путем отправки запроса на закрытие. Компьютер, начавший сеанс, ответит сообщением о закрытии, которое запросит пакет закрытия последнего сеанса.
Имя NetBIOS и имя хоста в Интернете
Когда NetBIOS запускается вместе с интернет-протоколами (например, NBT), каждый компьютер может иметь несколько имен: одно или несколько имен службы имен NetBIOS и одно или несколько имен хостов Интернета.
Имя NetBIOS [ править ]
Имя NetBIOS состоит из 16 символов ASCII, однако Microsoft ограничивает имя хоста 15 символами и резервирует 16-й символ в качестве суффикса NetBIOS. [5] Этот суффикс описывает тип записи службы или имени, например запись хоста, запись главного браузера, запись контроллера домена или другие службы. Имя хоста (или короткое имя хоста) указывается при установке/настройке сети Windows, зарегистрированные суффиксы определяются отдельными службами, предоставляемыми хостом. Чтобы подключиться к компьютеру, использующему TCP/IP, через его имя NetBIOS, имя должно быть преобразовано в сетевой адрес . Сегодня это обычно IP-адрес (преобразование имени NetBIOS в IP-адрес часто выполняется либо с помощью широковещательной рассылки, либо с помощью WINS- сервера — сервера имен NetBIOS). NetBIOS-имя компьютера часто совпадает с именем хоста этого компьютера (см. ниже), хотя и усекается до 15 символов, но оно также может быть совершенно другим.
Имена NetBIOS представляют собой последовательность буквенно-цифровых символов. Следующие символы явно не допускаются: \/:*?"<>| . Начиная с Windows 2000, имена NetBIOS также должны были соответствовать ограничениям на DNS-имена: они не могут состоять полностью из цифр, а символы дефиса («-») или точки («.») не могут появляться в качестве первого или последнего символа. . Начиная с Windows 2000, Microsoft рекомендует не включать в имена NetBIOS любые символы точки («.»), чтобы приложения могли использовать наличие точки для различения доменных имен от имен NetBIOS. [5]
Файл Windows LMHOSTS предоставляет метод разрешения имен NetBIOS, который можно использовать для небольших сетей, не использующих WINS-сервер.
Имя хоста в Интернете [ править ]
Имя NetBIOS компьютера Windows не следует путать с именем хоста компьютера в Интернете (при условии, что компьютер также является хостом Интернета в дополнение к узлу NetBIOS, что не обязательно так). Обычно компьютер, на котором работают интернет-протоколы (независимо от того, является ли он машиной Windows или нет), обычно имеет имя хоста (также иногда называемое именем компьютера). Первоначально эти имена хранились и предоставлялись в файле хостов , но сегодня большинство таких имен являются частью иерархической системы доменных имен (DNS).
Обычно имя хоста компьютера Windows основано на имени NetBIOS плюс первичном DNS-суффиксе, которые задаются в диалоговом окне «Свойства системы». Также могут существовать суффиксы для конкретных подключений, которые можно просмотреть или изменить на вкладке DNS в Панели управления → Сеть → TCP/IP → Дополнительные свойства. Имена хостов используются такими приложениями , как telnet , ftp , веб-браузеры и т. д. Чтобы подключиться к компьютеру, работающему по протоколу TCP/IP, используя его имя, имя хоста должно быть преобразовано в IP-адрес , обычно с помощью DNS-сервера. (Многие приложения на базе TCP/IP, включая три перечисленных выше, также можно использовать, используя только IP-адреса, но это не является нормой.)
Типы узлов [ править ]
В Windows тип узла сетевого компьютера связан с тем, как он преобразует имена NetBIOS в IP-адреса . При этом предполагается, что для узлов NetBIOS существуют какие-либо IP-адреса, что гарантируется только тогда, когда NetBIOS работает через NBT; таким образом, типы узлов не являются свойством NetBIOS как такового, а являются результатом взаимодействия между NetBIOS и TCP/IP в среде ОС Windows. Существует четыре типа узлов.
- B-узел: 0x01 Broadcast
- P-узел: 0x02 Одноранговый узел (только WINS)
- M-узел: 0x04 смешанный (широковещательная рассылка, затем WINS)
- H-узел: 0x08 Hybrid (WINS, затем широковещательная рассылка)
Используемый тип узла можно просмотреть, открыв командную строку и набрав ipconfig /all .Реестр компьютера Windows также можно настроить таким образом, чтобы для типа узла отображалось «неизвестно».
Суффиксы NetBIOS [ править ]
Суффикс NetBIOS, также называемый конечным символом NetBIOS (endchar), является 16-м символом имени NetBIOS и указывает тип службы для зарегистрированного имени. Количество типов записей ограничено 255; некоторые часто используемые значения:
Для уникальных имен:
- 00: Служба рабочей станции (имя рабочей станции)
- 03: Служба сообщений Windows
- 06: Служба удаленного доступа
- 20: Файловая служба (также называемая записью хоста)
- 21: службы удаленного доступа Клиент
- 1B: домена Главный браузер — основной контроллер домена для домена.
- 1D: Главный браузер
Для названий групп:
- 00: Служба рабочей станции (рабочая группа/имя домена)
- 1С: Контроллеры домена для домена (групповая запись до 25 IP-адресов)
- 1E: Выборы службы браузера
Стек протоколов [ править ]
В следующей таблице показана краткая история NetBIOS и связанных с ним протоколов. SMB был основным протоколом, использовавшим NetBIOS. SMB обеспечивает общий доступ к файлам и принтерам Windows.
7 | Прикладной уровень | Чат Windows , Средство просмотра клипов , Microsoft Hearts | СМБ | СМБ | СМБ | СМБ | СМБ | |
6 | Уровень представления | NetDDE | ||||||
5 | Сеансовый уровень | NetBIOS (оригинальная «Базовая сетевая система ввода-вывода») | NetBIOS ( NetBIOS Frames , неправильно помеченный как «NetBEUI» в Windows) | NetBIOS (NetBIOS через IPX/SPX) | NetBIOS ( NetBIOS через TCP/IP ) | |||
4 | Транспортный уровень | IPX/SPX | TCP / UDP | TCP / UDP | QUIC (через UDP ) | |||
3 | Сетевой уровень | IPX | ИП | ИП | ИП | |||
2 | Уровень канала передачи данных | IEEE 802.2 в Ethernet , Token Ring | Любая ссылка, которая передает IPX | Любая ссылка, передающая IP | Любая ссылка, передающая IP | Любая ссылка, передающая IP | ||
1 | Физический уровень | Сеть IBM PC | Ethernet , Маркерное кольцо | |||||
Первая поддержка | Windows для рабочих групп 3.1 | Windows для рабочих групп 3.1 | Windows НТ 3.5 | Windows 2000 | Windows 11 (для серверной части требуется Windows Server 2022 Datacenter: Azure Edition) | |||
Последняя поддержка | Windows XP (требуется установка вручную) | Windows ХР |
См. также [ править ]
- NetBIOS через TCP/IP (NBT)
- Кадры NetBIOS (NBF)
- Блок сообщений сервера (SMB)
Ссылки [ править ]
- ^ Перейти обратно: а б Сосинский, Барри (2009). Сетевая Библия . Джон Уайли и сыновья . стр. 528 . ISBN 9780470543429 .
- ^ «10. Оценка сетевых служб Windows — Оценка сетевой безопасности, 2-е издание [Книга]» . www.oreilly.com . Архивировано из оригинала 20 апреля 2023 года . Проверено 20 апреля 2023 г.
- ^ «Аппаратное обеспечение для протоколов» . www.networking-hardware.com . Архивировано из оригинала 26 марта 2023 года . Проверено 20 апреля 2023 г.
- ^ «[MS-WPO]: протокол управления WINS» . Learn.microsoft.com . 14 февраля 2019 года. Архивировано из оригинала 17 июня 2023 года . Проверено 17 июня 2023 г.
Поскольку протокол NetBIOS, определенный в [RFC1002], не поддерживает сопоставление имен NetBIOS с адресами IPv6, протокол удаленного административного интерфейса: WINS применяется только к адресам IPv4. Это не относится к адресам IPv6.
- ^ Перейти обратно: а б «Соглашения об именах в Active Directory для компьютеров, доменов, сайтов и подразделений» . Майкрософт . Архивировано из оригинала 22 декабря 2017 года . Проверено 19 декабря 2017 г.
Дальнейшее чтение [ править ]
- Хаугдал, Дж. Скотт (1990). Внутри NetBIOS . Корпорация архитектурных технологий ISBN 99914-57-34-8
- Зильбершац, Авраам; Гэлвин, Питер Баер; Ганье, Грег (2004). Концепции операционной системы . (7-е изд.). Джон Уайли и сыновья. ISBN 0-471-69466-5
- Мейерс, Майкл (2004). «Управление сетями и устранение неполадок». МакГроу-Хилл. ISBN 978-0-07-225665-9
- Тамара Дин. Руководство Network+ по сетям , стр. 206 (НетБЕУИ)
Внешние ссылки [ править ]
- Технический справочник по локальной сети: API 802.2 и NetBIOS
- Реализация CIFS (от команды Samba , опубликовано под лицензией Open Publication License )
- NetBIOS, NetBEUI, NBF, SMB, сеть CIFS
- Эталонная модель взаимодействия открытых систем (OSI) для NBF, NBT и NBX
- Файл LMHOSTS
- Конечные символы/суффиксы NETBIOS — статья базы знаний Microsoft, описывающая список суффиксов NetBIOS.
- Библиотека NetBIOS Windows 7 в Visual Basic — Coder Bliss — Джон Ридхолм .
- Ричард Шарп (8 октября 2002 г.). «Что такое SMB?» . Архивировано из оригинала 2 декабря 2009 года . Проверено 1 января 2012 г.