90 Глава 3
Предположим, что последний принятый информационный кадр имел номер N(S)== 11 и что информационный кадр с номером N(S)=12 передан с ошибкой, в результате которой отбракован функциями LAPD на стороне сети. Следующий информационный кадр с N(S)= 13 успешно проходит проверку на ошибки, но поступает к сети с нарушением очередности и отбрасывается ею при проверке порядка следования. Тогда сеть передает кадр отказа (REJ) с номером N(R)=12, который запрашивает повторную передачу информационных кадров из буфера повторной передачи терминала, начиная с кадра с N(S)=12. Сетевая сторона продолжает отбрасывать информационные кадры при проверке их на порядок следования, пока не примет повторно переданный кадр с номером N(S)= 12.
Два потока сообщений от терминала к сети и в обратном направлении для этого соединения «точка—точка» независимы друг от друга и от потоков сообщений в других соединениях «точка-точка» в том же D-канале. В D-канале с n соединениями типа «точка—точка» могут присутствовать 2п независимых последовательностей N(S)/N(R).
Передача неподтверждаемых сообщений. Управляющие кадры S
иненумерованные кадры U не содержат подполя N(S). Они принимаются, если получены без ошибок, и не подтверждаются. Управляющие кадры содержат поле N(R) для подтверждения принятых информационных кадров.
Ненумерованные информационные кадры UI не содержат ни поля N(S), ни поля N(R), поскольку они передаются в вещательном режиме с ТЕ1==127, а возможность координировать порядковые номера передачи
иприема для групповых функций во всех терминалах, подключенных к одному S-интерфейсу, отсутствует.
3.4. УРОВЕНЬ LAPD: ПРОЦЕДУРЫ
Одна из важнейших функций LAPD — нумерация кадров при передаче с подтверждением была рассмотрена на примере (рис. 3.9) в конце предыдущего параграфа. К описанию этой процедуры необходимо добавить лишь упоминание об одном важном параметре k. Как уже было отмечено, вследствие асинхронности передачи кадров в терминале может не быть кадра для обратной передачи к сети до того, как им будет получено несколько кадров. Когда такой кадр появляется, терминал вводит в него значение N(R), равное последнему принятому значению N(S), подтверждая тем
Протокол DSS-1: Физический уровень и уровень звена данных |
91 |
самым прием всех ранее полученных кадров. Для того, чтобы ограничить число неподтвержденных квитируемых кадров, передатчик должен прекратить работу, когда разница между его собственным значением 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 на стороне пользователя, который выдает примитив запроса соединения DL_ESTABLISH. По этому запросу уровень 2 на стороне пользователя формирует управляющий кадр установки расширенного асинхронного балансного режима (SABME — set asynchronous balanced mode extended). Кадр SABME пересылается к сети через уровень 1. При получении кадра SABME уровнем 2 на стороне сети проверяются условия, необходимые для установки режима подтверждаемой передачи информации (например, чтобы убедиться, что соответствующее оборудование доступно). Если все условия удовлетворены, уровень 2 на стороне сети посылает уровню 3 примитив индикации запроса соединения, чтобы указать, что устанавливается режим подтверждаемой передачи информации. Средствами уровня 2 сеть возвращает пользователю ненумерованное подтверждение. При получении этого подтверждения терминалом пользователя в уровень 3 на стороне пользователя передается примитив подтверждения установления соединения, указы-
92 Глава 3
вающий, что можно начинать подтверждаемую передачу информации. Теперь между пользователем и сетью может происходить передача информации с помощью 1-кадров.
Рис. 3.10. Процедуры подтверждаемой передачи информации
Эта информация направляется уровнем 3 к уровню 2 в примитиве запроса передачи данных DLJDATA. Данные включаются в информационное поле I-кадра и передаются от пользователя к сети через уровень 1. При получении уровнем 2 на стороне сети 1-кадра данные извлекаются из информационного поля и передаются к уровню 3 в примитиве индикации приема данных. В зависимости от содержимого полученного 1-кадра сеть посылает в ответ пользователю либо 1-кадр, либо управляющий кадр готовности к приему. Оба кадра содержат подтверждение, что 1-кадр от пользователя был успешно принят.
Каждый 1-кадр содержит в поле управления порядковые номера передачи и приема. Процедура обнаружения потерь работает в обоих направлениях. В качестве примера в конце предыдущего параграфа была рассмотрена передача необходимого сетевому уровню числа информационных кадров, включая передачу кадров 11,12 и 13. Когда обмен 1-кадрами, показанный на рис. 3.9, заканчивается, осуществляется посылка команды разъединения DISC, за которой следует ответ DM, подтверждающий разъединение. На рис. 3.10 уровень 3 на стороне пользователя отправляет уровню 2 примитив запроса освобождения DL_RELEASE, а уровень 2 формирует кадр разъединения, который передается через уровень 1
Протокол DSS-1: Физический уровень и уровень звена данных |
93 |
уровню 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.
94 |
Глава 3 |
_______________________________ |
|
|
|
|
|
|
|
|
|
|
|
|
Рис. 3.11. Примеры процедур контроля звена передачи данных
Впримере (а) уровень 2 на стороне сети получил информационный кадр с нарушением порядка очередности и отбрасывает его с помощью команды REJ, в которой бит Р имеет значение 0 (подтверждение не требуется). N(R) = М указывает, что последний принятый информационный кадр имел N(S) = М-1. Терминал повторяет передачу информационных кадров из своего буфера повторной передачи, начиная с кадра, для которого N(S) равен М.
Пример (б) относится к той же ситуации, за исключением того, что в командном кадре REJ бит Р = 1. Этим передается указание терминалу пользователя подтвердить кадр. Терминал пользователя сначала передает кадр ответа RR или RNR (C/R==1, F=1), a затем начинает повторную передачу информационных кадров.
Впримере (в) сетевая сторона указывает с помощью командного кадра RNR, что она не может принимать информационные кадры. Сторона пользователя приостанавливает передачу информационных кадров и запускает таймер. Если терминал получает кадр RR до срабатывания таймера, то он возобновляет передачу или повторную передачу информационных кадров. Если таймер сработал, а кадр RR не получен, терминал пользователя передает кадр команды (C/R=1) с Р = 1. Этим дается указание сетевой стороне передать, в свою очередь, командный кадр. В данном примере сетевая сторона отвечает кадром RR, указывая, что она готова снова принимать информационные кадры
ичто номер последне-