Опубликован: 26.10.2007 | Уровень: специалист | Доступ: платный
Лекция 7:

Управление трафиком

Управление доступом

Управление доступом было первоначально разработано для сетей пакетной коммутации с виртуальными каналами, таких как ATM, но потом было распространено для дейтаграммных сетей. Управление доступом в ATM работает на уровне соединений, поэтому оно было названо управлением доступом к соединению (Call Admission Control - CAC). Управление доступом в дейтаграммной сети имеет смысл, только если пакеты данного потока следуют одним и тем же путем.

Управление доступом - это сетевая функция, которая вычисляет ресурсы сети (например, ширину полосы и буферную память), необходимые новому потоку. Она определяет, имеются ли такие ресурсы по пути, который нужно пройти соединению. Поэтому источник, инициирующий новый поток, должен сначала получить разрешение от объекта, управляющего доступом, который решает, может ли быть поток принят или отклонен. Если качество обслуживания нового потока удовлетворительно и не нарушает качество обслуживания уже существующих потоков, тогда поток принимается, в противном случае поток получает отказ в обслуживании. Качество обслуживания может выражаться в терминах максимальной задержки, вероятности потери, разброса в задержке или в других доступных измерению характеристиках.

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

  • пиковую скорость (бит/c или байт/c);
  • среднюю скорость (бит/c или байт/c);
  • максимальный размер пачки (бит, байт или секунды).

Пиковая скорость определяет максимальную скорость, с которой источник может генерировать пакеты. Средняя скорость определяет аналогичный параметр источника. Максимальный размер пачки определяет промежуток времени, когда источник будет генерировать трафик на пиковой скорости. рис. 7.7 показывает пример потока трафика, который генерируется источником, показывает пиковую и среднюю скорость. Основываясь на параметрах трафика и требуемом качестве обслуживания, управление доступом может вычислить, какая нужна производительность и располагает ли сеть такими резервами для нового потока. Показатели производительности вообще лежат между средней и пиковой скоростями и называются действующей производительностью.

Стратегия безопасности

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

Большинство устройств, осуществляющих охрану, используют принцип "дырявого ведра". Представим себе, что трафик, поступающий на устройство охраны, - это вода, наполняющая ведро, которое имеет на дне дырку. Ведро имеет глубину и протекает с постоянной скоростью, пока ведро не пусто. Новая порция воды (пакетов) будет конформна, если ведро не переполнится. Если ведро наполнено, новая порция воды неконформна и вода должна быть удалена (или отлита в другое ведро после осуществления маркирования). Размер дырки связан со скоростью осушения ведра. Дырка гарантирует, что ведро не переполнится, пока скорость осушения выше, чем скорость наполнения водой. Глубина ведра поглощает колебания потока воды. Если скорость наполнения ведра постоянна и примерно равна скорости вытекания, то глубина ведра может быть очень малой. Рассмотрим один из алгоритмов дырявого ведра, определенный Форумом ATM. В нем пакет предполагается постоянной длины (например, ячейка ATM). Запишем в счетчик содержимое дырявого ведра. Когда поступает пакет, содержимое (счетчика) увеличивается на одну и ту же величину I, которая не должна быть больше, чем известный лимит, в этом случае пакет объявляется конформным. Если содержимое превысит некоторый лимит, то счетчик не изменится и пакет будет объявлен неконформным. Значение I указывает некоторый интервал времени передачи пакета, которое осуществляет охрану (обычно - единица передачи на один пакет). Пока ведро пустое, оно будет осушаться с постоянной скоростью 1 блок данных на передачу полного пакета. На рис. 7.8. показан алгоритм дырявого ведра, который может использоваться для охраны потока трафика. В момент прихода первого пакета содержимое ведра X устанавливается на нуль и последнее время поступления пакета (Last Conforming Time - LST) устанавливается на время поступления первого пакета. Глубина ведра - L+I, где L обычно зависит от характеристик всплеска трафика. Будем считать, что время - дискретное, и что за каждый интервал времени вытекает C единиц жидкости. Тогда за интервал, прошедший от последнего момента поступления пакетов до текущего времени, ведро опустошается на C(t_a – LCT) единиц. Таким образом, остающаяся емкость ведра равна X'=X – C(ta – LCT), где t_a - предыдущее время прибытия. Если эта величина после добавления меньше нуля, то ведро пустое и алгоритм подготавливается к моменту принятия следующей порции информации, устанавливая глубину и время прибытия на начальные величины (X=X'+I и LCT=t_a). Если ведро не пусто, то проверяется, не переполнено ли оно (X'>L). Если да, то прибывающие пакеты неконформны и отклоняются, ставится текущее время прибытия и алгоритм работает с начала.

Алгоритм дырявого ведра, используемый для охраны от перегрузок

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

Пример работы алгоритма дырявого ведра продемонстрирован на рис. 7.9, где показан пример графика.

Данные для диаграммы приведены в таблице 7.1.

В этом примере величина шага наполнения ведра I=4, глубина L+I=10, скорость вытекания С=1 пакет в один момент времени.

Поступление первой части пакетов увеличивает содержание ведра до 4. К моменту второго поступления содержимое уменьшается до 3. Дополнение его содержимого увеличивает его до семи. К моменту прибытия следующей порции пакетов (через 3 момента времени) содержимое ведра уменьшается до 4 и при поступлении пакетов увеличивается до 8. Далее это значение уменьшается до 5 и увеличивается до 9. Следующая

Пример диаграммы работы дырявого ведра

увеличить изображение
Рис. 7.9. Пример диаграммы работы дырявого ведра
Елтай Осербай
Елтай Осербай
Олег Сергеев
Олег Сергеев
Айбек Куттымурат
Айбек Куттымурат
Казахстан, Алматы
Виктор Рубанников
Виктор Рубанников
Украина, Харьков, ХНАГХ, 2009