Тема 35 Технология ATM Раздел 6 Технологии глобальных сетей
Технология ATM (Asynchronous Transfer Mode асинхронный режим передачи) была разработана как единый универсальный транспорт для нового поколения сетей с интегрированным обслуживанием, которые называются также широкополосными сетями ISDN (Broadband ISDN, B-ISDN). По сути, ATM стала второй попыткой построения универсальной сети после неудачи ISDN. В отличие от технологии Frame Relay, которая изначально предназначалась только для передачи эластичного компьютерного трафика, цели разработчиков ATM были значительно шире. Технология ATM должна была обеспечивать: передачу трафика любого типа, как компьютерного, так и мультимедийного (голос, видео, управление в реальном времени), причем для каждого вида трафика качество обслуживания должно соответствовать его потребностям; иерархию скоростей передачи данных, от десятков мегабит до нескольких гигабит в секунду с гарантированной пропускной способностью для критически важных приложений; возможность использования имеющейся инфраструктуры линий связи и физических протоколов (PDH,SOH, High- speed LAN); взаимодействие с унаследованными протоколами локальных и глобальных сетей (IP, SNA, Ethernet, ISDN).
Метод АТМ является ориентированным на соединение. Передачи информации предшествует организация виртуального соединения (коммутируемого или постоянного) между отправителем и получателем данных, что впоследствии упрощает процедуры маршрутизации. Данные перед их передачей по каналам связи делятся на участки длиной 48 байт. К ним добавляется заголовок (5 байт). Образуются ячейки, которые передаются с использованием виртуальных каналов, т.е. имеющих идентификатор логических каналов, организуемых между двумя устройствами для установления связи. В одном физическом канале связи, как правило, передаются совместно ячейки, принадлежащие множеству различных виртуальных каналов. Ячейки, поступающие от различных комплектов оконечного оборудования данных, объединяются в канале связи, образуя групповой сигнал, и коммутируются в узлах сети. По сравнению с коммутацией пакетов, где пакеты могут иметь различные размеры с различными расстояниями между ними, ячейки АТМ имеют строго фиксированную длину, кратную байту, и следуют друг за другом без перерывов. Это облегчает процедуры обработки сигнала, что позволяет повысить скорость передачи информации и предоставляет возможности широкополосной связи. В отличие от коммутации каналов с временным уплотнением ячейки предоставляются пользователям только на время передачи информации.
При отсутствии необходимости передачи информации пользователь не занимает ресурсы сети связи, что повышает эффективность их использования. Отсюда происходит название метода: термин асинхронный означает, что ячейки, принадлежащие одному соединению, поступают в канал связи нерегулярно, и временные интервалы предоставляются источнику сообщений в соответствии с его реальными потребностями. Небольшая длина ячейки позволяет легко перемещать ячейки, используемые для различных приложений, таких как передача данных, речи и видеоизображений. Высокая скорость дает возможность передавать информацию в реальном масштабе времени. Контрольные функции, такие как распознавание типа сообщения, подтверждение факта получения сообщения принимающим терминалом, выявление ошибок при передаче информации, управление повторной передачей и т.д. с целью упрощения процедур обработки ячеек промежуточными узлами связи переданы протоколам верхних уровней. Общая композиция протоколов включает физический уровень, уровень АТМ, уровень адаптации (AAL - ATM Adaptation Layer), который зависит от вида предоставляемой услуги, и верхние уровни.
Физический уровень Стандарт ATM не вводит свои спецификации на реализацию физического уровня. Здесь он основывается на технологии SDH/SONET, принимая ее иерархию скоростей. В соответствии с этим начальная скорость доступа пользователя сети это скорость STM Мбит/с. Магистральное оборудование ATM работает и на более высоких скоростях STM Мбит/с и STM-16 2,5 Гбит/с. Существует также оборудование ATM, которое поддерживает скорости PDH, такие как 2 или 34/45 Мбит/с.. Уровень АТМ служит для мультиплексирования/ демультиплексирования ячеек, генерации заголовков ячеек, выделения информационного поля и прозрачный его перенос. Никакая обработка информационного поля (например, контроль на наличие ошибок) уровнем АТМ не выполняется. Граница между уровнем АТМ и уровнем адаптации соответствует границе между функциями, относящимися к заголовку, и функциями, относящимися к информационному полю.
Уровень AAL поддерживает функции протоколов верхних уровней, обеспечивает адаптацию с ними функций передачи уровня АТМ, а также соединения между АТМ и не-АТМ интерфейсами. Функций AAL уровня являются на передающем конце: обнаружение информационных блоков, поступающих с верхнего уровня, их сегментация и преобразование исходного цифрового сигнала в ячейки АТМ; на приемном конце: восстановление исходной информации из ячеек АТМ, направление информационных блоков к верхнему уровню, компенсация переменной величины задержки в сети АТМ для звуковых сигналов, обработка частично заполненных ячеек, действия при потере ячеек и т.д. Любая специфическая информация уровня адаптации (например, длина поля данных, отметки времени, порядковый номер), которая должна быть передана между взаимодействующими уровнями адаптации, содержится в информационном поле ячейки АТМ. Телекоммуникационная сеть, использующая технологию АТМ, состоит из набора коммутаторов, связанных между собой. Коммутаторы АТМ поддерживают два вида интерфейсов: интерфейс пользователь - сеть (UNI - user-network interface) и интерфейс сеть - узел сети (NNI - network-network interface). UNI соединяет оконечные системы АТМ (рабочие станции, маршрутизаторы и др.) с коммутатором АТМ, тогда как NNI может быть определен как интерфейс, соединяющий два коммутатора АТМ.
В таблице показан формат ячейки АТМ в соответствии со стандартом UNI. Таблица Как видно из таблицы, ячейка имеет размер 53 октета и включает заголовок длиной 5 октетов и информационное поле. Первые четыре двоичных символа заголовка выделены для поля общего управления потоком. Следующие 24 двоичных единицы используются для идентификации виртуального пути (ВП) и виртуального канала (ВК). VCILControlHCSALДАННЫЕ Заголовок 5 байтПоле данных 48 байт VCIL - идентификатор постоянного виртуального канала (3 байта). Control - поле управления (1 байт). HCS - поле контрольной суммы (1 байт). AL - поле адаптационного уровня ATM (4 байта).
Как отмечалось выше, сети АТМ являются ориентированными на соединение, и требуемая виртуальная цепь должна быть проложена через сеть АТМ прежде, чем какие-либо данные будут переданы. Для организации этой цепи технология АТМ предусматривает использование виртуальных каналов. Несколько ВК составляют виртуальный путь. Все идентификаторы виртуальных путей и виртуальных каналов (ВП и ВК) имеют только местное значение в пределах отдельной линии и принимают новые значения в каждом коммутаторе сети АТМ. Ряд ВК резервируется для трафика сигнализации и различных целей управления. Три двоичных символа четвертого октета используются для идентификации типа сообщения, передаваемого в информационном поле ячейки (данные пользователя или служебная информация управления, контроля и обеспечения). Данное поле тип полезной нагрузки также может использоваться для информирования о перегрузке в сети. В пятом октете заголовка содержится проверочная последовательность заголовка.
Ячейка уничтожается, если в ее заголовке обнаруживается ошибка. Кроме того с помощью этого поля выполняется синхронизация ячеек АТМ. При отсутствии синхронизма по принятым четырем байтам вычисляется проверочный байт. Процедура повторяется до тех пор, пока найденный таким образом проверочный байт не совпадет с принятым пятым байтом, после чего наличие синхронизации проверяется каждые 53 байта. Для поддержания синхронизации ячейки передаются постоянно, даже если нет информации для передачи. В этом случае посылаются пустые ячейки. Формат ячейки, определенный для интерфейса NNI, немного отличается от рассмотренного. NNI-ячейки в отличие от ячеек UNI не содержат поля управления общим потоком, и четыре первых бита каждой ячейки используются расширенным полем идентификатора виртуального пути (12 бит). Поскольку поле управления общим потоком используется редко, но существует (его использование не определено, например, в решениях по UNI консорциума Форум АТМ), на практике функционального различия между ячейками UNI и NNI нет, кроме разве того, что ячейка последнего может поддерживать большее пространство идентификаторов ВП.
Кадр ATM в 53 байта с полем данных 48 байт явился результатом компромисса между требований эластичного и чувствительного к задержкам трафиков. Другими словами, можно сказать, что компромисс был достигнут между телефонистами и компьютерщиками первые настаивали на размере поля данных в 32 байта, а вторые в 64 байта. Небольшой и фиксированный размер кадра ATM дал ему специальное название ячейка. При размере поля данных в 48 байт одна ячейка ATM обычно переносит 48 замеров голоса, которые делаются с интервалом в 125 мкс. Поэтому первый замер должен ждать примерно 6 мс, прежде чем ячейка будет отправлена по сети. Именно по этой причине телефонисты боролись за уменьшение размера ячейки, так как 6 мс это задержка, близкая к пределу, за которым начинаются нарушения качества передачи голоса. Избыточность служебных данных при использовании 48-байтного поля данных составляет 10 %, а при использовании 32-байтного поля данных она сразу повышается до 16 %.
Главным свойством ATM; которое отличает ее от других технологий, является комплексная поддержка параметров QoS для всех основных видов трафика. Технология ATM разбивает весь трафик на 5 классов: А, В, С, D и X. Первые четыре класса представляют трафик типовых приложений, которые отличаются устойчивым набором требований к задержкам и потерям пакетов, а также тем, генерируют они трафик с постоянной (CBR) или переменной (VBR) битовой скоростью. Класс X зарезервирован для уникальных приложений, набор характеристик и требований которых не относится ни к одному из первых четырех классов. В технологии ATM для каждого класса трафика определен набор количественных параметров, которые приложение должно задать, для трафика виртуального соединения: пиковая скорость передачи ячеек (Peak Cell Rate, PCR); средняя скорость передачи ячеек (Sustained Cell Rate, SCR); минимальная скорость, передачи ячеек (Minimum Cell Rate, MCR); максимальная величина пульсации (Maximum Burst Size, MBS); доля потерянных ячеек (Cell Loss Ratio, CLR); задержка передачи ячеек (Cell Transfer Delay, CTD); вариация задержек ячеек (Cell Delay Variation, CDV).
Параметры скорости измеряются в ячейках в секунду, максимальная величина пульсаций в ячейках, а временные параметры в секундах. Максимальная величина пульсаций определяет количество ячеек, которое приложение может передать с пиковой скоростью при заданной средней скорости. Доля потерянных ячеек является отношением потерянных ячеек к общему количеству отправленных ячеек по данному виртуальному соединению. Так как виртуальные соединения являются дуплексными, то для каждого направления соединения могут быть заданы разные значения параметров. В ATM скоростные характеристики (PCR, SCR, MCR, MBS ) называют параметрами трафика и не включают их в число параметров качества обслуживания, хотя, по существу, они таковыми являются. Качество обслуживания трафика –QoS в ATM являются только параметры задержек пакетов CTD, CDV и надежности передачи CLR. Сеть старается обеспечить такой уровень обслуживания, чтобы поддерживались требуемые значения и для параметров трафика, и для задержек ячеек, и для доли потерянных ячеек.
Соглашение между приложением и сетью ATM называется трафик – контрактом, в котором определяются: класс трафика, а также указываться параметры задержек и надежности доставки ячеек. Если для приложения не критично поддержание параметров к пропускной способности и QoS, то оно может отказаться от задания этих параметров, указав в запросе на установление соединения признак обслуживания с максимальными усилиями. Такой тип трафика получил название трафика с неопределенной битовой скоростью (UBR). После заключения трафик – контракта, который относится к определенному виртуальному соединению, в сети ATM работает несколько протоколов и служб, обеспечивающих нужное качество обслуживания. Для трафика UBR сеть выделяет ресурсы «по возможности», то есть те, которые в данный момент не заняты виртуальными соединениями, заказавшими определенные параметры качества обслуживания.
Стек протоколов ATM Стек протоколов ATM показан на рис , а распределение протоколов по конечным узлам и коммутаторам ATM на рис Рис Структура стека протоколов ATM
Стек протоколов ATM соответствует нижним уровням семиуровневой модели ISO/OSI и включает уровень адаптации ATM, собственно уровень ATM и физический уровень. Прямого соответствия между уровнями протоколов технологии ATM и уровнями модели OSI нет. Рис Распределение протоколов по узлам и коммутаторам сети ATM
Уровень адаптации ATM Уровень адаптации ATM (ATM Adaptation Layer, AAL) представляет собой набор протоколов AAL1-AAL5, которые преобразуют сообщения протоколов верхних уровней сети ATM в ячейки ATM нужного формата. Функции этих уровней достаточно условно соответствуют функциям транспортного уровня модели OSI, например функциям протокола TCP или UDP. Протоколы AAL при передаче пользовательского трафика работают только в конечных узлах сети, как и транспортные протоколы большинства технологий. Каждый протокол уровня AAL обрабатывает пользовательский трафик определенного класса. Уровень адаптации состоит из двух подуровней. Подуровень сегментации и реассемблирования (Segmentation And Reassembiy, SAR) является нижним подуровнем AAL. Эта часть не зависит от типа протокола ААL (и, соответственно, от класса передаваемого трафика) и занимается разбиением (сегментацией) сообщения, принимаемою AAL от протокола верхнего уровня, на ячейки ATM, снабжением их соответствующим заголовком и передачей уровню ATM для отправки в сеть.
Подуровень конвергенции (Convergence Sublayer, CS) - это верхний подуровень AAL Этот подуровень зависит от класса передаваемого трафика. Протокол подуровня конвергенции CS решает такие задачи, как обеспечение временной синхронизации между передающим и принимающим узлами (для трафика, требующего такой синхронизации), контролем и возможным восстановлением битовых ошибок в пользовательской информации, контролем целостности передаваемого пакета компьютерного протокола (Х.25, Frame Relay). Протоколы AAL для выполнения своей работы используют служебную информацию, размещаемую в заголовках уровня AAL. После приема ячеек, пришедших по виртуальному каналу, подуровень SAR (сегментации и реассемблирования) протокола AAL собирает посланное по сети исходное сообщение (в общем случае разбитое на несколько ячеек ATM) с помощью заголовков AAL. Заголовки AAL для коммутаторов ATM являются прозрачными, так как помещаются в 48-битном поле данных ячейки, как и полагается протоколу более высокого уровня. После сборки исходного сообщения протокол AAL проверяет служебные поля заголовка и концевика кадра AAL и на их основании принимает решение о корректности полученной информации.
Ни один из протоколов ААL при передачи пользовательских данных конечных узлов не занимается восстановлением потерянных или искаженных данных. Максимум, что делает протокол AAL. уведомляет конечный узел о таком событии. Восстановление потерянных данных (или игнорирование этого события) отводится протоколам верхних уровней, не входящим в стек протоколов технологии ATM. Протокол AAL1 обычно обслуживает трафик класса А с постоянной битовой скоростью (CBR), который характерен, например, для цифрового видео и цифровой речи, и чувствителен к временным задержкам. Этот трафик передается в сетях ATM таким образом, чтобы эмулировать обычные выделенные цифровые линии. Заголовок AAL1 занимает в поле данных ячейки ATM один или 2-два байта, оставляя для передачи пользовательских данных соответственно 47 или 46 байт. В заголовке один байт отводится для нумерации ячеек, чтобы приемная сторона могла судить о том, все или не все посланные ячейки дошли до нее.
Уровень адаптации 1-го уровня (AAL) выполняет для верхнего уровня следующие услуги (передача аудио- и видео- по каналам DS-1 и DS-3; постоянная скорость передачи): синхронизацию передатчика и приемника; передачу данных с фиксированной скоростью; индикацию потери и искажения данных, если эти ошибки не устраняются на уровне адаптации; передачу от отправителя получателю информации о структуре передаваемых данных. Для решения этих задач AAL первого уровня должен устранять разброс задержек, выявлять ячейки, доставленные не по адресу, и потерянные ячейки, сегментацию пакетов и последующее их восстановление, выполнять мониторирование ошибок в управляющей информации протокола AAL-PCI (Protocol control information). Характер обмена здесь строго ориентирован на соединение. AAL-1 использует субуровни конвергенции и SAR. Субуровень конвергенции обеспечивает постоянство скорости передачи ячеек. AAL-1 конвергенции не имеет какого-то специфического протокольного заголовка. Этот субуровень разбивает входные сообщения на 46- или 47-байтные блоки и передает их субуровню SAR для пересылки.
Протокол AAL2 был разработан для передачи трафика класса В, но при развитии стандартов его исключили из стека протоколов ATM. и сегодня трафик класса В передается с помощью протокола AAL1. AAL3/4 или AAL5. Протокол AAL3/4 обрабатывает пульсирующий трафик обычно характерный для трафика локальных сетей с переменной битовой скоростью (VBR). Этот трафик обрабатывается так, чтобы не допустить потерь ячеек, но ячейки могут задерживаться коммутатором. Протокол AAL3/4 выполняет сложную процедуру контроля ошибок при передаче ячеек, нумеруя каждую составляющую часть исходного сообщения и снабжая каждую ячейку контрольной суммой, так как для компьютерного трафика или компрессированного голоса потеря части данных является фатальной ошибкой. Но, при искажениях или потерях ячеек этот уровень не занимается их восстановлением, а просто отбрасывает все сообщение то есть все оставшиеся ячейки. Протокол AAL3/4 представляет собой результат слияния протоколов AAL3 и AAL4, которые обеспечивали поддержку трафика компьютерных сетей соответственно с установлением соединения и без установления соединения.
Протокол AAL5 является упрощенным вариантом протокола AAL3/4 и работает быстрее, так как вычисляет контрольную сумму не для каждой ячейки сообщения, а для всего исходного сообщения и помещает ее в последнюю ячейку сообщения. Первоначально протокол AAL5 разрабатывался для передачи кадров сетей Frame Relay, но теперь он чаще всего применяется для передачи любого компьютерного трафика. Протокол ААL5 может поддерживать различные параметры качества обслуживания, кроме тех, которые связаны с синхронизацией передающей и принимающей сторон. Поэтому он обычно используется для поддержки всех классов трафика, относящегося к передаче компьютерных данных, то есть классов С и D. IP-дейтограммы передаются через сети ATM через адаптационный уровень AAL5 (RFC-1577). Уровень AAL5 иногда называют SEAL (simple and efficient adaptation layer - простой и эффективный адаптационный уровень). AAL5 занимает в наборе протоколов семейства ATM нишу протокола UDP стека TCP/IP.
Существует определенный интерфейс между приложением, которому требуется передать трафик через сеть ATM, и уровнем адаптации AAL. С помощью этого интерфейса приложение (протокол компьютерной сети, модуль оцифровывания голоса) заказывает требуемую услугу, определяя тип трафика, его параметры, а также параметры QoS. Технология ATM допускает два варианта определения параметров QoS: первый непосредственное задание их каждым приложением, второй назначение их по умолчанию в зависимости от типа трафика. Самостоятельно обеспечить требуемые параметры трафика и QoS протоколы AAL не могут. Для выполнения соглашений трафик - контракта требуется согласованная работа коммутаторов сети вдоль всего виртуального соединения. Эта работа выполняется протоколом ATM, обеспечивающим передачу ячеек различных виртуальных соединений с заданным уровнем качества обслуживания.
Протокол ATM Протокол ATM занимает в стене протоколов ATM примерно то же место, что и протокол IP в стеке TCP/IP или протокол LAP-F в стеке протоколов технологии Frame Relay. Протокол ATM передает ячейки через коммутаторы при установленном и настроенном виртуальном соединении, то есть на основании готовых таблиц коммутации портов. Протокол ATM выполняет коммутацию по номеру виртуального соединения, который в технологии ATM разбит на две части: идентификатор виртуального пути (Virtual Path Identifier, VPI); идентификатор виртуального канала (Virtual Channel Identifier, VCI). Помимо решения этой основной задачи протокол ATM выполняет ряд функций по контролю за соблюдением трафик- контракта со стороны пользователя сети, маркировке ячеек-нарушителей, отбрасыванию ячеек-нарушителей при перегрузке сети, а также управлению потоком ячеек для повышения производительности сети (естественно, при соблюдении условий трафик -контракта для всех виртуальных соединений).
Формат ячеек протокола ATM представлен на рис Рис Формат ATM-ячейки
1. Поле обобщенного управления потоком (Generic Flow Control, GFC) используется только при взаимодействии конечного узла и первого коммутатора сети. В настоящее время его точные функции не определены. 2. Поля идентификатора виртуального пути (VPI) и идентификатора виртуального канала (VCI) занимают соответственно 1 и 2 байта. Эти поля задают номер виртуального соединения, разделенный на старшую (VPI) и младшую (VCI) части. 3. Поле идентификатора типа данных (Payload Type Identifier, PTI) состоит из 3 бит и задает тип данных, переносимых ячейкой, пользовательские или управляющие (например, управляющие установлением виртуального соединения). Один бит этого поля используется для указания о перегрузке в сети - EFCI (Explicit Forward Congestion Identifier прямой явный идентификатор перегрузки), передает информацию о перегрузке по направлению потока данных.
4. Поле приоритета потери кадра (Cell Loss Priority, CLP) играет в данной технологии ту же роль, что и поле DE в технологии Frame Relay в нем коммутаторы ATM отмечают ячейки, которые нарушают соглашения о параметрах качества обслуживания, чтобы удалить их при перегрузках сети. Таким образом, ячейки с полем CLP - 0 являются для сети высокоприоритетными, а ячейки с полем CLP в 1 низкоприоритетными. 5. Поле управления ошибками в заголовке (Header Error Control, НЕС) содержит контрольную сумму, вычисленную для заголовка ячейки. Контрольная сумма вычисляется с помощью техники корректирующих кодов Хэмминга, поэтому она позволяет не только обнаруживать ошибки, но и исправлять все одиночные ошибки, а также некоторые двойные. Кроме того, поле НЕС обеспечивает не только обнаружение и исправление ошибок в заголовке, но и нахождение границы начала кадра в потоке байтов кадров SDH.
Указателей, позволяющих в поле данных кадра STS-n (STM-n) технологии SONET/SDH обнаруживать границы ячеек ATM (подобных тем указателям, которые используются для определения, например, границ виртуальных контейнеров подканалов Т1/Е1), не существует. Поэтому коммутатор ATM вычисляет контрольную сумму для последовательности из пяти байтов, находящихся в поле данных кадра STM-n, и, если вычисленная контрольная сумма говорит о корректности заголовка ячейки ATM, первый байт становится границей ячейки. Если же это не так, то происходит сдвиг на один байт и операция продолжается. Таким образом, технология ATM выделяет асинхронный поток ячеек ATM в синхронных кадрах SDH или потоке битов физического уровня, основанного на ячейках. Рассмотрим методы коммутации ячеек ATM на основе пары чисел VPI/VCI.
Коммутаторы ATM могут работать в двух режимах. Коммутация виртуального пути. В этом режиме коммутатор выполняет продвижение ячейки только на основании значения поля VPI, а значение поля VCI он игнорирует. Обычно так работают магистральные коммутаторы территориальных сетей. Они доставляют ячейки из одной пользовательской сети в другую на основании только старшей части номера виртуального канала, что соответствует идее агрегирования адресов. В результате один виртуальный путь соответствует целому набору виртуальных каналов, коммутируемых как единое целое. Коммутация виртуального канала. После доставки ячейки в локальную сеть ATM, ее коммутаторы начинают коммутировать ячейки с учетом как поля VPI, так и поля VCI, но при этом им хватает для коммутации только младшей части номера виртуального соединения, так что фактически они работают с VCI, оставляя VPI без изменения. Этот режим и называется режимом коммутации виртуального канала.
Для создания коммутируемого виртуального канала в технологии ATM используются протоколы, не показанные на рис Для установления соединения разработан отдельный протокол Q.2931, который весьма условно можно отнести к сетевому уровню. Виртуальные соединения, образованные с помощью протокола Q.2931, бывают симплексными (однонаправленными) и дуплексными. Протокол Q.2931 позволяет также устанавливать двухточечные виртуальные соединения и виртуальные соединения с одним отправителем и несколькими получателями. Первый случай поддерживается во всех технологиях, основанных на виртуальных каналах, а второй характерен для технологии ATM и является аналогом групповой рассылки с одним ведущим (передающим) узлом. Пакеты протокола Q.2931, предназначенные для установления коммутируемого виртуального канала, имеют те же названия и то же назначение, что и пакеты протокола Q.933.
Адрес конечного узла в коммутаторах ATM 20-байтный. При работе в публичных сетях используется адрес стандарта Е.164. Адрес имеет гибкий формат и может делиться на части для обеспечения иерархической маршрутизации между сетями и подсетями. Он поддерживает больше уровней иерархии, чем IPv-4- адрес, и похож в этом отношении на IРv6-адрес. Последние 6 байт адреса занимает поле идентификатора конечной системы (End System Identifier, ESI), которое имеет смысл МАС- адреса узла ATM, причем формат его также соответствует формату МАС- адреса. ESI-адрес присваивается конечному узлу на предприятии- изготовителе в соответствии с правилами IEEE, то есть три первых байта содержат код предприятия, а остальные три порядковый номер, за уникальность которого отвечает данное предприятие. При работе в частных сетях ATM обычно применяются адреса близкого к Е.164 формата с небольшим изменениями. Конечный узел при подключении к коммутатору ATM выполняет так называемую процедуру регистрации. При этом конечный узел сообщает коммутатору свой ESI-адрес, а коммутатор сообщает конечному узлу старшую часть адреса, то есть номер сети, в которой работает узел.
Кроме адресной части пакет CALL SETUP протокола Q.2931, с помощью которого конечный узел запрашивает установление виртуального соединения, включает также части, описывающие параметры трафика и требования QoS. При поступлении такого пакета коммутатор должен проанализировать эти параметры и решить, достаточно ли у него свободных ресурсов для обслуживания новою виртуального соединения. Если да, то новое виртуальное соединение принимается, и коммутатор передает пакет CALL SETUP дальше в соответствии с адресом назначения и таблицей маршрутизации, а если нет, запрос отвергается.
Категории услуг протокола ATM и управление трафиком Для поддержания требуемого качества обслуживания различных виртуальных соединений и рационального использования ресурсов в сети на уровне протокола ATM реализовано несколько служб, предоставляющих для обслуживания пользовательского трафика услуги различных категорий. Эти службы являются внутренними службами сети ATM, они предназначены для поддержания пользовательского трафика различных классов совместно с протоколами AAL. Но в отличие от протоколов AAL, которые работают в конечных узлах сети, данные службы распределены по всем коммутаторам сети. Услуги этих служб разбиты на категории, которые в общем соответствуют классам трафика, поступающим на вход уровня AAL конечного узла. Услуги уровня ATM заказываются конечным узлом через интерфейс UNI с помощью протокола Q.2931 при установлении виртуального соединения. Как и при обращении к уровню AAL, при заказе услуги необходимо указать категорию услуги, а также параметры трафика и параметры QoS. Эти параметры берутся из аналогичных параметров уровня AAL или же определяются по умолчанию в зависимости от категории услуги.
Всего на Уровне протокола ATM определено пять категорий услуг: 1. -CBR (Constant Bit Rate) услуги для трафика с постоянной битовой скоростью; 2. -rtVBR (real-time Variable Bit Rate) услуги для трафика с переменной битовой скоростью, требующего соблюдения средней скорости передачи данных и приемника; 3. -nrtVBR (not real-time Variable Bit Rate) услуги для трафика с переменной битовой скоростью, требующего соблюдения средней скорости передачи данных и не требующего синхронизации источника и приемника; 4. -ABR (Available Bit Rate) услуги для трафика с переменной битовой скоростью, требующего соблюдения некоторой минимальной скорости передачи данных и не требующего синхронизации источника и приемника; 5. -UBR (Unspecified Bit Rate) услуги для трафика, не предъявляющего требований к скорости передачи данных и синхронизации источника и приемника.
Названия большинства категорий услуг совпадают с названием типов пользовательского трафика, для обслуживания которого они разработаны, но необходимо понимать, что сами службы уровня ATM и их услуги это внутренние механизмы сети ATM, которые экранируются от приложения уровнем AAL. Услуги категории CBR предназначены для поддержания трафика синхронных приложений голосового, эмуляции цифровых выделенных каналов и т. п.. Когда приложение устанавливает соединение категории CBR, оно заказывает пиковую скорость передачи ячеек (PCR), являющуюся максимальной скоростью, которую может поддерживать соединение без риска потерять ячейку, а также параметры QoS: величины максимальной задержки ячеек (CTD), вариации задержек ячеек (CDV) и максимальной доли потерянных ячеек CLR. Затем данные передаются по этому соединению с запрошенной скоростью не с большей и, в большинстве случаев, не с меньшей, хотя уменьшение скорости приложением возможно, например, при передаче компрессированного голоса при выполнении услуги категории CBR.
Любые ячейки, передаваемые станцией с большей скоростью, контролируются первым коммутатором сети и помечаются признаком CLP = 1. При перегрузках сети они могут просто отбрасываться сетью. Ячейки, которые запаздывают и не укладываются в интервал, оговоренный параметром вариации задержки (CDV), также считаются мало значащими для приложения и отмечаются признаком низкого приоритета CLP = 1. Для соединений CBR нет ограничений на некоторую дискретность заказа скорости PCR, как, например, в каналах Tl/E1, где скорость должна быть кратна 64 Кбит/с. По сравнению со службой CBR, службы VBR требует более сложной процедуры заказа соединения между сетью и приложением. В дополнение к пиковой скорости PCR приложение VBR заказывает еще и два других параметра: длительно поддерживаемую скорость SCR, которая представляет собой среднюю скорость передачи данных, разрешенную приложению, а также максимальный размер пульсаций MBS (измеряется в количестве ATM-ячеек).
Пользователь может превышать скорость вплоть до величины PCR, но только на короткие периоды времени, в течение которых передается объем данных, не превышающий MBS. Этот период времени называется терпимостью к пульсациям (Burst Tolerance, ВТ). Если скорость PCR наблюдается в течение периода времени, большего чем ВТ, то ячейки помечаются как «нарушители» устанавливается признак CLP = 1. Для услуг категории rtVBR задаются и контролируются те же параметры QoS, что и для услуг категории CBR, а услуги категории nrtVBR ограничиваются поддержанием параметров трафика. Сеть также поддерживает для обеих категорий услуг VBR определенный максимальный уровень доли потерянных ячеек CLR, который либо задается явно при установлении соединения, либо назначается по умолчанию в зависимости от класса трафика. Для контроля параметров трафика и QoS в технологии ATM применяется так называемый обобщенный алгоритм контроля скорости ячеек, который может проверять соблюдение пользователем и сетью таких параметров, как PCR, CDV, SCR, ВТ, CTD и CDV. Он работает по модифицированному алгоритму дырявого ведра, применяемому в технологии Frame Relay.
В отличие от CBR и обеих служб VBR, служба UBR не поддерживает ни параметры трафика, ни параметры качества обслуживания. Служба UBR предлагает только доставку с максимальными усилиями (по возможности) без каких-либо гарантий. Разработанная специально для превышения полосы пропускания служба UBR представляет собой частичное решение для непредсказуемых «взрывных» приложений (транзакции, две или более LAN), которые не готовы согласиться с фиксацией параметров трафика. Главными недостатками услуг UBR являются отсутствие механизмов управления потоком данных и неспособность принимать во внимание другие типы трафика. Несмотря на перегрузку сети, соединения UBR будут продолжать передачу данных. Коммутаторы сети могут буферизовать некоторые ячейки поступающего трафика, но в некоторый момент буферы переполняются, и ячейки теряются. А так как для соединений UBR не оговаривается никаких параметров трафика и QoS, то их ячейки отбрасываются в первую очередь.
Служба ABR подобно службе UBR предоставляет возможность превышения полосы пропускания, но благодаря технике управления трафиком при перегрузке сети она дает некоторые гарантии сохранности ячеек. ABR это первый тип служб уровня ATM, который действительно обеспечивает надежный транспорт для пульсирующего трафика за счет того, что может находить неиспользуемые интервалы в общем трафике сети и заполнять их своими ячейками. Как и в службах CBR и VBR, при установлении соединения категории ABR оговаривается значение пиковой скорости (PCR). Однако соглашение о пределах изменения задержек передачи ячеек или о параметрах пульсаций не заключается. Вместо этого сеть и конечный узел заключают соглашение о требуемой минимальной скорости передачи (MCR). Это гарантирует приложению, работающему в конечном узле, небольшую пропускную способность, обычно минимально необходимую для того, чтобы приложение работало. Конечный узел соглашается не передавать данные со скоростью, выше пиковой, то есть PCR, а сеть соглашается всегда обеспечивать минимальную скорость передачи ячеек.
Если при установлении соединения ABR не задаются значения максимальной и минимальной скоростей, то по умолчанию считается, что PCR совпадает со скоростью линии доступа станции к сети, а скорость MCR считается равной нулю. Трафик соединения категории ABR получает гарантированное качество услуг в отношении доли потерянных ячеек и пропускной способности. Что касается задержек передачи ячеек, то хотя сеть и старается свести их к минимуму, но гарантий по этому параметру не дает. Следовательно, служба ABR предназначена не для приложений реального времени, а для приложений, в которых поток данных не очень чувствителен к задержкам в передаче. При передаче трафика CBR, VBR и UBR явное управление перегрузками в сети отсутствует. Вместо этого используется механизм отбрасывания ячеек-нарушителей, а узлы, пользующиеся услугами CBR и VBR, стараются не нарушать условия контракта под угрозой потери ячеек, поэтому они обычно не задействуют дополнительную пропускную способность, даже если она в данный момент доступна в сети.
Служба ABR позволяет воспользоваться резервами пропускной способности сети, так как сообщает конечному узлу о наличии в данный момент избыточной пропускной способности с помощью механизма обратной связи. Этот же механизм может помочь службе ABR снизить скорость передачи данных конечным узлом в сеть (вплоть до минимального значения MCR), если сеть испытывает перегрузку. Узел, пользующийся услугами ABR, должен периодически посылать в сеть наряду с ячейками данных специальные служебные ячейки администрирования ресурсов (Resource Management, RM). RM-ячейки, которые узел отправляет вдоль потока данных, называются ячейками прямого администрирования ресурсов (Forward Resource Management, FRM), а ячейки, которые идут в обратном по отношению к потоку данных направлении, называются ячейками обратного администрирования ресурсов (Backward Resource Management, BRM).
Существует несколько петель обратной связи. Самая простая петля обратной связи между конечными станциями. При ее наличии коммутатор сети извещает конечную станцию о перегрузке с помощью специального флага в поле прямого управления перегрузками (флаг EFCI) ячейки данных, переносимой протоколом ATM. Затем конечная станция посылает через сеть сообщение, содержащееся в специальной ячейке BRM, говоря станции-отправителю о необходимости снизить скорость посылки ячеек в сеть. В этом способе конечная станция несет основную ответственность за управление потоком, а коммутаторы играют пассивную роль в петле обратной связи, только уведомляя станцию -отправитель о перегрузке. Такой простой способ имеет несколько очевидных недостатков. Конечная станция не узнает из BRM-сообщения, насколько нужно снизить скорость передачи данных в сеть. Поэтому она просто снизит скорость до величины MCR, хотя, возможно, это и не обязательно.
Кроме того, при большой протяженности сети коммутаторы вынуждены продолжать буферизовать данные все время, пока уведомление о перегрузке будет путешествовать по сети, а для глобальных сетей это время может быть достаточно большим, и буферы могут переполниться, так что требуемый эффект достигнут не будет. Разработаны и более сложные схемы управления потоком, в которых коммутаторы играют более активную роль, а узел- отправитель точнее узнает о возможной в данный момент скорости отправки данных в сеть. В первой схеме узел-источник посылает в FRM-ячейке явное значение скорости передачи данных в сеть, которую он хотел бы поддерживать в данное время. Каждый коммутатор, через который проходит по виртуальному пути это сообщение, может снизить запрашиваемую скорость до некоторой величины, которую он способен поддерживать в соответствии с имеющимися у него свободными ресурсами (или оставить запрашиваемую скорость без изменения). Узел назначения, получив FRM-ячейку, отправляет ее обратно в виде BRM-ячейки, причем он тоже может снизить запрашиваемую скорость.
Получив ответ в BRM-ячейке, узел-источник точно узнает, какая скорость отправки ячеек в сеть для него доступна. Во второй схеме каждый коммутатор сети может работать и как источник, и как приемник. Как узел-источник он может сам генерировать FRM-ячейки и отправлять их по имеющимся виртуальным каналам. Как узел-приемник он может отправлять на основе получаемых FRM-ячеек BRM-ячейки в обратном направлении. Такая схема является более быстродействующей и полезной в протяженных территориальных сетях. Служба ABR предназначена не только для прямого поддержания требований к обслуживанию конкретного виртуального соединения, но и для более рационального распределения ресурсов сети между ее абонентами, что в конечном итоге также приводит к повышению качества обслуживания всех абонентов сети. Были рассмотрены стандартные (комитет ITU-T и форум ATM) механизмы для поддержания требуемого качества обслуживания.
Помимо стандартных механизмов коммутаторы сети ATM реализуют несколько очередей ячеек, обслуживаемых с разными приоритетами, тем самым ещё более усиливая качественные параметры сети ATM. Стратегия приоритетного обслуживания трафика основана на категориях услуг каждого виртуального соединения. До принятия спецификации ABR в большинстве коммутаторов ATM была реализована простая одноуровневая схема обслуживания, которая давала трафику CBR первый приоритет, трафику VBR второй, а трафику UBR третий. При такой схеме комбинация услуг CBR и VBR может потенциально заморозить трафик, обслуживаемый другим классом служб. Такая схема не будет правильно работать с трафиком ABR, так как не обеспечит его требования к минимальной скорости передачи ячеек. Для обеспечения этого требования должна быть выделена некоторая гарантированная полоса пропускания.
Чтобы поддерживать службу ABR коммутаторы ATM должны реализовать двухуровневую схему обслуживания, которая бы удовлетворяла требованиям CBR, VBR и ABR. По этой схеме коммутатор предоставляет некоторую часть своей пропускной способности каждому классу служб. Трафик CBR получает часть пропускной способности, необходимую для поддержания пиковой скорости (PCR), трафик VBR получает часть пропускной способности, необходимую для поддержания средней скорости (SCR), а трафик ABR получает часть пропускной способности, достаточную для обеспечения требования минимальной скорости ячеек (MCR). Это гарантирует, что каждое соединение будет работать без потерь ячеек и не будет доставлять ABR-ячейки за счет трафика CBR или VBR. На втором уровне этого алгоритма трафик CBR и VBR может забрать всю оставшуюся пропускную способность сети, если это необходимо, так как соединения ABR уже получили свою минимальную пропускную способность, которая им гарантировалась.
Инжиниринг трафика (ТЕ) в сетях ATM служит для оптимизация работы сети ATM, а именно: поддержания корректной работы описанных служб и, соответственно, обеспечения заданного уровня QoS для всех классов трафика. (ТЕ). Использование в сетях ATM (как и в сетях Frame Relay) техники виртуальных каналов создает хорошие предпосылки для решения задачи ТЕ. В сетях ATM в выборе маршрута для виртуальных каналов и путей может участвовать протокол маршрутизации PNNI, который для прокладки новых виртуальных каналов учитывает не только номинальную, но и доступную в данный момент пропускную способность.
В.Г. Олифер, Н.А. Олифер Компьютерные сети, 3-е издание, 2009г.