|
3.2.2. Структура кадров
LLC. Процедура с восстановлением кадров LLC2
По своему назначению все кадры
уровня LLC (называемые в стандарте 802.2
блоками данных - Protocol Data Unit, PDU)
подразделяются на три типа - информационные,
управляющие и ненумерованные.
Информационные кадры (Information)
предназначены для передачи информации в
процедурах с установлением логического
соединения LLC2 и должны обязательно
содержать поле информации. В процессе
передачи информационных блоков
осуществляется их нумерация в режиме
скользящего окна.
Управляющие кадры (Supervisory)
предназначены для передачи команд и
ответов в процедурах с установлением
логического соединения LLC2, в том числе
запросов на повторную передачу искаженных
информационных блоков.
Ненумерованные кадры (Unnumbered)
предназначены для передачи ненумерованных
команд и ответов, выполняющих в процедурах
без установления логического соединения
передачу информации, идентификацию и
тестирование LLC-уровня, а в процедурах с
установлением логического соединения LLC2 -установление
и разъединение логического соединения, а
также информирование об ошибках. Все типы
кадров уровня LLC имеют единый формат:
Кадр LLC обрамляется двумя
однобайтовыми полями «Флаг», имеющими
значение 01111110. Флаги используются на уровне
MAC для определения границ кадра LLC. В
соответствии с многоуровневой структурой
протоколов стандартов IEEE 802, кадр LLC
вкладывается в кадр уровня MAC: кадр Ethernet, Token
Ring, FDDI и т. д. При этом флаги кадра LLC
отбрасываются.
Кадр LLC содержит поле данных и
заголовок, который состоит из трех полей:
адрес точки входа службы
назначения (Destination Service Access Point, DSAP);
адрес точки входа службы
источника (Source Service Access Point, SSAP);
управляющее поле (Control).
Поле данных кадра LLC
предназначено для передачи по сети пакетов
протоколов вышележащих уровней - сетевых
протоколов IP, IPX, AppleTalk, DECnet, в редких случаях
- прикладных протоколов, когда те
вкладывают свои сообщения непосредственно
в кадры канального уровня. Поле данных
может отсутствовать в управляющих кадрах и
некоторых ненумерованных кадрах.
Адресные поля DSAP и SSAP занимают
по 1 байту. Они позволяют указать, какая
служба верхнего уровня пересылает данные с
помощью этого кадра. Программному
обеспечению узлов сети при получении
кадров канального уровня необходимо
распознать, какой протокол вложил свой
пакет в поле данных поступившего кадра,
чтобы передать извлеченный из кадра пакет
нужному протоколу верхнего уровня для
последующей обработки. Для идентификации
этих протоколов вводятся так называемые
адреса точки входа службы (Service Access Point, SAP).
Значения адресов SAP приписываются
протоколам в соответствии со стандартом
802.2. Например, для протокола IP значение SAP
равно 0х6, для протокола NetBIOS -0*F0. Для одних
служб определена только одна точка входа и,
соответственно, только один SAP, а для других
- несколько, когда адреса DSAP и SSAP совпадают.
Например, если в кадре LLC значения DSAP и SSAP
содержат код протокола IPX, то обмен кадрами
осуществляется между двумя IPX-модулями,
выполняющимися в разных узлах. Но в
некоторых случаях в. кадре LLC указываются
различающиеся DSAP и SSAP. Это возможно только в
тех случаях, когда служба имеет несколько
адресов SAP, что может быть использовано
протоколом узла отправителя в специальных
целях, например для уведомления узла
получателя о переходе протокола-отправителя
в некоторый специфический режим работы.
Этим свойством протокола LLC часто
пользуется протокол NetBEUI.
Поле управления (1 или 2 байта)
имеет сложную структуру при работе в режиме
LLC2 и достаточно простую структуру при
работе в режиме LLC1 (рис. 3.2).
Рис. 3.2. Структура поля управления
В режиме LLC1 используется только
один тип кадра - ненумерованный. У этого
кадра поле управления имеет длину в один
байт. Все подполя поля управления
ненумерованных кадров принимают нулевые
значения, так что значимыми остаются только
первые два бита поля, используемые как
признак типа кадра. Учитывая, что в
протоколе Ethernet при записи реализован
обратный порядок бит в байте, то запись поля
управления кадра LLC1, вложенного в кадр
протокола Ethernet, имеет значение 0х03 (здесь и
далее префикс Ох обозначает
шестнадцатеричное представление).
В режиме LLC2 используются все три
типа кадров. В этом режиме кадры делятся на
команды и ответы на эти команды. Бит P/F (Poll/Final)
имеет следующее значение: в командах он
называется битом Poll и требует, чтобы на
команду был дан ответ, а в ответах он
называется битом Final и говорит о том, что
ответ состоит из одного кадра.
Ненумерованные кадры
используются на начальной стадии
взаимодействия двух узлов, а именно стадии
установления соединения по протоколу LLC2.
Поле М ненумерованных кадров определяет
несколько типов команд, которыми
пользуются два узла на этапе установления
соединения. Ниже приведены примеры
некоторых команд.
Установить сбалансированный
асинхронный расширенный режим (SABME). Эта
команда является запросом на установление
соединения. Она является одной из команд
полного набора команд такого рода
протокола HDLC. Расширенный режим означает
использование двухбайтных полей
управления для кадров остальных двух типов.
Ненумерованное подтверждение (UA). Служит для
подтверждения установления или разрыва соединения.
Сброс соединения (REST). Запрос на разрыв соединения.
После установления соединения
данные и положительные квитанции начинают
передаваться в информационных кадрах.
Логический канал протокола LLC2 является
дуплексным, так что данные могут
передаваться в обоих направлениях. Если
поток дуплексный, то положительные
квитанции на кадры также доставляются в
информационных кадрах. Если же потока
кадров в обратном направлении нет или же
нужно передать отрицательную квитанцию, то
используются супервизорные кадры.
В информационных кадрах имеется
поле N(S) для указания номера отправленного
кадра, а также поле N(R) для указания номера
кадра, который приемник ожидает получить от
передатчика следующим. При работе
протокола LLC2 используется скользящее окно
размером в 127 кадров, а для их нумерации
циклически используется 128 чисел, от 0 до 127.
Приемник всегда помнит номер
последнего кадра, принятого от передатчика,
и поддерживает переменную с указанным
номером кадра, который он ожидает принять
от передатчика следующим. Обозначим его
через V(R). Именно это значение передается в
поле N(R) кадра, посылаемого передатчику.
Если в ответ на этот кадр приемник
принимает кадр, в котором номер посланного
кадра N(S) совпадает с номером ожидаемого
кадра V(R), то такой кадр считается
корректным (если, конечно, корректна его
контрольная сумма). Если приемник принимает
кадр с номером N(S), неравным V(R), то этот кадр
отбрасывается и посылается отрицательная
квитанция Отказ (REJ) с номером V(R). При
приеме отрицательной квитанции передатчик
обязан повторить передачу кадра с номером V(R),
а также всех кадров с большими номерами,
которые он уже успел отослать, пользуясь
механизмом окна в 127 кадров.
В состав супервизорных кадров
входят следующие:
Отказ (REJect);
Приемник не готов (Receiver Not Ready, RNR);
Приемник готов (Receiver Ready, RR).
Команда RR с номером N(R) часто
используется как положительная квитанция,
когда поток данных от приемника к
передатчику отсутствует, а команда RNR -для
замедления потока кадров, поступающих на
приемник. Это может быть необходимо, если
приемник не успевает обработать поток
кадров, присылаемых ему с большой скоростью
за счет механизма окна. Получение кадра RNR
требует от передатчика полной приостановки
передачи, до получения кадра RR. С помощью
этих кадров осуществляется управление
потоком данных, что особенно важно для
коммутируемых сетей, в которых нет
разделяемой среды, автоматически
тормозящей работу передатчика за счет того,
что новый кадр нельзя передать, пока
приемник не закончил прием предыдущего.
|