К сожалению, модели теории очередей не дают для этих случаев простых аналитических зависимостей, подобных формуле (1). Поэтому для получения результатов приходится применять методы имитационного моделирования сетей или проводить измерения в реальной сети.
На рисунке 7.7 показано семейство зависимостей w от р, полученных для разных значений коэффициента вариации CV входного потока. Имитационная модель учитывает фиксированную задержку в сети. Одна из кривых, у которой CV * 1, соответствует пуассоновскому входному потоку. Из рисунка видно, что чем меньше пульсирует входной поток (CV приближается к нулю), тем меньше проявляется эффект лавинообразного образования очереди при приближении коэффициента загрузки ресурса к 1. И наоборот, чем больше CV, тем раньше (при меньших значениях р) начинает этот эффект проявляться.
Рис. 7.7. Влияние степени пульсации потока на задержки |
Из поведения графиков на рисунке можно сделать два вывода: во-первых, для оценки значений задержек в очередях на коммутаторах сети недостаточно информации о коэффициенте загрузки р, необходимо также знать параметры пульсации трафика; во-вторых, для снижения уровня задержек нужно снижать значение р и уменьшать пульсацию трафика.
Посмотрим, как можно применить цаши знания о зависимости поведения очередей от коэффициента загрузки для реализации основной идеи методов QoS, а именно дифференцированного обслуживания классов трафика с различными требованиями к характеристикам производительности и надежности сети. Чтобы проще было в этом разобраться, будем пока делить все потоки на два класса — чувствительный к задержкам (трафик реального времени, например голосовой) и эластичный, допускающий большие задержки, но чувствительный к потерям данных.
Мы знаем, что если обеспечить для чувствительного к задержкам трафика коэффициент загрузки каждого ресурса не более 0,2, то, очевидно, задержки в каждой очереди будут небольшими и, скорее всего, приемлемыми для многих типов приложений этого класса. Для эластичного трафика, слабо чувствительного к задержкам, можно допустить более высокий коэффициент загрузки, но не более 0,9. Для того чтобы пакеты этого класса не терялись, нужно предусмотреть для них буферную память, достаточную для хранения всех пакетов периода пульсации. Эффект от такого распределения загрузки ресурса иллюстрирует рис. 7.8.
Рис. 7.8. Обслуживание эластичного и чувствительного к задержкам трафика |
Задержки чувствительного к задержкам трафика равны ws, а задержки эластичного трафика — щ.
Чтобы добиться различных коэффициентов использования ресурсов для разных классов трафика, нужно в каждом коммутаторе для каждого ресурса поддерживать две разные очереди. Алгоритм выборки пакетов из очередей должен отдавать предпочтение очереди чувствительных к задержкам пакетов. Если бы все пакеты первой очереди обслуживались приоритетно, а пакеты второй очереди — только тогда, когда первая очередь пуста, то для трафика первой очереди трафик второй очереди фактически перестал бы существовать. Поэтому если отношение средней интенсивности приоритетного трафика к производительности ресурса р равно 0,2, то и коэффициент загрузки для него равен 0,2. А вот для эластичного трафика, пакеты которого всегда ждут обслуживания приоритетных пакетов, коэффициент загрузки подсчитывается по-другому. Если средняя интенсивность эластичного трафика равна Хг, то для него ресурс будет загружен на (к\ + Х2)/р. Так что если мы хотим, чтобы для эластичного трафика коэффициент загрузки составлял 0,9, то его интенсивность должна находиться из соотношения Хг/р = 0,7.
Осйовнея идея, лежащая в основе всех методов поддержания характеристик QoS заключается в следующем: обит производительность каждого ресурса должна быть разделена между розными классами трафика неравномерно*
Можно ввести более чем два класса обслуживания и стараться, чтобы каждый класс работал на своей части кривой задержек. Если такая задача решена, то можно обеспечить улучшение характеристик QoS за счет других методов, например снижая пульсацию трафика. Осталось выяснить, каким образом можно обеспечить такие условия для разных классов трафика в каждом узле сети.