П. Н. Полежаев, преподаватель кафедры компьютерной безопасности и математического обеспечения информационных систем, ФГБОУ ВПО «Оренбургский государственный университет» e-mail: [email protected]
Ю. А. Ушаков, кандидат технических наук, доцент кафедры системного анализа и управления, ФГБОУ ВПО «Оренбургский государственный университет» e-mail: [email protected]
Р. И. Поляк, студент математического факультета, ФГБОУ ВПО «Оренбургский государственный университет» e-mail: [email protected]
А. П. Миронов, студент математического факультета, ФГБОУ ВПО «Оренбургский государственный университет» e-mail: [email protected]
ПРИМЕНЕНИЕ МЕТОДОВ МУРАВЬИНОЙ КОЛОНИИ В РАЗРАБОТКЕ ЭФФЕКТИВНЫХ АЛГОРИТМОВ МАРШРУТИЗАЦИИ И ОБЕСПЕЧЕНИЯ QOS ДЛЯ КОРПОРАТИВНЫХ ПРОГРАММНО-КОНФИГУРИРУЕМЫХ
СЕТЕЙ1
С помощью методов муравьиной колонии разработан алгоритм маршрутизации, решающий задачу обеспечения параметров QoS для потоков данных одновременно с определением путей их передачи. При выборе путей алгоритм руководствуется топологией и текущим состоянием сети, включая пропускные способности и задержки для каждой сетевой связи. С целью разработки алгоритма предварительно была создана математическая модель корпоративной сети, формализующая ее в виде ориентированного мультиграфа. На базе данной модели разработан симулятор корпоративной сети, с помощью которого проведено экспериментальное исследование разработанного алгоритма. Оно направлено на определение зависимости процента нарушения параметров QoS (минимальной гарантированной пропускной способности и максимальной гарантированной задержки) в зависимости от интенсивности потока задач. Исследование подтвердило эффективность предложенного алгоритма и показало необходимость его реализации для реальной корпоративной программно-конфигурируемой сети.
Ключевые слова: алгоритм муравьиной колонии, маршрутизация, QoS, OpenFlow, программно-конфигурируемые сети.
В настоящее время большинство средних и крупных компаний имеют корпоративные сети, обеспечивающие функционирование их ИТ-инфраструктур. Обычно они используются для развертывания различных корпоративных и бизнес-приложений, необходимых для эффек-
тивной работы компаний. Однако существующие сетевые технологии для корпоративных сетей обладают целым рядом недостатков.
Сетевые протоколы, такие как Fiber Channel, Infiniband, а также традиционный Ethernet, имеют ограниченные возможности по управлению
1 Работа выполнена при поддержке Российского фонда фундаментальных исследований (проект № 1407-97034), программы УМ.Н.И.К. Фонда содействия развитию малых форм предприятий в научно-технической сфере (договор №2628ГУ1/2014).
трафиком. Усовершенствованные варианты протокола Ethernet - Converged Enhanced Ethernet и Cisco Data Center Ethernet - включают расширения по управлению потоками на основе приоритетов, разделению пропускной способности, управлению перегрузками и логическим состоянием полос передачи данных, по обеспечению передачи без потерь, а также по одновременному использованию нескольких параллельных путей передачи данных между узлами. Основные недостатки данных решений - сложная децентрализованная схема управления потоками данных, основанная на множестве закрытых протоколов, отсутствие гибкости внесения изменений и значительная стоимость сетевого оборудования.
Также в настоящее время отсутствуют эффективные средства обеспечения QoS. В связи с ростом объемов мультимедийного, голосового (IP-телефония) и видео-трафика (видеоконфе-ренцсвязь), актуально обеспечение необходимых параметров качества обслуживания (максимальной гарантированной задержки, минимальной гарантированной пропускной способности) для соответствующих потоков данных.
Для решения данных задач может быть использована технология программно-конфигурируемых сетей [1-2], основанная на отделении плоскости управления сетью от плоскости передачи данных и вынесении управления в контроллер, обеспечивающий значительные возможности по разработке различных приложений для сети, включая модули для маршрутизации и обеспечения QoS.
Ранее авторами данной статьи уже были разработана отдельные решения для реактивной и проактивной маршрутизации трафика в программно-конфигурируемых сетях [3-5]. Отличительной особенностью предложенных в рамках данной публикации решений является совмещение маршрутизации и обеспечения QoS, а также использование методов искусственного интеллекта.
1. Математическая модель корпоративной сети
Была разработана модель корпоративной сети в виде взвешенного ориентированного мультиграфа вида:
G = (Nodes, Links),
где Nodes = {Nodet }.=1-N - множество сетевых устройств (узлов), включая вычислительные уз-
лы-серверы и коммутаторы, Links = {Link } —
- множество дуг, представляющих собой сетевые связи. Каждое соединение является дуплексным, поэтому у каждой дуги существует обратная. Точкой подключения дуги к узлу является сетевой порт.
Каждое сетевое устройство характеризуется следующим кортежем:
Node. = (Ц, P, C, M, T),
где L. - множество дуг, исходящих из данной вершины, P: Lj ^ Z + и {0} - функция,
характеризующая текущую задержку для каждой дуги (рассчитывается, исходя из текущей
загруженности очередей C: L. ^ Z + и {0} портов), - ее текущая остаточная пропускная способность, M : Li ^ Z+ и {0} - ее максимальная пропускная способность,Т е {host,switch}
- тип устройства. Данной моделью предусмотрено различие между конечными устройствами и коммуникационным оборудованием.
Наиболее часто используемой топологией для корпоративных сетей является fat tree («толстое дерево»), поэтому она и была взята за основу для экспериментальных исследований, проводимых в рамках данной статьи. На рис. 1 приведен пример топологии, который использовался во втором сценарии эксперимента.
Разработанная модель подробно описывает физическую структуру современных корпоративных сетей на уровне, достаточном для разработки сетевых алгоритмических решений, включая маршрутизацию и обеспечение QoS.
2. Муравьиный алгоритм маршрутизации и обеспечения качества обслуживания
Алгоритм маршрутизации и обеспечения QoS был разработан на базе эвристики метода муравьиной колонии [6].
Для работы муравьиного алгоритма требуются сбор некоторой статистики. На сетевых устройствах, помимо вышеописанных характеристик, содержатся следующие данные: таблица феромонов, таблица маршрутизации, таблица статистики (см. рис. 2).
Таблица феромонов организована так же, как и в алгоритмах маршрутизации с анализом длины вектора, таких как RIP [7], EIGRP [8] и BGP [9]. В данном алгоритме вместо расстояния или затрат на пересечение дуги используется параметр Tnd, который показывает уровень
феромона муравьев, оставленного на соответствующей дуге. Он определяет качественность выбора соседа п в качестве следующей точки при отправке пакета с точкой назначения d. Все значения Тпй е [0;1], сумма в каждом
столбце таблицы равна единице: ^ = 1,
неЫ 1
здесь N = {п | (к, п) е Lk} - мультимножество соседних устройств для данного сетевого устройства. Значения в таблице феромонов можно рассматривать как вероятности выбора определенного маршрута муравьем.
На основе значений таблицы феромонов рассчитывается таблица маршрутизации, кото-
Рис. 1. Пример топологии fat tree для 35 конечных устройств
Рис. 2. Схема данных, хранящихся на сетевых устройствах
рая имеет такую же структуру, как и таблица феромонов, и используется непосредственно для выбора маршрута.
Значения элементов таблицы маршрутизации
Як получаются в результате экспоненциро-
nd
вания и нормализации по столбцам таблицы феромонов:
Rnd = (Т nd) ,
R
R
(1)
к '
id
Экспоненцирование позволяет отделить "хорошие" пути от "плохих". Также на каждом узле хранится таблица статистики, которая состоит из следующих данных: среднее значение задержки дисперсия задержки , окно измерений w и наименьшее значение задержки за окно измерений по всем соседям данного устройства.
Опишем алгоритм отдельного муравья (см. алгоритм 1).
Алгоритм 1 - Поведение отдельного муравья колонии
Шаг 1. Выбрать пункт назначения d для муравья. Сделать список посещенных вершин пустым: Т = 0 .
Шаг 2. Присвоить значение вершины, в которой находится муравей, значение исходной вершины: k=s.
Шаг 3. Добавить в список посещенных исходную вершину: Т = Т и {к} .
Шаг 4. Пока к Ф d выполнять следующие действия в цикле:
1) выбрать следующую для перехода вершину п среди соседних, не посещенных вершин в соответствии с вероятностями, рассчитываемыми по формуле:
р = т +< , уп е Кк \ т, (2) ^ 1 + а(|Кк|-1Г к
где а е [0;1] - величина, показывающая уровень влияния текущего состояния трафика на выбор следующей вершины муравьем, 1п -величина, характеризующая уровень загруженности данной дуги.
2) если выбор возможно произвести, то к общему времени муравья, добавить время, затраченное на переход, обозначить в качестве
к выбранную вершину и добавить ее в список посещенных вершин Т = Т и {к} ;
3) если переход невозможен или время жизни муравья превышает ТТЪ, то выходим из алгоритма.
Шаг 5. Направить муравья по пути, обратному к пройденному в ходе предыдущих шагов. Для этого положить к = d.
Шаг 6. Пока к Ф s, выполнять действия:
1) Для каждого из подпутей для этой вершины обновить:
а) таблицу статистики по формулам (3) и (4);
б) таблицу маршрутизации по формуле (1);
в) таблицу феромонов.
Поясним некоторые детали алгоритма и способ его вызова. Через регулярный интервал времени М из каждого узла s отправляется муравей в выбранный узел назначения d с целью поиска оптимального пути. Для каждого муравья узла s выбор d происходит в соответствии со статистикой трафика, проходящего через s, с вероятностями, пропорциональными объему ранее переданного трафика из s в d.
В процессе прямого путешествия муравья (шаги 1-4) до конечной точки, он записывает историю посещенных вершин, которая содержит пары - номер посещенной вершины и время перехода в данную вершину из предыдущей. Следующая вершина выбирается на подшаге 1) шага 4 в соответствии с текущим уровнем феромонов всех вершин, соседних с текущей вершиной к. По формуле (2) вычисляются вероятности р перехода в соответствующие соседние узлы. Причем вершина, в которую может перейти муравей, не должна быть ранее посещенной. В случае, если у муравья не осталось вершин, в которые он может перейти, и он не находится в узле назначения, то он уничтожается.
Следует заметить, что в зависимости от характеристик сети, лучшее значение а из формулы (2) может варьироваться. Лучшее для QoS значение а находится в диапазоне [0,2, 0,5]. Для эксперимента была взята середина отрезка: а ~ 0,35. При прямом путешествии муравья может возникнуть ситуация, когда он продвигается в неверном направлении достаточно долго. В этом случае, если время его путешествия превышает установленный порог ТТЪ, то муравей уничтожается.
После того как муравей достигает вершины назначения, он отправляется по найденному
к
пути назад (обратное путешествие), обновляя при этом все подпути найденного пути. При этом для каждой вершины обновляются значения таблиц маршрутизации, феромонов и статистики, дополнительно обновляются таблицы для подпутей при определенных условиях. Подпуть обновляется только в случае, если новая суммарная задержка не увеличивает среднее время задержки и ее дисперсии.
В течение окна измерений пересчет параметров таблицы статистики осуществляется по формулам:
1) для математического ожидания:
^^а+ПК^^Д (3)
где п - константа, определяющая количество измерений, которые влияют на математическую статистику в течение окна w, параметр ока обозначает текущее значение задержки;
2) для дисперсии:
оа = о2+п((Ок^-^)2-о2), (4)
Для минимального времени отклика обновление происходит, если полученное время лучше, чем хранящееся значение.
С целью обновления таблицы феромонов вычисляется коэффициент усиления г по формуле:
w
r = с, (—) + c2 (— t (I
I - I
sup
inf
I inf) + (t- I inf)
), (5)
sup
Здесь W - наилучшее суммарное время отклика, t - время путешествия муравья, 18цр и 1ш определяется по формулам:
I = U +
sup г
а
(1- Y)w
I
inf
W,
(6)
где у - коэффициент доверия.
Значения с1 и с2 являются константами. Для них экспериментальным путем были определены следующие наилучшие значения: с1 = 0,7, С2= 0,3.
Таблица феромонов обновляется по следующему принципу. Для соседа Г текущей вершины, через которого проходит маршрут муравья, увеличение феромона происходит по формуле:
Та = Та + г(1- тга). (7)
Для остальных соседей с целью сохранения нормализации по столбцам таблицы обновление происходит следующим образом:
Tnd = Tnd - rTnd. (8)
Элементы таблицы маршрутизации вычисляются по формуле (1), при этом используется значение 8=1,4.
После некоторого «прогрева» сети таблица маршрутизации заполняется наилучшими путями. Выбор оптимального маршрута из s в d происходит на основе нахождения наибольшего значения в d-м столбце таблицы маршрутизации каждого узла, начиная с s.
3. Экспериментальное исследование разработанного алгоритма
Для экспериментального исследования разработанного алгоритма маршрутизации и обеспечения QoS был создан симулятор корпоративной сети.
В качестве топологии выбран fat tree с тремя уровнями. Маршрутизаторы верхнего уровня подключены к маршрутизаторам второго уровня с помощью соединений, имеющих скорость 1000 Мбит/с, а компьютеры третьего уровня соединены с маршрутизаторами второго с помощью сетевых связей со скоростью 100 Мбит/с.
Выбрано два сценария исследования, которые отличаются друг от друга количеством серверов и количеством портов на маршрутизаторах:
1) 10 хостов соединены 4-портовыми маршрутизаторами;
2) 35 хостов соединены 8-портовыми маршрутизаторами.
Для генерации начального состояния сети генерируются текущие задержки и пропускные способности с помощью равномерных законов распределения случайных величин. После этого некоторое количество времени, задаваемое пользователем, муравьи изучают сеть и строят маршруты. Затем вся статистика обнуляется и остаются только таблицы маршрутизации узлов.
Запускается алгоритм генерации пуассонов-ского потока с интенсивностью X вычислительных задач корпоративной сети:
J = {Ji }i=UK
Каждая задача характеризуется следующими параметрами, генерируемыми случайно:
J. = (а., 1, п., гЬ., М),
i 4 Г Г Г Г V7
где а - время активации задачи (например, ее поступления в систему), 1 - продолжительность работы, п - ее коммуникационный паттерн, описываемый ориентированным графом (вершины - хосты, дуги - потоки данных), гЬ - запрашиваемая минимальная гарантированная пропускная способность (Мбит/с), гdi - запрашиваемая максимальная гарантированная задержка (Мбит/с).
Поток состоит из задач двух типов. В первом случае Г^ е [1,10] и используется коммуникационный паттерн А11-1о-А11 (каждый выбранный хост передает данные каждому хосту), во втором - гЬ е [1, 20] и Опе-1о-А11 (один хост передает данные всем остальным хостам и наоборот - они передают данные ему). Для обоих типов используется 20% всех хостов. Вероятность выбора каждого типа за-
дачи равна 0.5. Следует заметить, что при наличии более 10 хостов, на которых работают процессы задач первого типа и более 5 для второго, требования QoS будут гарантированно нарушаться.
Каждый раз, когда в корпоративной сети активируется новая задача, между хостами, задействованными в ее выполнении, прокладываются маршруты в соответствии со значениями таблицы маршрутизации, а также обновляются остаточные пропускные способности и задержки вдоль проложенных маршрутов. Через фиксированные промежутки времени маршруты для каждой активной задачи пересчитываются в соответствии с изменившимся состоянием сети для обеспечения наилучшего соответствия QoS.
При генерации задач компьютеры, на которых размещаются их процессы, выбираются случайно. В связи с этим некоторые участки
0,7
т
О 0,6 «
£ 0,5
<ц
И °,4 &
х
н
д 0 2 о ?
Я
о &
0,61
0,3 0,23
0,1 0
0,02 1
0,03 0,04 0,05
0,06
5
■ Пропускная способность
Задержка
2 3 4 Интенсивно сть
Рис. 3. Зависимость процента нарушений QoS от интенсивности для первого сценария
2,5
о
а
2
« X
(и 1
в 1,5
I £ 1
X
<Ц
10,5 с
2,30
1,96
1,56
0,60/
0,06
1,18
0,16
0,23
0,31
0,37
■ Пропускная способность
Задержка
1 2 3 4 5 Интенсивность
0
Рис. 3. Зависимость процента нарушений QoS от интенсивности для второго сценария
сети будут перегружены. Для устранения этого недостатка необходимо использовать планировщик задач, проблема разработки которого выходит за рамки данной статьи.
В ходе эксперимента исследовался процент нарушения QoS в зависимости от интенсивности поступления задач. Графики для первого и второго сценариев приведены на рис. 2 и рис. 3 соответственно. Каждой точке соответствует показатель, усредненный по 20 случайно сгенерированным потокам задач.
В обоих случаях наблюдается рост нарушений требований по пропускной способности и по задержкам с увеличением интенсивности потока задач, причем во втором сценарии данные значения больше.
Созданные алгоритмы достаточно эффективны, требуется сравнение с существующими аналогами, которое планируется сделать в условиях эмулируемой сети.
4. Возможность реализации разработанного алгоритма для программно-конфигурируемых корпоративных сетей
Разработанный алгоритм маршрутизации и обеспечения может быть реализован в виде модуля для контроллера OpenFlow. После вычисления маршрута для потока данных, алгоритм прокладывает его в виде правил передачи пакетов, устанавливаемых в таблицы потоков, соответствующих маршрутизаторов OpenFlow.
Для полноценной реализации подобного подхода потребуется решение дополнительных задач:
1) Сбор информации о топологии сети. С помощью протокола LLDP можно отслеживать появление в сети новых коммутаторов, хостов, сетевых связей, а также их отключение.
2) Сбор сетевой статистики. ПКС и протокол SNMP также позволяют собирать детальную информацию о текущем состоянии сети (состояние очередей на портах коммутатора OpenFlow, текущую задержку, пропускную способность сетевых связей, количество переданных/полученных байт на порту и др.). Вся данная информация объединяется и хранится на контроллере OpenFlow в его базе данных. Это обеспечивает наличие у контроллера актуальной информации о топологии вычислительной системы и текущем состоянии ее сети. За счет этого появляется возможность адаптивной маршрутизации и обеспечения QoS.
5. Выводы
В рамках данного исследования предложен алгоритм маршрутизации в корпоративных сетях, представляющий собой модификацию муравьиного алгоритма. Данный алгоритм является эффективным за счет того, что в каждый момент времени решение основывается на актуальной статистике и учитывает совокупность таких параметров, как задержки, остаточные пропускные способности и история маршрутизации, что дает возможность проложить наиболее оптимальный маршрут.
В дальнейшем планируется проверить данный алгоритм на Mininet [10] - эмуляторе программно-конфигурируемой сети, а также в условиях реальной корпоративной сети. Также требуют решения проблемы обеспечения устойчивости таблицы маршрутизации, возникающие в реальных сетях. В будущем планируется реализовать вариант данного алгоритма с возможностью настройки очередей на портах маршрутизаторах с целью обеспечения требуемого уровня QoS для потоков данных.
Литература
1. McKeown, N. Openflow: enabling innovation in campus networks / N. McKeown, T. Anderson, H. Balakrishnan, G. Parulkar, L. Peterson, J. Rexford, S. Shenker, J. Turner // ACM SIGCOMM Computer Communication Review, 2008. - Vol. 38. - Pp. 69-74.
2. Intro to OpenFlow. - URL : https://www.opennetworking.org/standards/intro-to-openflow
3. Konnov, A. L. Concept of Cloud Educational Resource Datacenters for Remote Access to Software / A. L. Konnov, L. V. Legashev, P. N. Polezhaev, A. E. Shukhman // Proceedings of 11th International Conference on Remote Engineering and Virtual Instrumentation (REV), Polytechnic of Porto (ISEP) in Porto, Portugal from 26-28 February 2014 - 2014. - Pp. 246-247.
4. Polezhaev, P. Network Resource Control System for HPC based on SDN / P. Polezhaev, A. Shukhman, Yu. Ushakov // Proceedings of 14th International Conference, NEW2AN 2014 and 7th Conference ruSMART 2014, St. Petersburg, Russia. Lecture Notes in Computer Science. - Vol. 8638. - Pp. 219-230.
5. Polezhaev, P. Development of educational resource datacenters based on software defined networks / P. Polezhaev, AShukhman, A. Konnov // Proceedings of 2014 International Science and Technology Conference "Modern Networking Technologies (MoNeTec)", Moscow, Russia, 2014. - Pp. 133— 139 .
6. Caro, G. Di. Ant Colony Optimization and its Application to Adaptive Routing in Telecommunication Networks / G. Di. Caro // Unpublished doctoral dissertation, 2004. http://theses.ulb. ac.be/ETD-db/collection/available/ULBetd-09172004-201049/
7. Farinachi, D. Introduction to enhanced IGRP (EIGRP) / D. Farinachi // Cisco System Inc., 1993.
8. Malkin, G. S. RIP: An Intra-Domain Routing Protocol / G. S. Malkin // Addison-Wesley, 1999.
9. Rekhter Y., Li T. A Border Gateway Protocol 4 (BGP-4) // Request For Comments (RFC) 1644, Network Working Group, 1994.
10. Mininet. An Instant Virtual Network on your Laptop (or other PC), http://mininet.org
References
1. McKeown, N., Anderson T., Balakrishnan H., Parulkar G., Peterson L., Rexford J., Shenker S., Turner J. (2008), Openflow: enabling innovation in campus networks, ACM SIGCOMM Computer Communication Review, Vol. 38, pp. 69—74.
2. Intro to OpenFlow. — URL: https://www.opennetworking.org/standards/intro-to-openflow.
3. Konnov A. L., Legashev L. V., Polezhaev P. N., Shukhman A. E. (2014), Concept of Cloud Educational Resource Datacenters for Remote Access to Software, Proceedings of 11th International Conference on Remote Engineering and Virtual Instrumentation (REV), Polytechnic of Porto (ISEP) in Porto, Portugal from 26-28 February 2014, pp. 246-247.
4. Polezhaev, P., Shukhman A., Ushakov Yu. (2014) Network Resource Control System for HPC based on SDN, Proceedings of 14th International Conference, NEW2AN 2014 and 7th Conference ruSMART 2014, St. Petersburg, Russia. Lecture Notes in Computer Science, vol. 8638, pp. 219-230.
5. Polezhaev, P., Shukhman A., Konnov A. (2014), Development of educational resource datacenters based on software defined networks, Proceedings of 2014 International Science and Technology Conference "Modern Networking Technologies (MoNeTec)", Moscow, Russia, pp. 133-139 .
6. Caro, G. Di. (2004), Ant Colony Optimization and its Application to Adaptive Routing in Telecommunication Networks // Unpublished doctoral dissertation, URL: http://theses.ulb.ac.be/ETD-db/ collection/available/ULBetd-09172004-201049.
7. Farinachi, D. (1993), Introduction to enhanced IGRP (EIGRP), Cisco System Inc.
8. Malkin, G. S. (1999), RIP: An Intra-Domain Routing Protocol, Addison-Wesley.
9. Rekhter, Y., Li T (1994), A Border Gateway Protocol 4 (BGP-4), Request For Comments (RFC) 1644, Network Working Group.
10. Mininet. An Instant Virtual Network on your Laptop (or other PC), URL: http://mininet.org.