Все команды протокола NetBios можно разделить на пять групп:
· команды работы с именами,
· команды приема и передачи дейтограмм,
· команды работы с каналом связи,
· команды приема и передачи через каналы связи,
· другие команды.
Также команды делятся на два типа: команды, выполняемые с ожиданием, и команды, выполняемые в фоновом режиме.
Команды работы с именами – это команды, позволяющие добавлять или удалять обычные и групповые имена (табл. 15.2).
Таблица 15.2. Команды работы с именами
Назначение команды
Код команды
Заполняемые поля
выполнение с ожиданием
выполнение в фоновом режиме
Команда добавления обычного имени
30h
B0h
- код команды,
- имя данной станции.
Команда добавления группового имени
36h
B6h
- код команды,
- имя данной станции.
Команда удаления имени
31h
B1h
- код команды,
- имя данной станции.
Команды приема и передачи дейтограмм (табл. 15.3).
Таблица 15.3. Команды приема и передачи дейтограмм
Назначение команды
Код команды
Заполняемые поля
выполнение с ожиданием
выполнение в фоновом режиме
Команда передачи дейтограмм
20h
A0h
- код команды,
- номер имени станции,
- имя станции,
- адрес буфера,
- размер буфера,
- номер адаптера.
Команда приема дейтограмм
21h
A1h
- код команды,
- номер имени станции,
- адрес буфера,
- размер буфера.
Команда передачи широковещательных кадров
22h
A2h
Команда приема широковещательных кадров
23h
A3h
Если в поле номера имени станции поместить значение FF, то станция будет принимать кадры, адресованные любой другой станции и от любой другой станции, но широковещательные кадры в таком случае принять будет невозможно.
16. Использование протокола NetBios для передачи данных с подтверждением
При передаче данных с подтверждением в протоколе NetBios используются не адреса станций, а каналы связи. Для приема или передачи данных используются следующие команды:
· команды создания/удаления канала;
· команды приема/передачи данных;
· команды определения состояния каналов.
Канал создается двумя станциями, при этом одна станция находится в режиме приема, а другая – в режиме передачи. Для создания канала станция, находящаяся в режиме приема, должна быть переведена в состояние ожидания запроса на создание канала связи. Станция, которая будет передавать данные, должна сформировать запрос на создание канала связи.
В поле имени станции, с которой должен быть установлен канал связи, может быть записано не только обычное имя станции, но и групповое имя, то есть, можно установить канал связи сразу с несколькими станциями.
После выполнения команды поле «номер канала» будет содержать присвоенный номер канала. Этот номер необходимо использовать при дальнейшей передаче данных.
Команда готовности на установление канала связи выполняется станцией, с которой предыдущая команда пытается установить канал связи, но данная команда должна выполняться до выполнения команды создания канала связи.
Таблица 16.1. Команды создания и удаления канала связи
Назначение команды
Код команды
Заполняемые поля
выполнение с ожиданием
выполнение в фоновом режиме
Команда создания канала связи
10h
90h
- код команды,
- имя данной станции,
- имя станции, с которой должен быть установлен канал связи,
- интервал времени ожидания завершения команды приема,
- интервал времени ожидания завершения команды приема,
- номер сетевого адаптера,
- указатель на программу.
Команда готовности на установление
канала связи
11h
91h
- код команды
- имя данной станции,
- имя станции, с которой должен быть установлен канал связи,
- интервал времени ожидания завершения команды приема,
- интервал времени ожидания завершения команды приема,
- номер сетевого адаптера,
указатель на программу.