Одна из важнейших функций LAPD - нумерация кадров при передаче с подтверждением была рассмотрена на примере (рис. 3.9) в конце предыдущего параграфа. К описанию этой процедуры необходимо добавить лишь упоминание об одном важном параметре k. Как уже было отмечено, вследствие асинхронности передачи кадров в терминале может не быть кадра для обратной передачи к сети до того, как им будет получено несколько кадров. Когда такой кадр появляется, терминал вводит в него значение N(R), равное последнему принятому значению N(S), подтверждая тем самым прием всех ранее полученных кадров. Для того, чтобы ограничить число неподтвержденных квитируемых кадров, передатчик должен прекратить работу, когда разница между его собственным значением N(S) (числом переданных кадров I) и значением N(R) (числом подтвержденных кадров I) превысит параметр, обозначаемый k. Значение k устанавливается в соответствии со спецификой использования звена и скоростью передачи в нем: k=1 для сигнализации базового доступа BRA при скорости D-канала 16 Кбит/с, k=3 для пакетной передачи при скорости 16 Кбит/с, k=7 для сигнализации первичного доступа PRA при скорости D-канала 64 Кбит/с.
В случае, если кадр получен терминалом с ошибкой кадровой синхронизации и удален, сеть должна получить кадр со значением N(R), меньшим, чем текущее значение N(S). Кадр отказа (REJ), содержащий N(R), используется для запроса повторной передачи кадров I, начиная с номера, содержащегося в N(R), и, таким образом, подтверждает прием переданных кадров с номерами, меньшими этого номера. Такой процесс подтверждения приема нумерованных кадров применяется как на стороне сети, так и на стороне терминала.
Теперь рассмотрим полностью процедуру подтверждаемой передачи информации (рис. 3.10). Рассмотрим случай, когда необходимо начать передачу информации уровня 3 от терминала пользователя к сети. Инициатором данной процедуры является уровень 3 на стороне пользователя, который выдает примитив запроса соединения DISESTABLISH. Поэтому запросу уровень 2 на стороне пользователя формирует управляющий кадр установки расширенного асинхронного балансного режима (SABME - set asynchronous balanced mode extended). Кадр SABME пересылается к сети через уровень 1. При получении кадра SABME уровнем 2 на стороне сети проверяются условия, необходимые для установки режима подтверждаемой передачи информации (например, чтобы убедиться, что соответствующее оборудование доступно). Если все условия удовлетворены, уровень 2 на стороне сети посылает уровню 3 примитив индикации запроса соединения, чтобы указать, что устанавливается режим подтверждаемой передачи информации. Средствами уровня 2 сеть возвращает пользователю ненумерованное подтверждение. При получении этого подтверждения терминалом пользователя в уровень 3 на стороне пользователя передается примитив подтверждения установления соединения, указывающий, что можно начинать подтверждаемую передачу информации. Теперь между пользователем и сетью может происходить передача информации с помощью I-кадров.
Рис. 3.10. Процедуры подтверждаемой передачи информации
Эта информация направляется уровнем 3 к уровню 2 в примитиве запроса передачи данных DL_DATA. Данные включаются в информационное поле I-кадра и передаются от пользователя к сети через уровень 1. При получении уровнем 2 на стороне сети 1-кадра данные извлекаются из информационного поля и передаются к уровню 3 в примитиве индикации приема данных. В зависимости от содержимого полученного I-кадра сеть посылает в ответ пользователю либо I-кадр, либо управляющий кадр готовности к приему. Оба кадра содержат подтверждение, что I-кадр от пользователя был успешно принят.
Каждый I-кадр содержит в поле управления порядковые номера передачи и приема. Процедура обнаружения потерь работает в обоих направлениях. В качестве примера в конце предыдущего параграфа была рассмотрена передача необходимого сетевому уровню числа информационных кадров, включая передачу кадров 11,12 и 13. Когда обмен I-кадрами, показанный на рис. 3.9, заканчивается, осуществляется посылка команды разъединения DISC, за которой следует ответ DM, подтверждающий разъединение. На рис. 3.10 уровень 3 на стороне пользователя отправляет уровню 2 примитив запроса освобождения DL_RELEASE, а уровень 2 формирует кадр разъединения, который передается через уровень 1 уровню 2 на стороне сети. При получении кадра разъединения уровнем 2 на стороне сети уровню 3 выдается примитив индикации освобождения, а пользователю возвращается кадр ненумерованного подтверждения. При получении кадра ненумерованного подтверждения уровнем 2 на стороне пользователя уровню 3 выдается примитив подтверждения освобождения для завершения процедуры освобождения.
Процедура неподтверждаемой передачи информации также была описана в предыдущем параграфе, поэтому здесь проиллюстрируем ее простым примером. Рассмотрим случай, когда необходима передача информации от функций уровня 3 на стороне сети к функциям уровня 3 в терминале пользователя. Функции уровня 3 на стороне сети передают к уровню 2 примитив запроса передачи данных без подтверждения DL__UNIT DATA. Уровень 2 формирует кадр ненумерованной информации (UI - unnumbered information), содержащий в информационном поле информацию, которую надо передать. Этот кадр и передается через уровень 1 к функциям уровня 2 в терминале пользователя. Если требуется вещательная (циркулярная) передача кадра всем терминалам, TEI в адресном поле присваивается значение 127. Если же обращение происходит к одному определенному терминалу, т.е. необходим режим «точка-точка», тогда TEI присваивается значение в пределах 0-126, совпадающее с TEI, назначенным для этого терминала, например, ТЕ1=7. При получении кадра UI терминалом пользователя информация, содержащаяся в информационном поле, доставляется из уровня 2 в уровень 3 с помощью примитива индикации приема данных без подтверждения. При такой неподтверждаемой передаче информации в уровне 2 отсутствует процедура защиты от ошибок. Следовательно, решение о логическом восстановлении кадра в случае его потери или искажения возлагается на функции уровня 3.
Рассмотрим несколько подробнее использование управляющих кадров, приведенных в предыдущем параграфе: кадр готовности к приему RR, сообщающий о готовности принимать информационные кадры; кадр неготовности к приему RNR, сообщающий о том, что принимать информационные кадры временно нельзя, но прием управляющих кадров возможен; кадр отказа REJ, который указывает, что поступивший информационный кадр отброшен. На рис. 3.11 показаны несколько примеров [70], которые, в частности, иллюстрируют использование битов C/R, Р и F.
Рис. 3.11. Примеры процедур контроля звена передачи данных
В примере (а) уровень 2 на стороне сети получил информационный кадр с нарушением порядка очередности и отбрасывает его с помощью команды REJ, в которой бит Р имеет значение 0 (подтверждение не требуется). N(R) = M указывает, что последний принятый информационный кадр имел N(S) = М—1. Терминал повторяет передачу информационных кадров из своего буфера повторной передачи, начиная с кадра, для которого N(S) равен M.
Пример (б) относится к той же ситуации, за исключением того, что в командном кадре REJ бит Р = 1. Этим передается указание терминалу пользователя подтвердить кадр. Терминал пользователя сначала передает кадр ответа RR или RNR (C/R= 1, F=1), a затем начинает повторную передачу информационных кадров.
В примере (в) сетевая сторона указывает с помощью командного кадра RNR, что она не может принимать информационные кадры. Сторона пользователя приостанавливает передачу информационных кадров и запускает таймер. Если терминал получает кадр RR до срабатывания таймера, то он возобновляет передачу или повторную передачу информационных кадров. Если таймер сработал, а кадр RR не получен, терминал пользователя передает кадр команды (C/R=1) с Р = 1. Этим дается указание сетевой стороне передать, в свою очередь, командный кадр. В данном примере сетевая сторона отвечает кадром RR, указывая, что она готова снова принимать информационные кадры и что номер последнего принятого кадра N(S) = М-1. Затем сторона терминала возобновляет передачу информационных кадров, начиная ее кадром с номером N(S) = M. Если ответом сетевой стороны будет кадр RNR, то .сторона пользователя перезапустит свой таймер и снова будет ожидать кадр RR. Если сетевая сторона остается неготовой к приему после нескольких срабатываний таймера, то сторона пользователя передает решение вопроса в более высокую инстанцию - к соответствующей функции сетевого уровня.
Для LAPD определены процедуры управления TEI, то есть процедуры его назначения, контроля и отмены. Для соединений «точка-точка» в терминале (рис. 3.12) запоминается «свой» TEI и проверяется TEI в поле адреса принимаемых кадров, чтобы определить, не предназначен ли кадр этому терминалу. Терминал также вводит свой TEI в адресные поля передаваемых им кадров.
Терминалы (ТЕ) подразделяются на терминалы с неавтоматическим и автоматическим механизмом назначения TEI. ТЕ первого типа ориентированы на длительное подключение к одной цифровой абонентской линии, с постоянно активным физическим уровнем. Эти терминалы имеют ряд переключателей, положение которых определяет значение TEI. Переключатели устанавливаются техническим персоналом при инсталляции ТЕ, и их положение не меняется, пока ТЕ подключен к этой цифровой абонентской линии. ТЕ такого типа могут иметь значения TEI в диапазоне 0-63.
Автоматическое присвоение TEI применяется в тех случаях, когда используются процедуры активизации/деактивизации уровня 1 интерфейса «пользователь-сеть» (при деактивизации физического уровня TEI сбрасывается), или когда терминальное оборудование работает непостоянно (например, PC со встроенной платой BRI, периодически включаемая владельцем), или если оборудование часто переключается с одной АЛ на другую. Менять величину TEI вручную при каждом перемещении неудобно, поэтому для мобильных ТЕ применяется автоматическое назначение TEI (в диапазоне 64—126), а также его проверка и отмена, для чего и используются упомянутые выше процедуры управления TEI. Этими процедурами предусмотрены сообщения следующих типов:
Запрос-ID. Сообщение передается мобильным ТЕ, когда требуется, чтобы сеть назначила для него TEI.
ID-назначен. Это ответ сети на запрос-ID. Он содержит назначенный TEI.
Отказ-в-назначении- ID. Это ответ сети, отвергающий запрос-ID.
Запрос-проверки ID. Это команда от сети для проверки назначенной величины TEI.
Ответ-проверки-ID. Это ответ мобильного ТЕ на запрос-проверки-ID.
Отмена-ID. Эта команда передается от сети к ТЕ, чтобы отменить назначенный ранее TEI.
Все сообщения передаются в кадрах UI с SAPI = 63. Информационное поле кадров UI показано на рис. 3.12. Код в байте 1 указывает, что это сообщение управления TEI. Код типа сообщения находится в байте 4 (табл. 3.5). Сообщение содержит параметры Ri (ссылочный номер) и Ai (индикатор действия).
Рис. 3.12. Сообщение управления TEI
Теперь более внимательно рассмотрим процедуры назначения, проверки и отмены TEI.
Процедура назначения TEI дает возможность оборудованию пользователя, имеющему категорию «мобильный», получить от сети номер TEI, который сможет быть использован при последующих соединениях.
Процедура назначения показана на рис. 3.13,а. Когда мобильный ТЕ подсоединяется к S-интерфейсу, он автоматически посылает запрос ID. Поскольку терминальное оборудование не имеет TEI, то, чтобы идентифицировать себя, оно генерирует произвольный ссылочный номер (Ri). ТЕ может запросить сеть назначить для него конкретный TEI, указав этот TEI в поле Ai, или может оставить право выбора TEI за сетью, поместив в это поле Ai=127.
Для каждой цифровой абонентской линии сеть поддерживает список мобильных TEI в диапазоне 64—126. При получении от некоторого S-интерфейса сообщения «запрос ID» сеть обращается к соответствующему списку. Если она может назначить TEI, то по данной шине S-интерфейса в вещательном режиме передается сообщение «ID-назначен», в котором величина Ri копируется из сообщения «запрос-ID», а назначенный TEI помещается в поле Ai.
Рис. 3.13. Процедуры управления TEI: (а) - назначение TEI; (б) - проверка TEI
Все ТЕ, подключенные к этой S-шине, проверяют сообщение, но только ТЕ, который послал запрос, опознает свое Ri и воспринимает назначенный TEI. Такая процедура позволяет двум или более ТЕ, подключенным к одной и той же S-шине, посылать запросы-ID одновременно.
Если сеть не может удовлетворить запрос-ID из-за того, что запрошенный TEI уже есть в списке назначенных для данного интерфейса, или из-за того, что все TEI в диапазоне 64—126 уже назначены, она передает по S-шине этого интерфейса в вещательном режиме сообщение «отказ-в-назначении-ID», снова копируя Ri из принятого запроса. После этого ТЕ информирует своего пользователя о том, что его запрос на назначение TEI был отвергнут.
Процедура проверки TEI позволяет сети проконтролировать список мобильных TEI, назначенных для конкретного интерфейса (рис.3.13,б). Сеть передает к этому интерфейсу в вещательном режиме сообщение «запрос-проверки-ID», поместив в поле Ai проверяемый TEI, а в поле Ri — нулевое значение. При этом сеть запускает таймер на 200 мс. Если среди подключенных к данному интерфейсу найдется ТЕ, имеющий TEI, который совпадает с Ai, он отвечает сообщением «ответ-проверки-ID», содержащим произвольно выбранное Ri и принятое Ai.
В нормальных условиях сеть принимает до срабатывания таймера одно сообщение «ответ-проверки-ID», что указывает на наличие единственного ТЕ с данным TEI. Если таймер сработал, а ответ не получен, сеть повторяет запрос-проверки-ID и перезапускает таймер. Если таймер снова срабатывает до получения ответа, сеть считает, что данный TEI больше не используется, удаляет его из списка TEI, назначенных для данного интерфейса, и составляет отчет для обслуживающего персонала.
Если сеть получает более одного ответа на «запрос-проверки-ID», это означает, что один и тот же TEI ошибочно присвоен более чем одному ТЕ. В этом случае сеть передает в вещательном режиме команду «отмена-ID» с указанием в поле Ai отменяемого TEI. Те терминалы, TEI которых согласуются с Ai, прекращают передачу и прием кадров и уведомляют своего пользователя об отмене TEI. Если сеть решает, что значение TEI должно быть отменено, вызывается процедура отмены. Сеть формирует кадр, содержащий тип сообщения и поле индикатора действия, где помещается значение TEI, которое должно быть отменено. Кадр посылается дважды для уменьшения риска потери.