В.Олифер, Центр Информационных Технологий
Технология ATM - наследница технологии STM
Наиболее сложной задачей является совмещение в одних и тех же каналах связи и в одном и том же коммуникационном оборудовании компьютерного и мультимедийного трафика, к которому относится трафик, создаваемый при передаче голоса и изображения в цифровом виде. Для пояснения этой задачи кратко рассмотрим технологию синхронного режима передачи данных - Synchronous Transfer Mode, STM - которая уже давно применяется для передачи голоса в цифровом виде.
Эта технология, которую также называют технологией временного мультиплексирования - Time Division Multiplexing, TDM - появилась в начале 60-х годов. Она основана на дискретном во времени кодировании речевого сигнала. Данные передаются отдельными пакетами фиксированных размеров, чаще всего по 8 бит. Каждый такой пакет представляет один оцифрованный замер амплитуды голоса. Замеры производятся с частотой 8КГц, следовательно пакеты по цифровым сетям также должны передаваться с этой частотой, чтобы на приемном конце обратное преобразование данных из цифровой формы в аналоговую (то есть в звуки голоса) произошло без искажений. Любая рассинхронизация голосовых пакетов ведет к ухудшению качества звука, например, задержка даже в 5 миллисекунд приводит к появлению эхо на линии связи. В связи с этим требование обеспечения синхронности трафика является одним из основных в цифровых телефонных сетях.
Синхронность следования пакетов в технологии STM является основой и для коммутации этих пакетов в коммутаторах цифровых АТС, что и послужило поводом для использования слова "синхронный" в ее названии.
Как и в аналоговой телефонии, сети STM представляет собой сети с коммутацией соединений, то есть такие сети, в которых прежде, чем начнется передача данных, должно быть установлено соединение между конечными абонентами, которое разрывается после окончания сеанса связи. Таким образом взаимодействующие узлы захватывают и удерживают канал, пока не сочтут необходимым рассоединиться, независимо от того, передают они данные или "молчат". Однако в технологии STM это скорее "виртуальный" канал, а не физический, как в аналоговых телефонных сетях, так как непосредственного физического соединения при установлении STM-соединения не происходит.
Коммутация осуществляется цифровыми коммутаторами, передающим пакеты каждого канала между собой с промежуточной буферизацией, в результате которой и происходит смена принадлежности пакета какому-то конкретному каналу: в буфер пакеты записываются в порядке поступления
Процесс коммутации по технологии STM показан на рисунке 1. Сеть состоит из каналов конечных абонентов (от 1 до N на рисунке), мультиплексоров, объединяющий синхронный трафик различных каналов конечных абонентов в высокоскоростной тракт, коммутаторов, выполняющих передачу пакетов с канала на канал, и демультиплексоров, распределяющих общий трафик высокоскоростного тракта между низкоскоростными каналами конечных абонентов.
Все устройства этой сети работают циклически, разделяя время цикла работы T, общее для всех устройств сети, на определенное количество временных интервалов, называемых тайм-слотами. В течение одного тайм-слота обслуживается один канал конечного абонента, то есть общее время работы любого устройства STM-сети разделяется между конечными абонентами, поэтому STM-технология и имеет второе название - технология разделения времени, TDM.
Мультиплексор TDM во время каждого тайм-слота принимает пакет от одного низкоскоростного входного канала, и передает его на выход общего высокоскоростного канала. За цикл своей работы T он проделывает эту операцию со всеми N входными каналами, так что на выходе создается последовательность из N пакетов входных каналов - так называемая обойма или уплотненный пакет. Номер пакета в обойме соответствует номеру входного канала, то есть является адресом абонента.
После этого мультиплексор начинает новый цикл работы, опять обходя все входные каналы, начиная с первого. В результате на выходе появляется следующая обойма. Скорость выходного канала должна быть по крайней мере в N раз выше скорости каждого входного канала, чтобы интервал времени между пактами одного входного канала в последовательных обоймах был равен интервалу следования этих пакетов во входном канале. Другими словами, при образовании уплотненного канала синхронизм пакетов, который существовал во входных каналах, не должен нарушаться.
Далее пакеты уплотненного канала поступают в TDM-коммутатор. На рисунке не показан этап установления соединения, то есть процедура, во время которой коммутатор узнает, что он должен обеспечить коммутацию определенного входного канала с определенным выходным каналом. Предполагается, что этот этап уже выполнен и коммутатор уже имеет информацию о коммутации каналов.
Для выполнения операции коммутации пакеты одной входной обоймы записываются в буферную память коммутатора в том порядке, в котором они пришли от мультиплексора. Принадлежность пакета определенному абоненту определяется просто - о ней говорит порядковый номер пакета в обойме, так как мультиплексор создавал ее именно таким образом. После записи в память всех пакетов обоймы, коммутатор начинает их извлекать оттуда и передавать в виде обоймы на выходной канал. Однако извлечение пакетов из памяти производится коммутатором не в том порядке, в котором они были туда записаны, а таким образом, чтобы пакет приобрел в выходной обойме тот порядковый номер, который соответствует выходному каналу, определенному заданной операцией коммутации. (Заметим, что номер пакета в самом пакете не содержится, он подсчитывается только мультиплексорами, коммутаторами и демультиплексорами). Скорость работы коммутатора должна быть достаточной для того, чтобы временные интервалы между пакетами конечных абонентов не изменились.
Рис. 1. Принцип коммутации каналов по STM-технологии
Демультиплексор просто распределяет в течение каждого своего цикла работы пакеты обоймы по выходным каналам - первый пакет обоймы на первый выходной канал и т. д. В результате в технологии STM каждый входной и выходной канал ассоциируется с фиксированным номером слота или нескольких слотов в конкретной обойме. Однажды захваченный слот остается в распоряжении соединения "входной канал - выходной канал" в течение всего времени существования этого соединения, даже если трафик является пульсирующим и не всегда требует захваченного количества слотов. Трафик вычислительных сетей имеет ярко выраженный асинхронный и пульсирующий характер. Компьютер посылает пакеты в сеть в случайные моменты времени, по мере возникновения в этом необходимости. При этом интенсивность посылки пакетов в сеть и их размер могут изменяться в больших пределах - например, загрузка большого файла документа с удаленного сервера вызывает интенсивный поток пакетов максимально возможных размеров, после чего обычно следует большая пауза, когда пользователь изучает на экране его содержание. Сложность совмещения компьютерного и мультимедийного трафика хорошо видна на следующем рисунке.
Рис. 2. Два типа трафика
Эта задача очень похожа на проблему выполнения нескольких процессов в мультипрограммной операционной системе, причем синхронный трафик является аналогом процессов реального времени. В операционных системах минимальное время реакции системы для процессов реального времени обеспечивается за счет присвоения им высших приоритетов и дисциплины вытесняющей многозадачности, когда выполнение низкоприоритетного процесса мгновенно прерывается при появлении готового к выполнению высокоприоритетного процесса. При совмещении трафиков приоритеты применить можно, но только относительные, так как прерывание передачи пакета, а затем восстановление этой передачи с прерванного места при распределенном характере вычислительной сети - сама по себе очень сложная задача. Как компьютерные сети, так и цифровые телефонные сети предоставляют некоторые возможности для передачи через них "чужеродного" трафика. Цифровые сети при этом заранее выделяют фиксированное число тайм-слотов для компьютерного трафика, тем самым предоставляя сервис, аналогичный выделенным линиям, имеющим фиксированную пропускную способность. Это дорогой сервис, так как для хорошей передачи пульсаций трафика нужно купить такое число тайм-слотов, которое соответствовало бы трафику максимальной интенсивности. В периоды затишья на выходе компьютерной сети эти оплаченные тайм-слоты используются вхолостую. Компьютерные территориальные сети только в последнее время стали совмещать голосовой трафик со своим собственным. Такие услуги предоставляют некоторые сети frame relay, но для обеспечения жестких требований к синхронизму они существенно уменьшают максимально допустимый размер компьютерного пакета, тем самым снижая полезную пропускную способность для своего трафика.
Основы технологии ATM
Подход, реализованный в технологии ATM состоит в представлении потока данных от каждого канала любой природы - компьютерного, телефонного или видеоканала пакетами фиксированной и очень маленькой длины - 53 байта вместе с небольшим заголовком в 5 байт. Пакеты ATM называются ячейками - cell. Небольшая длина пакетов позволяет сократить время на их передачу и тем самым обеспечить небольшие задержки при передаче пакетов, требующих постоянного темпа передачи, характерного для мультимедийной информации. При приоритетном обслуживании мультимедийного трафика коммутаторами сети, его пакеты будут вынуждены даже при дисциплине относительных приоритетов ожидать в худшем случае в течение небольшого и фиксированного времени - времени передачи пакета из 53 байт, что при скорости в 155 Мб/с составит менее 3 мкс. Для того, чтобы пакеты содержали адрес узла назначения и в то же время процент служебной информации не был большим по сравнению с размером поля данных пакета, в технологии ATM применен стандартный для глобальных вычислительных сетей прием - эти сети всегда работают по протоколу с установлением соединения и адреса конечных узлов используются только на этапе установления соединения. При установлении соединения ему присваивается текущий номер соединения и в дальнейших передачах пакетов в рамках этого соединения (то есть до момента разрыва связи) в служебных полях пакета используется не адрес узла назначения, а номер соединения, который намного короче. Размер пакета ATM является результатом компромисса между телефонистами и компьютерщиками - первые настаивали на пакете в 32 байта, а последние - на пакетах в 64 байта. В результате в пакете имеется небольшой заголовок в 5 байт, из которых 3 байта отводятся под номер виртуального соединения, уникального в пределах всей сети ATM, а остальные 48 байт могут содержать 6 замеров оцифрованного голоса или 6 байт данных вычислительной сети. Небольшие пакеты фиксированной длины позволяют гарантировать небольшие задержки при передаче синхронного трафика. Ясно, что при отказе от жестко фиксированных временных слотов для каждого канала идеальной синхронности добиться будет невозможно. Однако, если пакеты разных видов трафика будут обслуживаться с разными приоритетами, то максимальное время ожидания приоритетного пакета будет равно времени обработки одного пакета, и если эти пакеты небольшого размера, то и отклонение от синхронизма будет небольшое. Введение типов трафика и приоритетное обслуживание являются еще одной особенностью технологии ATM, которая позволяет ей успешно совмещать в одном канале синхронные и асинхронные пакеты. Приоритеты существуют и в других технологиях, например, в FDDI или 100VG-AnyLAN, однако наличие в них пакетов больших размеров (в 4096 байт и больше) не позволяют им с высокой степенью вероятности выдерживать требования синхронизма для высокоприоритетных пакетов. В сетях ATM соединение конечного узла с сетью осуществляется индивидуальной линией связи, а коммутаторы соединяются между собой каналами с уплотнением, которые передают пакеты всех узлов, подключенных к соответствующим коммутаторам (рис. 3).
Рис. 3. Структура сети ATM
Сеть ATM имеет структуру, похожую на структуру телефонной сети - конечные станции соединяются с коммутаторами нижнего уровня, которые в свою очередь соединяются с коммутаторами более высоких уровней. Коммутаторы ATM пользуются адресами конечных узлов для маршрутизации трафика в сети коммутаторов. Коммутация пакетов происходит на основе идентификатора виртуального канала (Virtual Channel Identifier, VCI), назначается соединению при его установлении и уничтожается при разрыве соединения. Виртуальные соединения устанавливаются на основании длинных 20-байтных адресов конечных станций. Такая длина адреса рассчитана на очень большие сети, вплоть до всемирных. Адрес имеет иерархическую структуру, подобную номеру в телефонной сети и использует префиксы, соответствующие кодам стран, городов и т.п. Виртуальные соединения могут быть постоянными (Permanent Virtual Circuit, PVC) и коммутируемыми (Switched Virtual Circuit, SVC). Постоянные виртуальные соединения соединяют двух фиксированных абонентов и устанавливаются администратором сети. Коммутируемые виртуальные соединения устанавливаются при инициации связи между любыми конечными абонентами. Соединения конечной станции ATM с коммутатором нижнего уровня определяются стандартом UNI (User Network Interface). UNI определяет структуру пакета, адресацию станций, обмен управляющей информацией, уровни протокола ATM и способы управления трафиком. В настоящее время принята версия UNI 3.1.
Стек протоколов ATM
Формат ячейки ATM показан на рисунке 4, а стек протоколов ATM - на рисунке 5. Стек протоколов ATM соответствует нижним уровням семиуровневой модели ISO/OSI и включает адаптационные уровни ATM, называемые AAL1-AAL5, и собственно уровень ATM. Адаптационные уровни транслируют пользовательские данные от верхних уровней коммуникационных протоколов в пакеты, формат и размеры которых соответствуют стандарту ATM. Каждый уровень AAL обрабатывает пользовательский трафик с определенными характеристиками. Уровень AAL1 занимается трафиком с постоянной битовой скоростью (CBR), который характерен, например, для цифрового видео и цифровой речи и чувствителен как к потере ячеек, так и к временным задержкам. Этот трафик передается в сетях ATM так, чтобы эмулировать обычные выделенные цифровые линии. Уровень 3/4 обрабатывает пульсирующий трафик с переменной битовой скоростью (VBR), обычно характерный для трафика локальных сетей. Этот трафик обрабатывается так, чтобы не допустить потерь ячеек, но ячейки могут задерживаться коммутатором. Уровень AAL3/4 выполняет сложную процедуру контроля ошибок при передаче ячеек для их гарантированной безошибочной доставки. Уровень AAL5 является упрощенным вариантом уровня AAL4, он работает быстрее.
Биты | ||||||||||
8 | 7 | 6 | 5 | 4 | 3 | 2 | 1 | |||
5 байт заголовка | Управление потоком (GFC) | Идентификатор виртуального пути (VPI) | 1 | Байты | ||||||
Идентификатор виртуального пути (продолжение) | Идентификатор виртуального канала (VCI) | 2 | ||||||||
Идентификатор виртуального канала (продолжение) | 3 | |||||||||
Идентификатор виртуального канала (продолжение) | Тип данных (PTI) | Приоритет потери пакета | 4 | |||||||
Управление ошибками в заголовке (HEC) | 5 | |||||||||
Данные пакета | 6 | |||||||||
... | ||||||||||
53 |
Рис. 4. Формат ячейки ATM
Введение различных классов сервисов, реализуемых в стеке протоколов ATM адаптационными уровнями AAL, а также самим протоколом ATM, и позволяет реализовать в сетях ATM совместное сосуществование трафиков разной природы. Коммутаторы ATM, получая в поле типа данных ячейки (поле PTI) информацию о классе сервиса, принимает решение о приоритете обслуживания данной ячейки. Для того, чтобы каждый класс сервиса выполнялся с нужным уровнем качества, в технологии ATM предусмотрены достаточно сложные процедуры заказа качества обслуживания, которые выполняются между станцией и сетью при установлении соединения.
Уровни адаптации ATM(AAL1-5) | Подуровень конвергенции (CS) | Общая часть подуровня конвергенции |
Специфическая для сервиса часть | ||
Подуровень сегментации и реассемблирования | ||
Уровень ATM (маршрутизация пакетов, мультиплексирование, управление потоком, обработка приоритетов) | ||
Физический уровень | Подуровень согласования передачи | |
Подуровень, зависящий от физической среды |
Рис. 5. Структура стека протоколов ATM
Классы сервиса
В сети ATM каждый раз, когда приложению необходимо установить соединение между двумя пользователями, оно должно заказать вид сервиса, в соответствии с которым будет обслуживать трафик по данному соединению. Классы сервиса ATM содержат ряд параметров, которые определяют гарантии качества сервиса. В спецификациях форума ATM предусмотрено несколько классов сервиса - CBR, VBR, UBR и ABR (появился совсем недавно). Гарантии качества сервиса могут определять минимальный уровень доступной пропускной способности и предельные значения задержки ячейки и вероятности потери ячейки (таблица 1).
Таблица 1
Класс сервиса | Гарантии пропускной способности | Гарантии изменения задержки | Обратная связь при переполнении |
---|---|---|---|
CBR | + | + | - |
VBR | + | + | - |
UBR | - | - | - |
ABR | + | + | + |
Рис. 6. Совместное использование полосы пропускания классами сервисов ATM
CBR, VBR и UBR не пытаются управлять перегрузками в сети. CBR и VBR вместо этого полагаются на угрозу потери ячеек, которая должна пресечь попытки пользователя превысить пределы заказанной пиковой скорости. А сервис ABR может воспользоваться преимуществами неиспользуемой в данный момент пропускной способности сети, так как обладает достаточным интеллектом, чтобы понять, когда эта пропускная способность имеется в наличии. Он узнает об этом с помощью средств управления с обратной связью, техники, которая позволяет конечной станции узнавать состояние сети и решать, когда можно передавать данные быстро, а когда необходимо уменьшить скорость. Управление перегрузками в сервисах ABR стало возможным после появления спецификации форума ATM об управлении потоком на основе его интенсивности. Сервис ABR дает пользователям и операторам сети большую гибкость в определении сервиса. При использовании такого сервиса как VBR, когда коэффициент использования сети повышается, вероятность потерь ячеек также увеличивается. При использовании ABR, когда при увеличении коэффициента использования сети возрастают перегрузки, механизм управления перегрузками уменьшает скорость передачи данных в сеть. При этом несколько увеличиваются задержки, но потери ячеек не увеличиваются.
Стандарты физического уровня, используемые в сетях ATM
Стандарт ATM не включает спецификацию физического уровня, а пользуется спецификациями стандарта физического уровня на передачу данных по оптическим линиям связи SONET (Synchronous Optical Network) и SDH (Synchronous Digital Hierarchy). Эти стандарты являются улученными вариантами технологии STM и определяют физический уровень передачи данных в высокоскоростных оптических линиях связи. Стандарт SONET устанавливает скорости передачи данных с дискретностью 51.84 Мб/с до 2.488 Гб/с и может быть расширен до 13 Гб/с, а SDH - с дискретностью 155.52 Мб/с. Базовая скорость 51.84 Мб/с была выбрана так, чтобы включить в себя скорости линий T-3 и E-3. Для линий со стандартными скоростями SONET введены следующие обозначения (таблица 2):
Таблица 2
Витая пара | Оптоволокно | Скорость |
---|---|---|
STS-1 | OC-1 | 51.84 Мб/с |
STS-2 | OC-3 | 155.520 Мб/с |
OC-9 | 466.560 Мб/с | |
OC-12 | 622.080 Мб/с | |
OC-18 | 933.120 Мб/с | |
OC-24 | 1.244 Гб/с | |
OC-36 | 1.866 Гб/с | |
OC-48 | 2.488 Гб/с |
Спецификация ATM LAN emulation
Технология ATM позволяет добиться высоких и сверхвысоких скоростей для связи отдельных узлов вычислительной сети, предоставляя каждому виду трафика сервис с заданными параметрами качества. Однако эта технология разрабатывалась сначала как "вещь в себе", не учитывая тот факт, что в существующие технологии сделаны большие вложения, и поэтому никто не станет сразу отказываться от установленного и работающего оборудования, даже если появляется новое, более совершенное. Для территориальных сетей, для которых в первую очередь разрабатывалась технология ATM, это не так страшно, так как сети ATM могут использовать те же оптоволоконные каналы, что и существующие цифровые телефонные и вычислительные сети, а стоимость высокоскоростных оптоволоконных каналов, проложенных на большие расстояния, превышает стоимость коммутаторов сети, так что в этом случае легче пойти на замену коммутаторов новыми. Для локальных сетей дела обстоят по другому, поэтому желательно, чтобы новая технология могла работать в одной сети со старыми, улучшая характеристики сети там, где это нужно, и оставляя сети рабочих групп или отделов в прежнем виде. Сейчас форум ATM разработал первую спецификацию, называемую LAN emulation (то есть эмуляция локальных сетей), которая призвана обеспечить совместимость традиционных протоколов и оборудования локальных сетей с технологией ATM. Эта спецификация обеспечивает совместную работу этих технологий на канальном уровне. При таком подходе коммутаторы ATM работают в качестве высокоскоростных коммутирующих мостов магистрали локальной сети, обеспечивая не только скорость, но и гибкость соединений ATM-коммутаторов между собой, так что эта магистраль не обязательно образуется на внутренней шине одного устройства, а может быть и распределенной. Спецификация LAN emulation определяет способ преобразования пакетов и адресов MAC-уровня традиционных технологий локальных сетей в пакеты и коммутируемые виртуальные соединения SVC технологии ATM, и обратное преобразование. Всю работу по преобразованию протоколов выполняют специальные компоненты, встраиваемые в обычные концентраторы, коммутаторы и маршрутизаторы, поэтому ни коммутаторы ATM, ни рабочие станции локальных сетей не замечают того, что они работают с чуждыми им технологиями. Такая прозрачность была одной из главных целей разработчиков спецификации LAN emulation. Так как эта спецификация определяет только канальный уровень взаимодействия, то с помощью ATM-коммутаторов и компонент LAN эмуляции можно образовать только виртуальные сегменты, а для их соединения нужно использовать обычные маршрутизаторы. Рассмотрим основные идеи спецификации на примере сети, изображенной на рисунке 7.
Рис. 7. Принципы работы модели LAN emulation
Основными элементами, реализующими спецификацию, являются программные компоненты LEC и LES. LEC (LAN Emulation Client) - это посредник, работающий между ATM-коммутаторами (и ATM-станциями) и станциями локальной сети, а LES (LAN Emulation Server) преобразует MAC-адреса в ATM-адреса. Клиентские части (LEC'и) назначают каждой присоединенной локальной сети ATM-адрес. Клиентские части динамически регистрируют MAC-адрес станции присоединенной локальной сети в сервере LES, который ведет общую таблицу соответствия MAC-адресов станций и ATM-адресов присоединенных локальных сетей. Компоненты LEC и LES могут быть реализованы в любых устройствах - концентраторах, коммутаторах, маршрутизаторах или ATM-рабочих станциях. Когда элемент LEC хочет послать пакет через сеть ATM станции другой локальной сети, также присоединенной к сети ATM, то он посылает запрос на разрешение адресов MAC-ATM серверу LES. Этот запрос иногда называют протоколом LE ARP (address resolution protocol). Сервер LES отвечает на запрос, указывая ATM-адрес элемента LEC присоединенной сети назначения. Затем LEC исходной сети самостоятельно устанавливает виртуальное SVC-соединение через сеть ATM обычным способом, описанным в спецификации UNI. После установления связи MAC-кадры локальной сети преобразуются в ячейки ATM каждым элементом LEC с помощью стандартных функций сборки-разборки пакетов (функции SAR) стека ATM. В спецификации LAN emulation также определен сервер для эмуляции в сети ATM широковещательных пакетов локальных сетей, а также пакетов с неизвестными адресами, так называемый сервер BUS (Broadcast and Unknown Server).