Алгоритмы управления перегрузками

Когда в подсети находится в одно и тоже время слишком много пакетов, ее производительность начинает падать. На рис.5-22 показано явление перегрузки. Когда число пакетов, отправляемых хостами в сеть пропорционально возможностям сети, что число посланных пакетов пропорционально числу доставленных пакетов. Однако, если пакетов становиться слишком много, они начинают пропадать. При перегрузке сети может случится так, что доставка пакетов практически прекратиться.

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

Перегрузки могут случаться и из-за не достаточной скорости процессора. Если процессор будет не в состоянии справиться во время с рутинными задачами ( размещения пакета в буфере, корректировка таблиц и т.п.), то даже при наличии линий с достаточной пропускной способность очередь будет расти. Аналогичная картина может случиться при быстром процессоре, но медленной линии и наоборот. Таким образом, источник проблемы - не сбалансированность производительности компонентов системы.

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

Надо различать управление перегрузками сети и управление потоком. Перегрузка - это глобальная проблема в сети. Управление перегрузками - это такая организация потоков в подсети, что потоки соответствуют пропускной способности подсети и не превышают ее. Это глобальная проблема в сети, затрагивающая поведение всех хостов, всех маршрутизаторов.

Управление потоком возникает между парой взаимодействующих хостов. Это локальная проблема, касающаяся двух взаимодействующих хостов. Ее решение гарантирует, что быстрый отправитель сообщений не "завалит" не расторопного получателя. Здесь яркими примерами могут быть: один быстрый компьютер передает файл в 1ГБ более медленному через сеть с пропускной способностью 1 Тб/с со скоростью 1Гб/с. Ясно что здесь не будет перегрузки, хотя быстрый компьютер может создать такой поток пакетов, что он захлестнет медленный. В тоже время, если в сети с линиями на 1Мб/с и 1000 компьютеров хотя бы половина машин начнет передавать файлы со скоростью 100 Кб/с другой половине, то ясно, что будет перегрузка.