Сеть АТМ разрабатывалась как универсальная сеть, с помощью которой можно передавать самую различную информацию. Однако, очень многие приложения не могут непосредственно использовать сеть, поскольку необходимо выполнять различные требования, предъявляемые этими приложениями к системе передачи. Для того, чтобы реализовывать эти требования и согласовать их с технологическими параметрами сети существует так называемый уровень адаптации, который для различных пользовательских служб реализовывается по-разному. Иными словами, назначение уровня адаптации - ATM adaptation level - в том, чтобы приспособить информацию верхних уровней к сети АТМ. Сеть не может обслуживать информацию до тех пор, пока она не будет приведена к специфическому формату и иметь необходимые размеры. Она может работать только с селлами и их полем данных.
Так, информационные блоки, такие, как кадры, пакеты или непрерывный поток цифровых данных несовместимы с требованиями АТМ, поскольку их формат отличается от формата селла. Обычно все пользовательские данные имеют размер, гораздо больший, чем размер селла, и, более того, их размер переменный. Функции AAL таким образом задают мост между информацией пользователя и селлами АТМ.
AAL выполняет набор функций по вкладыванию пользовательской информации в блоки данных такого размера, чтобы их можно было бы вставить в селл. Соответственно, эти функции сильно различаются для работы с разной исходной информацией. Действительно, пользователем сети может быть рабочая станция, роутер, осуществляющий переход данных из сети АТМ в сеть другой природы и обратно, это может быть цифровая система коммутации каналов типа Е1 или DS-1 и т.д. По сути AAL - это граница сети.
Рабочая станция посылает данные в виде, например, IP-пакетов, которые гораздо больше селла. Цифровая система Е1 работает с непрерывным потоком данных со строго фиксированной скоростью 2048 кбит/сек. Очевидно, что с такими разными по своей природе потоками нужно работать по-разному.
В зависимости от различных требований, предъявляемых пользовательскими потоками уровень AAL разбивается на несколько категорий, каждая из которых задает различный тип сервиса для пользователя. Все эти сервисные классы характеризуются набором из трех ключевых параметров, которые мы рассмотрим ниже. В зависимости от значения каждого из этих параметров на сегодня определено пять типов сервиса. Эти типы и значения каждого из параметров показаны на рис. 1. По сути все типы пользовательских данных можно разбить по классам сервиса в зависимости от необходимого набора этих трех параметров, которыми являются:
Рис. 1. Классификация типов сервиса
Как видно из рис.1, комбинации этих параметров определяют класс сервиса, который должен быть предоставлен пользователю и название конкретной реализации уровня AAL, которая соответствует каждому классу. Классы А и В, используются для аудио- и видеоприложений, а также для передачи цифровых регулярных потоков. Для этих классов общим является требование по синхронизации оконечных установок и необходимость предварительного оповещения приемника о готовящемся обмене. Класс А предназначен для работы на постоянной скорости и поэтому называется CBR - constant bit rate, и это на сегодняшний день один из двух наиболее часто используемых классов. Класс В определен для работы с переменной скоростью, однако, пока он не имеет спецификации. Классы С и D используются для передачи данных, причем не только абонентских, но и между объектами управления. Класс С обеспечивает соединения типа connection-oriented, класс D - connection-less. Надо заметить, что, конечно, соединения типа connection-less гораздо более популярны, чем connection-oriented в первую очередь потому, что по этому принципу работают все локальные вычислительные сети, сеть Интернет и некоторые другие менее популярные системы. Поэтому класс D наряду с классом А наиболее популярен сегодня.
Для пояснения общей структуры уровня AAL любого типа рассмотрим рис.2, где изображена структура стека уровней АТМ. Из него видно, что уровень AAL состоит из двух подуровней - конвергенции (Convergence Sublayer - CS) и сборки/разборки (Segmentation And Reassembly - SAR).
Рис. 2. Схема функций различных подуровней модели
Основное назначение подуровня сборки/разборки состоит в разбивке пользовательского потока на блоки, пригодные для укладывания их в селл АТМ, и обратное преобразование на приеме. Назначение подуровня конвергенции более интеллектуальное, и они уже зависят от конкретного типа AAL. В эти функции могут входить: идентификация сообщения, восстановления синхросигнала и т.д. Для некоторых типов AAL подуровень конвергенции разбивается еще на два подуровня: общая часть - common part convergence sublayer - CPCS и сервис-специфическую часть - service specific convergence sublayer - SSCS. Некоторым приложениям достаточно тех условий, которые предоставляет собственно сеть, и они уровень AAL пропускают.
Обмен сервисными блоками данных (SDU) между AAL и АТМ уровнями происходит через специальную сервисную точку доступа. Для различных типов AAL предусмотрены разные адреса этих точек с тем, чтобы на приеме уровень АТМ знал, какой конкретно AAL запускать.
Теперь, после того, как мы описали общие принципы, по которым разделяется уровень AAL, рассмотрим те его конкретные варианты, которые описаны в спецификациях. Как видно из рис. 1, классу А соответствует AAL 1, классу В - AAL 2, классу C - AAL 3/4, классу D - AAL 5.