Альтернативные алгоритмы защиты от перегрузок в сетях ATM.

Многие сетевые протоколы не предусматривают практически никаких договоренностей между пользователем и сетью по поводу предоставляемого качества обслуживания. В лучшем случае, сеть обязуется предоставить всем пользователям более-менее справедливое распределение пропускной способности.

В сетях ATM справедливое распределение может быть достигнуто за счет корректировки скорости работы приложений в соответствии с требованиями сети. В отличие от пакетных сетей, технология ATM позволяет резервировать необходимую пропускную способность для трафика с гарантированной скоростью передачи (категория услуг CBR) и критичного к задержкам трафика (категория услуг VBR-rt). Оставшуюся после резервирования для категорий услуг CBR и VBR пропускную способность делят между собой все остальные приложения. В рамках Форума ATM им выделена собственная категория услуг — UBR.

Приложениям, использующим категорию услуг UBR, не гарантируется какая-либо пропускная способность и отсутствие потерь ячеек при возникновении перегрузок в сети. Сеть оставляет за собой право изъять данные пользователя по своему усмотрению, без уведомления. Чтобы уменьшить потери и оградить сеть от возникновения перегрузок при передаче такого рода трафика, Форум ATM ввел еще одну категорию услуг — ABR. Она предусматривает алгоритмы управления потоком, с помощью которых пользователь может быть своевременно уведомлен о наличии свободных ресурсов в сети.

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

В случае кредитной схемы коммутаторы ATM посылают источнику информацию о размере свободного буферного пространства (а не пропускной способности) — так называемый «кредит», и одновременно они резервируют выделенное буферное пространство под трафик по данному виртуальному соединению VC. После этого источник может передать ровно такое количество ячеек, на которое у него имеется «кредит». Таким образом, отправитель никогда не передаст трафик в большем объеме, чем получатель готов принять. Это позволяет гарантировать отсутствие потерь ячеек даже при перегрузках, так как все ресурсы коммутатора ATM заранее зарезервированы и распределены между входящими потоками. Конечно, при определенных условиях, в частности по причине внутренних неисправностей, источник может некорректно реагировать на управляющую информацию сети. Однако в этом случае пострадавшим окажется только он сам, так как ему не будет выделено дополнительное буферное пространство, и избыточный трафик будет удален из обращения первым же коммутатором ATM.

Следует, однако, отметить, что применение кредитной схемы управления потоком предполагает серьезную аппаратную доработку коммутаторов ATM (для поддержки индивидуальных очередей), и разработчикам стандарта на алгоритмы управления трафиком она показалась излишне сложной и дорогостоящей в реализации. В результате после долгих дебатов Форум ATM при окончательном голосовании (7 против 104) отклонил кредитную и утвердил скоростную схему в качестве базового алгоритма управления трафиком для категории услуг ABR, что нашло свое отражение в стандарте Traffic Mana-gement Specification, ver. 4.0.

Однако так ли уж плоха кредитная схема управления перегрузками? На самом деле, она имеет множество преимуществ перед скоростными схемами, особенно при работе с сильно неравномерным трафиком (bursty traffic), как показывает нижеследующее сравнение двух схем управления потоком по таким основным критериям, как потери ячеек, сложность реализации (необходимость создания индивидуальных буферов), время разгона (быстрота увеличения скорости передачи).

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

Скоростная схема не может предотвратить потери ячеек. При использовании скоростных схем для категории услуг ABR потери ячеек будут возникать во многих ситуациях. Прежде всего это связано с самими принципами работы ABR TM 4.0, как-то:

  • вероятность потерь из-за переполнения буферов, так как, в принципе, их состояние не контролируется;
  • расчет скорости, исходя из средних значений во многих практических реализациях. Как следствие, любое отклонение от средней величины приводит либо к простою ресурсов, либо к перегрузке (в последнем случае это влечет за собой потери ячеек);
  • недостаточно быстрая реакция алгоритма управления потоком на изменение ситуации в сети.
Дело в том, что в отличие от кредитных схем, в которых обмен управляющей информацией происходит между соседними устройствами, в скоростных схемах он осуществляется между конечными пользователями, и, следовательно, задержка на распространение управляющей информации значительно больше. (Хотя использование VS/VD позволяет частично решить эту проблему.)

В кредитной же схеме кредит выделяется с учетом имеющегося свободного буферного пространства, что предотвращает саму возможность переполнения буферов по вине трафика ABR. Наличие же минимально короткой обратной связи обеспечивает максимально быструю реакцию. Необходимость создания индивидуальных буферов. Для использования кредитной схемы управления потоком необходимым условием является наличие индивидуальных буферов под каждое виртуальное соединение (даже под неактивные VCC/VPC). При использовании скоростной схемы индивидуальные буферы не требуются.

Создание индивидуальных буферов — достаточно сложное и дорогостоящее решение. И это было одним из главных аргументов против кредитной схемы на момент принятия стандарта ABR TM 4.0. Однако в настоящее время практически все серьезные производители так или иначе используют принцип индивидуальных буферов (Per-VC Queuing) в целях обеспечения надлежащего качества обслуживания трафика CBR и VBR своих клиентов. Кроме того, введение индивидуальных буферов бывает необходимо и при скоростных схемах ABR, для защиты от неконтролируемых источников, когда они не реагируют (или реагируют некорректно) на управляющие сообщения, бесконтрольно увеличивая свою скорость и занимая общие буферы.

Таким образом, в реальной практике идея использования индивидуальных буферов уже не кажется неуместной и, следовательно, не является непреодолимым препятствием на пути внедрения кредитных схем управления потоком.

Время разгона. В большинстве скоростных схем коэффициент увеличения скорости является функцией от текущей скорости.

В общем случае:



ER = CCR / Z



где ER (Explicit Rate) — требуемая скорость,

CCR (Current Cell Rate) — текущая скорость,

Z — коэффициент загрузки коммутатора АТМ (Z<1).

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

КВАНТОВОЕ УПРАВЛЕНИЕ ПОТОКОМ

Кредитная схема управления потоком имеет множество разновидностей, например Flow Controlled Virtual Circuit и Advanced Flow Controlled Virtual Circuit. Небезызвестный алгоритм Generic Flow Control (поле GFC в заголовке ячейки ATM) также является представителем данного семейства. Но, пожалуй, самой серьезной реализацией является алгоритм квантового управления потоком (Quantum Flow Control, QFC).

QFC был создан и разработан Альянсом QFC, куда вошли такие ведущие производители оборудования ATM, как Ascom, Digital, Efficient, Mitsubishi, Siemens, Toshiba и др. Цель данного альянса состоит в создании и стандартизации алгоритма управления потоком, обладающего всеми преимуществами кредитных схем при защите от перегрузок. QFC предназначен для обслуживания категории услуг ABR и должен обеспечивать нулевой коэффициент потерь. Он разработан для контроля за сильно неравномерным трафиком, поведение которого трудно спрогнозировать. При этом QFC гарантирует отсутствие потерь даже при наличии перегрузок в сети. QFC обеспечивает функционирование соединений на базе виртуальных каналов и виртуальных трактов типа «точка-точка» и «точка-группа» и может работать и по физическим линиям, и по туннелям. Используя технологию распределения и резервирования буферов, QFC способен обеспечивать хорошую производительность для каналов протяженностью от 1 метра до сотен километров на гигабитных скоростях.

Рис.1. Квантовое управление потоком — QFC.

Как итог двухлетней работы, в 1997 году появилась окончательная версия стандарта QFC. QFC работает следующим образом (см. Рисунок 1).

Источник посылает первую ячейку, инициируя соединение. Каждому соединению отводится по умолчанию некоторый объем зарезервированного буферного пространства, величина которого BSL_def (Buffer State Limit Default) определяется в процессе автоконфигурации (соответствующий протокол — Auto-Configuration Protocol, ACP — является частью протокола QFC, под управляющие сообщения которого зарезервирован виртуальный канал VCI=30). Первый коммутатор ATM на пути следования может поместить данную ячейку в буфер или послать ее следующему коммутатору в зависимости от состояния сети. Одновременно он отправляет ее источнику BSU (Buffer State Update) сообщение с информацией о вместимости свободных буферов.

Источник использует полученное сообщение BSU для расчета количества ячеек, которое он имеет право послать в данный момент. Аналогичная процедура происходит на всех остальных участках данного соединения. Если из-за перегрузки некоторый транзитный коммутатор ATM не может отправить полученные ячейки дальше, то он поместит их в буферы до улучшения ситуации в сети. Следует отметить, что такое состояние, при условии наличия в сети трафика с более высоким приоритетом (VBR-rt), может длиться достаточно долго, вследствие чего застрявшие в буферах в середине пути данные могут потерять свою актуальность.

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

ПЕРЕДАЧА БЛОКОВ ATM

Еще один альтернативный метод управления потоком был предложен ITU-T для категории услуг ABT. Как известно, стандарты ATM разрабатываются параллельно по крайней мере двумя организациями — ITU-T и Форумом ATM. Вследствие этого одни и те же функции определяются зачастую несколькими параллельными стандартами. В то время как Форум ATM предложил категорию услуги ABR, ITU-T ввела, наряду с ABR, альтернативную категорию для передачи данных — ABT (ATM Block Transfer). Основное различие между ABT и ABR состоит в том, что ABT резервирует пропускную способность до начала передачи пользовательских ячеек. В этом ABT похожа на CBR и VBR c той лишь разницей, что для ABT пропускная способность резервируется не однократно при установлении соединения, а периодически, по мере необходимости. Источник трафика ABT посылает запрос на резервирование такой пропускной способности, которая ему необходима в данный момент для передачи имеющихся у него данных. Передачу он начинает только после того, как получит подтверждение, что сеть зарезервировала ресурсы под указанный объем информации.

Рис.2. Принцип работы ABT/DT и ABT/IT.

Работу алгоритма ABT можно описать следующим образом (см. Рисунок 2). При поступлении определенного объема информации (блока) источник посылает управляющую ячейку RM со сведениями о требуемой для передачи данного блока пропускной способности (Block Cell Rate, BCR). Транзитный коммутатор ATM резервирует указанную пропускную способность и вставляет в ячейку RM сообщение о подтверждении резервирования — RM ACK, после чего ячейка RM отправляется по каналу дальше. В случае, если коммутатор ATM не в состоянии обеспечить данную пропускную способность (в связи с большой загруженностью), он формирует отказ — RM NACK, что заставляет источник пересмотреть свои требования. Ячейки RM проходят по всему соединению и возвращаются источнику, после чего он может начать передачу при наличии подтверждения. При получении ячейки RM NACK транзитные коммутаторы ATM высвобождают зарезервированную пропускную способность. Такая реализация алгоритма носит название «ABT с задержкой передачи» (ABT Delayed Transmission, ABT/DT), так как передача данных пользователя задерживается на время, требуемое для резервирования ресурсов и получения подтверждения.

Однако задержка не всегда бывает допустимой, поэтому ITU-T разработала другую версию — ABT с мгновенной передачей — (ABT Immediate Transmission, ABT/IT). В этом случае источник посылает данные сразу же вслед за ячейкой RM, не дожидаясь подтверждения. При этом транзитный коммутатор ATM может либо принять данный объем информации, одновременно зарезервировав под него пропускную способность, либо удалить ячейку из обращения, прислав отказ — RM NACK. Таким образом, при использовании ABT/IT задержки отсутствуют, но при этом успешная доставка данных не гарантируется.

Как показывает проделанный сравнительный анализ, каждый из рассмотренных алгоритмов управления трафиком для защиты от перегрузок имеет свои достоинства и недостатки. Каждый из них наиболее приспособлен и, следовательно, может наиболее эффективно использоваться в строго определенных условиях. Таким образом, наилучшим решением было бы комбинирование алгоритмов на разных участках одного соединения. Но в этом случае встает вопрос совместимости данных алгоритмов. Возникшую проблему можно решить, используя принцип «Виртуального источника/Виртуального приемника» (Virtual Source/Virtual Destination, VS/VD)

ВИРТУАЛЬНЫЙ ИСТОЧНИК И ВИРТУАЛЬНЫЙ ПРИЕМНИК

Одной из проблем многих управляющих схем является задержка на передачу служебной информации из конца в конец и обратно к источнику. За время, пока управляющая ячейка совершит полный круг, ситуация в сети может несколько измениться, равно как и требования источника информации, пославшего данную ячейку. Подобная проблема обычно решается путем разбиения сети на сегменты. Находящийся на границе сегментов коммутатор ATM выступает одновременно в качестве конца первого сегмента и начала следующего, т. е. играет роль виртуального источника и виртуального приемника служебной информации. В этом случае размеры управляющей петли обратной связи значительно уменьшаются, сокращая время реакции алгоритма управления (см. Рисунок 3).

Рис.3. Принцип работы виртуального источника/виртуального приемника.

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

Кредитные схемы могут применяться на первом «пользовательском» участке, так как они позволяют быстро и эффективно управлять нелинейным трафиком, сглаживая его пульсации, и при этом позволяют практически полностью избежать потерь. На последующих, магистральных, участках можно задействовать одну из скоростных схем, так как они проще в реализации и имеют стандартизованные интерфейсы, поддерживаемые практически всеми производителями. При введении виртуальных источников/приемников у производителей появляется возможность использовать на внутренних участках собственные (нестандартные) схемы управления.

ЗАКЛЮЧЕНИЕ

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

ОБ АВТОРЕ

Олег Алленов — инструктор учебного центра компании AMT Group. С ним можно связаться по тел.: (095) 725-7660, или адресу: Allenov@amt.ru.