Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Скачиваний:
78
Добавлен:
25.03.2016
Размер:
555.52 Кб
Скачать

Обратная связь

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

Назначение

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

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

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

Участники обратной связи

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

На рис. 7.11 показаны различные варианты организации обратной связи.

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

Рис. 7.11. Участники обратной связи

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

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

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

Обратная связь 4. Здесь, как и в случае обратной связи 1, сообщение о перегрузке порождается узлом назначения и передается узлу-источнику. Однако имеется и важное отличие: в данном случае каждый промежуточный коммутатор реагирует на это сообщение. Во-первых, он снижает скорость передачи данных в направлении узла назначения, во-вторых, он может изменить содержание сообщения. Например, если узел назначения просит снизить скорость до 30 Мбит/с, то промежуточный коммутатор может снизить эту величину до 20 Мбит/с, оценив состояние своего буфера. Кроме того, породить сообщение обратной связи может любой коммутатор сети, а не только узел назначения.

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

Информация обратной связи

В применяемых сегодня методах обратной связи используются следующие основные типы сообщений:

  • признак перегрузки;

  • максимальная скорость передачи;

  • максимальный объем данных (кредит);

  • косвенные признаки.

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

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

Сообщение «максимальный объем данных» используется в широко применяемом в пакетных сетях алгоритме скользящего окна (см. главу 6). Этот алгоритм позволяет не только обеспечивать надежную передачу данных, но и реализовать обратную связь для контроля потока между конечными узлами. Параметром, несущим информацию обратной связи, является «окно» — число, тесно связанное с текущим размером свободного пространства в буфере принимающего узла. Окно также называют кредитом, который принимающий дает передающему узлу. Передающий узел может с любой скоростью передать объем информации (или определенное количество пакетов, если окно измеряется в пакетах), соответствующий кредиту. Но если кредит исчерпан, то передающий узел не имеет права передавать информацию, пока не получит следующий кредит. При перегрузках принимающий узел уменьшает размер окна, тем самым снижая нагрузку. Если эффект перегрузки исчезает, то принимающий узел увеличивает размер окна. Недостатком этого алгоритма является то, что он работает только в протоколах с установлением соединения.

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

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

Соседние файлы в папке olifer_v_g_olifer_n_a_kompyuternye_seti_principy_tehnologii