Протоколы сетей ATM
Семёнов Ю.А. (ГНЦ ИТЭФ), book.itep.ru
В настоящее время начинают широко внедряться каналы с пропускной способностью 150,52 и 622,08 Мбит/с. Эти каналы как для соединения локальных сетей, так и непосредственно для построения скоростных LAN. 150 Мбит/с может обеспечить любые современные телекоммуникационные услуги кроме телевидения высокого разрешения. Предусмотрен стандарт и на скорость передачи 2,48832 Гбит/c. Так как время доставки для многих видов сетевых услуг реального времени является крайне важной характеристикой, АТМ находит широкое применение в телефонии, кабельном телевидении и других областях. Следует учитывать, что оцифрованный видеосигнал качества VHS требует 100Мбит/с при отсутствии сжатия и 1,5-6 Мбит/c при использовании сжатия. Файл изображения 1000х1000 пикселей при 24 битах, характеризующих цвет, занимает 3 Мбайта. ATM справится с передачей такого кадра с учетом накладных расходов (заголовок) за ~0,2 сек. Понятно, что при использовании сжатия можно получить заметно большее быстродействие.
Это не значит, что доступны лишь указанные скорости, интерфейсы позволяют мультиплексировать большое число каналов с самыми разными скоростями обмена. Но мультиплексирование на таких частотах представляет собой значительную проблему. Определенные трудности представляет то обстоятельство, что в ATM трудно реализовать обмен без установления соединения (аналог utp в Интернет)
Протокол ATM (asynchronous transfer mode; см. также А.Н. Назаров, М.В. Симонов. "АТМ. Технология высокоскоростных сетей". ЭКО-Трендз, М. 1998) является широкополосной версией ISDN, работает на скорости 150,52 Мбит/с с пакетом постоянной длины и минимальным заголовком. Слово асинхронный в названии означает, что тактовые генераторы передатчика и приемника не синхронизованы, а сами ячейки передаются и мультиплексируются по запросам. При мультиплексировании используется статистическая технология. Асинхронная передача не предполагает упорядочивания ячеек по каналам при пересылке. ATM поддерживает аппаратную и пакетную коммутацию.
Каждый пакет ATM имеет 53 байта (в англоязычной документации пакеты ATM носят название cell (ячейка), этот термин введен, чтобы отличить пакеты ATM от пакетов низкоскоростных каналов), из них 48 байт несут полезную информацию (что для случая передачи звука, соответствует 6 мс). Для выделения пакета из потока используются такие же, как в ISDN разделительные байты (0x7E). Заголовок пакета содержит лишь 5 байт и предназначен главным образом для того, чтобы определить принадлежит ли данный пакет определенному виртуальному каналу. Отсутствие контроля ошибок и повторной передачи на физическом уровне приводит к эффекту размножения ошибок. Если происходит ошибка в поле идентификатора виртуального пути или виртуального канала, то коммутатор может отправить ячейку другому получателю. Таким образом, один получатель не получит ячейку, а другой получит то, что ему не предназначалось.
Виртуальный канал в ATM формируется также как и в ISDN. Формально эта процедура не является частью ATM-протокола. Сначала здесь формируется сигнальная схема, для этого посылается запрос с VPI=0 и VCI=5. Если процедура завершилась успешно, можно начинать формирование виртуального канала. При создании канала могут использоваться 6 разновидностей сообщений.
setup - запрос формирования канала.
call proceeding - запрос в процессе исполнения.
connect - запрос принят.
connect ACK - подтверждение получения запроса.
release - сообщение о завершении.
release compleate - подтверждение получения сообщения release.
Схема обмена сообщениями при установлении (и разрыве) виртуального соединения показана на рис. 4.3.5.1. Предполагается, что между ЭВМ-инициализатором и ЭВМ-адресатом находится два ATM-переключателя. Каждый из узлов по пути к месту назначения при получении запроса setup откликается, посылая сообщение call proceeding. Адрес места назначения указывается в сообщении setup. В ATM используется три вида адресов. Первый - имеет 20 байт и имеет структуру OSI-адреса. Первый байт указывает на вид адреса (один из трех).
Байты 2 и 3 указывают на принадлежность стране, а байт 4 задает формат последующей части кода адреса, которая содержит 3 байта кода администрации (authority), 2 байта домена, 2 байта области и 6 байтов собственно адреса. Во втором формате байты 2 и 3 выделены для международных организаций, а не стран. Остальная часть адреса имеет тот же формат, что и в варианте 1. Третий формат является старой формой (CCITT E.164) 15-цифровых десятичных телефонных номеров ISDN. В ATM не специфицировано никакого алгоритма маршрутизации. Для выбора маршрута (от коммутатора к коммутатору) используется поле VCP. VCI используется лишь на последнем шаге, когда ячейка посылается от переключателя к ЭВМ. Такой подход упрощает маршрутизацию отдельных ячеек, так как при этом анализируется 12- а не 28-битовые коды. В каждом коммутаторе (переключателе) формируются специальные таблицы, которые решают проблему переадресации ячеек.
Следует обратить внимание на то, что виртуальный канал (circuit) и виртуальный проход (path) в данном контексте не тождественны. Виртуальный проход (маршрут) может содержать несколько виртуальных каналов. Виртуальные каналы всегда являются полностью дуплексными.
Рис. 4.3.5.1. Обмен сообщениями при установлении и разрыве виртуального соединения
Сети ATM допускают создание мультикастных каналов. Такой канал имеет одного отправителя и много получателей. Первый канал формируется обычным путем, последующие участники сессии подключаются позднее путем посылки сообщения add party.
За видимую простоту ячеек приходится платить тем, что управляющая информация передается в общем информационном потоке. Высокая скорость передачи данных требует применения аппаратно реализованных маршрутных таблиц на каждом переключателе пакетов. На рис. 4.3.5.2 представлен формат заголовка пакета ATM. Заголовок обеспечивает два механизма маршрутизации пакетов:
VPI (virtual path identifier - виртуальный идентификатор маршрута) обеспечивает соединение точка-точка, но маршрут не является фиксированным и задается непосредственно перед началом пересылки с использованием сигнальных сообщений.
Слово “виртуальный” означает, что пакеты передаются от узла к узлу в соответствии с VPI.
VCI (virtual call identifier - виртуальный идентификатор запроса) запросы осуществляются в соответствии с виртуальным маршрутом, заданным VPI.
Эти два субполя вместе образуют поле маршрута, которое занимает 24 бита.
Рис. 4.3.5.2 Формат заголовка ATM-пакета (сетевой интерфейс пользователя - UNI)
Для интерфейса сеть-сеть (NNI) используется ячейка с несколько иным форматом заголовка. Там весь первый октет выделен для VPI, а поле GFC отсутствует.
GFC | Generic flow control (4 бита, смотри описание пакетов ISDN) – общее управление потоком. |
VPI | Virtual path identifier (8 бит, служит для целей маршрутизации) – идентификатор виртуального пути. |
VCI | Virtual call identifier (16 бит, служит для целей маршрутизации) – идентификатор виртуального канала. |
PT | Payload type (2 бита, тип данных; это поле может занимать и зарезервированное субполе RES.) |
RES | зарезервированный бит. |
CLP | (Cell loss priority - уровень приоритета при потере пакета) указывает на то, какой приоритет имеет пакет (cell), и будет ли он отброшен в случае перегрузки канала. |
HEC | header error control (8 бит, поле контроля ошибок) |
Ряд значений VCI и VPI имеют фиксированные значения, приведенные в таблице 4.3.5.1 Таблица 4.3.5.1.
vci | vpi | Назначение |
0 | только 0 | Неопределенная ячейка |
1 | все | Мета управление |
3 | все | Сетевое управление VP-каналом |
4 | все | vp-управление для соединения между конечными точками |
5 | все | Управление доступом по схеме точка-точка |
6 | все | Ячейка управления ресурсами (для подавления перегрузки) |
16 | только 0 | UNI (snmp) управление сетью |
Некоторые значения поля pt зафиксированы, их значения представлены в таблице 4.3.5.2.
Таблица 4.3.5.2. Заданные значения поля PT (payload type identifier)
PT | Назначение ячейки | Взаимодействие пользователь-пользователь |
000 | Пользовательские данные (перегрузка отсутствует) | Нет |
001 | Пользовательские данные (перегрузка отсутствует) | Нет |
010 | Пользовательские данные (имеет место перегрузка) | Да |
011 | Пользовательские данные (имеет место перегрузка) | Да |
100 | Ячейка виртуального канала oam сегментного потока f5 | |
101 | Соединение точка-точка oam сегментного потока f5 | |
110 | Управление ресурсами | |
111 | Зарезервировано | |
OAM – эксплуатация и техническое обслуживание. ATM обеспечивает любые услуги в сети:
Передача голоса на скоростях 64 Кбит/с. Один ATM-пакет соответствует 6 мсек.
Передача музыки с использованием схемы кодирования MUSICAM.
Так как для случая изображения передается только переменная часть картинки, atm идеально подходит для решения такого рода задач.
Задачи управления решаются менее экономно, но, тем не менее, достаточно эффективно (предусмотрено несколько приоритетов для управления потоками данных).
В ATM предусмотрено несколько категорий услуг (таблица 4.3.5.3).
Таблица 4.3.5.3. Типы категорий ATM-услуг
Класс | Описание | Пример |
cbr | Постоянная скорость передачи | Канал Т1 |
rt-vbr | Переменная скорость передачи (реальное время) | Видеоконференции |
nrt-vbr | Пременная скорость передачи (нереальное время) | Мультимедиа по электронной почте |
abr | Доступная скорость передачи | Просмотр web-информации |
ubr | Не специфицированная скорость передачи | Пересылка файлов в фоновом режиме |
CBR не предусматривает контроля ошибок, управления трафиком или какой-либо другой обработки. Класс CBR пригоден для работы с мультимедиа реального времени.
Класс
VBR содержит в себе два подкласса - обычный и для реального времени (см. таблицу выше). ATM в процессе доставки не вносит никакого разброса ячеек по времени. Случаи потери ячеек игнорируются.
Класс
ABR предназначен для работы в условиях мгновенных вариаций трафика. Система гарантирует некоторую пропускную способность, но в течение короткого времени может выдержать и большую нагрузку. Этот класс предусматривает наличие обратной связи между приемником и отправителем, которая позволяет понизить загрузку канала, если это необходимо.
Класс
UBR хорошо пригоден для посылки IP-пакетов (нет гарантии доставки и в случае перегрузки неизбежны потери).
atm использует исключительно модель с установлением соединения (здесь нет аналогий с UDP-протоколом). Это создает определенные трудности для управления трафиком с целью обеспечения требуемого качества обслуживания (QoS).
Для решения этой задачи используется алгоритм GCRA (generic rate algorithm). Работа этого алгоритма проиллюстрирована на рис. 4.3.5.3.
Рис. 4.3.5.3. Иллюстрация работы алгоритма GCRA
gcra имеет два параметра. Один из них характеризует максимально допустимую скорость передачи (PCR - peak cell rate; T=1/PCR - минимальное расстояние между ячейками), другой - допустимую вариацию значения скорости передачи (CDVT=L). Если клиент не собирается посылать более 100000 ячеек в секунду, то Т=10 мксек. На рис. 4.3.5.3 представлены разные варианты следования ячеек. Если ячейка приходит раньше чем T-t, она считается неподтверждаемой и может быть отброшена. Ячейка может быть сохранена, но при этом должен быть установлен бит CLP=1. Применение бита CLP может быть разной для разных категорий услуг (смотри таблицу 4.3.5.3.). Данный механизм управления трафиком сходен с алгоритмом "дырявое ведро", описанным в разделе .
Можно вычислить число подтверждаемых ячеек N, которые могут быть переданы при пиковом потоке ячеек PCR=1/t. Пусть время ячейки в пути равно d. Тогда N = 1 + (l/(T-d)). Если полученное число оказалось нецелым, оно должно быть округлено до ближайшего меньшего целого.
Трудно устранимой проблемой для atm является предотвращение перегрузки на промежуточных коммутаторах-переключателях. Коммутаторы могут иметь 100 внешних каналов, а загрузка может достигать 350000 ячеек/сек. Здесь можно рассматривать две задачи: подавление долговременных перегрузок, когда поток ячеек превосходит имеющиеся возможности их обработки, и кратковременные пиковые загрузки. Эти проблемы решаются различными способами: административный контроль, резервирование ресурсов и управление перегрузкой, привязанное к уровню трафика.
В низкоскоростных сетях с относительно медленно меняющейся или постоянной загрузке администратор вмешивается лишь при возникновении критической ситуации и предпринимает меры для понижения скорости передачи. Очень часто такой подход не слишком эффективен, так как за время доставки управляющих команд приходят многие тысячи ячеек.
Кроме того, многие источники ячеек в ATM работают с фиксированной скоростью передачи (например, видеоконференция). Требование понизить скорость передачи здесь достаточно бессмысленно. По этой причине в АТМ разумнее предотвращать перегрузку. Но для трафика типа CBR, VBR и UBR не существует никакого динамического управления перегрузкой и административное управление является единственной возможностью. Когда ЭВМ желает установить новый виртуальный канал, она должна охарактеризовать ожидаемый трафик. Сеть анализирует возможность обработки дополнительного трафика с учетом различных маршрутов. Если реализовать дополнительный трафик нельзя, запрос аннулируется. В отсутствии административного контроля несколько широкополосных пользователей могут блокировать работу массы узкополосных клиентов сети, например, читающих свою почту.
Резервирование ресурсов по своей сути близко административному контролю и выполняется на фазе формирования виртуального канала. Резервирование производится вдоль всего маршрута (во всех коммутаторах) в ходе реализации процедуры setup. Параметрами резервирования может быть значение пикового значения полосы пропускания и/или средняя загрузка.
Для типов сервиса CBR и VBR отправитель даже в случае перегрузки не может понизить уровень трафика. В случае UBR потери не играют никакой роли. Но сервис ABR допускает регулирование трафика. Более того, такое управление здесь весьма эффективно. Существует несколько механизмов реализации такого управления. Так предлагалось, чтобы отправитель, желающий послать блок данных, сначала посылал специальную ячейку, резервирующую требуемую полосу пропускания. После получения подтверждения блок данных начинает пересылаться. Преимуществом данного способа следует считать то, что перегрузки вообще не возникает. Но данное решение не используется из-за больших задержек (решение ATM-форума).
Другой способ сопряжен с посылкой коммутаторами специальных ячеек отправителю в случае возникновения условий перегрузки. При получении такой ячейки отправитель должен понизить скорость передачи вдвое.
Предложены различные алгоритмы последующего восстановления скорости передачи. Но и эта схема отвергнута форумом atm из-за того, что сигнальные ячейки могут быть потеряны при перегрузке. Действительно данный алгоритм не всегда можно признать разумным. Например, в случае, когда коммутатор имеет 10 каналов с трафиком по 50 Мбит/с и один канал с потоком в 100 кбит/c, глупо требовать понижения трафика в этом канале из-за перегрузки.
Третье предложение использует тот факт, что граница пакета помечается битом в последней ячейке. Коммутатор просматривает входящий поток и ищет конец пакета, после чего выбрасывает все ячейки, относящиеся к следующему пакету. Этот пакет будет переслан позднее, а отбраcывание
M ячеек случайным образом может вынудить повторение передачи m пакетов, что значительно хуже. Данный вариант подавления перегрузки был также не принят, так как выброшенный пакет совсем не обязательно послан источником, вызвавшим перегрузку. Но этот способ может быть использован отдельными производителями коммутаторов.
Обсуждались решения, сходные с тем, что используется в протоколе TCP "скользящее окно". Это решение требует слишком большого числа буферов в коммутаторах (как минимум по одному для каждого виртуального канала). После длинных дискуссий был принят за основу совершенно другой метод.
После каждых М информационных ячеек каждый отправитель посылает специальную
RM-ячейку (resource management). Эта ячейка движется по тому же маршруту, что и информационные, но RM-ячейка обрабатывается всеми коммутаторами вдоль пути. Когда она достигает места назначения, ее содержимое просматривается и корректируется, после чего ячейка посылается назад отправителю. При этом появляются два дополнительных механизма управления перегрузкой. Во-первых, RM-ячейки могут посылаться не только первичным отправителем, но и перегруженными коммутаторами в направлении перегрузившего их отправителя. Во-вторых, перегруженные коммутаторы могут устанавливать средний PTI-бит в информационных ячейках, движущихся от первоисточника к адресату.
Но даже выбранный метод подавления перегрузки не идеален, так как также уязвим из-за потерь управляющих ячеек.
Управление перегрузкой для услуг типа abr базируется на том, что каждый отправитель имеет текущую скорость передачи (ACR - actual cell rate), которая лежит между MCR (minimum cell rate) и PCR (peak cell rate). Когда происходит перегрузка, ACR уменьшается, но не ниже MCR. При исчезновении перегрузки acr увеличивается, но не выше PCR. Каждая RM-ячейка содержит значение загрузки, которую намеривается реализовать отправитель. Это значение называется
ER (explicit rate). По пути к месту назначения эта величина может быть уменьшена попутными коммутаторами. Ни один из коммутаторов не может увеличивать ER. Модификация ER может производиться как по пути туда, так и обратно. При получении RM-ячейки отправитель может скорректировать значение ACR, если это необходимо.
С точки зрения построения интерфейса и точек доступа (T, S и R) сеть ATM сходна с ISDN (см. ).
Для физического уровня предусмотрены две скорости обмена 155,52 и 622,08 Мбит/с. Эти скорости соответствуют уровням иерархии SDH STM-1 и 4*STM-1. При номинальной скорости 155.52 Мбит/с пользователю доступна реально скорость обмена 135 Мбит/c, это связано с издержками на заголовки и управление. Для ATM используются коаксиальные кабели, скрученные пары (<100м для обоих вариантов) и оптоволоконные кабели (~2км). Для канала связи рассматриваются два кода CMI (coded mark inversion) и скрэмблеры типа установка-сброс (set-reset). В CMI двоичный 0 передается как отрицательный импульс половинной длины, за которым следует положительный импульс той же длительности. Двоичная 1 представляется в виде отрицательного или положительного импульса полной длины, так чтобы уровень менялся для последовательно следующих 1 (система AMI, см. ). Это обеспечивает балансировку передающей линии по постоянному напряжению, но удваивает частоту переключения практически вдвое. Скрамблерный метод не меняет частоту переключения, но его эффективность зависит от передаваемой информации.
CMI предпочтительней для 155 Мбит/с. В настоящее время используется две схемы передачи данных применительно к ATM: базирующийся на потоке пакетов (cell stream) и на SDH структурах. В первом случае мы имеем непрерывный поток 53-октетных пакетов, во втором эти пакеты уложены в STM-1 кадры. Управляющие сообщения располагаются в заголовках секции и пути кадра SDH.
AAL (ATM adaptation layer) служит для адаптации различных видов сервиса к требованиям ATM-уровня. Каждый вид услуг требует своего AAL-протокола. Главной целью AAL является обеспечение удобства при создании и исполнении программ прикладного уровня. Для всех AAL определены два субуровня:
SAR | (segmentation and reassemble) делит пакеты высокого уровня, передает atm и наоборот (сборка сообщений из сегментов). |
CS | (convergent sub-layer) зависит от вида услуг (обработка случаев потери пакета, компенсация задержек, мониторирование ошибок и т.д.). Этот подуровень может в свою очередь делиться на две секции: CPCS (common part convergence sublayer) – общая часть субуровня конвергенции и SSCS (service-specific convergence sublayer) – служебно-ориентированный подуровень конвергенции (последний может и отсутствовать). |
AAL-протоколы управляются значениями следующих переменных:
Скорость обмена (постоянная или переменная)
Режим соединения (с установлением связи или без)
Синхронизация (требуется или нет синхронизация между отправителем и получателем)
В настоящее время определены четыре класса услуг, которые могут требовать или нет синхронизации между отправителем и получателем, осуществлять обмен при постоянной или переменной частоте передачи бит, с установлением связи или без. Особенности этих видов услуг для адаптивного уровня систематизированы в таблице 4.3.5.4. Каждая из услуг имеет свой AAL протокол.
Таблица 4.3.5.4. Особенности видов услуг для адаптивного уровня
| Класс a (AAL1) | Класс b (AAL2) | Класс c (AAL3/4 или 5) | Класс d (AAL3/4 или 5) |
Синхронизация работы отправителя и получателя | необходима | необходима | не нужна | не нужна |
Частота следования битов | Постоянная | Переменная | Переменная | Переменная |
Режим соединения | С соединением | С соединением | С соединением | Без соединения |
Уровень адаптации 1-го уровня (AAL) выполняет для верхнего уровня следующие услуги (передача аудио- и видео- по каналам DS-1 и DS-3; постоянная скорость передачи):
синхронизацию передатчика и приемника;
передачу данных с фиксированной скоростью;
индикацию потери и искажения данных, если эти ошибки не устраняются на уровне адаптации;
передачу от отправителя получателю информации о структуре передаваемых данных.
Для решения этих задач AAL первого уровня должен устранять разброс задержек, выявлять ячейки, доставленные не по адресу, и потерянные ячейки, сегментацию пакетов и последующее их восстановление, выполнять мониторирование ошибок в управляющей информации протокола AAL-PCI (protocol control information). Характер обмена здесь строго ориентирован на соединение. AAL-1 использует субуровни конвергенции и SAR. Субуровень конвергенции обеспечивает постоянство скорости передачи ячеек. AAL-1 конвергенции не имеет какого-то специфического протокольного заголовка. Этот субуровень разбивает входные сообщения на 46- или 47-байтные блоки и передает их субуровню SAR для пересылки.
Структура протокольной части информационного поля ячейки SAR-pdu представлена на рис. 4.3.5.4
CSI позволяет приемнику распознать уровень конвергенции. Подуровень SAR получает значение SN (порядковый номер) для каждого 47-октетного блока данных от подуровня конвергенции. Поле SNR (sequence number protection - контрольная сумма) служит для обнаружения и исправления ошибок в заголовке, в качестве производящего полинома используется G(x)= x3 + x + 1. Один из битов SNP- представляет собой бит четности. Если CSI=1, то после поля SNP следует однобайтовое поле указатель, которое используется для определения положения начала следующего сообщения (значения 0-92; старший бит поля указатель зарезервирован на будущее). Поле данных в этом варианте имеет 64 байт.
Для сжатой аудио и видео информации скорость передачи может варьироваться в широких пределах. Ведь многие схемы предусматривают периодическую отправку полного видеокадра при последующей передаче транспортируются лишь отличия последовательных кадров.
Уровень адаптации 2- го типа предоставляет вышестоящему уровню возможность синхронизовать передатчик и приемник, осуществлять обмен с изменяющейся скоростью, оповещение об ошибках и потерях ячеек. Структура ячейки AAL 2-го типа показана на рис. 4.3.5.5 (субуровень SAR). Из-за переменной скорости передачи заполнение ячеек может быть неполным.
Рис. 4.3.5.4. Структура PDU подуровня SAR ATM 1-го типа (AAL1)
CSI | (convergence sublayer indicator) – индикатор подуровня конвергенции |
SN | (sequence number) – номер по порядку |
SNP | (sequence number protection) – защита номера последовательности |
Рис. 4.3.5.5. Структура PDU подуровня SAR ATM 2-го типа (AAL2)
IT | (information type) – тип данных. Служит для указания начала, продолжения или окончания сообщения |
LI | (length indicator) – индикатор длины. Указывает число октетов в поле данных |
CRC | Контрольная сумма |
Поля SN и IT имеют общую длину 1 байт, поля же LI и CRC вместе занимают 2 байта. Поле данных (PDU) в такой ячейке имеет длину 45 байт. Более детальной информации о длинах полей стандарт не оговаривает.
Уровень адаптации 3/4 типов предназначен для передачи данных как в режиме с установлением соединения, так и без него. Раньше службам С и D были выделены разные типы уровня адаптации, позднее они были объединены. Определены два типа обмена: сообщение и поток. В первом случае блок данных передается в одном интерфейсном блоке (IDU). Сервисные блоки данных могут иметь переменную длину. В режиме поток сервисный блок данных передается через интерфейс уровня адаптации в одном или нескольких IDU. В этом режиме может быть реализована услуга “внутренний контейнер”. Здесь допускается и прерывание передачи, частично переданный блок теряется. AAL3/4 допускает организацию нескольких сессий одновременно (например, несколько удаленных login). Структура протокольного блока данных подуровня SAR 3/4 типа представлена на рис. 4.3.5.6. Длина поля данных (PDU) составляет 44 байта. Заметим, что AAL3/4 имеет два уровня издержек - 8 байт добавляется для каждого сообщения и 4 избыточных байта приходятся на каждую ячейку, это достаточно много особенно для коротких сообщений.
Рис. 4.3.5.6. Структура pdu подуровня SAR ATM 3/4-го типов
ST | (segment type) – тип сегмента. Начало сообщения – 10 (BOM – beginning of message), продолжение – 00 (COM – continuation of message), завершение сообщения – 01 (EOM – end of message), односегментное сообщение – 11; |
SN | (sequence number) – номер по порядку; |
MID | (multiplexing identifier) – идентификатор мультиплексирования для протокола 4-го уровня (позволяет мультиплексировать до 1024 пользователей для одного соединения). Поле служит для определения того, к какой из активных сессий принадлежит данная ячейка. |
li | длина заполнения поля данных. |
При вычислении crc используется образующий полином G(x) = x11 + x9 + x5 + x4 + x +1. Подуровень конвергенции aal содержит общую часть подуровня CPCS (common path convergence sublayer) и служебную часть подуровня SSCS (service specific convergence sublayer). CPCS обеспечивает негарантированную доставку кадров любой длины в диапазоне 1-65535 байт. Данные пользователя передаются непосредственно на субуровень AAL. Формат протокольного блока данных подуровня конвергенции AAL 3/4-типа показан на рис. 4.3.5.7.
Рис. 4.3.5.7. Формат блока данных подуровня конвергенции AAL 3/4-типа
CPI | (common part indicator) – однооктетный индикатор общей части, используется при интерпретации последующих полей; |
BTAG | (beginning tag) – однооктетная метка начала, в сочетании с ETAG определяет границы протокольного блока данных (PDU); |
BAsize | (buffer allocation size) – емкость буфера, сообщает получателю максимальный размер буфера. Поле занимает 2 байта; |
PAD | заполнитель, обеспечивает кратность поля данных 4 октетам; |
AL | (alignment) – выравнивание, заполняется нулями; |
ETAG | (end tag) – метка конца (один октет); |
Длина | задает протяженность cpcs-pdu; |
CPCS-PDU | (common part convergence sublayer – protocol data unit) – протокольный блок данных общей части подуровня конвергенции |
Тип 3/4 имеет существенную избыточность (4 байта из 48 на каждый SAR-PDU). По этой причине был введен 5-ый тип. Этот уровень обеспечивает канал, ориентированный на соединение, с переменной скоростью обмена (VBR) в широковещательном режиме при минимальном контроле ошибок (или вовсе без него).
IP- дейтограммы передаются через сети ATM через адаптационный уровень 5 (RFC-1577). Уровень AAL5 иногда называют SEAL (simple and efficient adaptation layer – простой и эффективный адаптационный уровень). AAL5 занимает в наборе протоколов семейства ATM нишу протокола udp стека TCP/IP. Формат ячейки SAR-PDU 5-го типа показан на рис. 4.3.5.8.
Рис. 4.3.5.8. Формат ячейки SAR-PDU 5-го типа (AAL5)
Рис. 4.3.5.8a. Формат сообщения AAL5 субуровня конвергенции
UU | (user to user) – поле необходимо для верхних уровней, чтобы обеспечить мультиплексирование; |
Длина | двухоктетное поле длины поля данных (PDU); |
CRC | 4-октетная контрольная сумма; |
Однобайтовое поле, расположенное между полями UU и длина зарезервировано для использования в будущем. Так как здесь для переноса информации используется заголовок, работа AAL не является независимой от нижележащего уровня, что является нарушением эталонной модели. Инкапсулироваться в поля данных AAL5 могут блоки длиной до 216-1 октетов (65535). Выполнение операций здесь зависит от того, работает ли система в режиме сообщения или потока. На подуровне конвергенции для передачи протокольного блока данных используется 4-х байтовая CRC с образующим полиномом G(x) = x32 + x26 + x23 + x22 + x16 + x12 + x11 + x10 + x8 + x7 + x5 + x4 + x2 + x + 1, что обеспечивает высокую надежность корректности доставки. Положение адаптационного уровня в рамках эталонной модели показано на рис. 4.3.5.9. Следует впрочем заметить, что не вполне ясно, какой уровень занимает сам протокол ATM (транспортный или сетевой?).
Рис. 4.3.5.9. Положение уровней ATM в универсальной модели
Верхние уровни управления для ATM базируются на рекомендациях ccitt I450/1 (Q.930/1). В случае использования ATM для Интернет значение MTU по умолчанию равно 9180 (RFC-1626), так как фрагментация IP-дейтограмм крайне нежелательна (AAL). Работа протоколов TCP/IP поверх ATM описана в документах RFC-
1483,
-1577,
-1626, -1680,
-1695, -1754,
-1755, -1821, -1926, -1932 (полужирным шрифтом выделены коды документов, являющиеся стандартами Интернет).
Ниже на рис. 4.3.5. 10 показано, как пакеты atm размещаются в кадрах STM-1 (виртуальный контейнер VC-4).
Рис. 4.3.5.10. Размещение atm пакетов в STM-1 кадре
В STM-1 для передачи ячеек выделяется полоса пропускания
=150,3 Мбит/c. (9 рядов по 261 байту, передаваемые каждые 125 мксек)
Форматы адресов согласно спецификации интерфейса “пользователь-сеть” представлены на рис. 4.3.5.11.
Рис. 4.3.5.11. Формат DCC ATM с числовым кодом страны.
AFI | (authority and format identifier) – идентификатор формата и привилегий. |
DCC | (data country code) – код данных страны (стандарт МОС 3166). |
DFI | (DSP format identifier) – идентификатор формата DSP. |
DSP | (domain specific part) – часть, зависящая от домена. |
AA | (administrative authority) – административное субполе. |
RSVD | (reserved) – резерв на будущее. |
RD | (routing domain) – область маршрутизации. |
AREA | идентификатор зоны. |
ESI | (end system identifier) – идентификатор оконечной системы. |
SEL | (selector) – селектор. |
IDI | (initial domain identifier) – идентификатор исходной области. |
HO | (higher order) – старшая часть. |
Формат ICD с указателем международного кода отличается от формата DCC тем, что в нем поле DCC заменено полем международного кода ICD (international code designator). Формат адреса Е.164 NSAP, где идентификатор исходной области является номером Е.164, представлен на рис. 4.3.5.12. Структура номера (15 десятичных цифр в кодировке BCD) места назначения отображена на рис. 4.3.5.13.
Важную роль в управлении сетями АТМ играет информация OAM(operations and maintenance). Здесь осуществляется тесное взаимодействие с потоками управления sdh (F1-F5).
F1 – поток данных oam уровня регенерационной секции SDH.
F2 - поток данных oam цифровой мультиплексорной секции SDH.
F3 - поток данных oam уровня пути обмена SDH.
F4 - поток данных oam виртуального пути АТМ.
F5 - поток данных oam виртуального канала АТМ.
Рис. 4.3.5.12. Формат адреса Е.164 NSAP
Рис. 4.3.5.13. Структура номеров
Код страны (СС –country code) занимает от одной до трех цифр (из 15).
Маршрутизация в atm отличается от аналогичных процессов в сетях с коммутацией пакетов. Сети АТМ в основном ориентированы на соединение. Ячейки транспортируются по уже выбранному маршруту через коммутаторы АТМ в соответствии со значениями идентификаторов виртуального пути и виртуального канала. Вычисление маршрута осуществляется на специальном сервере. Потоки информации F4 или F5 принимаются и обрабатываются устройствами, которые формируют виртуальные пути или каналы. Формат информационного поля ячейки oam показан на рис. 4.3.5.14. Поток информации oam F4 уровня виртуального пути для идентификации потока точка-точка использует идентификатор виртуального канала VCI=4, а для сегментных потоков VCI=3.
Рис. 4.3.5.14. Формат ячейки OAM F4
Поток ячеек OAM F5 уровня виртуального канала каких-либо специальных идентификаторов виртуальных путей не использует. В заголовках ячеек потока oam F5 типа точка-точка в поле типа данных (PT) записывается код 100, а для сегментных потоков виртуальных каналов PT=101. Значения кодов полей тип OAM и выполняемой функции приведены в таблице 4.3.5.5. Для решения проблем выявления и локализации отказов в сети АТМ используются ячейки AIS (alarm indication signal – аварийный сигнал), RDI/FERF (remote defect indication/far end reporting failure – указатель отказа на удаленном конце), контроля непрерывности (continuity check) и проверки с применением обратной связи (loopback). Для ячеек AIS и RDI поля тип отказа имеет 8 байт (по умолчанию во все октеты записывается 0х6А), а для указателя места отказа выделено 9 байт. Полезная часть поля данных в этих ячейках равна 45 байтам, из них 28 зарезервировано на будущее.
Таблица 4.3.5.5.
Код поля тип oam | Назначение | Код поля тип выполняемой функции | Назначение |
0001 | Обнаружение и определение места отказов (fault management) | 0000 | Указание отказа (AIS) |
0001 | Указание на удаленный дефект (RDI/FERF) |
0100 | Проверка непрерывности (continuity check) |
1000 | Обратная связь (loopback) |
0010 | Контроль рабочих характеристик | 0000 | Прямой мониторинг (forward monitoring) |
0001 | Сообщение о предыстории (backward reporting) |
0010 | Мониторирование и предоставление результатов (monitoring and reporting) |
1000 | Активизация и завершение процессов oam | 0000 | Мониторинг рабочих характеристик (performance monitoring) |
0001 | Проверка непрерывности (continuity check) |
Контроль рабочих характеристик сети АТМ производится без нарушения соединений и без снижения качества обслуживания. Для запуска и остановки процесса измерения служат ячейки типа activation/deactivation. В ячейке oam для этих целей в поле данных выделено 45 байт. Формат субполей поля данных представлен на рис. 4.3.5.15.
Рис. 4.3.5.15. Формат субполей поля данных oam activation/deactivation
Субполе неиспользуемые октеты заполняется байтами 0х6А, а субполя блок РМ - кодами 0000. Значения кодов поля идентификатор сообщения приведены в таблице 4.3.5.6.
Таблица 4.3.5.6.
Код поля идентификатор сообщения | Назначение |
000001 | Активация (запрос) |
000010 | Подтверждение активации |
000011 | Отвержение запроса активации |
000101 | Деактивация |
000110 | Подтверждение деактивации |
000111 | Отвержение запроса деактивации |
В субполе направление действия заносится код 10 при направлении от А к В и 01 при противоположном направлении. В поле размер записывается код 1000 при длине 1024 ячеек, 0100 - при 512, 0010 - при 256 и 0001 – при 128. Размеры блоков для направлений А ->b и В ->a могут быть и неравными. Мониторинг рабочих параметров может выполняться для А ->b, В ->a или для обоих направлений одновременно.
Формат ячеек oam типа измерение рабочих характеристик представлен на рис. 4.3.5.16.
Рис. 4.3.5.16. Формат ячеек oam типа измерение рабочих характеристик
В субполя BIP-16 (bit interleaved parity) и счет потерянных ячеек в отсутствии прямого мониторинга по умолчанию заносится код 0х6А, аналогичный код записывается в субполя число ячеек пользователя и результаты анализа в отсутствие обратного мониторинга. В неиспользуемое поле записываются 1 во все биты, если не использована временная метка. Поле порядковый номер мониторинга (MSN – monitoring sequence number) содержит номер ячейки oam типа PM по модулю 256. Поле общее число ячеек пользователя (TUC – total user cell) записывается число пользовательских ячеек, отправленных после последней ячейки OAM типа PM.
Один физический отказ может сгенерировать большое число ячеек OAM.
Для блокировки такой возможности введено ограничение на период генерации таких ячеек (> нескольких секунд). Операции проверки тракта, выполняемые с помощью ячеек OAM типа loopback, позволяют выявить место возникновения неисправностей. Формат поля специальных функций ячейки OAM типа loopback отображен на рис. 4.3.5.17 (см. также рис. 4.3.5.14).
Рис. 4.3.5.17. Формат ячейки oam типа loopback
Поле неиспользуемое содержит во всех октетах по умолчанию код 0х6А. Поле индикатор шлейфа содержит 1 при посылке отправителем (остальные семь бит равны нулю), единица заменяется нулем в момент приема. При получении ячейки с индикатором шлейфа, равным нулю, она уничтожается. Поле корреляционная метка используется отправителем для идентификации отклика. Поле идентификатор места шлейфа определяет место, откуда ячейка должна быть послана назад. Если поле содержит все единицы, таким местом является адресат. Поле идентификатор источника служит для распознавания ячейки и ее уничтожения при возвращении.
Предоставление услуг без установления соединения соответствует уровню выше чем АТМ и требует соединения каждого клиента с соответствующим сервером, решающим данную задачу. Большинство локальных и региональных сетей АТМ реализуют именно такой режим. Для передачи данных без установления соединения используется протокол доступа CLNAP (connectionless network access protocol), интерфейс CLAI (connectionless access interface) и сетевой протокол CLNIP (connectionless network interface protocol). Размер поля данных для CLNAP не является постоянным и составляет 9188 октетов, что подразумевает фрагментацию. Эти протоколы работают выше подуровня конвергенции. Соответствующая длина для CLNIP SDU равна 9236 октетам. Формат блока данных CLNIP показан на рис. 4.3.5.18.
Рис. 4.3.5.18. Формат структуры данных протокола CLNIP
PI | (protocol identifier) – идентификатор протокола. |
PADLE | (padding length) – длина заполнения. |
QoS | (quality of service) – качество обслуживания |
С | (CRC indication bit) – индикатор числа бит в контрольной сумме CRC. |
HEL | (header extension length) – длина расширения заголовка. |
Проблему фрагментации и инкапсуляции этих длинных пакетов в АТМ ячейки берет на себя коммутатор доступа. Схема вложения и фрагментации для пакетов clnap отображена на рис. 4.3.5.19.
Из рисунка видно, что на подуровне SAR происходит деление пакета на части и укладка полученных сегментов в поля данных ячеек (48 байт).
Рис. 4.3.5.19. Схема вложения и фрагментации для пакетов CLNAP
АН | – (alignment header; 4 октета) – поле выравнивания. |
SAR | – (segmentation and reassemble) – сегментация и сборка. |
CPCS | - (common part convergence sublayer) общая часть подуровня конвергенции. |
Для использования одного и того же виртуального канала многими протоколами служит LLC-инкапсуляция (logical link control). LLC-заголовок укладывается в поле данных перед PDU и содержит в себе информацию, необходимую для того, чтобы корректно обработать AAL5 CPCS-PDU. Обычно такой заголовок имеет формат IEEE 802.2, за которым может следовать SNAP-заголовок IEEE 802.1a. LLC-заголовок, содержащий код 0xFE-fe-03, говорит о том, что далее следует маршрутизируемый pdu длиной 216-4 октетов. Одно-октетный код NLPID идентифицирует сетевой протокол. Значения кодов NLPID представлены в таблице 4.3.5.7.
Таблица 4.3.5.7. Значения кодов NLPID
Код nlpid | Назначение |
0х00 | Нулевой сетевой уровень (в atm не используется) |
0х80 | SNAP |
0х81 | ISO CLNP |
0х82 | ISO ESIS |
0х83 | ISO ISIS |
0хСС | Интернет (IP не является протоколом ISO) |
Формат PDU для маршрутизируемых данных при использовании протоколов, не принадлежащих ISO, представлен на рис. 4.3.5.20 (случай IP-дейтограммы).
Рис. 4.3.5.20. Формат IP PDU при транспортировке с использованием AAL5 ATM
Пропускная способность сети АТМ (150 Мбит/с) позволяет передавать немного более 360000 ячеек в секунду, что означает для ATM-переключателя время коммутации менее 2,7 мксек. Реальный переключатель может иметь от 16 до 1024 входных линий, что может означать коммутацию 16-1024 ячеек каждые 2,7 мксек. При быстродействии 622 Мбит/с новая порция ячеек поступает каждые 700 нсек. Постоянство длины ячеек упрощает конструкцию ключа.
Все АТМ- ключи имеют целью обеспечить коммутацию с минимальной вероятностью потери и исключить возможность изменения порядка следования ячеек. Приемлемой считается вероятность потери ячейки не более 10-12. Это эквивалентно для большого коммутатора потери 1-2 ячеек в час. Уменьшению вероятности потери способствует создание буферов конвейерного типа. Если на вход переключателя приходят две ячейки одновременно, одна из них обслуживается, а вторая ставится в очередь (запоминается в буфере). Выбор ячеек может производиться псевдослучайно или циклически. При этом не должно возникать предпочтений для каких-то каналов. Если в один цикл на вход (каналы 1, 2, 3 и 4) коммутатора пришли четыре ячейки, предназначенные для выходных линий
J+2, J, J+2 и
J+1, соответственно, то на линии J+2 возникает конфликт. Предположим, что будет обслужена ячейка, поступившая по первой входной линии, а ячейка на входной линии 3 будет поставлена в очередь. В начале следующего цикла на выход попадут три ячейки. Предположим также, что в этот цикл на ходы коммутатора (1 и 3) придут ячейки адресованные для линий
J+3 и
J, соответственно. Ячейка, адресованная J, будет поставлена в очередь вслед за ячейкой, адресованной J+2. Все эти ячейки будут переданы только на 4-ом цикле. Таким образом, попадание в очередь на входе ячейки блокирует передачу последующих ячеек даже если выходные каналы для их передачи свободны. Чтобы исключить блокировку такого рода можно организовать очередь не на входе, а на выходе коммутатора. При этом для коммутатора с 1024 входами теоретически может понадобиться 1024 буфера на каждом выходе. Реально число таких буферов значительно меньше. Такая схема АТМ-коммутатора (8*8) показана на рис. 4.3.5.21.
Рис. 4.3.5.21. Схема переключателя с организацией очередей на выходе
Концентратор выбирает N ячеек для помещения в очередь (предполагается, что максимальная длина очереди может быть равна N). Выходной буфер уже заполнен, ячека может быть потеряна. При построении АТМ-коммутаторов часто используется схема .
Содержание раздела