Введение разных классов обслуживания
Единственно приемлемым для практики является обеспечение качества обслуживания в нагруженной сети. Для упрощения понимания будем пока делить все потоки на два класса — чувствительный к задержкам (трафик реального времени, например голосовой) и эластичный, допускающий большие задержки, но чувствительный к потерям данных.
Мы точно не знаем зависимость задержек от коэффициента использования ресурса, но знаем общий вид этой зависимости. Если мы обеспечим для чувствительного к задержкам трафика коэффициент загрузки каждого ресурса не более 0,2, то, очевидно, что задержки в каждой очереди будут небольшими и скорее всего приемлемыми для многих типов приложений этого класса. Для эластичного трафика, слабо чувствительного к задержкам, можно допустить более высокий коэффициент загрузки, но не более 0,9. Для того чтобы пакеты этого класса не терялись, нужно предусмотреть для них буферную память, достаточную для хранения всех пакетов периода пульсации. Эффект от такого распределения загрузки ресурса иллюстрирует рис. 7.8.
1 М ►Р 0,2 0,5 0,9 1 Рис. 7.8. Обслуживание эластичного и чувствительного к задержкам трафика |
Задержки чувствительного к-задержкам трафика равны ws, а задержки эластичного трафика — we.
Чтобы добиться различных коэффициентов использования ресурсов для разных классов трафика, нужно в каждом коммутаторе для каждого ресурса поддерживать две разные очереди. Алгоритм выборки пакетов из очередей должен отдавать предпочтение очереди чувствительных к задержкам пакетов. Если бы все пакеты первой очереди обслуживались приоритетно, а пакеты второй очереди — только тогда, когда первая очередь пуста, то для трафика первой очереди трафик второй очереди фактически перестал бы существовать. Поэтому если отношение средней интенсивности приоритетного трафика к производительности ресурса р равно 0,2, то и коэффициент загрузки для него равен 0,2. А вот для эластичного трафика, пакеты которого всегда ждут обслуживания приоритетных пакетов, коэффициент загрузки подсчитывается по-другому. Если средняя интенсивность эластичного трафика равна Х2, то для него ресурс будет загружен на (А,! + Х,2)/ц. Так что если мы хотим, чтобы для эластичного трафика коэффициент загрузки составлял 0,9, то его интенсивность должна находиться из соотношения Х,2/р = 0,7.
Основная идея, лежащая в основе всех методов поддержания характеристик QoS, заключается в следующем: общая производительность каждого ресурса должна быть разделена между разными классами трафика неравномерно.
Можно ввести более чем два класса обслуживания и стараться, чтобы каждый класс работал на своей части кривой задержек. Если такая задача решена, то можно обеспечить улучшение характеристик QoS за счет других методов, например снижая пульсацию трафика. Осталось выяснить, каким образом можно обеспечить такие условия для разных классов трафика в каждом узле сети.
Эта задача решается на протяжении всего времени существования пакетных сетей, то есть уже более тридцати лет. Долгое время пакетные сети передавали только эластичный трафик, поэтому основными требованиями QoS были минимизация потерь пакетов и удержание коэффициента нагрузки каждого ресурса сети не выше 0,9. Методы, решающие эту задачу, носят название методов контроля перегрузки.
С появлением в начале 90-х чувствительного к задержкам трафика ситуация усложнилась и начались поиски новых методов. Собственно, термин «качество обслуживания» появился именно в это время, отражая более детальные и дифференцированные требования разных типов трафика к сети.