Главная страница
Навигация по странице:

  • Резервирование ресурсов

  • Контроль допуска в сеть

  • Компьютерные сети. Принц, техн, прот 1-303. Книга переведена на английский, испанский, китайский и португальский языки


    Скачать 5.49 Mb.
    НазваниеКнига переведена на английский, испанский, китайский и португальский языки
    Дата26.10.2022
    Размер5.49 Mb.
    Формат файлаdoc
    Имя файлаКомпьютерные сети. Принц, техн, прот 1-303.doc
    ТипКнига
    #754706
    страница21 из 42
    1   ...   17   18   19   20   21   22   23   24   ...   42
    кондиционирования трафика, включающие:

    • классификацию;

    • профилирование;

    • сглаживание трафика.

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

    Профилирование (policing) представляет собой меру принудительного воздействия на трафик, направленного на ограничение скорости потока пакетов. Цель профилирования – добиться соответствия потока пакетов заданному скоростному профилю – набору заданных параметров потока. В качестве основного параметра обычно выступает средняя скорость потока пакетов, измеренная на определенном интервале времениXVII. Профилированный поток должен хорошо «укладываться» в выделенную для него пропускную способность. При условии, что физическое оборудование сети остается неизменным, скорость потока пакетов можно уменьшить лишь двумя способами: либо заставить приложение-источник уменьшить интенсивность генерации пакетов (подавление источника), либо «проредить» поток. Последнюю операцию можно выполнить двумя путями: либо отбрасывать некоторые пакеты из потока, либо задерживать их на некоторое время в буфере. Отбрасывание и буферирование пакетов составляют суть методов профилирования и сглаживания трафика соответственно, которые мы и рассматриваем здесь (о подавлении источника см. в разделе «Обратная связь для предотвращения перегрузок»).

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

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



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

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


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

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

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

    Известным алгоритмом, используемым как для сглаживания, так и для профилирования трафика, является алгоритм ведра маркеров.

    (S) Алгоритм ведра маркеров


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

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

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

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

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

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

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

    • максимальный разрешенный объем данных;

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

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

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

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

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

    Резервирование ресурсов

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

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

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

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

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

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

    Процедура резервирования пропускной способности

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

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

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

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

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

    Теперь посмотрим, каким образом выполняется выделение пропускной способности потоку в моменты времени, когда его пакеты поступают на вход коммуникационного устройства 52, которое запомнило факт резервирования пропускной способности для потока F1 на выходном интерфейсе Р2 (рис. 5.20).

    Такое выделение пропускной способности можно обеспечить разными способами, в том числе и с использованием взвешенных очередей. Пусть потоку F1 при резервировании было выделено 25 % пропускной способности интерфейса Р2. Будем считать, что резервирование было выполнено только для потока F1, а для других потоков, которые проходят через выходной интерфейс Р2, резервирование не производилось.

    Чтобы добиться желаемого результата, достаточно организовать для выходного интерфейса две взвешенные очереди – очередь для потока F1 с весом 25 % и очередь «по умолчанию» для всех остальных потоков. Кроме того, необходимо активизировать классификатор, который будет проверять пакеты на всех входных интерфейсах устройства 52 (на рис. 6.14 показан только один входной интерфейс Р1), отбирать пакеты потока Е1 по заданным при резервировании признакам и направлять их в очередь для потока Е1. В те периоды времени, когда скорость потока F1 окажется меньше зарезервированной пропускной способности в 25 %, неиспользованная ее часть будет потребляться потоками из очереди «по умолчанию» – в силу алгоритма работы взвешенных очередей. Зато в периоды, когда скорость потока F1 достигнет заявленного максимума потребления пропускной способности в 25 %, все остальные потоки будут довольствоваться оставшимися 75 %.

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



    1   ...   17   18   19   20   21   22   23   24   ...   42


    написать администратору сайта