Опубликован: 26.10.2007 | Доступ: свободный | Студентов: 3402 / 851 | Оценка: 4.32 / 4.06 | Длительность: 09:54:00
Лекция 7:

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

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

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

Перегрузка одного узла, когда входящая нагрузка превышает исходящую

увеличить изображение
Рис. 7.6. Перегрузка одного узла, когда входящая нагрузка превышает исходящую

Предположим, что узлы 1, 2 и 5 непрерывно передают пакеты каждый к своему пункту назначения через узел 4. Если суммарная величина входящего потока пакетов к узлу 4 больше, чем способность передать эти пакеты, занятие буферной памяти на узле 4 будет расти. Если эта ситуация сохранится, в конечном счете буферная память заполнится и начнет удалять пакеты. Когда пункт назначения будет найден, он может запросить, чтобы источник повторно передал пропущенные пакеты. Источник, к сожалению, согласно протоколу выполнил бы эту команду и передал бы еще больше пакетов узлу 4, что вызывало бы дальнейшее ухудшение ситуации перегрузки. В свою очередь, узел 4 удалил бы больше пакетов, что заставило бы пункт назначения генерировать еще большее количество перезапросов.

Этот процесс иллюстрирует рис. 7.7 (кривая, относящаяся к неуправляемому процессу). Цель управления трафиком на уровне потока состоит в том, чтобы управлять индивидуальными потоками и поддерживать работу (управляемая кривая) при наличии перегрузки. Поэтому этот процесс можно назвать управлением перегрузками.

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

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

управление с явными потерями (open-loop control) и управление с повторной передачей (closed loop control). Управление с явными потерями препятствует возникновению перегрузки, контролируя, что трафик, сгенерированный источником, не ухудшит характеристики до уровня ниже заданного качества обслуживания.

Если нельзя гарантировать качество обслуживания, сеть отклоняет предложенный трафик прежде, чем вводить пакеты в сеть. Функция, которая принимает решение принять или отклонить новый трафик, названа "управление доступом". С другой стороны, управление с повторной передачей реагирует на перегрузку, когда она уже возникает или собирается возникнуть, регулируя трафик согласно состоянию сети.

Управление с явными потерями

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

Пропускная способность сети с управлением и без управления перегрузкой

увеличить изображение
Рис. 7.7. Пропускная способность сети с управлением и без управления перегрузкой

Для сохранения характеристик сети класс управления с явными потерями использует три механизма:

  • управление доступом к сети;
  • стратегия безопасности;
  • формирование трафика.
Елтай Осербай
Елтай Осербай
Олег Сергеев
Олег Сергеев