Уровни адаптации ATM
Приложение, которое использует сеть ATM, может выбрать одну из пяти категорий обслуживания соединения ATM, показанных в таблице 5.2. Каждое приложение включает передачу одного или более блоков или потока информации через сеть. Категории обслуживания ATM обеспечивают последовательную передачу ячеек по сети с некоторой задержкой или потерями. Это требует по крайней мере преобразования блоков данных в источнике, идущих от приложения в ячейки ATM, и преобразования в пункте назначения назад к прикладным блокам. Одна из целей уровня адаптации ATM состоит в том, чтобы обеспечить отображение блоков данных приложения в блоки данных ячеек ATM. Приложения, естественно, определяют свои требования к качеству обслуживания с точки зрения передачи своих блоков данных, а не с точки зрения передачи ячеек ATM. Возможно, что обслуживание, выполняемое уровнем ATM, не выполняет требования приложения. Например, уровень ATM не обеспечивает достоверного обслуживания отдельного потока из-за потери некоторых ячеек, которые могут быть существенны для прикладного уровня.
Другая цель уровня адаптации ATM состоит в том, чтобы гарантировать соответствие уровня обслуживания, обеспечиваемое уровнем ATM, уровню, требуемому приложением.
Заметим, что многие прикладные задачи сами содержат множественные преобразования. Например, прикладная задача HTTP может использовать для передачи протокол TCP/IP, информационный поток, в свою очередь, поступает на вход AAL. При этом функция AAL заключается в поддержке уровня непосредственно выше данного. Таким образом, если уровень, который находится выше AAL, - TCP, то AAL не должен выполнять задачу обеспечения достоверного обслуживания потока, поскольку она в TCP не выполняется.
С другой стороны, AAL можно использовать, чтобы обеспечить достоверное обслуживание потока, когда это недоступно в более высоких уровнях, как, например, в передаче сигналов управления в некоторых приложениях.
Различные приложения требуют комбинации различных функций в AAL. Например, передача цифрового потока E1 (эмуляция каналов circuit emulation) требует преобразования информации таким образом, чтобы ATM-соединение соответствовало всем требованиям цифровой передачи. Системы передачи в реальном масштабе времени (например, речь и некоторые системы передачи изображения) выдвигают аналогичные требования для имитации нужных прикладных задач. С другой стороны, приложение Frame Relay требует не реального масштаба времени, передачи, ориентированной на соединение для последовательной передачи кадров между двумя концами системы. В еще одном примере IP-маршрутизаторы требуют передачи пакетов без установления соединения к другому маршрутизатору, использующему ATM-сеть как "линию для передачи данных". В некоторых случаях IP переносит полезную нагрузку, которая управляется TCP c другого конца системы. Каждое из этих приложений имеет свои требования к AAL.
AAL разделяется на два подуровня, как показано на рис. 6.1.
Подуровень сегментации и сборки (SAR - Segmentation And Reassembly) предназначен для сегментации блоков данных прикладного уровня (или блоков пакетов) на 48-байтные блоки для последующей передачи в виде ATM-ячеек, сборки для восстановления исходного формата данных (блоков пакетов) на другом конце и передачи прикладному уровню.
Подуровень конвергенции (CS - Convergence Sublayer) состоит из двух частей:
- общей части, которая не изменяется в зависимости от типа сервиса (Common Part - CP CS);
- части, зависящей от типа сервиса (Service Specific Part -SS CS).
Этот подуровень выполняет задачи транспортирования информации источников с различными службами, например восстановление тактовой частоты, исправление ошибок в поле полезной нагрузки.
Уровень адаптации ATM 1-го типа
Уровень адаптации ATM 1-го типа предназначен для служб с постоянной скоростью передачи информации. Примером такого типа службы является одиночный цифровой ИКМ-канал 64 Кбит/с, поток E1 и другие потоки, входящие в плезиохронную цифровую иерархию. В структуре AAL блоки данных содержат поля, которые допускают и восстановление тактовой частоты, и нумерацию последовательности кадров. Они также содержат часть для передачи структуры кадра в непрерывном потоке бит.
Общий вид процесса AAL1 показан на рис. 6.2.
Функция подуровня конвергенции принимает пользовательский поток данных, вставляет 1-байтовый указатель (AAL1 pointer), чтобы создать 47-байтовый формат блока конвергенции, который тогда передается на уровень сегментации и сборки. Структура протокольного блока показана на рис. 6.3.
Заголовок подуровня сегментации и сборки содержит 1 байт, включающий в себя:
- индикатор подуровня конвергенции ( Convergance Sublayer Indicator - CSI) длиной 1 бит;
- порядковый номер блока данных (Sequence Number - SN) длиной 3 бита;
- защиту порядкового номера блока данных (Sequence Number Protection -SNP) длиной 4 бита.
Блок данных содержит 47-байтное поле полезной нагрузки, которое не обязательно заполняется информацией полностью.
Биты заголовка используются следующим образом.
Индикатор подуровня конвергенции ( Convergance Sublayer Indicator - CSI) позволяет на приемном конце опознать уровень конвергециии, чтобы направить информацию на обработку этим уровнем.
Порядковый номер блока данных (Sequence Number - SN) позволяет на приемном конце восстановить исходный порядок следования блоков данных.
Поле защиты порядкового номера обеспечивает обнаружение и исправление (коррекции) ошибок в заголовке блока подуровня сегментации и сборки. Для защиты применяется 3-битовый циклический полином и проверочный бит четности, который используется для защиты всего 7-битового заголовка.
Рассмотрим пример использования для передачи информации потока, который содержит кадры соединения, передающего кадры .
Напомним, что поток содержит кадры, состоящие из 32 байт, которые повторяются с частотой 8 КГц. Биты потока группируются подуровнем конвергенции в блоки по 47 байт и передаются на подуровень сегментации и сборки. Можно отметить, что байты на уровне конвергенции не совпадают с байтами потока , а имеют различное содержание, которое диктуется порядком разбиения по 47 байт. Байты потока E1 преобразуются непосредственно в байты блоков данных уровня конвергенции. Согласно предыдущему соглашению ( рис. 6.3) к ним добавляется заголовок для определения начала следующего блока данных уровня конвергенции. По соглашению между источником и пунктом назначения в единицы информации подуровня может быть вставлен указатель начала кадра . Поскольку этот указатель вставляется в блоки уровня , он может оказаться в любом месте полезной нагрузки или даже в другом блоке. Периодическая вставка указателя начала кадра обеспечивает защиту от потери синхронизации, которая может возникнуть при потере ячейки ATM.
Подуровень конвергенции в пункте назначения обеспечивает множество услуг, которые полезны для приложений, требующих постоянной скорости передачи.
Например, поток бит индикатора уровня конвергенции CSI, передаваемый в каждом блоке данных, может использоваться, чтобы передать временную отметку расхождения (Residual Time Stamp - RTS) для определения разности частот между общим и локальным генераторами.
Метод, основанный на применении остаточной метки расхождения, будет рассмотрен в разделе, посвященном синхронизации. Там же будут рассмотрены и другие методы синхронизации, не использующие бит индикатора уровня конвергенции CSI.
Чтобы поставлять информацию пользователю по фиксированной цене, уровень конвергенции приемника может полностью восстанавливать тактовую последовательность и затем применять ее для коррекции полученной информации с целью получения необходимого значения среднего квадратического отклонения задержки ячеек . Подуровень конвергенции может также использовать порядковые номера, чтобы обнаружить потерянные или доставленные не по адресу ячейки. Однако он не обеспечивает перезапрос неправильно принятой информации. Подуровень конвергенции может только известить, что произошла потеря или ложная доставка.
Подуровень конвергенции может также осуществить любой из двух методов исправлений ошибок и потерь ячеек.
В обеих методах используется метод "Прямая коррекция ошибок (Forward Error Correction - FEC)", при котором применяется класс кодов с автоматическим исправлением ошибок благодаря введению избыточных символов, без использования обратного канала.
В приложениях, которые требуют низкой задержки, при использовании метода прямой коррекции ошибок (FEC) группа из 15 ячеек и добавляет к ней необходимое число бит, формируя 16-разрядную группу. Такой метод может исправить потерю одной ячейки в группе из 16-ти. Дополнительная вносимая задержка применения FEC тогда равна 15 ячейкам.
Второй метод использует перемежение бит (interleaving technique). При этом все ячейки образуют матрицу, в которой информация ячеек образует колонки, а передача идет по строкам матрицы, которые защищаются обычными методами.
Такой метод позволяет обеспечить независимость влияния на одни и те же блоки в случае пачечных ошибок. В данном случае ячейки уровня конвергенции образуют массив из 124 колонок. К ним добавляются четыре колонки, что позволяет корректировать потерю 4 ячеек. Такой метод вызывает задержку 124 ячеек и применяется только для трафика, нечувствительного к задержке информации по времени.