Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Olifer_V_G__Olifer_N_A_-_Kompyuternye_seti_-_2010.pdf
Скачиваний:
2389
Добавлен:
21.03.2016
Размер:
23.36 Mб
Скачать

Техникауправления очередями

197

Техника управления очередями

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

Очередь FIFO

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

Приоритетное обслуживание

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

Механизм приоритетного обслуживания основан на разделении всего сетевого трафика на небольшое количество классов и последующего назначения каждому классу некоторого числового признака —приоритета.

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

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

198

Глава 7. Методы обеспечения качества обслуживания

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

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

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

 

Очереди разных приоритетов

 

Выбор из очереди,

 

 

 

 

если все более

 

 

Высокий

 

 

приоритетные

 

 

 

 

 

очереди пусты

 

Входной

Средний

 

 

 

Выходной

трафик

 

 

 

 

трафик

 

Нормальный

 

 

 

 

Классификатор

Низкий

_

 

Планировщик

Выходная

(протокол, адреса)

 

'

(абсолютные

очередь

 

г

-----1-------

 

приоритеты)

 

Буферы различной длины Рис. 7.9. Приоритетные очереди

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

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

Техникауправления очередями

199

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

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

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

восновном от характеристик потока этих пакетов —чем выше пульсации потока и его интенсивность, тем вероятнее возникновение очереди, образованной пакетами данного высокоприоритетного потока. Трафик всех остальных приоритетных классов почти про­ зрачен для пакетов высшего приоритета. Слово «почти» относится к ситуации, когда вы­ сокоприоритетный пакет вынужден ждать завершения обслуживания низкоприоритетного пакета, если его приход совпадает по времени с началом продвижения низкоприоритетного пакетана выходной интерфейс. Этот эффект иллюстрирует рис. 7.10, на котором показано, что после разделения всего трафика на приоритетный и обычный (то есть здесь имеются две очереди), коэффициент использования для приоритетного трафика снизился с 50 до 15%.

—смесь эластичного трафика

EZ1 — трафик «по возможности»

и трафика реального времени

■ — трафик реального времени

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

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

200

Глава 7. Методы обеспечения качества обслуживания

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

Взвешенные очереди

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

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

ПРИМЕР

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

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

Техникауправления очередями

201

тоесть 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). В случае подобного обслуживания пропускная способность ресурса делится между всеми потоками поровну, то есть «справедливо».

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]