Учебник для вузов в. Олифер Н. Олифер Компьютерные Принципы, технологии, протоколы
Скачать 22.28 Mb.
|
ГЛАВА 7 Методы обеспечения качества обслуживания Методы обеспечения качества обслуживания (QoS) занимают сегодня важное место в арсенале технологий сетей с коммутацией пакетов, так как они обеспечивают устойчивую работу современных мультимедийных приложений, таких как ІР-телефония, видео- и радиовещание, интерактивное дис танционное обучение и т. п. Методы QoS направлены на улучшение характеристик производитель ности и надежности сети, рассмотренных в предыдущей главе; эти методы позволяют уменьшить задержки, вариации задержек, а также потери пакетов в периоды перегрузки сети, создавая тем самым необходимые условия для удовлетворительного обслуживания сетью трафика приложений. Методы обеспечения качества обслуживания направлены на компенсацию негативных последствий временных перегрузок, возникающих в сетях с коммутацией пакетов. В этих методах используются различные алгоритмы управления очередями, резервирования и обратной связи, позволяющие снизить негативное влияние очередей до приемлемого для пользователей уровня. Обзор методов обеспечения качества обслуживания 185 Обзор методов обеспечения качества обслуживания Очереди являются неотъемлемым атрибутом сетей с коммутацией пакетов. Сам принцип работы таких сетей подразумевает наличие буфера у каждых входного и выходного интер фейсов коммутатора пакетов. Буферизация пакетов во время перегрузок представляет со бой основной механизм поддержания пульсирующего трафика, обеспечивающий высокую производительность сетей этого типа. Как вы знаете, в сетях с другим типом коммутации, а именно в сетях с коммутацией каналов, промежуточная буферизация данных не поддер живается. В то же время очереди означают неопределенную задержку при передаче пакетов через сеть, а в некоторых случаях и потери пакетов из-за переполнения буфера коммутатора или маршрутизатора, отведенного под очередь. Задержки и потери пакетов — это главный источник проблем для чувствительного к задержкам трафика. Так как сегодня операторы пакетных сетей очень заинтересованы в передаче пульсирующего трафика, им необходимы средства достижения компромисса между требованиями предельной загрузки своей сети и качеством обслуживания одновременно всех типов трафика. Существует два подхода к определению того, какие характеристики производительности и надежности следует отнести к характеристикам качества обслуживания, то есть к тем характеристикам, которые могут быть улучшены с помощью методов QoS. В одном случае, под характеристиками QoS понимается только три характеристики: □ односторонняя задержка пакетов; □ вариация задержек пакетов; □ потери пакетов. Другой подход заключается в расширенном толковании характеристик QoS, когда харак теристики скорости потока, такие как средняя скорость, пиковая скорость и пульсация, также относят к характеристикам QoS. В методах обеспечения качества обслуживания используются различные механизмы, на правленные на снижение негативных последствий пребывания пакетов в очередях с сохра нением в то же время положительной роли очередей. Набор механизмов достаточно широк, и в этой главе они рассматриваются достаточно подробно. Большинство из них учитывает и использует в своей работе факт существования в сети трафика различного типа в том от ношении, что каждый тип трафика предъявляет различные требования к характеристикам производительности и надежности сети. Например, трафик просмотра веб-страниц мало чувствителен к задержкам пакетов и не требует гарантированной пропускной способно сти сети, зато чувствителен к потерям пакетов; в то же время как голосовой трафик очень чувствителен к задержкам пакетов, требует гарантированной пропускной способности сети, но может «терпеть» потерю небольшого процента пакетов без значительного ущерба для качества (впрочем, последнее свойство во многом зависит от используемого метода кодирования голосового сигнала). Добиться одновременного соблюдения всех характеристик QoS для всех видов трафика весьма сложно. Одним из наиболее значимых факторов, влияющих на характеристики качества обслуживания, является уровень загрузки сети трафиком, то есть уровень ис пользования пропускной способности линий связи сети. Если этот уровень постоянно достаточно низок, то трафик всех приложений обслуживаемся с высоким качеством большую часть времени (хотя кратковременные перегрузки сети, 186 Глава 7. Методы обеспечения качества обслуживания приводящие к задержкам и потерям пакетов, все равно возможны, но они случаются очень редко). Такое состояние сети называется «недогруженным» или же используется термин сеть с избыточной пропускной способностью (англоязычный термин overprovisioning). Постоянно поддерживать все части сети в недогруженном состоянии достаточно дорого и сложно, но для наиболее ответственной части сети, такой как магистраль, этот подход применяется, и связан он с постоянным слежением за уровнем загрузки каналов маги страли и периодическим увеличением их пропускной способности по мере приближения загрузки к критическому уровню. Методы QoS основаны на другом подходе, а именно тонком перераспределении имеющейся пропускной способности между трафиком различного типа в соответствии с требованиями приложений. Очевидно, что эти методы усложняют сетевые устройства, так как означа ют необходимость знать требования всех классов трафика, уметь их классифицировать и распределять пропускную способность сети между ними. Последнее свойство обычно достигается за счет использования нескольких очередей пакетов для каждого выходного интерфейса коммуникационного устройства вместо одной очереди; при этом в очередях применяют различные алгоритмы обслуживания пакетов, чем и достигается дифферен цированное обслуживание трафика различных классов. Поэтому методы QoS часто ассо циируются с техникой управления очередями. Помимо собственно техники организации очередей, к методам QoS относят методы контро ля параметров потока трафика, так как для гарантированно качественного обслуживания нужно быть уверенными, что обслуживаемые потоки соответствуют определенному профи лю. Эта группа методов QoS получила название методов кондиционирования трафика. Особое место занимают методы обратной связи, которые предназначены для уведомления источника трафика о перегрузке сети. Эти методы рассчитаны на то, что при получении уведомления источник снизит скорость выдачи пакетов в сеть и тем самым ликвидирует причину перегрузки. Механизмы QoS можно применять по-разному. В том случае, когда они применяются к от дельным узлам без учета реальных маршрутов следования потоков трафика через сеть1, условия обслуживания трафика этими узлами улучшаются, но гарантий того, что поток будет обслужен с заданным уровнем качества, такой подход не дает. Гарантии можно обе спечить, если применять методы QoS системно, резервируя ресурсы сети для потока на всем протяжении его маршрута, другими словами, «из конца в конец». К методам QoS тесно примыкают методы инжиниринга трафика. Согласно методам инжиниринга трафика маршруты передачи данных управляются таким образом, чтобы обеспечить сбалансированную загрузку всех ресурсов сети и исключить за счет этого перегрузку коммуникационных устройств и образование длинных очередей. В отличие от методов QoS в методах инжиниринга трафика не прибегают к организации очередей с различными алгоритмами обслуживания на сетевых устройствах. В то же время в методах QoS в их традиционном понимании не используют такой мощный рычаг воздействия на рациональное распределение пропускной способности, как изменение маршрутов трафика в зависимости от фактической загрузки линий связи, что позволяет легко отделить методы QoS от методов инжиниринга трафика. В следующей группе методов борьба с перегрузками ведется путем снижения постоянной нагрузки на сеть. То есть в этих методах проблема рассматривается с другой стороны: 1 ТІк называемое «поузловое» (per hop) применение. Приложения и качество обслуживания 187 если пропускной способности сети недостаточно для качественной передачи трафика приложений, то нельзя ли уменьшить объем самого трафика? Наиболее очевидным спо собом снижения объема трафика является его компрессия, существуют и другие способы, приводящие к тому же результату, например размещение источника данных ближе к его потребителю (кэширование данных). Приложения и качество обслуживания К настоящему времени проделана большая работа по классификации трафика приложе ний. В качестве основных критериев классификации были приняты три характеристики трафика: □ относительная предсказуемость скорости передачи данных; □ чувствительность трафика к задержкам пакетов; □ чувствительность трафика к потерям и искажениям пакетов. Предсказуемость скорости передачи данных В отношении предсказуемости скорости передачи данных приложения делятся на два больших класса: приложения с потоковым трафиком и приложения с пульсирующим трафиком. П р и л о ж е н и я с п о т о к о в ы м т р а ф и к о м (stream) порождают равномерный поток данных, который поступает в сеть с п о с т о я н н о й б и т о в о й с к о р о с т ь ю (Constant Bit Rate, CBR). В случае коммутации пакетов трафик таких приложений представляет собой последова тельность пакетов одинакового размера (равного В бит), следующих друг за другом через один и тот же интервал времени Т (рис. 7.1). Постоянная битовая скорость потокового трафика (CBR) может быть вычислена путем усреднения на одном периоде: CBR - В /Т бит/с. В общем случае, постоянная битовая скорость потокового трафика меньше номинальной максимальной битовой скорости протокола, с помощью которого передаются данные, так как между пакетами существуют паузы. Как будет показано в главе 12, максимальная скорость передачи данных с помощью протокола Ethernet составляет 9,76 Мбит/с (для 188 Глава 7. Методы обеспечения качества обслуживания кадров максимальной длины), что меньше номинальной скорости этого протокола, равной 10 Мбит/с. Приложения с пульсирующим трафиком (burst) отличаются высокой степенью непред сказуемости, в этих приложениях периоды молчания сменяются пульсацией, в течение которой пакеты «плотно» следуют друг за другом. В результате трафик характеризуется переменной битовой скоростью (Variable Bit Rate, VBR), что иллюстрирует рис. 7.2. Так, при работе приложений файлового сервиса интенсивность трафика, генерируемого приложением, может падать до нуля, когда файлы не передаются, и повышаться до мак симально доступной, ограниченной только возможностями сети, когда файловый сервер передает файл. Щ I I -і ' V ' й л ь і М Ш :*... W Т\ : С = PIR к гГ 1 О II о Г Т3 : С = PIR W з т . с - С срвдн Рис. 7.2. Пульсирующий трафик На рисунке показано три периода измерений 7\, Т 2 и 7з. Для упрощения расчетов принято, что пиковые скорости на первом и третьем периодах равны между собой и равны PIR, а все три периода имеют одинаковую длительность Т. Учитывая это, можно вычислить величину пульсации В, которая равна количеству битов, переданных на периоде пульсации: В = PIR х Т. Таким образом, величина пульсации для периодов Т і и 7з равна В, а на периоде Тч — нулю. Для приведенного примера можно подсчитать коэффициент пульсации. (Напомним, что он равен отношению пиковой скорости на каком-либо небольшом периоде времени к средней скорости трафика, измеренной на длительном периоде времени.) Так как пиковая скорость на периоде Т\ (или Тз) равна В/Т\ а средняя скорость на суммарном периоде Т\ + Тч + 7з составляет 2J5/3T, коэффициент пульсации равён 3/2. Практически любой трафик, даже трафик потоковых приложений, имеет ненулевой коэф фициент пульсации. Просто значения коэффициентов пульсации у потокового и пульси рующего трафиков существенно различаются. У приложений с пульсирующим трафиком он обычно находится в пределах от 2 до 100, а у потоковых приложений он близок к 1. В локальных сетях коэффициент пульсации обычно выше, чем в глобальных, поскольку на магистралях глобальных сетей трафик представляет собой сумму трафиков многих источ ников, что по закону,болыних чисел приводит к сглаживанию результирующего трафика. Чувствительность трафика к задержкам пакетов Еще один критерий классификации приложений по типу трафика — их чувствительность к задержкам пакетов и их вариациям. Далее перечислены основные типы приложений в порядке повышения чувствительности к задержкам пакетов. Приложения и качество обслуживания 189 □ Асинхронные приложения. Практически не имеют ограничений на время задержки (эластичный трафик). Пример такого приложения — электронная почта. □ Интерактивные приложения. Задержки могут быть замечены пользователями, но они не сказываются негативно на функциональности приложений. Пример — текстовый редактор, работающий с удаленным файлом. □ Изохронные приложения. Имеется порог чувствительности к вариациям задержек, при превышении которого резко снижается функциональность приложения. Пример — передача голоса, когда при превышении порога вариации задержек в 100-150 мс резко снижается качество воспроизводимого голоса. □ Сверхчувствительные к задержкам приложения. Задержка доставки данных сводит функциональность приложения к нулю. Пример — приложения, управляющие техни ческим объектом в реальном времени. При запаздывании управляющего сигнала на объекте может произойти авария. Вообще говоря, интерактивность приложения всегда повышает его чувствительность к задержкам. Например, широковещательная рассылка аудиоинформации может выдер живать значительные задержки передачи пакетов (оставаясь чувствительным к вариациям задержек), а интерактивный телефонный или телевизионный разговор их не терпит, что хорошо заметно при трансляции разговора через спутник. Длительные паузы в разговоре вводят собеседников в заблуждение, часто они теряют терпение и начинают очередную фразу одновременно. Наряду с приведенной классификацией, тонко дифференцирующей чувствительность приложений к задержкам и их вариациям, существует и более грубое деление приложений по этому же признаку на два класса: асинхронные и синхронные. К асинхронным относят те приложения, которые нечувствительны к задержкам передачи данных в очень широком диапазоне, вплоть до нескольких секунд, а все остальные приложения, на функциональ ность которых задержки влияют существенно, относят к синхронным приложениям. Интерактивные приложения могут относиться как к асинхронным (например, текстовый редактор), так и к синхронным (например, видеоконференция). Чувствительность трафика к потерям и искажениям пакетов кИ, наконец, последним критерием классификации приложений является их чувствитель ность к потерям пакетов. Здесь обычно делят приложения на две группы. □ Приложения, чувствительные к потере данных. Практически все приложения, переда ющие алфавитно-цифровые данные (к которым относятся текстовые документы, коды программ, числовые массивы и т. п.), обладают высокой чувствительностью к потере отдельных, даже небольших, фрагментов данных. Такие потери часто ведут к полному обесцениванию остальной успешно принятой информации. Например, отсутствие хотя бы одного байтов коде программы делает ее совершенно неработоспособной. Все традиционные сетевые приложения (файловый сервис, сервис баз данных, электронная почта и т. д.) относятся к этому типу приложений. □ Приложения, устойчивые к потере данных. К этому типу относятся многие прило жения, передающие трафик с информацией об инерционных физических процессах. Устойчивость к потерям объясняется тем, что небольшое количество отсутствующих данных можно определить на основе принятых. Так, при потере одного пакета, несущего 190 Глава 7. Методы обеспечения качества обслуживания несколько последовательных замеров голоса, отсутствующие замеры при воспроиз ведении голоса могут быть заменены аппроксимацией на основе соседних значений. К такому типу относится большая часть приложений, работающих с мультимедийным трафиком (аудио- и видеоприложения). Однако устойчивость к потерям имеет свои пределы, поэтому процент потерянных пакетов не может быть большим (например, не более 1 %). Можно отметить также, что не любой мультимедийный трафик столь устойчив к потерям данных, так, компрессированный голос и видеоизображение очень чувствительны к потерям, поэтому относятся к первому типу приложений. Классы приложений Вообще говоря, между значениями трех характеристик качества обслуживания (относи тельная предсказуемость скорости передачи данных; чувствительность трафика к задерж кам пакетов; чувствительность трафика к потерям и искажениям пакетов) нет строгой взаимосвязи. То есть приложение с равномерным потоком может быть как асинхронным, так и синхронным, а, например, синхронное приложение может быть как чувствительным, так и нечувствительным к потерям пакетов. Однако практика показывает, что из всего многообразия возможных сочетаний значений этих трех характеристик есть несколько таких, которые охватывают большую часть используемых сегодня приложений. Например, следующее сочетание характеристик приложения «порождаемый трафик — равномерный поток, приложение изохронное, устойчивое к потерям» соответствует таким популярным приложениям, как ІР-телефония, поддержка видеоконференций, аудиовеща ние через Интернет. Устойчивых сочетаний характеристик, описывающих определенный класс приложений, существует не так уж много. Так, при стандартизации технологии ATM, которая изначально разрабатывалась для поддержания различных типов трафика, были определены 4 класса трафика (и соответствующих приложений): Л, Д С и D. Для каждого класса рекомендуется использовать собственный набор характеристик QoS. Кроме того, для всех приложений, не включенных ни в один из этих классов, был определен класс X, в котором сочетание характеристик приложения может быть произвольным. Классификация ATM, являясь на сегодня наиболее детальной и обобщенной, не требует для своего понимания знания технологии ATM, поэтому мы можем рассмотреть ее уже сейчас (табл. 7.1). Таблица 7 .1 . Классы трафика Класс трафика Характеристики А Постоянная битовая скорость, чувствительность к задержкам, передача с установлени ем соединения (например, голосовой трафик, трафик телевизионного изображения). Параметры QoS: пиковая скорость передачи данных, задержка, джиттер В Переменная битовая скорость, чувствительность к задержкам, передача с установ- лениемхоединения (например, компрессированный голос, компрессированное видеоизображение). Параметры QoS: пиковая скорость передачи данных, пульсация, средняя скорость передачи данных, задержка, джиттер С Переменная битовая скорость, эластичность, передача с установлением соединения (например, трафик компьютерных сетей, в которых конечные узлы работают по протоколам с установлением соединений — frame relay, Х.25, TCP). Параметры QoS: пиковая скорость передачи данных, пульсация, средняя скорость передачи данных Анализ очередей 191 Класс трафика Характеристики D Переменная битовая скорость, эластичность, передача без установления соедине ния (например, трафик компьютерных сетей, в которых конечные узлы работают по протоколам без установления соединений — IP/UDP, Ethernet). Параметры QoS не определены X Тип трафика и его параметры определяются пользователем Анализ очередей Определить основные характеристики QoS и сформулировать требования к ним — значит, наполовину решить задачу. Пользователь формулирует свои требования к качеству обслу живания в виде некоторых предельных значений характеристик QoS, которые не должны быть превышены, например он может указать, что предельное значение вариации задержки пакетов не должно превышать 50 мс с вероятностью 0,99. Но как заставить сеть справиться с поставленной задачей? Какие меры нужно предпринять, чтобы вариации задержек действительно не превысили эту величину? И как гарантировать пользователю, что средняя скорость передачи его потока через сеть будет соответствовать средней скорости входящего в сеть потока? Для понимания механизмов поддержки QoS полезно исследовать процесс образования очередей в сетевых устройствах и понять наиболее существенные факторы, влияющие на длину очереди. Модель М/М/1 Существует ветвь прикладной математики, предметом которой являются процессы об разования очередей. Эта дисциплина так и называется — теория очередей. Мы не будем углубляться в математические основы этой теории, приведем только некоторые ее выводы, существенные для рассматриваемой нами проблемы QoS. На рис. 7.3 показана наиболее простая модель очереди, известная под названием М/М/11. | а А. = 1/Т » ■ _______ ц =1/Ь я х ■ J — 1 '-{JDKD 1— 1 запросов Очередь Обслуживающее устройство Рис. 7.3. Модель М/М/1 Основными элементами модели являются: □ входной поток абстрактных заявок на обслуживание; □ буфер; 1 З д е с ь 1 означает, что моделируется одно обслуживающее устройство, первая буква М обозначает тип распределения интервалов поступления заявок (марковское распределение), вторая — тип рас пределения значений времени обслуживания (тоже марковское). 192 Глава 7. Методы обеспечения качества обслуживания □ обслуживающее устройство; □ выходной поток обслуженных заявок. Заявки поступают на вход буфера в случайные моменты времени. Если в момент по ступления заявки буфер пуст и обслуживающее устройство свободно, то заявка сразу же передается в это устройство для обслуживания. Обслуживание также длиться случайное время. Если в момент поступления заявки буфер пуст, но обслуживающее устройство занято обслуживанием ранее поступившей заявки, то заявка ожидает его завершения в буфере. Как только обслуживающее устройство завершает обслуживание очередной заявки, она передается на выход, а прибор выбирает из буфера следующую заявку (если буфер не пуст). Выходящие из обслуживающего устройства заявки образуют выходной поток. Бу фер считается бесконечным, то есть заявки никогда не теряются из-за того, что исчерпана емкость буфера. Если прибывшая заявка застает буфер не пустым, то она становится в очередь и ожидает обслуживания. Заявки выбираются из очереди в порядке поступления, то есть соблюда ется дисциплина обслуживания первым пришел — первым обслужен (First-In, First-Out, FIFO). Теория очередей позволяет оценить для этой модели среднюю длину очереди и среднее время ожидания заявки в очереди в зависимости от характеристик входного потока и вре мени обслуживания. Будем считать, что среднее время между поступлениями заявок известно и равно Г. Это значит, что интенсивность поступления заявок, которая традиционно обозначается в тео рии очередей символом X, равна X = 1/Г заявок в секунду. Случайный процесс поступления заявок описывается в этой модели функцией распреде ления интервалов между поступлениями заявок. Чтобы упростить получение компактных аналитических результатов, обычно считают, что эти интервалы описываются так на зываемым марковским распределением (другое название — пуассоновское), плотность которого показана на рис. 7.4. Из рисунка видно, что входной поток является существенно пульсирующим, так как есть ненулевая вероятность того, что интервал между заявками бу дет очень небольшим, близким к нулю, а также того, что он будет очень большим. Среднее отклонение интервалов также равно Т. Рис. 7.4. Плотность распределения входного потока Анализ очередей 193 Будем также считать, что среднее время обслуживания заявки равно Ь. Это означает, что обслуживающий прибор способен продвигать заявки на выход с интенсивностью І/b = ц. Опять же для получения аналитического результата считают, что время обслуживания — это случайная величина с пуассоновской плотностью распределения. Принятие таких предположений дает простой результат для среднего времени ожидания заявки в очереди, которое мы обозначим через w: w = р - ^ - . ( 1 ) 1 -р Здесь через р обозначено отношение \ / \ 1 . Параметр р называют к о э ф ф и ц и е н т о м и с п о л ь з о в а н и я (utilization) обслуживающего при бора. Для любого периода времени этот показатель равен отношению времени занятости обслуживающего прибора к величине этого периода. Зависимость среднего времени ожидания заявки w от р иллюстрирует рис. 7.5. Как видно из поведения кривой, параметр р играет ключевую роль в образовании очереди. Если значе ние р близко к нулю, то среднее время ожидания тоже очень близко к нулю. А это означает, что заявки почти никогда не ожидают обслуживания в буфере (в момент их прихода он оказывается пустым), а сразу попадают в обслуживающее устройство. И наоборот, если р приближается к 1, то время ожидания растет очень быстро и нелинейно (и в пределе равно бесконечности). Такое поведение очереди интуитивно понятно, ведь р — это отношение средней интенсивности входного потока к средней интенсивности его обслуживания. Чем ближе средние значения интервалов между пакетами к среднему времени обслуживания, тем сложнее обслуживающему устройству справляться с нагрузкой. Рис. 7 .5 . Зависимость среднего времени ожидания заявки от коэффициента использования ресурса С помощью модели М /М /1 можно приближенно моделировать сеть с коммутацией па кетов (рис. 7.6). Так, входной поток пакетов, поступающих на вход интерфейса коммутатора (будем здесь использовать этот термин как обобщенное название устройства коммутации пакетов), представлен в модели потоком заявок, а буфер модели соответствует буферу интерфейса коммутатора. Среднее время обслуживания заявки соответствует среднему времени про движения пакета процессором коммутатора из входного буфера в выходной канал. 194 Глава 7. Методы обеспечения качества обслуживания Сеть Коммутатор Модель М/М/1 устройство Рис. 7.6. Выходной интерфейс как разделяемый ресурс коммутатора Понятно, что приведенная модель очень упрощенно описывает процессы, происходящие в коммутаторе. Тем не менее она очень полезна для понимания основных факторов, влияю щих на величину очереди. Сетевые инженеры хорошо знакомы с графиком, представленным на рис. 7.5. Они ин терпретируют этот график как зависимость задержек в сети от ее загрузки. Параметр р модели соответствует коэффициенту использования сетевого ресурса, который участвует в передаче трафика, то есть выходного интерфейса коммутатора. В приведенном графике есть и нечто неожиданное. Трудно представить, что обслуживаю щее устройство (сетевой ресурс) практически перестает справляться со своими обязан ностями, когда его коэффициент использования приближается к 1. Ведь в этом случае нагрузка не превышает его возможностей, а только приближается к этому пределу. Ин туитивно не очень понятна также причина существования очередей при значениях р в окрестностях 0,5. Интенсивность обработки трафика вдвое превышает интенсивность нагрузки, а очереди существуют! Такие парадоксальные, на первый взгляд, результаты характерны для систем, в которых протекают случайные процессы. Так как X и ц — это средние значения интенсивностей потоков на больших промежутках времени, то на небольших промежутках времени они могут существенно отклоняться от этих значений. Очередь создается на тех промежутках, на которых интенсивность поступления пакетов намного превосходит интенсивность обслуживания. Перегрузка ресурсов может привести к полной деградации сети, когда, несмотря на то что сеть передает пакеты, полезная скорость передачи данных оказывается равной нулю. Это происходит в том случае, если задержки доставки всех пакетов превосходят некоторый порог, и пакеты по тайм-ауту отбрасываются узлом назначения, как устаревшие. Если же протоколы, работающие в сети, используют надежные процедуры передачи данных на основе квитирования и повторной передачи утерянных пакетов, то процесс перегрузки будет нарастать лавинообразно. Существует еще один важный параметр, оказывающий непосредственное влияние на об разование очередеігв' сетях с коммутацией пакетов. Этим параметром является вариация интервалов входного потока пакетов, то есть пульсация входного трафика. Мы анализиро вали поведение модели теории очередей в предположении, что входной поток описывается пуассоновским распределением, которое имеет довольно большое стандартное отклонение Анализ очередей 195 вариации (напомним, что средняя вариация его равна Т при среднем значении интервала Г, а коэффициент вариации равен 1). А что будет, если вариация интервалов входного потока будет меньше? Или входной поток окажется сверхпульсирующим? К сожалению, модели теории очередей не дают для этих случаев простых аналитических зависимостей, подобных формуле (1). Поэтому для получения результатов приходится применять методы имитационного моделирования сетей или проводить измерения в ре альной сети. На рисунке 7.7 показано семейство зависимостей w от р, полученных для разных значений коэффициента вариации CV входного потока. Имитационная модель учитывает фиксиро ванную задержку в сети. Одна из кривых, у которой CV * 1, соответствует пуассоновскому входному потоку. Из рисунка видно, что чем меньше пульсирует входной поток (CV при ближается к нулю), тем меньше проявляется эффект лавинообразного образования очереди при приближении коэффициента загрузки ресурса к 1. И наоборот, чем больше CV, тем раньше (при меньших значениях р) начинает этот эффект проявляться. Рис. 7.7. Влияние степени пульсации потока на задержки Из поведения графиков на рисунке можно сделать два вывода: во-первых, для оценки значений задержек в очередях на коммутаторах сети недостаточно информации о коэффи циенте загрузки р, необходимо также знать параметры пульсации трафика; во-вторых, для снижения уровня задержек нужно снижать значение р и уменьшать пульсацию трафика. Очереди и различные классы трафика Посмотрим, как можно применить цаши знания о зависимости поведения очередей от коэффициента загрузки для реализации основной идеи методов QoS, а именно дифферен цированного обслуживания классов трафика с различными требованиями к характеристи кам производительности и надежности сети. Чтобы проще было в этом разобраться, будем пока делить все потоки на два класса — чувствительный к задержкам (трафик реального времени, например голосовой) и эластичный, допускающий большие задержки, но чув ствительный к потерям данных. Мы знаем, что если обеспечить для чувствительного к задержкам трафика коэффициент загрузки каждого ресурса не более 0,2, то, очевидно, задержки в каждой очереди будут 196 Глава 7. Методы обеспечения качества обслуживания небольшими и, скорее всего, приемлемыми для многих типов приложений этого класса. Для эластичного трафика, слабо чувствительного к задержкам, можно допустить более высокий коэффициент загрузки, но не более 0,9. Для того чтобы пакеты этого класса не терялись, нужно предусмотреть для них буферную память, достаточную для хранения всех пакетов периода пульсации. Эффект от такого распределения загрузки ресурса ил люстрирует рис. 7.8. Рис. 7.8. Обслуживание эластичного и чувствительного к задержкам трафика Задержки чувствительного к задержкам трафика равны ws, а задержки эластичного тра фика — we. Чтобы добиться различных коэффициентов использования ресурсов для разных классов трафика, нужно в каждом коммутаторе для каждого ресурса поддерживать две разные очереди. Алгоритм выборки пакетов из очередей должен отдавать предпочтение очереди чувствительных к задержкам пакетов. Если бы все пакеты первой очереди обслуживались приоритетно, а пакеты второй очереди — только тогда, когда первая очередь пуста, то для трафика первой очереди трафик второй очереди фактически перестал бы существовать. Поэтому если отношение средней интенсивности приоритетного трафика к произво дительности ресурса \х равно 0,2, то и коэффициент загрузки для него равен 0,2. А вот для эластичного трафика, пакеты которого всегда ждут обслуживания приоритетных пакетов, коэффициент загрузки подсчитывается по-другому. Если средняя интенсивность эластичного трафика равна Хг, то для него ресурс будет загружен на (к\ + Хг)/^. Так что если мы хотим, чтобы для эластичного трафика коэффициент загрузки составлял 0,9, то его интенсивность должна находиться из соотношения Хг/ц = 0,7. Осйовнвя идея, лежащая в основе всех методов поддержания характеристик QoS заключаю! в следующем: о б и т производительность каждого ресурса должна быть разделена между раз ными классами трафика неравномерно* Можно ввести более чем два класса обслуживания и стараться, чтобы каждый класс рабо тал на своей части кргіЬой задержек. Если такая задача решена, то можно обеспечить улуч шение характеристик QoS за счет других методов, например снижая пульсацию трафика. Осталось выяснить, каким образом можно обеспечить такие условия для разных классов трафика в каждом узле сети. Техника управления очередями 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). В случае подобного обслуживания пропускная способность ресурса делится между всеми потоками поровну, то есть «справедливо». |