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

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

К числу недостатков виртуальных каналов можно отнести:

- большие накладные расходы на установку соединения и удаления виртуального канала, что снижает потребительские свойства подсети;

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

Каждый из рассмотренных сервисов (режимов) связи имеет свои особенности, а значит, и области применения.

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

НЕ нашли? Не то? Что вы ищете?

Режим «без соединения» больше подходит там, где взаимодействие имеет кратковременный характер, при котором объем передаваемых данных невелик, а интервалы между передачами зна-чительны (относительно скорости передачи). Кроме того, его целесообразно использовать в сис-темах с повышенными требованиями к надежности доставки данных адресату, так как эти требо-вания можно удовлетворить путем тиражирования данных и передачи адресату по разным маршрутам.

Различают следующие способы маршрутизации:

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

2. Распределенная (децентрализованная) маршрутизация - выполняется главным образом в сетях с децентрализованным управлением. Функции управления маршрутизацией распределены между узлами сети, которые располагают для этого соответствующими средствами. Распределен-ная маршрутизация сложнее централизованной, но отличается большей гибкостью.

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

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

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

Эффективность алгоритмов маршрутизации оценивается следующими показателями:

- временем доставки пакетов адресату;

- нагрузкой на сеть, которая при реализации данного алгоритма создается потоками пакетов, распределяемыми по линиям и узлам сети. Количественная оценка нагрузки осуществляется длиной очередей пакетов в узлах;

- затратами ресурсов в узлах связи (временем работы коммуникационной ЭВМ, емкостью памяти).

Факторы, снижающие эффективность алгоритмов маршрутизации:

- передача пакета в узел связи, находящийся под высокой нагрузкой;

- передача пакета в направлении, не приводящем к минимальному времени его доставки;

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

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

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

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

Лавинная маршрутизация (или заполнение пакетами всех свободных выходных направ-лений) предусматривает передачу пакета из узла по всем свободным выходным линиям. Поскольку это происходит в каждом узле, имеет место явление “размножения” пакета, что резко ухудшает использование пропускной способности сети. Значительное ослабление этого недостатка достигается путем уничтожения в каждом узле дубликатов (копий) пакета и продвижения по маршруту только одного пакета. Основное преимущество такого метода - гарантированное обеспечение оптимального времени доставки пакета адресату, так как из всех направлений, по которым передается пакет, хотя бы одно обеспечивает такое время. Метод может использоваться в незагруженных сетях, когда требования по минимизации времени и надежности доставки пакетов достаточно высоки.

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

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

Локальная адаптивная маршрутизация основана на использовании информации, имеющейся в данном узле и включающей: таблицу маршрутов, которая определяет все направления передачи пакетов из этого узла; данные о состоянии выходных линий связи (работают или не работают); длину очереди пакетов, ожидающих передачи. Информация о состоянии других узлов связи не используется. Таблица маршрутов определяет кратчайшие маршруты, обеспечивающие доставку пакета адресату за минимальное время. Преимущество такого метода состоит в том, что принятие решения о выборе маршрута производится с использованием самых последних данных о состоянии узла. Недостаток метода в его “близорукости”, поскольку выбор маршрута осуществляется без учета глобального состояния всей сети. Следовательно, всегда есть опасность передачи пакета по перегруженному маршруту.

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

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

Гибридная адаптивная маршрутизация основана на использовании таблиц маршрутов, рассылаемых ЦМ узлам сети, в сочетании с анализом длины очередей в узлах. Следовательно, здесь реализуются принципы централизованной и локальной маршрутизации. Гибридная маршрутизация компенсирует недостатки централизованной маршрутизации (маршруты, формируемые центром, являются несколько устаревшими) и локальной («близорукость» метода) и воспринимает их преимущества: маршруты центра соответствуют глобальному состоянию сети, а учет текущего состояния узла обеспечивает своевременность решения задачи.

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

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

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

Исследования показали, что оптимальное количество уровней иерархии для сети, состоящей из N маршрутизаторов, равно ℓnN. При этом увеличение длины пути от отправителя к получа-телю, вызванное иерархической маршрутизацией, находится в приемлемых пределах.

В РККС нередко используется так называемая маршрутизация с подключением по запросу, которая представляет собой такой режим работы, при котором маршрутизатор может динамически инициировать и закрывать сеансы с коммутацией каналов, когда это требуется передающим конечным станциям.

3.3. Предотвращение и устранение перегрузки в сети

Перегрузкой называется ситуация, когда количество одновременно передаваемых по сети (или ее части) пакетов превышает некий пороговый уровень и производительность сети начинает снижаться. Симптомы этого явления изображены на рис. 3.1.

Доставленные пакеты

Максимальная пропускная Идеальная ситуация

способность сети

желательная ситуация

- 3 Перегрузка

Посланные пакеты (трафик)

Рис. 3.1. Зависимость производительности сети от интенсивности трафика

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

Можно указать на следующие факторы, вызывающие перегрузку сети:

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

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

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

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

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

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

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

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

- общие принципы борьбы с перегрузкой;

- стратегии предотвращения перегрузки;

- борьба с перегрузкой в подсетях виртуальных каналов;

- борьба с перегрузкой в дейтаграммных подсетях;

- борьба с флуктуациями.

3.3.1. Общие принципы борьбы с перегрузкой

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

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

Решения, базирующиеся на втором подходе, основываются на учете текущего состояния системы. Этот подход включает следующие части (этапы):

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

- передача информации о перегрузке в те места, где могут быть приняты соответствующие меры;

- принятие необходимых мер при работе системы для устранения перегрузки.

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

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

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

Однако не всегда оказывается возможным увеличить пропускную способность данного участка сети, особенно если она и так увеличена до предела. Тогда единственный способ борьбы с перегрузкой – уменьшение нагрузки. Для этого могут применяться следующие способы: отказ в обслуживании или снижении уровня обслуживания некоторых или всех пользователей; составление более четкого расписания потребностей пользователей в обслуживании; полный или частичный отказ в обслуживании пакетов (или потоков) с низким приоритетом (для приоритетных систем обслуживания).

3.3.2. Стратегии предотвращения перегрузки

Рассмотрим методы борьбы с перегрузкой в системах без обратной связи. Эти системы разработаны в первую очередь для предотвращения перегрузки, а не для борьбы с уже имеющейся перегрузкой. При этом используются соответствующие стратегии на разных уровнях модели OSI – на канальном, сетевом и транспортном (табл. 3.2).

Таблица 3.2

Стратегии предотвращения перегрузки

Уровень

Стратегии

Канальный

1. Политика повторной передачи.

2. Кэширование пакетов, приходящих в неверном порядке.

3. Политика подтверждений.

4. Политика управления потоком

Сетевой

1. Использование виртуальных каналов вместо дейтаграмм в составе подсети.

2. Политика очередей пакетов и обслуживания.

3. Политика игнорирования пакетов.

4. Использование оптимальных алгоритмов маршрутизации.

5. Управление временем жизни пакетов

Транспортный

1. Политика повторной передачи.

2. Кэширование пакетов, приходящих в неверном порядке.

3. Политика подтверждений.

4. Политика управления потоком.

5. Определение тайм-аутов


Стратегия (политика) повторной передачи предусматривает определение того, насколько быстро у отправителя истекает время ожидания подтверждения о получении адресатом пакета и что он передает после того, как время ожидания истекло. Если время ожидания истекает слишком быстро, повторно посылаются все неподтвержденные пакеты, что негативно сказывается на на-грузке сети. При большом времени ожидания механизм борьбы с перегрузкой будет реагировать слишком медленно, чтобы приносить вообще какую-либо пользу. Необходимо компромиссное решение.

Стратегия кэширования предусматривает игнорирование всех пакетов, приходящих не в том порядке. Но все проигнорированные пакеты придется позднее передавать еще раз, что окажет дополнительную нагрузку на сеть.

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

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

Политика очередей пакетов и обслуживания определяет количество очередей у каждого маршрутизатора и порядок обработки пакетов (например, поочередно или с учетом приоритетов пакетов).

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

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

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

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

3.3.3. Борьба с перегрузкой в подсетях виртуальных каналов

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

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

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

3.3.4. Борьба с перегрузкой в дейтаграммных подсетях

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

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

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

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

Выбрасывание маршрутизатором части информации может происходить различными способами. Рассмотрим наиболее употребительные.

1.  Выбор пакетов для отбрасывания случайным образом. Это самый простой, но не оптимальный способ (могут быть отброшены самые важные пакеты).

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

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

4.  Разрешение хостам превышать пределы использования сетевых ресурсов, указанные в соглашении, заключенном при создании виртуального канала (например, использовать бóльшую пропускную способность, чем договаривались), но при условии, что весь дополнительный трафик будет помечаться как низкоприоритетный. Такая стратегия целесообразна, так как эффективно использует свободные ресурсы, разрешая хостам пользоваться ими, пока это никому не мешает, но не закрепляя за ними этого права.

5.  Использование алгоритма случайного раннего обнаружения (СРО). Известно, что при борьбе с перегрузкой проще всего вовремя обнаружить затор, чем дать ему развиться до критических размеров, а потом предпринимать действия по его ликвидации. Именно это соображение привело к идее отвержения некоторых пакетов еще до того, как все буферное пространство маршрутизатора будет заполнено скопившимися необработанными пакетами. Эта идея реализуется алгоритмом СРО.

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

Из за большого объема этот материал размещен на нескольких страницах:
1 2 3 4 5 6 7 8