Intel Pentium processor - технический обзор
Технический обзор
Заголовок NETBIOS
УСЛОВНЫЕ ОБОЗНАЧЕНИЯ:
SD - разделитель начала (8 бит)
AC - управление доступом (8 бит)
FC - управление кадром (8 бит)
DA - адрес назначения (48 бит)
SA - адрес источника (48 бит)
FCS - последовательность проверки кадра (32-битовый контроль
циклическим избыточным кодом)
ED - разделитель конца (8 бит)
FS - состояние кадра (8 бит)
DSAP - Точка доступа к сервису назначения (F0 для NETBIOS)
SSAP - Точка доступа к исходному сервису (F0 для NETBIOS)
CMD - команда NETBIOS
OPT1 - необязательные данные 1
OPT2 - необязательные данные 2
X/R - коррелятор передачи/ответа (4 байт)
Рис.3-11. Формат кадра NETBIOS в ЭКС Token-Ring.
Первые 16 бит кадра NETBIOS содержат длину заголовка NETBIOS,
включая само поле длины. Следующие 16 бит (2 байта) содержат шест-
надцатиричную величину EFFF, которая является разделитилем, указы-
вающим, что последующие данные предназначены для эмулятора NETBIOS.
Следующий байт является фактической функцией кадра NETBIOS. В ЭКС
Token-Ring функции с шестнадцатиричными величинами от 00 до 13 яв-
ляются несеансовыми кадрами, которые посылаются с использованием
непронумерованных (U) информационных кадров 802.2, в то время, как
функции с шестнадцатиричными величинами от 14 до 1F являются кадра-
ми сеансов, которые посылаются с использованием информационных (I)
кадров 802.2. Кадры U аналогичны дейтаграммам (замкнутые кадры без
номеров последовательности), в то время, как кадры I содержут номе-
ра последовательности и надежно передаются и получаются в ЭКС.
Следующие 8 бит (1 байт) является необязательным байтом данных
на определенную команду. Аналогично, следующие 2 байта представляют
собой необязателные байты данных на особую команду.
Следующие 4 байта в кадре являются коррелятором - один или два
номера в шестнадцатиричном диапазоне от 0001 до FFFF. Он использу-
ется для связывания (ассоциирования) полученных ответов с передава-
емыми запросами. Коррелятор передачи возвращается в ответе к данно-
му запросу (эта величина была получена как коррелятор ответа). Кор-
релятор ответа представляет собой ожидаемую величину (в поле кор-
релятора передачи), когда получается ответ на это сообщение.
Несеансовые кадры содержат 16-символьное имя назначения
NETBIOS, за которым следует 16-символьное имя источника. Сеансовые
кадры содержат 1-байтовый номер сеанса назначения, за которым сле-
дует 1-байтовый номер исходного сеанса.
Как Вы можете увидеть, несеансовые кадры имеют заголовок
NETBIOS общей длиной 43 байта, в то время как сеансовые кадры имеют
заголовок длиной 13 байт.
На рис.3-12 - 3.15 показаны кадры, которые используются в
эмуляторе NETBIOS ЭКС Token-Ring.
Следующие кадры используются для обеспечения функций управле-
ния именами.
------------------------------------------------------------------
! ! ! !
! ИМЯ КОМАНДЫ ! КОД ! ФУНКЦИЯ !
!---------------------!--------!---------------------------------!
! ! ! !
!ADD_GROUP_NAME_QUERY ! X'00' ! Проверяет наличие дубликата !
! ! ! имени группы в сети !
!----------------------------------------------------------------!
! ! ! !
!ADD_NAME_QUERY ! X'01' ! Проверяет наличие дубликата !
! ! ! имени в сети !
!----------------------------------------------------------------!
! ! ! !
!ADD_NAME_RESPONSE ! X'0D' ! Отрицательный ответ: добавляе- !
! ! ! мое имя является дубликатом !
!----------------------------------------------------------------!
! ! ! !
!NQAME_IN_CONFLICT ! X'02' ! Обнаружено дублирующееся имя !
! ! ! !
!----------------------------------------------------------------!
Рис. 3-12. Кадры управления именами NETBIOS в Token-Ring.
Следующие кадры используются для установки, поддержания и
завершения сеансов.
------------------------------------------------------------------
! ! ! !
! ИМЯ КОМАНДЫ ! КОД ! ФУНКЦИЯ !
!---------------------!--------!---------------------------------!
! ! ! !
!NAME_QUERY ! X'0A' ! Дает запрос на обнаружение !
! ! ! имени в сети !
!----------------------------------------------------------------!
! ! ! !
!NAME_RECOGNIZED ! X'OE' ! Имя узнано: ответ NAME_QUERY !
! ! ! !
!----------------------------------------------------------------!
! ! ! !
!SESSION_ALIVE ! X'1F' ! Удостоверивается в активности !
! ! ! сеанса !
!----------------------------------------------------------------!
! ! ! !
!SESSION_CONFIRM ! X'17' ! Квитирование SESSION_INITIALIZE !
! ! ! !
!----------------------------------------------------------------!
! ! ! !
!SESSION_END ! X'18' ! Завершение сеанса !
! ! ! !
!----------------------------------------------------------------!
! ! ! !
!SESSION_INITIALIZE ! X'19' ! Сеанс был установлен !
! ! ! !
------------------------------------------------------------------
Рис. 3-13. Кадры управления сеансами NETBIOS в Token-Ring.
Следующие кадры используются для передачи как сеансовых, так
несеансовых данных.
------------------------------------------------------------------
! ИМЯ КОМАНДЫ ! КОД ! ФУНКЦИЯ !
!---------------------!--------!---------------------------------!
! ! ! !
!DATA_ACK ! X'14' ! Квитирование DATA_ONLY_LAST !
! ! ! !
!----------------------------------------------------------------!
! ! ! !
!DATA_FIRST_MIDDLE ! X'15' ! Сообщение данных сеанса - первый!
! ! ! или средний кадр !
!----------------------------------------------------------------!
! ! ! !
!DATAGRAM ! X'08' ! Сгенерированная прикладной про- !
! ! ! граммой (ПП) дейтаграмма !
!----------------------------------------------------------------!
! ! ! !
!DATAGRAM_BROADCAST ! X'09' ! Сгенерированная ПП широковеща- !
! ! ! тельная дейтаграмма !
!----------------------------------------------------------------!
! ! ! !
!DATA_ONLY_LAST ! X'16' ! Сообщение данных сеанса - един- !
! ! ! ственный или последний кадр !
!----------------------------------------------------------------!
! ! ! !
!NO_RECEIVE ! X'1A' ! Нет команды получения для под- !
! ! ! держки получаемых данных !
------------------------------------------------------------------
! ! ! !
!RECEIVE_CONTINUE ! X'1C' ! Показывает ожидающую команду !
! ! ! получения (RECEIVE) !
!----------------------------------------------------------------!
! ! ! !
!RECEIVE_OUTSTANDING ! X'1B' ! Повторная передача последних !
! ! ! данных - ожидает команда RECEIVE!
------------------------------------------------------------------
Рис. 3-14. Кадры передачи данных NETBIOS в Token-Ring.
------------------------------------------------------------------
! ИМЯ КОМАНДЫ ! КОД ! ФУНКЦИЯ !
!---------------------!--------!---------------------------------!
! ! ! !
!STATUS_QUERY ! X'03' ! Дает запрос о состоянии !
! ! ! удаленного узла !
!----------------------------------------------------------------!
! ! ! !
!STATUS_RESPONSE ! X'OF' ! Информация о состоянии !
! ! ! удаленного узла !
!----------------------------------------------------------------!
! ! ! !
!TERMINATE_TRACE ! X'07' ! Завершает трассировку в !
! ! ! удаленных узлах !
!----------------------------------------------------------------!
! ! ! !
!TERMINATE_TRACE ! X'13' ! Завершает трассировку в местных !
! ! ! и удаленных узлах !
!----------------------------------------------------------------!
Рис. 3-15. Дополнительные кадры NETBIOS в Token-Ring.
20.05.2012