Уровень адаптации AAL
Уровень адаптации (АТМ Adaptation Layer, AAL) представляет собой набор протоколов AAL1-AAL5, которые преобразуют сообщения протоколов верхних уровней сети АТМ в ячейки АТМ нужного формата. Функции этих уровней достаточно условно соответствуют функциям транспортного уровня модели OSI, например функциям протоколов TCP или UDP. Протоколы AAL при передаче пользовательского трафика работают только в конечных узлах сети (см. рис. 6.31), как и транспортные протоколы большинства технологий.
Каждый протокол уровня AAL обрабатывает пользовательский трафик определенного класса. На начальных этапах стандартизации каждому классу трафика соответствовал свой протокол AAL, который принимал в конечном узле пакеты от протокола верхнего уровня и заказывал с помощью соответствующего протокола нужные параметры трафика и качества обслуживания для данного виртуального канала. При развитии стандартов АТМ такое однозначное соответствие между классами трафика и протоколами уровня AAL исчезло, и сегодня разрешается использовать для одного и того же класса трафика различные протоколы уровня AAL.
Уровень адаптации состоит из нескольких подуровней. Нижний подуровень AAL называется подуровнем сегментации и реассемблирования (Segmentation And Reassembly, SAR). Эта часть не зависит от типа протокола AAL (и, соответственно, от класса передаваемого трафика) и занимается разбиением (сегментацией) сообщения, принимаемого AAL or протокола верхнего уровня, на ячейки АТМ, снабжением их соответствующим заголовком и передачей уровню АТМ для отправки в сеть.
Верхний подуровень AAL называется подуровнем конвергенции - Convergence Sublayer, CS. Этот подуровень зависит от класса передаваемого трафика. Протокол подуровня конвергенции решает такие задачи, как, например, обеспечение временной синхронизации между передающим и принимающим узлами (для трафика, требующего такой синхронизации), контролем и возможным восстановлением битовых ошибок в пользовательской информации, контролем целостности передаваемого пакета компьютерного протокола (Х.25, frame relay).
Протоколы AAL для выполнения своей работы используют служебную информацию, размещаемую в заголовках уровня AAL. После приема ячеек, пришедших по виртуальному каналу, подуровень SAR протокола AAL собирает посланное по сети исходное сообщение (которое в общем случае было разбито на несколько ячеек АТМ) с помощью заголовков AAL, которые для коммутаторов АТМ являются прозрачными, так как помещаются в 48-битном поле данных ячейки, как и полагается протоколу более высокого уровня. После сборки исходного сообщения протокол AAL проверяет служебные поля заголовка и концевика кадра AAL и на их основании принимает решение о корректности полученной информации.
Ни один из протоколов AAL при передаче пользовательских данных конечных узлов не занимается восстановлением потерянных или искаженных данных. Максимум, что делает протокол AAL, - это уведомляет конечный узел о таком событии. Так сделано для ускорения работы коммутаторов сети АТМ в расчете на то, что случаи потерь или искажения данных будут редкими. Восстановление потерянных данных (или игнорирование этого события) отводится протоколам верхних уровней, не входящим в стек протоколов технологии АТМ.
Протокол AAL1 обычно обслуживает трафик класса А с постоянной битовой скоростью (Constant Bit Rate, CBR), который характерен, например, для цифрового видео и цифровой речи и чувствителен к временным задержкам. Этот трафик передается в сетях АТМ таким образом, чтобы эмулировать обычные выделенные цифровые линии. Заголовок AAL1 занимает в поле данных ячейки АТМ 1 или 2 байта, оставляя для передачи пользовательских данных соответственно 47 или 46 байт. В заголовке один байт отводится для нумерации ячеек, чтобы приемная сторона могла судить о том, все ли посланные ячейки дошли до нее или нет. При отправке голосового трафика временная отметка каждого замера известна, так как они следуют друг за другом с интервалом в 125 мкс, поэтому при потере ячейки можно скорректировать временную привязку байт следующей ячейки, сдвинув ее на 125х46 мкс. Потеря нескольких байт замеров голоса не так страшна, так как на приемной стороне воспроизводящее оборудование сглаживает сигнал. В задачи протокола AAL1 входит сглаживание неравномерности поступления ячеек данных в узел назначения.
Протокол AAL2 был разработан для передачи трафика класса В, но при развитии стандартов он был исключен из стека протоколов АТМ, и сегодня трафик класса В передается с помощью протокола AAL1, AAL3/4 или AAL5.
Протокол AAL3/4 обрабатывает пульсирующий трафик - обычно характерный для трафика локальных сетей - с переменной битовой скоростью (Variable Bit Rate, VBR). Этот трафик обрабатывается так, чтобы не допустить потерь ячеек, но ячейки могут задерживаться коммутатором. Протокол AAL3/4 выполняет сложную процедуру контроля ошибок при передаче ячеек, нумеруя каждую составляющую часть исходного сообщения и снабжая каждую ячейку контрольной суммой. Правда, при искажениях или потерях ячеек уровень не занимается их восстановлением, а просто отбрасывает все сообщение - то есть все оставшиеся ячейки, так как для компьютерного трафика или компрессированного голоса потеря части данных является фатальной ошибкой. Протокол AAL3/4 образовался в результате слияния протоколов AAL3 и AAL4, которые обеспечивали поддержку трафика компьютерных сетей соответственно с установлением соединения и без установления соединения. Однако ввиду большой близости используемых форматов служебных заголовков и логики работы протоколы AAL3 и AAL4 были впоследствии объединены.
Протокол AAL5 является упрощенным вариантом протокола AAL4 и работает быстрее, так как вычисляет контрольную сумму не для каждой ячейки сообщения, а для всего исходного сообщения в целом и помещает ее в последнюю ячейку сообщения. Первоначально протокол AAL5 разрабатывался для передачи кадров сетей frame relay, но теперь он чаще всего используется для передачи любого компьютерного трафика. Протокол AAL5 может поддерживать различные параметры качества обслуживания, кроме тех, которые связаны с синхронизацией передающей и принимающей сторон. Поэтому он обычно используется для поддержки всех классов трафика, относящегося к передаче компьютерных данных, то есть классов С и D. Некоторые производители оборудования с помощью протокола AAL5 обслуживают трафик CBR, оставляя задачу синхронизации трафика протоколам верхнего уровня.
Протокол AAL5 работает не только в конечных узлах, но и в коммутаторах сети АТМ. Однако там он выполняет служебные функции, не связанные с передачей пользовательских данных. В коммутаторах АТМ, протокол AAL5 поддерживает служебные протоколы более высоких уровней, занимающиеся установлением коммутируемых виртуальных соединений.
Существует определенный интерфейс между приложением, которому требуется передать трафик через сеть АТМ, и уровнем адаптации AAL. С помощью этого интерфейса приложение (протокол компьютерной сети, модуль оцифровывания голоса) заказывает требуемую услугу, определяя тип трафика, его параметры, а также параметры QoS. Технология АТМ допускает два варианта определения параметров QoS: первый - непосредственное задание их каждым приложением, второй - назначение их по умолчанию в зависимости от типа трафика. Последний способ упрощает задачу разработчика приложения, так как в этом случае выбор максимальных значений задержки доставки ячеек и вариации задержек перекладывается на плечи администратора сети.
Самостоятельно обеспечить требуемые параметры трафика и QoS протоколы AAL не могут. Для выполнения соглашений трафик - контракта требуется согласованная работа коммутаторов сети вдоль всего виртуального соединения. Эта работа выполняется протоколом АТМ, обеспечивающим передачу ячеек различных виртуальных соединений с заданным уровнем качества обслуживания.
Протокол АТМ
Протокол АТМ занимает в стеке протоколов АТМ примерно то же место, что протокол IP в стеке TCP/IP или протокол LAP-F в стеке протоколов технологии frame relay. Протокол АТМ занимается передачей ячеек через коммутаторы при установленном и настроенном виртуальном соединении, то есть на основании готовых таблиц коммутации портов. Протокол АТМ выполняет коммутацию по номеру виртуального соединения, который в технологии АТМ разбит на две части - идентификатор виртуального пути (Virtual Path Identifier, VPI) и идентификатор виртуального канала (Virtual Channel Identifier, VCI). Кроме этой основной задачи протокол АТМ выполняет ряд функций по контролю за соблюдением трафик - контракта со стороны пользователя сети, маркировке ячеек-нарушителей, отбрасыванию ячеек-нарушителей при перегрузке сети, а также управлению потоком ячеек для повышения производительности сети (естественно, при соблюдении условий трафик - контракта для всех виртуальных соединений).
Протокол АТМ работает с ячейками следующего формата, представленного на рис. 6.32.
Рис. 6.32. Формат ячейки АТМ
Поле Управление потоком (Generic Flow Control) используется только при взаимодействии конечного узла и первого коммутатора сети. В настоящее время его точные функции не определены.
Поля Идентификатор виртуального пути (VitualPath Identifier, VPI) и Идентификатор виртуального канала (Vitual Channel Identifier, VCI) занимают соответственно 1 и 2 байта. Эти поля задают номер виртуального соединения, разделенный на старшую (VPI) и младшую (VCI) части.
Поле Идентификатор типа данных (Payload Type Identifier, PTI) состоит из 3-х бит и задает тип данных, переносимых ячейкой, - пользовательские или управляющие (например, управляющие установлением виртуального соединения). Кроме того, один бит этого поля используется для указания перегрузки в сети - он называется Explicit Congestion Forward Identifier, EFCI - и играет ту же роль, что бит FECN в технологии frame relay, то есть передает информацию о перегрузке по направлению потока данных.
Поле Приоритет потери кадра (Cell Loss Priority, CLP) играет в данной технологии ту же роль, что и поле DE в технологии frame relay - в нем коммутаторы АТМ отмечают ячейки, которые нарушают соглашения о параметрах качества обслуживания, чтобы удалить их при перегрузках сети. Таким образом, ячейки с CLP=0 являются для сети высокоприоритетными, а ячейки с CLP=1 - низкоприоритетными.
Поле Управление ошибками в заголовке (Header Error Control, НЕС) содержит контрольную сумму, вычисленную для заголовка ячейки. Контрольная сумма вычисляется с помощью техники корректирующих кодов Хэмминга, поэтому она позволяет не только обнаруживать ошибки, но и исправлять все одиночные ошибки, а также некоторые двойные. Поле НЕС обеспечивает не только обнаружение и исправление ошибок в заголовке, но и нахождение границы начала кадра в потоке байтов кадров SDH, которые являются предпочтительным физическим уровнем технологии АТМ, или же в потоке бит физического уровня, основанного на ячейках. Указателей, позволяющих в поле данных кадра STS-n (STM-n) технологии SONET/SDH обнаруживать границы ячеек АТМ (подобных тем указателям, которые используются для определения, например, границ виртуальных контейнеров подканалов Т1/Е1), не существует. Поэтому коммутатор АТМ вычисляет контрольную сумму для последовательности из 5 байт, находящихся в поле данных кадра STM-n, и, если вычисленная контрольная сумма говорит о корректности заголовка ячейки АТМ, первый байт становится границей ячейки. Если же это не так, то происходит сдвиг на один байт и операция продолжается. Таким образом, технология АТМ выделяет асинхронный поток ячеек АТМ в синхронных кадрах SDH или потоке бит физического уровня, основанного на ячейках.
Рассмотрим методы коммутации ячеек АТМ на основе пары чисел VPI/VCI. Коммутаторы АТМ могут работать в двух режимах - коммутации виртуального пути и коммутации виртуального канала. В первом режиме коммутатор выполняет продвижение ячейки только на основании значения поля VPI, а значение поля VCI он игнорирует. Обычно так работают магистральные коммутаторы территориальных сетей. Они доставляют ячейки из одной сети пользователя в другую на основании только старшей части номера виртуального канала, что соответствует идее агрегирования адресов. В результате один виртуальный путь соответствует целому набору виртуальных каналов, коммутируемых как единое целое.
После доставки ячейки в локальную сеть АТМ ее коммутаторы начинают коммутировать ячейки с учетом как VPI, так и VCI, но при этом им хватает для коммутации только младшей части номера виртуального соединения, так что фактически они работают с VCI, оставляя VPI без изменения. Последний режим называется режимом коммутации виртуального канала.
Для создания коммутируемого виртуального канала в технологии АТМ используются протоколы, не показанные на рис. 6.30. Подход здесь аналогичен подходу в сети ISDN - для установления соединения разработан отдельный протокол Q.2931, который весьма условно можно отнести к сетевому уровню. Этот протокол во многом похож на протоколы Q.931 и Q.933 (даже номером), но в него внесены, естественно, изменения, связанные с наличием нескольких классов трафика и дополнительных параметров качества обслуживания. Протокол Q.2931 опирается на достаточно сложный протокол канального уровня SSCOP, который обеспечивает надежную передачу пакетов Q.2931 в своих кадрах. В свою очередь, протокол SSCOP работает поверх протокола AAL5, который необходим для разбиения кадров SSCOP на ячейки АТМ и сборки этих ячеек в кадры при доставке кадра SSCOP в коммутатор назначения.
ПРИМЕЧАНИЕ Протокол Q.2931 появился в стеке протоколов технологии АТМ после принятия версии интерфейса UNI 3.1, а до этого в версии UNI 3.0 вместо него использовался протокол Q.93B. Из-за несовместимости протоколов Q.2931 и Q.93B версии пользовательского интерфейса UNI 3.0 и UNI 3.1 также несовместимы. Версия UNI 4.0 обратно совместима с UNI 3.1, так как основана на тех же служебных протоколах, что и версия UNI 3.1.
Виртуальные соединения, образованные с помощью протокола Q.2931, бывают симплексными (однонаправленными) и дуплексными.
Протокол Q.2931 позволяет также устанавливать виртуальные соединения типа «один-к-одному» (point-to-point) и «один-ко-многим» (point-to-multipoint). Первый случай поддерживается во всех технологиях, основанных на виртуальных каналах, а второй характерен для технологии АТМ и является аналогом мультивещания, но с одним ведущим вещающим узлом. При установлении соединения «один-ко-многим» ведущим считается узел, который является инициатором этого соединения. Сначала этот узел устанавливает виртуальное соединение всего с одним узлом, а затем добавляет к соединению с помощью специального вызова по одному новому члену. Ведущий узел становится вершиной дерева соединения, а остальные узлы - листьями этого дерева. Сообщения, которые посылает ведущий узел, принимают все листья соединения, но сообщения, которые посылает какой-либо лист (если соединение дуплексное), принимает только ведущий узел.
Пакеты протокола Q.2931, предназначенные для установления коммутируемого виртуального канала, имеют те же названия и назначение, что и пакеты протокола Q.933, рассмотренные выше при изучении технологии frame relay, но структура их полей, естественно, другая.
Адресом конечного узла в коммутаторах АТМ является 20-байтный адрес. Этот адрес может иметь различный формат, описываемый стандартом ISO 7498. При работе в публичных сетях используется адрес стандарта Е.164, при этом 1 байт составляет AFI, 8 байт занимает IDI - основная часть адреса Е.164 (15 цифр телефонного номера), а остальные 11 байт части DSP (Domain Specific Part) распределяются следующим образом.
- 4 байта занимает поле старшей части DSP - High-Order Domain Spesific Part (HO-DSP), имеющее гибкий формат и, в сущности, представляющее собой номер сети АТМ, который может делиться на части для агрегированной маршрутизации по протоколу PNNI, подобной той, которая используется в технике CIDR для сетей IP.
- 6 байт занимает поле идентификатора конечной системы - End System Identifier (ESI), которое имеет смысл МАС - адреса узла АТМ, причем формат его также соответствует формату МАС - адресов IEEE.
- 1 байт составляет поле селектора, которое не используется при установлении виртуального канала, а имеет для узла локальное назначение.
При работе в частных сетях АТМ обычно применяется формат адреса, соответствующий домену международных организаций, причем в качестве международной организации выступает АТМ Forum. В этом случае поле IDI занимает 2 байта, которые содержат код АТМ Forum, данный ISO, а структура остальной части DSP соответствует описанной выше за исключением того, что поле HO-DSP занимает не 4, а 10 байт.
Адрес ESI присваивается конечному узлу на предприятии-изготовителе в соответствии с правилами IEEE, то есть 3 первых байта содержат код предприятия, а остальные три байта - порядковый номер, за уникальность которого отвечает данное предприятие.
Конечный узел при подключении к коммутатору АТМ выполняет так называемую процедуру регистрации. При этом конечный узел сообщает коммутатору свой ESI - адрес, а коммутатор сообщает конечному узлу старшую часть адреса, то есть номер сети, в которой работает узел.
Кроме адресной части пакет CALL SETUP протокола Q.2931, с помощью которого конечный узел запрашивает установление виртуального соединения, включает также части, описывающие параметры трафика и требования QoS. При поступлении такого пакета коммутатор должен проанализировать эти параметры и решить, достаточно ли у него свободных ресурсов производительности для обслуживания нового виртуального соединения. Если да, то новое виртуальное соединение принимается и коммутатор передает пакет CALL SETUP дальше в соответствии с адресом назначения и таблицей маршрутизации, а если нет, то запрос отвергается.
Дата добавления: 2016-01-03; просмотров: 823;