Протоколы уровня 2 (LAPD - Link Access Procedure on the D-channel) как базового, так и первичного доступа определены в рекомендациях ITU-T 1.440 (основные аспекты) и 1.441 (подробные спецификации). Эти же рекомендации в серии Q имеют номера Q.920 и Q.921. Обмен информацией на уровне LAPD осуществляется посредством информационных блоков, называемых кадрами и схожих с сигнальными единицами ОКС- 7.
Сформированные на уровне 3 сообщения помещаются в информационные поля кадров, не анализируемые уровнем 2. Задачи уровня 2 заключаются в переносе сообщений между пользователем и сетью с минимальными потерями и искажениями. Форматы и процедуры уровня 2 основываются на протоколе управления звеном передачи данных высокого уровня HDLC (High-level Data-Link Control procedures), первоначально определенном Международной организацией по стандартизации ISO и образующем подмножество других распространенных протоколов: LAPB, LAPV5 и др. Протокол LAPD, также входящий в подмножество HDLC, управляет потоком кадров, передаваемых по D-каналу, и предоставляет информацию, необходимую для управления потоком и исправления ошибок.
Рис. 3.8. Формат кадра
Кадры могут содержать либо команды на выполнение действий, либо ответы, сообщающие о результатах выполнения команд, что определяется специальным битом идентификации команда/ответ C/R. Общий формат кадров LAPD показан на рис. 3.8.
Каждый кадр начинается и заканчивается однобайтовым флагом. Комбинация флага (0111 1110) такая же, как в ОКС-7. Имитация флага любым другим полем кадра исключается благодаря запрещению передачи последовательности битов, состоящей из более чем пяти следующих друг за другом единиц. Это достигается с помощью специальной процедуры, называемой «бит-стаффингом» (bit-stuffing), которая перед передачей кадра вставляет ноль после любой последовательности из пяти единиц, за исключением флага. При приеме кадра любой ноль, обнаруженный следом за последовательностью из пяти единиц, изымается.
Адресное поле (байты 2 и 3) кадра на рис. 3.8 содержит идентификатор точки доступа к услуге SAPI (Service Access Point Identifier) и идентификатор терминала TEI (Terminal Equipment Identifier) и используется для маршрутизации кадра к месту его назначения. Эти идентификаторы, уже упоминавшиеся в первом параграфе данной главы, определяют соединение и терминал, к которым относится кадр.
Идентификатор пункта доступа к услуге SAPI занимает 6 битов в адресном поле и фактически указывает, какой логический объект сетевого уровня должен анализировать содержимое информационного поля. Например, SAPI может указывать, что содержимое информационного поля относится к процедурам управления соединениями в режиме коммутации каналов или к процедурам пакетной коммутации. Рекомендацией Q.921 определены значения SAPI, приведенные в табл. 3.1.
Таблица 3.1. Значения SAPI
SAPI |
Функция |
0 |
Управление соединением ISDN (коммутация каналов) |
1 |
Пакетная коммутация по Q.931 |
16 |
Пакетная коммутация Х.25 |
63 |
Управление уровнем 2 |
Идентификатор TEI указывает терминальное оборудование, к которому относится сообщение. Код ТЕ1=127 (1111111) указывает на вещательную (циркулярную) передачу информации всем терминалам, связанным с данной точкой доступа. Остальные значения (0—126) используются для идентификации терминалов. Диапазон значений TEI (табл.3.2) разделяется между теми терминалами, для которых TEI назначает сеть (автоматическое назначение TEI), и теми, для которых TEI назначает пользователь (неавтоматическое назначение TEI).
Таблица 3.2. Значения TEI
TEI |
Назначение |
0-63 |
Неавтоматическое назначение TEI |
64-126 |
Автоматическое назначение TEI |
127 |
Вещательный режим |
При подключении УПАТС (представляющей собой функциональный блок NT2) кАТС ISDN общего пользования с использованием интерфейса PRI в соответствии с требованиями стандартов ETSI, принятых и в России, ТЕ1=0. В этом случае процедуры назначения TEI не применяются.
Бит идентификации команды/ответа C/R (Command/Response bit) в адресном поле перенесен в DSS-1 из протокола Х.25. Этот бит устанавливается LAPD на одном конце и обрабатывается на противоположном конце звена. Значение C/R (табл.3.3) классифицирует каждый кадр как командный или как кадр ответа. Если кадр сформирован как команда, адресное поле идентифицирует получателя, а если кадр является ответом, адресное поле идентифицирует отправителя. Отправителем или получателем могут быть как сеть, так и терминальное оборудование пользователя.
Таблица 3.3. Биты C/R в поле адреса
Кадры, передаваемые |
Кадры, передаваемые |
|
сетью |
терминалом |
|
Командный кадр |
C/R=1 |
C/R=0 |
Кадр ответа |
C/R=0 |
C/R=1 |
Бит расширения адресного поля ЕА (Extended address bit) служит для гибкого увеличения длины адресного поля. Бит расширения в первом байте адреса, имеющий значение 0, указывает на то, что за ним следует другой байт. Бит расширения во втором байте, имеющий значение 1, указывает, что этот второй байт в адресном поле является последним. Именно такой вариант приведен на рис. 3.8. Если впоследствии возникнет необходимость увеличить размер адресного поля, значение бита расширения во втором байте может быть изменено на 0, что будет указывать на существование третьего байта. Третий байт в этом случае будет содержать бит расширения со значением 1, указывающим, что этот байт является последним. Увеличение размера адресного поля, таким образом, не влияет на остальную часть кадра.
Два последних байта в структуре кадра на рис. 3.8 содержат 16-битовое поле проверочной комбинации кадра FCS (Frame check sequence) и генерируются уровнем звена данных в оборудовании, передающем кадр. Это поле имеет ту же функцию, что и поле СВ (контрольные биты) в сигнальных единицах ОКС-7 (глава 10 тома 1), и позволяет LAPD обнаруживать ошибки в полученном кадре. В поле FSC передается 16-битовая последовательность, биты которой формируются как дополнение для суммы (по модулю 2), в которой: а) первым слагаемым является остаток от деления (по модулю 2) произведения хk(x15+x14+…+x+1) на образующий полином (х16+х12+х5+), где k - число битов кадра между последним битом открывающего флага и первым битом проверочной комбинации, исключая биты, введенные для обеспечения прозрачности;
б) вторым слагаемым является остаток от деления (по модулю 2) на этот образующий полином произведения х16 на полином, коэффициентами которого являются биты кадра, расположенные между последним битом открывающего флага и первым битом проверочной комбинации, исключая биты, введенные для обеспечения прозрачности. Обратное преобразование выполняется уровнем звена данных в оборудовании, принимающем кадр, с тем же образующим полиномом для адресного поля, полей управления, информационного и FCS. Протокол LAPD использует соглашение, по которому остаток от деления (по модулю 2) произведения х16 на полином, коэффициентами которого являются биты перечисленных полей и FCS, всегда составляет 0001110100001111 (десятичное 7439), если на пути от передатчика к приемнику никакие биты не были искажены. Если результаты обратного преобразования соответствуют проверочным битам, кадр считается переданным без ошибок. Если же обнаружено несоответствие результатов, это означает, что при передаче кадра произошла ошибка.
Поле управления указывает тип передаваемого кадра и занимает в различных кадрах один или два байта. Существует три категории форматов, определяемых полем управления: передача информации с подтверждением (1-формат), передача команд, реализующих управляющие функции (S-формат), и передача информации без подтверждения (U-формат). Табл. 3.4, являющаяся ключевой в этом параграфе, содержит сведения об основных типах кадров протокола DSS-1.
Рассмотрим эти типы несколько подробнее.
Информационный кадр (I) сопоставим со значащей сигнальной единицей MSU в ОКС-7 (параграф 10.2 первого тома). С помощью 1-кадров организуется передача информации сетевого уровня между терминалом пользователя и сетью. Этот кадр содержит информационное поле, в котором помещается сообщение сетевого уровня. Поле управления 1-формата содержит порядковый номер передачи, который увеличивается на 1 (по модулю 128) каждый раз, когда передается кадр. При подтверждении приема 1-кадров в поле управления вводится порядковый номер приема. Процедура организации порядковых номеров рассматривается в следующем параграфе данной главы.
Управляющий кадр (S) используется для поддержки функций управления потоком и запроса повторной передачи. S-кадры не имеют информационного поля и сравнимы с сигнальными единицами состояния звена LSSU в ОКС-7 (параграф 10.2 первого тома). Например, если сеть временно не в состоянии принимать 1-кадры, пользователю посылается S-кадр «к приему не готов» (RNR). Когда сеть снова сможет принимать 1-кадры, она передает другой S-кадр — «к приему готов» (RR). S-кадр также может ис пользоваться для подтверждения и содержит в этом случае порядковый номер приема, а не передачи.
Управляющие кадры можно передавать или как командные, или как кадры ответа.
Ненумерованный кадр (U) не имеет аналогов в ОКС-7. В этой группе имеется кадр ненумерованной информации (UI), единственный из группы содержащий информационное поле и несущий сообщение сетевого уровня. U-кадры используются для передачи информации в режиме без подтверждения и для передачи некоторых административных директив. Чтобы транслировать сообщение ко всем ТЕ, подключенным к шине S-интерфейса, станция передает кадр UI с ТЕ1=127. Поле управления U-кадров не содержит порядковых номеров.
Как следует из вышеизложенного, информационное поле имеется в кадрах только некоторых типов и содержит информацию уровня 3, сформированную одной системой, например, терминалом пользователя, которую требуется передать другой системе, например, сети. Информационное поле может быть пропущено, если кадр не имеет отношения к конкретной коммутируемой связи (например, в управляющих кадрах, S-формат). Если кадр относится к функционированию уровня 2 и уровень 3 не участвует в его формировании, соответствующая информация включается в поле управления.
Биты P/F (poll/final) поля управления идентифицируют группу кадров (из табл. 3.4), что также заимствовано из спецификаций протокола Х.25. Путем установки в 1 бита Р в командном кадре функции LAPD на одном конце звена данных указывают функциям LAPD на противоположном конце звена на необходимость ответа управляющим или ненумерованным кадром. Кадр ответа с F=1 указывает, что он передается в ответ на принятый командный кадр со значением Р= 1. Оставшиеся биты байта 4 идентифицируют конкретный тип кадра в пределах группы.
И в заключение данного параграфа, с учетом уже детально проанализированной структуры кадра уровня 2 протокола DSS-1, еще раз рассмотрим оба способа передачи кадров: с подтверждением и без подтверждения.
Передача с подтверждением. Этот способ используется только в соединениях звена данных, имеющих конфигурацию «точка-точка», для передачи информационных кадров. Он обеспечивает исправление ошибок путем повторной передачи и доставку не содержащих ошибок сообщений в порядке очередности. Этот способ подобен основному методу защиты от ошибок при передаче значащих сигнальных единиц MSU в системе ОКС-7.
Поле управления информационного кадра имеет подполя «номер передачи» [N(S)] и «номер приема» [N(R)]« Эти подполя сопоставимы с полями FSN, BSN в сигнальных единицах MSU системы ОКС-7 (параграф 10.2 первого тома). Протокол LAPD присваивает возрастающие порядковые номера передачи N(S) последовательно передаваемым информационным кадрам, а именно: N(S)=0, 1, 2,... 127, 0, 1,... и т.д. Он также записывает передаваемые кадры в буфер повторной передачи и хранит эти кадры в буфере вплоть до получения положительного подтверждения их приема.
Рассмотрим передачу информационных кадров от терминала к сети (рис. 3.9). Все поступающие к сети кадры проверяются на наличие ошибок, а затем в свободных от ошибок информационных кадрах проверяется порядковый номер. Если величина N(S) выше (по модулю 128) на единицу, чем N(S) последнего принятого информационного кадра, новый кадр считается следующим по порядку и потому принимается, а его информационное поле пересылается конкретной функции сетевого уровня. После этого сеть подтверждает прием информационного кадра своим исходящим кадром с номером приема [N(R)], значение которого на единицу больше (по модулю 128), чем значение N(S) в последнем принятом информационном кадре.
Рис. 3.9. Исправление ошибок в информационном кадре
Предположим, что последний принятый информационный кадр имел номер N(S)= 11 и что информационный кадр с номером N(S)=12 передан с ошибкой, в результате которой отбракован функциями LAPD на стороне сети. Следующий информационный кадр с N(S)= 13 успешно проходит проверку на ошибки, но поступает к сети с нарушением очередности и отбрасывается ею при проверке порядка следования. Тогда сеть передает кадр отказа (REJ) с номером N(R)=12, который запрашивает повторную передачу информационных кадров из буфера повторной передачи терминала, начиная с кадра с N(S)=12. Сетевая сторона продолжает отбрасывать информационные кадры при проверке их на порядок следования, пока не примет повторно переданный кадр с номером N(S)=12.
Два потока сообщений от терминала к сети и в обратном направлении для этого соединения «точка-точка» независимы друг от друга и от потоков сообщений в других соединениях «точка-точка» в том же D-канале. В D-канале с n соединениями типа «точка-точка» могут присутствовать 2n независимых последовательностей N(S)/N(R).
Передача неподтверждаемых сообщений. Управляющие кадры S и ненумерованные кадры U не содержат подполя N(S). Они принимаются, если получены без ошибок, и не подтверждаются. Управляющие кадры содержат поле N(R) для подтверждения принятых информационных кадров.
Ненумерованные информационные кадры UI не содержат ни поля N(S), ни поля N(R), поскольку они передаются в вещательном режиме с ТЕ1=127, а возможность координировать порядковые номера передачи и приема для групповых функций во всех терминалах, подключенных к одному S-интерфейсу, отсутствует.