Компьютерные сети

Компьютерные сети

Н. Олифер

I — смесь эластичного трафика и трафика реального временит — трафик «по возможности» ■I — трафик реального времениРис. 7.10. Снижении коэффициента использования линии для приоритетного трафика: а — весь трафик обслуживается одной очередью; б — трафик реального времени обслуживается приоритетной очередью, а остальной трафик — очередью по умолчанию

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

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

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

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

ПРИМЕРПоказанное на рис. 7.11 устройство для пяти классов трафика поддерживает пять очередей к выходному интерфейсу коммутатора. Этим очередям при перегрузках выделяется соответственно 10,10,30, 20 и 30 % пропускной способности выходного интерфейса.

Достигается поставленная цель за счет того, что очереди обслуживаются последовательно и циклически, и в каждом цикле обслуживания из каждой очереди выбирается такое число байтов, которое соответствует весу данной очереди. Так, если цикл просмотра очередей в рассматриваемом примере равен одной секунде, а скорость выходного интерфейса составляет 100 Мбит/с, то при перегрузках в каждом цикле первой очереди уделяется 10 % времени,

то есть 100 мс и выбирается 10 Мбит данных, из второй — тоже 10 Мбит, из третьей — 30 Мбит, из четвертой — 20 Мбит, из пятой — 30 Мбит.
В результате каждому классу трафика достается гарантированный минимум пропускной способности, что во многих случаях является более желательным результатом, чем подавление низкоприоритетных классов высокоприоритетным.

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

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

Для нашего примера время цикла в 1000 мкс является примером такого баланса. С одной стороны, оно обеспечивает обслуживание очереди каждого класса каждые 1000 мкс, а значит - более низкий уровень задержек. С другой стороны, этого времени достаточно, чтобы выбрать из каждой очереди в среднем по несколько пакетов (первой очереди в нашем примере будет отводиться 100 мкс, что достаточно для передачи в выходной канал одного пакета Fast Ethernet или десяти пакетов Gigabit Ethernet).

На уровень задержек и вариации задержек пакетов для некоторого класса трафика при взвешенном обслуживании в значительной степени влияет относительный коэффициент использования. В этом случае коэффициент подсчитывается как отношение интенсивности входного трафика класса к пропускной способности, выделенной этому классу в соответствии с его весом. Например, если мы выделили первой очереди 10 % от общей пропускной способности выходного интерфейса, то есть 10 Мбит/с, а средняя интенсивность потока, который попадает в эту очередь, равна 3 Мбит/с/, то коэффициент использования для этого потока составит 3/10 = 0,3. Зависимость на рис. 7.5 показывает, что задержки при таком значении коэффициента использования будут незначительными. Если бы интенсивность входного потока этой очереди была 9 Мбит/с, то очереди были бы значительными, а при превышении предела 10 Мбит/с часть пакетов потока постоянно бы отбрасывалась из-за переполнения очереди.

Качественное поведение очереди и, соответственно, задержек здесь выглядит примерно также, как и в случае очереди FIFO — чем меньше коэффициент загрузки, тем меньше средняя длина очереди и тем меньше задержки.

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

Ещеодним вариантом взвешенного обслуживания является взвешенное справедливое обслуживание (Weighted Fair Queuing, WFQ). В случае подобного обслуживания пропускная способность ресурса делится между всеми потоками поровну, то есть «справедливо».

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

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

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

Механизмы кондиционирования трафика

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

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

Классификация трафика представляет собой элемент QoS, позволяющий определить, какие пакеты нужно отправить в ту или иную очередь. Классификация обычно выполняется средствами фильтрации трафика, имеющимися в коммутаторах и маршрутизаторах пакетных сетей; для этих средств используется также такое название, как списки контроля доступа (Access Control List, ACL)
1

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

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

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

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

Рисунок 7.12 иллюстрирует действие механизма профилирования, показывая значения скорости трафика, измеренные на достаточно малых интервалах времени до и после профилирования. Как видно из рисунка, отбрасывание пакетов при профилировании приводит к удержанию скорости потока на заданном уровне в те интервалы времени, когда скорость входящего потока превосходит этот предел, и к сохранению исходной скорости в остальные периоды.
I 1 — +рафик перед профилированием Ш — трафик после профилирования

Рис. 7.12. Эффект профилирования — отбрасывание избыточного трафика
Формирование трафика

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

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

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

Время1 | — трафик перед формированиемЕШ — трафик после профилированияРис. 7.13. Эффект формирования трафика — сглаживание
Механизмы кондиционирования трафика могут поддерживаться каждым узлом сети или реализовываться только в пограничных устройствах. Последний вариант часто используют поставщики услуг, кондиционируя трафик своих клиентов.
Обратная связь
Назначение

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

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

Таким образом, при возникновении перегрузки механизм предотвращения перегрузок за счет обратной связи временно снижает нагрузку. Существует и другое название этого механизма - активное управление очередями.
Участники обратной связи

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

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

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

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

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

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

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


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

Report Page