Протокол netbios что это
4.2.3 NetBIOS
Семенов Ю.А. (ИТЭФ-МФТИ)
Yu. Semenov (ITEP-MIPT)
Пакет NETBIOS (см. также ftp://ietf.org/internet-drafts/draft-ietf-pppext-netbios-fcp-08.txt) создан для использования группой ЭВМ, поддерживает как режим сессий (работа через соединение), так и режим дейтограмм (без установления соединения). 16-и символьные имена объектов в netbios распределяются динамически. netbios имеет собственную dns, которая может взаимодействовать с интернетовской. Имя объекта при работе с NETBIOS не может начинаться с символа *.
Любая сессия начинается с netbios-запроса, задания ip-адреса и определения tcp-порта удаленного объекта, далее следует обмен NETBIOS-сообщениями, после чего сессия закрывается. Сессия осуществляет обмен информацией между двумя netbios-приложениями. Длина сообщения лежит в пределах от 0 до 131071 байт. Допустимо одновременное осуществление нескольких сессий между двумя объектами.
Типы оконечных узлов NETBIOS
IP-адрес может ассоциироваться с одним из указанных типов. B-узлы устанавливают связь со своим партнером посредством широковещательных запросов. P- и M-узлы для этой цели используют netbios сервер имен (NBNS) и сервер распределения дейтограмм (NBDD).
NetBeui
Протокол NBFCP
Для подключения терминальной системы к локальной сети или к другой терминальной системе разработан протокол NBFCP (NetBios frames control protocol, код поля протокола = 803F), который в свою очередь базируется на протоколе PPP.
Формат кадра протокола NBFCP показан на рис. 4.2.3.1.
Рис. 4.2.3.1. Формат кадра NBFCP
Поле тип содержит код 2, поле длина определяет размер заголовка, если длина=8, имя партнера отсутствует. Поле класс партнера идентифицирует тип системы отправителя (см. таблицу 4.2.3.1). Таблица возможных значений поля класс партнера приведена ниже. Поле имя партнера может иметь до 32 октетов.
Таблица 4.2.3.1 Коды класса партнера
Код класса | Описание |
1 | Зарезервировано |
2 | Сервер внешнего порта PPP NetBIOS |
3 | Зарезервировано |
4 | Сервер локального доступа PPP NetBIOS |
5 | Зарезервировано |
6 | Мост PPP NetBIOS |
7 | Зарезервировано |
8 | Терминальная система PPP |
Протокол WINS
Протокол WINS разработан компанией MicroSoft для операционной среды Windows и предназначен для расширения возможностей NetBIOS.
Рис. 4.2.3.2. Формат запроса WINS
В поле данных UDP-дейтограммы отклика располагается 2-байтовое поле идентификатора, аналогичного содержащемуся в пакете запроса. Далее следует поле флагов с длиной в два октета. Формат поля данных UDP-дейтограммы отклика показан на рис. 2.
Рис. 4.2.3.2. Формат отклика WINS
Поле флаги имеет следующую структуру:
0 _ _ _ | _ _ _ _ | Команда |
_ 000 | 0 _ _ _ | Запрос |
_ _ _ _ | _ _ 0 _ | Не укорочено |
_ _ _ _ | _ _ _ 0 | Рекурсия нежелательна |
_ _ _ _ | _ _ _ 0 | Рекурсия нежелательна |
1_ _ _ | _ _ _ _ | Отклик |
_ 000 | 0 _ _ _ | Запрос |
_ _ _ _ | _ _ 0 _ | Не укорочено |
_ _ _ _ | _ 1 _ _ | Официальный ответ |
Для поля флаги имени характерна следующая структура
0_ _ _ | _ _ _ _ | Уникальное имя NetBIOS |
_ 10 _ | _ _ _ _ | Узел М-типа |
_ _ _ _ | _ 1 _ _ _ | Активное имя |
_ _ _ _ | _ _ 0_ | Временное имя |
Для поля флагов имени группы характерно следующее назначение бит
1 _ _ _ | _ _ _ _ | Имя группы NetBIOS |
_ 10 _ | _ _ _ _ | Узел М-типа |
_ _ _ _ | _ 1 _ _ | Активное имя |
_ _ _ _ | _ _ 0_ | Временное имя |
Протокол WINS весьма удобен для сбора данных о МАС-адресах ЭВМ в многоранговой сети, где получить эти данные с помощью ARP-запросов невозможно. Какие-то данные можно извлечь из кэша маршрутизаторов или таблиц сетевых переключателей, если они доступны с помощью SNMP-запросов. Но WINS может дать больше данных, если рабочая станция использует операционную систему Windows. Так что, когда, скажем, программа Black ICE Defender пришлет вам MAC-адрес атакера, сидящего на другом континенте, не удивляйтесь, на помощь был призван протокол WINS.
Net BIOS
Введение
NetBIOS (Network Basic Input/Output System) — коммуникационный протокол для работы в локальных сетях. Был разработан фирмой Sytek Corporation по заказу IBM в 1983 году. Включает в себя интерфейс сеансового уровня (NetBIOS interface). Интерфейс NetBIOS представляет собой стандартный интерфейс разработки приложений (API) для обеспечения сетевых операций ввода/вывода и управления нижележащим транспортным протоколом.
NetBIOS может использовать в качестве транспортного протоколы TCP/IP, Net BEUI а также NWLink от Novell NetWare. При этом результирующий протокол может обозначаться соотвественно :
Имена NetBIOS
UNIQUE: имя может иметь только один адрес IP, назначенный для него. Может показаться, что на сетевом устройстве присутствуют многократные случаи одного и того же имени, но суффикс будет уникален, делая имя также полностью уникальным.
GROUP: нормальная группа; одиночное имя может существовать со многими адресами IP.
Multihomed: имя уникально, но из-за множественных сетевых интерфейсов на одном и том же компьютере, эта конфигурация необходима чтобы разрешить регистрацию. Максимальное число адресов – 25.
Регистрация_имени (Name registration) | Когда NBT-хост инициализируется, он регистрирует свое NetBIOS имя используя запрос на регистрацию имени. Регистрация может производится широковещательным сообщением или непосредственной пересылкой запроса на WINS сервер. Если регистрируемое имя уже существует, то хост или WINS сервер информируют хост, приславший запрос, о невозможности регистрации NetBIOS имени. В результате возникает ошибка инициализации имени. |
Поиск_имени (Name Discovery) | Поиск NetBIOS имени в локальной сети производится широковещательным сообщением или непосредственной пересылкой запроса на WINS сервер. Хост, зарегистрированный с этим именем, или WINS сервер, отвечают на запрос. |
Освобождение_имени (Name Release) | Освобождение имени осуществляется когда NetBIOS приложение или сервис заканчивают свою работу. После освобождения имя становится доступным для регистрации другим хостом. |
Разрешение NetBIOS имен
Разрешение имен NetBIOS – это процесс определения IP адреса хоста, по известному NetBIOS имени.
Схема разрешения NetBIOS имен в Windows
Пояснения к схеме :
1 – Имя длиной более 15 знаков или не соответствующее требованиям не является NetBIOS именем и предпринимается попытка его разрешения с помощью DNS сервера.
2 – Подробнее – на странице Тип Узла.
3 – Подробнее – на странице Файл Lmhosts.
4 – Разрешение проверки файла Lmhosts устанавливается так –
5 – Подробнее – на странице Файл Hosts.
6 – В настройках сетевого интерфейса должен быть указан адрес DNS сервера.
7 – Невозможно разрешить IP адрес. Компьютер с искомым именем не будет реагировать на обращение по NetBIOS имени. Обратиться к сетевым ресурсам данного компьютера возможно по его IP адресу, например – \\192.168.1.2
Что такое NetBIOS в Windows, как включить службу или приостановить её работу
Во время установки операционной системы Windows пользователем задаётся имя компьютера, к которому в дальнейшем будут обращаться программы, устройства, соединённые локальной сетью, веб-сервер, FTP и другие сетевые службы. Протокол NetBIOS крайне важен для работы системы, поэтому рекомендуется знать о его устройстве и выполняемых функциях, чтобы лучше понимать, как происходит обмен данными между процессами, приложениями или компьютерами.
NetBIOS – устройство и принцип работы
Windows использует данный интерфейс в качестве основной системы сетевого ввода-вывода, а также для возможности установки общего доступа к сетевым устройствам и файлам. Пакеты данных передаются по локальной сети через сеансы эталонной модели взаимодействия открытых систем, и через сетевые протоколы приложения могут обмениваться информацией по ним. Простыми словами, данная система является сетевым протоколом, предназначенным для работы в локальных сетях и обмена сведениями, значениями и другими данными внутри них. Начиная с Windows 2000 модуль поддержки NetBIOS через TCP/IP носит название NetBT.
По протоколу программы находят нужные им ресурсы, передают запросы на получение информации либо отдают собственные данные. Сперва открывается сессия с NetBIOS запросом, задаётся IP-адрес, система определяет подходящий порт для проведения конкретного типа операции (служба имён использует порт 137, дейтаграмм – 138, а сессий – 139), происходит обмен пакетами данных, когда поток прекращается – сессия закрывается. Одно сообщение может занимать до 131071 байт или 131 КБ. В одно время может быть установлено несколько уникальных сессий. NetBIOS адрес имеет следующий вид: IP.**.**.**.**, где под звёздочками – IP-адрес, а под IP – тип осуществляемой операции. Протокол использует собственные команды для проведения обмена данными (send, receive, call, remote program load, session status, reset, hang up, cancel и другие), а также особые примитивы для взаимодействия с дейтаграммами (receive datagram, send datagram, receive broadcast datagram, send broadcast datagram). Крайние узлы NetBIOS подразделяются на следующие типы:
В зависимости от IP-адреса, используется конкретный вид запроса, к примеру, для осуществления передачи данных узлами P- и M- будет использован NBNS сервер имён и NBDD сервер распределения дейтаграмм.
Службы NetBIOS
Для работы протокол использует NetBIOS-NS (служба имён), NetBIOS-SSN (сеансовая служба) и NetBIOS-DGM (служба рассылки дейтограмм). NS выполняет функцию регистрации и разрешения имён, DGM подходит для передачи данных без установки соединения, а последняя служба, SSN — передаёт пакеты с установлением соединения.
Протокол обеспечивает команды и поддержку следующих служб, предоставляя им доступ к сеансам эталонной модели взаимодействия открытых систем OSI:
Сперва служба имён осуществляет регистрацию имени приложения в NetBIOS, перед тем как запустить сеанс либо начать распространение дейтаграмм. Используются примитивы «add name» (регистрация имени), «add group name» (запись имени группы NetBIOS), «delete name» (удаление регистрации имени приложения либо группы), «find name» (поиск имени NetBIOS в сети).
Служба рассылки дейтаграмм работает на порту UDP 138 и отвечает за режим обмена без установки соединения. С помощью примитивов «send datagram» (отправка дейтаграммы на удалённое имя), «receive datagram» (переход в режим ожидания получения пакета), «send broadcast datagram» (отправка датаграммы всем зарегистрированным именам из сети NetBIOS), а также «receive broadcast datagram» (ожидание получения пакета данных из сессии отправки широковещательной дейтаграммы) – происходит обмен информацией без установленного соединения.
В сеансовом режиме используется SSN служба (TCP порт 139), которая позволяет установить соединение между двумя компьютерами и обмениваться сообщениями (охват сразу нескольких пакетов), а также отвечающая за обеспечение диагностики и исправления ошибок. Сеанс происходит с использованием данных типов примитивов:
Компьютер, инициирующий сеанс, должен отправить запрос Open, после чего должен запросить запуск сеанса с помощью Call. Принимающий отвечает на каждый передаваемый пакет положительно (ACK), либо отрицательно (NAK). Чтобы сессия была закрыта, компьютер, который не является инициирующим должен отправить запрос Hang Up на завершение и получить подтверждение от инициатора.
Запуск и отключение службы NetworkBIOS
Перед тем, как прекратить работу NetBIOS через TCP/IP, помните, что служба является относительно важной для компьютера и после проведения данной операции не сможет правильно функционировать возможность доступа к сетевому компьютеру по NetBIOS-имени. Если персональный компьютер подключен к сети, не рекомендуется отключать данную службу, чтобы не возникало ошибок.
Пользователи задаются вопросом, как узнать статус службы в Windows 10 (и других выпусках). Для того чтобы это сделать, необходимо вызвать системное приложение «Выполнить» при помощи комбинации Win + R, затем ввести в поле «Запустить» значение «services.msc» и нажать ОК. Для удобного поиска можете отсортировать список в алфавитном порядке, щёлкнув на колонку «Имя». Здесь необходимо найти интересующую службу, в нашем случае это «Модуль поддержки NetBIOS» через TCP/IP». Колонка «Состояние» отображает, запущена ли в текущий момент служба или нет. По умолчанию данный модуль находится в запущенном состоянии, если компьютер подключен к сети.
Чтобы отключить NetBIOS, необходимо щёлкнуть правой кнопкой мыши по соответствующему элементу в списке и выбрать пункт «Свойства» в контекстном меню. В настройках службы NetBIOS следует нажать на кнопку «Остановить», а затем установить тип запуска «Отключена» чуть выше (если нужно запустить, то должно быть выбрано «Вручную» либо «Автоматически). Примените изменения, после чего нажмите «ОК и закройте приложение «Службы». Теперь запустите редактор реестра, воспользовавшись комбинацией Win + R и запросив запуск «regedit.exe». Перейдите в каталог «HKEY_LOCAL_MACHINE/SYSTEM/CurrentControlSet/Services/lmhosts» и измените значение атрибута «Start» на «4» (2 – автоматически, 3 – вручную и 4 – отключить, выбирайте в соответствии с желаемым действием) и нажмите ОК, затем нажмите кнопку F5 на клавиатуре. Перезагрузите компьютер и удостоверьтесь, что NetBIOS больше не запускается автоматически.
Надеемся, вы разобрались с принципом работы этого важного сетевого протокола, ранее имевшего статус первой необходимости на каждом компьютере (сейчас это время прошло, теперь используется исключительно соединение Service Message Block или SMB). Если остались какие-либо вопросы, связанные с данной темой, либо возникли проблемы во время отключения сетевого компонента Windows – записывайте свои ответы в комментарии. Не забывайте и про рейтинг, оцените статью с помощью специальной формы.
Национальная библиотека им. Н. Э. Баумана
Bauman National Library
Персональные инструменты
NetBIOS
Communications protocol | |
Purpose | Работа в локальных сетях на персональных ЭВМ типа IBM PC |
---|---|
Developer(s) | Sytec Inc. |
Based on | В качестве транспортных протоколов используются TCP и UDP |
Port(s) | 137/TCP,UDP; 138/TCP,UDP; 139/TCP,UDP |
NetBIOS (Network Basic Input/Output System) — протокол для работы в локальных сетях на персональных ЭВМ типа IBM PC, разработан в виде интерфейса, который не зависит от фирмы-производителя. Он включает в себя интерфейс сеансового уровня (англ. NetBIOS interface), в качестве транспортных протоколов использует TCP и UDP. На базе интерфейса программирования NetBIOS созданы такие приложения, как Chat входящие в поставку Windows NT до сервера Notes для Windows. Microsoft Mail так же работает с NetBios для уведомления об отправке почты клиента.
Особенностью NetBIOS является возможность его работы поверх разных протоколов, самыми распространёнными/известными из которых являются NetBEUI, IPX и стек протоколов TCP/IP; причём если старые версии Windows ориентировались на более лёгкие в реализации и менее ресурсоёмкие NetBEUI и IPX, то современные Windows ориентируются на TCP/IP. При использовании NetBEUI и IPX NetBIOS сам обеспечивает надёжность доставки данных (функциональность SPX не использовалась), а при использовании TCP/IP надёжность доставки обеспечивает TCP, за что удостоился отдельного имени «NBT». [Источник 1]
Содержание
История создания
Интерфейс NetBIOS был разработан Sytec Inc. (сейчас Hughes LAN Systems) для Корпорации International Business Machines (IBM) в 1983.
NetBIOS был разработан для того, чтобы предоставить стандартизованный программный интерфейс между программными приложениями и сетевым оборудованием и сделать более легким процесс переноса приложений с системы на систему. Интерфейс включает пространство имен, которое в операционных системах фирмы Microsoft до сих пор служит для идентификации компьютеров в сети. Имя компьютера, назначаемое в системе Windows во время установки операционной системы, в действительности является именем NetBIOS так же, как и имена доменов и рабочих групп.
Принципы проектирования
NETBIOS лежит в основе большого набора существующих прикладных программ. Представляется желательным работать с этими прикладными программами в сетях TCP и расширить их применение от ПЭВМ до более мощных рабочих ЭВМ. Для поддержки этих прикладных программ, NETBIOS на основе TCP должен точно соответствовать услугам, предлагаемым существующими системами NETBIOS.
NETBIOS в Сети ПЭВМ IBM (IBM PC Network) имеет некоторые специфичные для данной реализации характеристики. Настоящий стандарт не собирается жестко регламентировать эти особенности.
При использовании стандартного протокола, вносить в него изменения нельзя.
Поддерживаемые средства
Протокол, определяемый данным стандартом, позволяет разработчику обеспечить все услуги NETBIOS, описанные в «Техническом руководстве IBM по Сети ПЭВМ».
Следующие средства не входят в этот список:
Протокол NetBEUI
NetBEUI (протокол расширенного пользовательского интерфейса базовой системы сетевого ввода/вывода) — протокол, дополняющий NetBIOS. Благодаря NetBEUI появилась возможность не только описывать программный уровень передачи данных, но и передавать их физически по сети, используя специальные встроенные механизмы этого протокола. Кроме того, значительно возросла надежность и скорость передачи данных.
В связи с тем, что NetBEUI использует для взаимодействия с другими системами пространство имен NetBIOS, а пространство имен не имеет встроенного механизма для идентификации и адресации сетей, NetBEUI не может осуществлять адресное взаимодействие с системами в других сетях. Это единственная причина, по которой NetBEUI является немаршрутизируемым протоколом.
Так как, протокол NetBEUI не поддерживает маршрутизацию в сети, это не позволяет эффективно использовать его скорость в глобальных сетях. Тем не менее, этот протокол является одним из основных компонентов NT-систем, и его установка происходит автоматически.
Сервисы
NetBIOS включает в себя три сервиса:
Сервис Имён
Имена NetBIOS имеют длину 16 байтов. Последний байт задействован для указания типа ресурса, который представляет имя. Первые 15 символов могут быть символами алфавита или цифрами. Пространство имен NetBIOS выполняет те же функции, что и IP-адреса, используемые стеком протоколов TCP/IP, и адреса сети и узла, присваиваемые протоколами IPX/SPX. Указанные адреса предоставляют собой уникальные идентификаторы для каждого компьютера в сети, исходя из чего, системы могут посылать однонаправленные сообщения непосредственно друг другу. По этой причине индивидуальные имена систем называются уникальными именами (uniquenames), в то время как имена NetBIOS, описывающие группы систем в целях обеспечения возможности осуществления групповой передачи, называются групповыми именами (groupnames).
Главное отличие между пространством имен NetBIOS и адресами TCP/IP и IPX/SPX заключается в том, что пространство имен NetBIOS плоское. Нет иерархии имен, делящей сеть на отдельные подсети. 32 бита, составляющие IP-адрес, разделяются на биты адреса сети и адреса узла, адреса IPX/SPX также изначально имеют аналогичное разбиение. В противовес этому, имя NetBIOS представляет собой просто имя и не содержит идентификационной информации о сети.
Сервис NetBIOS-DGM
Датаграмма — блок информации, передаваемый протоколом без предварительного установления соединения и создания виртуального канала. Любой протокол, не устанавливающий предварительное соединение (а также обычно не контролирующий порядок приёмо-передачи и дублирование пакетов), называется датаграммным протоколом. Таковы, например, протоколы Ethernet, IP, UDP и др. Название «датаграмма» было выбрано по аналогии со словом телеграмма. [2]
Сервис NetBIOS-SSN
Масштаб
Масштабом NETBIOS является группа компьютеров, которым известно зарегистрированное имя NETBIOS. Широковещательные и групповые операции с датаграммами NETBIOS должны охватывать весь масштаб NETBIOS.
Internet может поддерживать множественные, не пересекающиеся масштабы NETBIOS.
Каждый масштаб NETBIOS имеет «идентификатор масштаба». Этим идентификатором является символьная строка, отвечающая требованиям системы имен доменов к именам доменов.
Каждая разработка NETBIOS на TCP должна обеспечивать механизмы для управления используемыми идентификаторами масштаба.
Управление идентификаторами масштаба предполагает наличие дополнительных возможностей интерфейса NETBIOS, например, расширение интерфейса пользовательских услуг и прочее (скажем, параметры отладки узла). Природа подобных расширений не описывается настоящей спецификацией.
Стандарт описывает три типа оконечных узлов:
Любой адрес IP (Межсетевого протокола) может быть ассоциирован только с одним экземпляром вышеприведенных типов узлов.
Без предварительной загрузки адресно-именных таблиц, перед «участниками» NETBIOS стоит задача динамического распределения взаимных ссылок. Это может быть осуществлено посредством широковещательного или двухточечного обмена данными.
В-узлы используют широковещательные сообщения в локальной сети для обмена данными с одним или более реципиентов (получателей). Узлы Р и М используют спецпроцессор имен NETBIOS (NBNS) и спецпроцессор распределения дейтаграмм NETBIOS (NBDD) для этой же цели.
Оконечные узлы могут быть скомбинированы по различным топологиям; в любых топологиях их функции остаются прежними.
Широковещательные узлы
Широковещательные (или В-) узлы осуществляют коммуникацию, используя комбинацию дейтаграмм UDP (как широковещательных, так и направленных) и связей TCP. В широковещательной области В-узлы могут свободно взаимодействовать друг с другом. Широковещательной областью является отдельная «В-ЛВС» со связанными мостами носителями.
Двухточечные узлы
Двухточечные (или Р-) узлы осуществляют коммуникацию, используя только направленные дейтаграммы UDP и сеансы TCP. Р-узлы не выполняют ни генерацию, ни «прослушивание» (получение) широковещательных пакетов UDP. Однако, эти узлы предлагают услуги широковещательных и групповых сообщений, используя возможности, предоставляемые Спецпроцессором имен NETBIOS и Спецпроцессором распределения дейтаграмм NETBIOS (NBNS и NBDD соответственно).
Узлы смешанного режима
Узлы смешанного режима (М-узлы) представляют собой Р-узлы, которые обладают некоторыми характеристиками В-узлов. М-узлы используют как широковещательные, так и направленные («одноцелевые») сообщения. Широковещательные сообщения используются для экономии времени ответа, основываясь на предположении, что большинство ресурсов находятся скорее на местном широковещательном носителе, чем где-либо в сети Internet.
М-узлы основываются на спецпроцессоре имен и спецпроцессоре распределения датаграмм (NBNS и NBDD). Однако, если эти спецпроцессоры временно становятся недоступными, М-узлы могут продолжать работать в ограниченном режиме. [Источник 3]