Исследование возможности получения гарантированного качества обслуживания (QoS) в общедоступных сетях ИнтернетА.А.Гончаров, Семенов.Ю.А. В случае одновременного прохождения большого числа потоков через сеть сервис-провайдера, возникает проблема: как при ограниченных ресурсах оптимизировать задержку доставки, временной разброс и потери. Такие требования существенны, например, в случае IP-телефонии, видеоконференций, управления оборудованием в реальном масштабе времени. Для решения этих проблем существует технологии IntServ и Diffserv. IntServ реализуется в рамках протокола RSVP и не предполагает формирования нескольких субпотоков с разными уровнями услуг. Данное исследование посвящено Diffserv. Предполагается, что все настройки алгоритмов работают в пределах одного Diffserv домена. (Diffserv домен - это набор прилегающих узлов, сконфигурированных с одинаковой PHB (Per Hop Behavior) политикой). Была поставлена задача нахождения оптимальных параметров WRED и WFQ, которые в случае перегрузки обеспечивали бы пользовательскому потоку гарантированную полосу и задержку. Исследования проводились для тестового канала ПРАН-ИАЭ в широком диапазоне загрузок и параметров настройки. Результаты измерений сравнивались с данными компьютерного моделирования. Для этого использовалась программа NE-2. В данном докладе представлены результаты моделирования. При исследовании формировались три стационарных потока пакетов (см. рис.1), которые имели DSCP метки. На основе данных о прохождении этих потоков через DiffServ домен (задержки, потери, дисперсия задержек) выбираются оптимальные значения для настройки конфигурации маршрутизатора, при которых в случае перегрузки поток пользователя получит предсказуемую полосу и задержку. В качестве транспортного протокола мы использовали UDP. В качестве параметров, характеризующих поток, использовались:
Параметры настройки WRED: нижний и верхний пороги отбрасывания, вероятность отбрасывания кадра и коэффициент усреднения. Потоки помечены DSCP = 10, = 20 и = 30.
Точкой под номером 1 обозначен интерфейс, через который потоки втекают в маршрутизатор CORE. Цифрой 2 обозначен выходящий в канал АТМ интерфейс, в котором происходит разбор отправляемых в канал АТМ пакетов по маркерам DSCP. Из сервера запускается 3 потока пакетов со скоростью 920Кбит/с каждый (что создает общий поток в 2,76 Мбит/с). Пакеты имеют длину 1400 байт, время моделирования 30 секунд. Виртуальный канал АТМ имеет пропускную способность 2 Мбит/с (VBR-NRT) Суммарный поток превышает пропускную способность канала. Чтобы изучить, как осуществляется конкуренция между разными потоками в канале, мы загружали канал так, чтобы нехватка полосы была меньше 30% пропускной способности. С каждой меткой DSCP связанна определенная очередь. DSCP 10 соответствует очередь 1, DSCP 12 - 2, DSCP 14 - 3. Максимальные длины очередей равны 40 пакетов. При моделировании использовался алгоритм CBWFQ (class based weighted fair queuing), который позволяет выделить каждой очереди долю полосы выходного интерфейса маршрутизатора. Для очереди 1 предоставлялось 41%, для очереди 2 - 34%, а для очереди 3 - 25% полосы пропускания канала. При постановке в очередь работал алгоритм WRED.
Т1 - нижний порог отбрасывания пакетов MDP - максимальная вероятность отброса = (1.0 / c) (c - параметр для задания максимальной вероятности отброса с 1) q_w - параметр усреднения при вычислении средневзвешенного значения длины очереди. В маршрутизаторе существует две причины отброса пакетов:
В современных маршрутизаторах чаще применяется алгоритм RIO, который использует тот же механизм что и RED, но для его конфигурации служат два набора параметров, один для пакетов, принадлежащих профилю, другой - для не принадлежащих профилю. При поступлении нового пакета маршрутизатор проверяет, соответствует пакет профилю или нет. Если пакет соответствует профилю, маршрутизатор вычисляет avg_in (средневзвешенная длина очереди для входящих пакетов), если пакет непрофильный, то маршрутизатор вычисляет avg_total, средневзвешенную сумму длин очередей профильного и непрофильного потоков. Вероятность отбрасывания профильного пакета зависит от avg_in, а вероятность отбрасывания непрофильного пакета зависит от avg_total. На рис. 1 показаны временные зависимости полосы пропускания выделенной под каждый поток. Алгоритмы, которые распоряжаются судьбой пакетов при изъятии из очереди, называются диспетчерами (schedulers). В сумме равновесные уровни пропускной способности (рис. 2) дают 2Мбит/с. На рис. 3. Мы видим временные зависимости задержки распространения пакета для каждого из потоков. Для потоков DSCP=12 и 14 наблюдается выброс в области 7-17сек. Этот выброс связан с буферизацией пакетов в очереди и работой алгоритма RED RIO-C и Tail Drop. На диаграмме (рис. 3) представлена временная зависимость времени доставки (RTT/2). Наиболее приоритетный поток имеет DSCP=10, следовательно, эти пакеты проводят в очереди меньше всего времени. Потокам с DSCP=12 и 14 не хватает полосы для передачи и они вынуждены дольше пребывать в очереди.
Увеличение задержки для DSCP=12 и 14 графика - происходит из-за алгоритма вычисления среднего взвешенного значения длины очереди. Размер буфера - ограничен 40 пакетами, а WRED начинает отбрасывать пакеты, когда средневзвешенная длина очереди превысит заданный порог. Для графика (DSCP=14) в период от 0 до 3 секунд буфер начинает заполняться, задержка растёт линейно, далее текущее значение буфера становится равным максимально допустимому значению (средневзвешенная длина очереди ещё не успела достигнуть порога отбрасывания) и приходящие пакеты начинают отбрасываться при попытке поставить их в очередь (Tail Drops). Этап Tail Drops длится с 3 до 13 секунд. На этом этапе мы наблюдаем выброс, причиной которого является алгоритм CBWFQ (см. выше.) Потоки получают разную полосу, и это сильно влияет на время пребывания в очереди. После 13-ой секунды размер средневзвешенной очереди выходит на плато, и пакеты начинают отбрасываться алгоритмом WRED. На рис. 4 показаны изменения длин очередей от времени. При первом взгляде на рисунок сразу возникает вопрос: Почему достигнув максимального порога от 0 до 10 секунд, текущая длина очереди начинает убывать и осциллировать около нового порога, отличного от величины максимальной глубины очереди? Для ответа на этот вопрос недостаточно приведённых выше характеристик. Очень важный параметр WRED - средневзвешенная длина очереди.
Рассмотрим эволюцию длины очереди DSCP=14. Для объяснения поведения очереди рассмотрим изменение длины средневзвешенной очереди от времени для потока c DSCP=14. Горизонтальные линии обозначают пороги при настройке алгоритма WRED.
В момент 8 секунд от начала эксперимента средневзвешенная длина очереди c DSCP=14 достигла первого порога - 20 пакетов, в момент времени 14 секунд длина средневзвешенной очереди вышла на плато. По вычисленному значению средневзвешенной очереди определяется вероятность отброса пакета. Следовательно, вероятность отброса пакета тоже вышла на плато, и такова, что поддерживает текущую длину очереди ниже максимального порога. В этот же момент времени - 13 секунд наблюдается наибольшая задержка см. рис. 2 для потока c DSCP=14. На плато длина средневзвешенной очереди остаётся между минимальным и максимальным порогами.
Выбор параметров диспетчера и WRED сильно сказываются на поведении потерь и задержек. На рис. 6 приведена временная зависимость общих потерь, которые складываются из edrops и ldrops. Моделирование показало, что при некорректном выборе параметров, например фактора усреднения можно получить довольно широкие вариации длины очереди, которые в свою очередь могут в разы увеличить дисперсию RTT. Ссылки1. www.isi.edu/nsnam/ns - Программа для моделирования поведения сетей. |