Ячейки ATM

В технологии ATM для переноса данных используются ячейки. Принципиально ячейка отличается от кадра только тем, что имеет, во-первых, фиксированный, во-вторых, небольшой размер. Длина ячейки составляет 53 байта, а поля данных — 48 байт. Именно такие размеры позволяет сети ATM передавать чувствительный к задержкам аудио- и видеотрафик с необходимым уровнем качества.

Главным свойством ATM, которое отличает ее от других технологий, является комплексная поддержка параметров QoS для всех основных видов трафика.

Для достижения этбго свойства разработчики ATM тщательно проанализировали все типы трафика и провели его классификацию. В ATM весь трафик разбивается на 5 классов, А, В, С, D и X. Первые четыре класса представляют трафик типовых приложений, которые отличаются устойчивым набором требований к задержкам и потерям пакетов, а также тем, что генерируют трафик с постоянной (CBR) или переменной (VBR) битовой скоростью. Класс X зарезервирован для уникальных приложений, набор характеристик и требований которых не относится ни к одному из первых четырех классов.

Однако на какое количество классов мы бы ни разбивали существующий трафик, принципиальная задача от этого не меняется — нужно найти решение для успешного сосуществования в одном канале и эластичных, и чувствительных к задержкам классов трафика. Требования этих классов почти всегда противоречат друг другу. Одним из таких противоречий является требование к размеру кадра.

Эластичный трафик выигрывает от увеличения размера кадра, так как при этом снижаются накладные расходы на служебную информацию. Мы видели на примере Ethernet, что скорость передачи пользовательской информации может изменяться почти в два раза при изменении размера поля данных от его минимальной величины в 46 байт до максимальной в 1500 байт. Конечно, размер кадра не может увеличиваться до бесконечности, так как при этом теряется сама идея коммутации пакетов. Тем не менее для эластичного трафика при современном уровне скоростей размер кадра в несколько тысяч байтов является вполне приемлемым.

Напротив, чувствительный к задержкам трафик обслуживается лучше при использовании кадров небольшого размера в несколько десятков байтов. При применении больших кадров начинают проявляться два нежелательных эффекта:

  • ожидание низкоприоритетных кадров в очередях;
  • задержка пакетизации.

Рассмотрим эти эффекты на примере голосового трафика.

Мы знаем, что время ожидания кадра в очереди можно сократить, если обслуживать кадры чувствительного к задержкам трафика в приоритетной очереди. Однако если размер кадра может меняться в широком диапазоне, то даже при придании чувствительным к задержкам кадрам высшего приоритета обслуживания в коммутаторах время ожидания компьютерного пакета может все равно оказаться недопустимо высоким. Например, пакет в 4500 байт будет в течение 18 мс передаваться в выходной порт на скорости 2 Мбит/с (максимальная скорость работы порта коммутатора Frame Relay). При совмещении трафика за это время необходимо через тот же порт передать 144 замера голоса. Прерывать передачу пакета в сетях нежелательно, так как при распределенном характере сети накладные расходы на оповещение соседнего коммутатора о прерывании пакета, а потом — о возобновлении передачи пакета с прерванного места оказываются слишком большими.

Другой причиной явилось стремление ограничить еще одну составляющую задержки доставки данных — задержку пакетизации. Задержка пакетизации равна времени, в течение которого первый замер голоса ждет момента окончательного формирования пакета и отправки его по сети.

Механизм образования этой задержки иллюстрирует рис. 1.

На рисунке показан голосовой кодек — устройство, которое представляет голос в цифровой форме. Пусть он выполняет замеры голоса в соответствии со стандартной частотой 8 КГц (то есть через каждые 125 мкс), кодируя каждый замер одним байтом данных. Если мы используем для передачи голоса кадры Ethernet максимального размера, то в один кадр поместится 1500 замеров голоса. В результате первый замер, помещенный в кадр Ethernet, вынужден будет ждать отправки кадра в сеть (1500 - 1)х 125 = 187 375 мкс, или около 187 мс. Это весьма большая задержка для голосового трафика. Рекомендации стандартов говорят о величине 150 мс как о максимально допустимой суммарной задержке голоса, в которую задержка пакетизации входит как одно из слагаемых.

Рис. 1. Задержка пакетизации

Размер ячейки ATM в 53 байта с полем данных 48 байт стал результатом компромисса между требованиями, предъявляемыми к сети при передаче эластичного и чувствительного к задержкам вариантов трафика. Можно сказать также, что компромисс был достигнут между телефонистами и компьютерщиками — первые настаивали на размере поля данных в 32 байта, а вторые — в 64 байта.

При размере поля данных в 48 байт одна ячейка ATM обычно переносит 48 замеров голоса, которые делаются с интервалом в 125 мкс. Поэтому первый замер должен ждать примерно 6 мс, прежде чем ячейка будет отправлена по сети. Именно по этой причине телефонисты боролись за уменьшения размера ячейки, так как 6 мс — это задержка, близкая к пределу, за которым начинаются нарушения качества передачи голоса. При выборе размера ячейки в 32 байта задержка пакетизации составила бы 4 мс, что гарантировало бы более качественную передачу голоса. А стремление компьютерных специалистов увеличить поле данных хотя бы до 64 байт вполне понятно — при этом повышается полезная скорость передачи данных. Избыточность служебных данных при использовании 48-байтного поля данных составляет 10 %, а при использовании 32-байтного поля данных она сразу повышается до 16 %.