Оптимальная маршрутизация информационных потоков с учетом параметров QoS

Доклады БГУИР

2012 № 4

УДК 004.722

ОПТИМАЛЬНАЯ МАРШРУТИЗАЦИЯ ИНФОРМАЦИОННЫХ ПОТОКОВ С

УЧЕТОМ ПАРАМЕТРОВ QOS

НИ. ЛИСТОПАД, И.О. ВЕЛИЧКЕВИЧ

Главный информационно-аналитический центр Министерства образования Республики Беларусь

Захарова, 59, Минск, 220088, Беларусь

Белорусский государственный университет информатики и радиоэлектроники П. Бровки, 6, Минск, 220013, Беларусь

Поступила в редакцию 14 февраля 2012

Приведена классификация трафика в IP-сетях. Сформулирована проблема передачи трафика с учетом параметров качества обслуживания. Рассмотрены алгоритмы максимизации потока и минимизации стоимости. Модифицирован алгоритм из задачи о "Максимальном потоке минимальной стоимости" так, чтобы при выборе пути учитывалась не только стоимость, но и задержка. Произведена реализация данного алгоритма на языке Java. Написана программа для проверки работы алгоритма с возможностью моделирования характеристик сети.

Ключевые слова: обеспечение качества обслуживания, сети с коммутацией пакетов, трафик, максимальный поток, пропускная способность.

Введение

Обеспечение качества обслуживания (QoS) - одно из важнейших требований, предъявляемых к сетям с коммутацией пакетов современными мультимедийными приложениями, системами дистанционного обучения и т.д.

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

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

Классификация трафика в сетях телекоммуникаций

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

Характеристики QoS особенно важны в том случае, когда сеть передает одновременно трафик разного типа, например, трафик веб-приложений и голосовой трафик. Это связано с тем, что различные типы трафика предъявляют разные требования к характеристикам QoS. До-

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

К настоящему времени проделана определенная работа по классификации трафика приложений. В качестве основных критериев классификации были приняты три характеристики трафика:

1) относительная предсказуемость скорости передачи данных;

2) чувствительность трафика к задержкам пакетов;

3) чувствительность к вариациям задержки;

4) чувствительность трафика к потерям и искажениям пакетов.

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

1. Трафик реального времени включает в себя аудио- и видеоинформацию, критичную к задержкам при передаче. Допустимые значения задержек обычно не превышают 0,1 с. Кроме того, задержка должна иметь малые флуктуации (jitter).

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

3. Трафик данных. Задержки при передаче трафика этой категории могут иметь практически любые значения и достигать даже нескольких секунд. Для такого трафика полоса пропускания более важна, чем время задержек: увеличение пропускной способности сети влечет за собой уменьшение времени передачи. Приложения, передающие большие объемы данных, разработаны, в основном, так, что захватывают всю доступную полосу пропускания сети.

Основные типы приложений и требования к ним с точки зрения обеспечения QoS представлены в таблице.

Требования по обеспечению QoS к основным типам приложений

Приложение Надежность Задержка Флуктуация Пропускная способность

Электронная почта Высокая Низкая Слабые Низкая

Передача файлов Высокая Низкая Слабые Средняя

Веб-доступ Высокая Средняя Слабые Средняя

Удаленный доступ Высокая Средняя Средние Низкая

Аудио по заказу Низкая Низкая Сильные Средняя

Видео по заказу Низкая Низкая Сильные Высокая

Телефония Низкая Высокая Сильные Низкая

Видеоконференции Низкая Высокая Сильные Высокая

Описание проблемы и обзор существующих алгоритмов

В [4] был предложен QoS-протокол передачи трафика с учетом параметров качества обслуживания. Суть предложенного протокола в следующем. В состав кадра в интеллектуальном узле соответствующего маршрутизатора будет добавляется информация о максимально допустимой задержке, вероятности потери пакета, джитере, скорости, которую необходимо обеспечить при передаче пакета.

Однако при всей актуальности сформулированной проблемы в [4] не были предложены методы реализации (не существует ни программных, ни аппаратных средств, которые могли бы использовать предложенный QoS протокол) предложенного протокола.

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

Описанная выше задача является расширением известной задачи «О максимальном потоке» [5] и заключается в нахождении такого потока по транспортной сети, что сумма потоков из истока, или, что то же самое, сумма потоков в сток максимальна. Решение может быть найдено несколькими методами. Это метод линейного программирования, а также методы, базирующиеся на алгоритме Форда-Фалкерсона и алгоритме Эдмондса-Карпа [5]. Однако полученные решения вышеназванными методами позволяют лишь максимально загрузить сеть, при этом такой важный параметр, как стоимость ребер, никак не учитывается.

Существует также задача «О потоке минимальной стоимости» и состоит в нахождении самого дешевого способа передачи определенного количества потока информации через транспортную сеть. Ее также можно решить методом линейного программирования, а также с использованием алгоритма Беллмана-Форда [5].

Симбиозом этих двух задач является задача «О максимальном потоке минимальной стоимости». В этой задаче находится не только максимальный поток, но и поток, проходящий по самым «дешевым» с точки зрения веса путям. В результате мы получаем максимизацию по одной функции (максимальный поток) и минимизацию по второй (стоимость). Это достигается следующим образом - стоимости двух потоков сравниваются только при равных значениях пропускных способностей. Иначе поток с большей пропускной способностью считается лучше, вне зависимости от его стоимости.

Однако данный алгоритм не учитывает параметров QoS каналов связи, представленных в виде ребер. Таким образом, решение описанной выше задачи с учетом требований QoS является одним из вариантов реализации протокола, предложенного в [4].

Постановка и решение задачи

Пусть дана произвольная сеть G(V,E) с источником 5 е V и стоком t eV, где ребра (u, v) е E имеют пропускную способность c(u,v), по которым передается поток - f(u,v). Стоимость пересылки единицы потока между u и v обозначим через a(u,v) и задержку - через d(u,v). Таким образом, стоимость пересылки всего потока f(u,v) будет равна f(u,v) a(u,v).

Цель исследования состоит в определении подграфа G=(V] E) графа G(V,E), который обеспечивал бы маршрутизацию трафика и обладал бы минимальной стоимостью ребер при следующих ограничениях:

- поток не может превысить пропускную способность - ограничение пропускной способности:

f (u, v) < c(u, v);

- анти симметричность - поток из u в v должен быть противоположным потоку из v в u:

f(u,v) = - f(v,u);

- сохранение потока:

I f (u, w) = 0

w^V

для всех u e V, кроме источника и стока.

При поиске подграфа должны быть учтены следующие требования:

- поток по сети является максимальным для данного графа G

I f (u , v ) ^ max;

u\v 'eV1

- максимальная задержка при передаче в G" должна быть минимальной: max(d(р). .d(Pn)) ^ min; P e G\

где n - количество выбранных путей P подграфа G \ d(Pn) - задержка передачи потока по пути P •

1 n?

- стоимость потока стремится к минимальном: ^ f (u,v)a(u,v) ^ min.

Для решения поставленной задачи модифицируем алгоритм из задачи «О максимальном потоке минимальной стоимости» так, чтобы при выборе пути учитывалась не только стоимость, но и задержка. Для этого нужно изменить проверку весов дуг в алгоритме Беламана-Форда. Одна из его ключевых особенностей заключается в том, что он способен работать на графах, где вес ребер может быть задан отрицательным числом. Алгоритм может обнаруживать побочное явление таких графов - циклы отрицательной величины.

Предлагаемый алгоритм состоит в следующем. Начиная с некоторой вершины, просматриваем по «доступным» ребрам соседние вершины, и пытаемся улучшить их параметры, т.е. минимизировать задержку и стоимость между рассматриваемыми вершинами. Этот процесс будем называть «релаксацией» [6]. Если найдены такие вершины, то обновляются расстояния до них и заносятся в очередь изменения графа G\ В алгоритме предусматривается возможность просмотра одной и той же вершины несколько раз.

В процессе работы алгоритма могут формироваться «отрицательные циклы», по которым можно бесконечно двигаться, уменьшая вес дуг. Поэтому «радиус осмотра» вершин ограничим числом N (числом самих вершин). Этого будет достаточно для того, чтобы гарантировано просчитать минимальный вес любой дуги, а главное, алгоритм в любом случае завершится.

Необходимые изменения для подсчета весов дуг представлены на рис. 1.

Рис. 1. Изменения в алгоритме Белмана-Форда для учета двух весов дуг

u .veV

Моделирование

Для моделирования работы алгоритма произведем его реализацию на языке Java.

Возьмем произвольный граф, имитирующий сеть телекоммуникаций и представленный на рис. 2. На каждом его ребре обозначены слева направо: пропускная способность, стоимость, задержка. Рассчитаем поток из v0 в v15. В результате получаем: максимальный поток, который может пройти через граф из v0 в v15, равен 15, стоимость потока - 350, задержка - 12. Оптимальными были выбраны 3 пути:

1) (0;2)(2;3)(3;8)(8;10)(10;13)(13;15); поток - 5, стоимость - 170, задержка - 12,

2) (0;4Х4;5Х5;б)(б;14Х14;15); поток - 5, стоимость - 100, задержка - 11,

3) (0;4)(4;6)(6;8)(8;14)(14;15); поток - 5, стоимость - 80, задержка - 10.

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

vO 15/3/4 h*

j. j/ -j/ -t

¡1/4/1-(S> l^R^HU-15/3/4

5/1^/1 10/4/1

щ

3/4

щ

-5/4/1-

/

!,. 1 lit i I

ч

5/12/1

- *

J I

15/ 3/4 15/ 3/4

1 Г

V0 vl2

15/

3/4

5/671

--5/4/-1-sr.

5/12/1 10/4/1

vll 1 '» i vl5

M J. J/ Jf 4 1

Рис. 2. Произвольный граф для тестирования Заключение

Была поставлена задача разработки методов и алгоритмов маршрутизации, обеспечивающих предельную загрузку сети и учитывающих заданные параметры QoS при минимальной стоимости, что является одним из вариантов реализации протокола, предложенного в [4]. Решение данной задачи можно описать как определение подграфа G=(V] E") графа G(V,E), который обеспечивал бы маршрутизацию трафика и обладал бы минимальной стоимостью ребер при заданных ограничениях. Для решения поставленной задачи был модифицирован алгоритм из задачи «О максимальном потоке минимальной стоимости» так, чтобы при выборе пути учитывалась не только стоимость, но и задержка. Была произведена реализация данного алгоритма на языке Java. Также была написана программа для проверки работы алгоритма с возможностью моделирования характеристик сети. Из результатов моделирования видно, что ребра с высокими значениями задержки и стоимости были проигнорированы, а поток направлен по альтернативным ребрам с меньшими весами. Это значит, что алгоритм при расчете максимального

потока минимальной стоимости учитывает задержку при передаче пакетов, что является решением поставленной задачи.

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

OPTIMAL ROUTING INFORMATION FLOWS WITHIN THE PARAMETERS OF QOS

N.I. LISTOPAD, I.O. VELICHKEVICH Abstract

A classification of traffic in IP-based networks is described. The problem of traffic within the parameters of quality of service is formulated. The algorithms to maximize flow and minimize cost are reviewed. The algorithm of the problem of the «maximum minimum cost flow» is modificated so that would be taken into account when choosing a path not only cost, but also the delay. Implementation of this algorithm in Java is developed. The program to test the algorithm with the ability to model the characteristics of the network is written.

Список литературы

1. Копачев А.Г. // Информатизация образования. 2004. №4. С. 69-74.

2. Cisco IOS Technologies. [Электронный ресурс] Режим доступа:

http://www.cisco.com/en/US/technologies/tk543/tk766/technologies_white_paper09186a00800a3e2f_ps6610_Pr oducts_White_Paper.html.

3. Листопад Н.И., Величкевич И.О. // Вестшк сувяз^ 2009. №2. С. 17-23.

4. Трухан А.В. // Информатизация образования. 2007. №2. С. 65-71

5. Кормен T. Алгоритмы. Построение и анализ. Москва, 2005.