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



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

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

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

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

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

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

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

- управление с явными потерями (open-loop control);

- управление с повторной передачей (closed loop control).

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

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


Дата добавления: 2016-01-05; просмотров: 12; Мы поможем в написании вашей работы!

Поделиться с друзьями:






Мы поможем в написании ваших работ!