А.А. Букатов, С.А. Букатов
ОПТИМИЗАЦИЯ РАЗБИЕНИЯ НА СЕГМЕНТЫ КОММУТИРУЕМОЙ
ТЕРРИТОРИАЛЬНОЙ СЕТИ ETHERNET С МНОЖЕСТВЕННЫМИ РЕЗЕРВНЫМИ КАНАЛАМИ*
Неформальная постановка задачи
Рассматриваемый в настоящей статье метод разработан при создании магистральной Научно-Образовательной Телекоммуникационной Сети (НОТС) г. Ростова-на-Дону [1]. Указанная сеть построена на базе арендуемых оптоволоконных каналов. Для организации передачи данных по этим каналам используются технологии Fast Ethernet и Gigabit Ethernet. Большинство коммуникационных узлов рассматриваемой сети располагаются в различных АТС Ростова-на-Дону, включая Ростовскую междугородную телефонную станцию (РМТС). Кроме того, в состав сети входят коммуникационные узлы, расположенные в различных зданиях РГУ, в ТЦМС-9 «Ростелекома» и в «КавказТрансТелекоме». В каждом из коммуникационных узлов установлен коммутатор Ethernet Cisco Catalyst серии 29хх или 35хх. В некоторых узлах (изначально - в пограничных узлах сети) установлены маршрутизаторы.
Сеть каналов, соединяющая коммуникационные узлы магистральной сети, имеет структуру графа (далее называемого коммуникационным графом) с множеством контуров (неориентированных циклов). Наличие контуров обеспечивает резервные маршруты передачи данных. Корректная работа сети, содержащей контуры (исключение возможных широковещательных штормов), обеспечивается применением известного протокола STP (см., напр., [2]). Этот протокол строит остовое дерево (Spanning Tree) коммуникационного графа и блокирует использование каналов, соответствующих дугам коммуникационного графа, не включенным в остовое дерево. При выходе из строя какой-либо дуги (канала) или вершины (коммуникационного узла) коммуникационного графа протокол STP обеспечивает построение нового остового дерева (при сохранении связности оставшихся вершин), обеспечивая тем самым автоматическое включение в работу резервных (ранее заблокированных) каналов. Таким образом, обеспечивается устойчивая работа сети при выходе из строя резервируемых каналов (выход из строя узла можно трактовать как одновременный выход из строя всех идущих через него каналов).
Однако протокол STP имеет определенные ограничения. В соответствии со спецификацией этого протокола он не обеспечивает требуемой скорости сходимости алгоритма построения остового дерева, если в коммуникационном графе имеются контуры, содержащие более 9 узлов. Простейшим способом преодоления указанного ограничения является искусственный разрыв длинного контура путем физического отключения одного из каналов. Однако при этом снижается уровень резервирования каналов, что неизбежно влечет снижение уровня устойчивости сети к отказам в работе каналов и узлов.
Другим вариантом является рациональное проектирование структуры сети каналов, обеспечивающей требуемый уровень резервирования каналов и не содержащей длинных контуров. Этот вариант, в принципе, является наиболее правильным, однако не применим на практике для случая построения сети каналов на базе арендованных оптических жил. Реальная практика, к сожалению, такова, что при организации каналов между коммуникационными узлами на базе арендуемых оптических жил главным и зачастую единственным определяющим фактором создания определенного канала является наличие соответствующей технической возможности. При этом состав арендуемых каналов практически полностью определяется наличием свободных жил в
*
Настоящая работа выполнена при поддержке гранта РФФИ № 03-07-90365
кабелях, проложенных между различными узлами. По мере ввода в строй новых оптоволоконных линий связи между АТС (создаваемых в основном для удовлетворения потребностей телефонии) состав каналов телекоммуникационной сети также может (при необходимости) расширяться. При этом резервирование каналов к узлам, находящимся на периферии сети, обеспечивается, как правило, за счет использования длинных контуров. Таким образом, создание коммуникационного графа предопределенной рациональной структуры на практике не осуществимо.
Практически осуществимый способ преодоления указанного выше ограничения протокола STP с сохранением имеющегося уровня резервирования каналов (в том числе обеспечиваемого длинными контурами) состоит в сегментации плоской структуры магистральной сети, в результате которой каждый из длинных контуров (и связанных с ними подграфов) разрезается на два сегмента, взаимодействующих друг с другом через маршрутизаторы. При этом для разрезания «длинного» контура в нем выбираются 2 узла, в которые устанавливаются маршрутизаторы с подключением к ним каналов, соединяющих узлы. Очевидно, что после проведения рассмотренной сегментации протокол STP будет независимо работать в каждом из сегментов, не содержащих длинных контуров.
При разбиении плоской сети на сегменты, удовлетворяющие указанным выше условиям, необходимо минимизировать количество этих сегментов с целью минимизации затрат на устанавливаемое для сопряжения сегментов маршрутизирующее оборудование (коммуникационное оборудование 3-го уровня (КО-3) - маршрутизаторы и или маршрутизирующие коммутаторы 3-го уровня). Формальная постановка указанной задачи оптимизации, впервые рассмотренной в [3], и ее решение составляют основной предмет настоящей статьи.
Исходными данными задачи являются сеть передачи данных, заданная парой (М,Ь), где М = {м 1,., М,...Мт } - множество узлов магистральной сети, в кото-
рых установлено коммуникационное оборудование.
Связи между узлами заданы матрицей Ь = , I = 1, т, ] = 1, т ,
Необходимо выполнить разбиение плоской физической сети передачи данных на сегменты, а также указать места расположения коммутационного оборудования третьего уровня (КО-3), минимизировав число устанавливаемых экземпляров КО-3 в целях обеспечения работоспособности протокола STP и минимизации затрат на приобретение требуемого комплекта КО-3.
Для построения формальной модели задачи вводится ряд переменных, описывающих разбиение исходного графа на сегменты и размещение КО-3 в узлах сети. При этом для удобства построения алгоритма решения настоящей задачи полагается, что каждый устанавливаемый экземпляр КО-3 включается в состав лишь одного из соединяющихся через этот экземпляр КО-3 сегментов, а сами связи других сегментов с этим экземпляром КО-3 искусственно помечаются как разорванные. Итак, рассмотрим назначение вспомогательных переменных: матрицы Х и вектора Z.
Матрица X = ||x j11, i = 1, m , j = 1, m, определяет места расположения коммутационного оборудования и разрываемые каналы передачи данных.
Формальная постановка задачи
1, если между М1 и М^ существует канал передачи данных, 0 - в противном случае.
0, если междуMt и Mj разрываетсясуществующий канал, 1 - в противном случае.
Вектор 2 = }, р = 1, т , используется для определения мест размещения
КО-3. Значения его координат определяют места установки КО-3:
2р = 1 р = і: Ху = 0 V (Мі, Мі) є К(ХX р = І : Ху = 0 V (Мі,Мі) є К(Х) (устанавливаем КО-3 в Мі при условии, что разрывается ребро Мі Мі, входящее в замкнутый контур. Здесь Я(Х) - множество цепей (замкнутых контуров) в графе, соответствующем матрице X, построенное при помощи процедуры, рассмотренной в [4] (стр. 245-249)):
гр = 0 Р * и Р * і : (ху = 0)
(не устанавливаем КО-3).
В качестве ограничений, накладываемых на решение задачи, введем следующие два ограничения:
/ (М, X) < В , (1)
где В - количество узлов, входящих в контур максимально допустимой длины магистральной сети (М,Х);
І і *(Ху +1) > 0 і = 1, т, і = 1, т . (2)
Условие (2) является условием совместимости матриц Ь и X.
Тогда целевая функция задачи будет иметь вид
т
р=Х гр ^ тіп,
Р=1
то есть оптимальное решение задачи будет получено при минимизации количества мест установки КО-3.
Метод решения задачи
Поставленная задача относится к классу задач дискретного программирования и характеризуется большим количеством состояний и сложным видом ограничений. Это, в первую очередь, касается ограничения д;, для вычисления которого необходимо найти контуры (цепи) в коммуникационном графе, что требует применения нетривиального алгоритма [4], упомянутого в предыдущем разделе статьи. Принимая во внимание, что учитываемые в задаче ограничения многократно вычисляются для оценки большого количества состояний, предлагается для решения использовать современный аппарат генетических алгоритмов (ГА) [5,6].
Идея ГА заимствована у живой природы и состоит в организации эволюционного процесса, в результате которого синтезируется оптимальное или близкое к оптимальному решение сложной комбинаторной задачи. При разработке ГА необходимо установить законы эволюции таким образом, чтобы за приемлемое время получить эффективное решение. Впервые эти идеи были применены к решению оптимизационных задач в середине 70-х годов прошлого века [7,8]. На сегодняшний день ГА успешно применяются при решении многих КР-сложных задач [5] в практических приложениях, где математические модели имеют сложную структуру и использование стандартных методов типа ветвей и границ, динамического или линейного программирования затруднено. Современный ГА представляет собой адаптивный поисковый метод, применимый к широкому классу оптимизационных задач. Характерной особенностью ГА является возможность использования при оптимизации самой целевой функции, а не её оценок или приближений [5], так как ГА не предъявляет требований к виду целевой функции и ограничений. В процессе работы ГА обрабатывает множества альтернативных решений, организуя поиск в направлении перспективных с точки зрения используемых целевой функции и ограничений вариантов решений.
Конструирование ГА включает определение таких понятий как хромосома, ген, популяция, а также оператор случайных изменений хромосом [7,8].
Рассмотрим способ кодирования хромосомы для ГА решения поставленной задачи. В качестве хромосомы рассматривается закодированный вариант решения задачи. Этот вариант решения состоит из элементов решения - генов. Предлагается сконструировать хромосому с двумя генами.
Ген у определяет разрываемые для устранения «длинных» контуров каналы. Ген состоит из элементов, соответствующих элементам матрицы X:
г = (#п,#12,...,#, ,...,');...;
(£„£ 2,...,#j ,...,');...;
('m1, 'm2 v.^ 'mt,..., ''mm ).
Ген ß определяет необходимость наличия КО-3 в месте размещения i-го узла и конструируется из элементов вектора Z:
ß = (^i,^1,...,Wj ,..., Wm ).
Таким образом, хромосома имеет вид
a = (Y = ('11, '12 ,■■■, 'ii,..., 'im );■■■;
('1, ' i 2,..., ,■■■, 'm );■■■;
('m1, 'm2 ,■■■, ' mt 'mm );
ß = (w1,Wi,...,Wj ,...,Wm );)■
Целевая функция, выраженная через элементы хромосомы, при этом будет иметь вид
m
F(Ai) = YWj ^min.
j=1
Хромосома характеризуется указанной целевой функцией и количественной оценкой степени нарушения ограничений, которые используются для сравнения и выбора хромосом.
Сравнение хромосом осуществляется следующим образом: из анализируемой популяции P = (A1,...,At,...AZ) лучшей считается хромосома Al с наименьшей оценкой
степени нарушения ограничений A(Al), а среди хромосом с равными значениями указанной оценки выбирается хромосома с меньшим значением целевой функции F(Ai).
d = max(0, f (yÄ) - B),
m m |0, если lj *('j +1) > 0 -- ----
d2 = \\u,j, Uj = •! , i = 1 m , j = 1,m .
[1 - в противном случае
Величина оценки степени нарушения ограничений равна сумме введенных переменных:
A(Al) = d1 + d2 .
Общий алгоритм решения задачи включает определение начальной популяции хромосом Р0, выполнение случайных изменений хромосом из начальной популяции и отсечение из анализируемой популяции бесперспективных для дальнейшего развития хромосом, а также выбор оптимальной хромосомы, для которой значение целевой функции F будет минимальным.
При этом принята следующая стратегия построения алгоритма. В начальную популяцию включаются две хромосомы, для которых гарантируется равенство 2 целевой функции F(Ai) и не гарантируется выполнение ограничений задачи. Выбор указанного начального значения обусловлен следующими практическими соображениями. При
отсутствии в физической сети «длинных» замкнутых контуров значение целевой функции Б будет равным 0 (нет потребности в установке КО-3, требуемого для разбиения сети на сегменты), сеть функционирует нормально и потребность в разбиении ее на сегменты отсутствует. При появлении проблем, связанных с появлением «длинных» контуров (при «зависании» сети в целом из-за отказа одного из каналов передачи данных), возникает потребность в разбиении сети как минимум на два сегмента путем установки КО-3 в двух узлах «длинного» кольцевого маршрута. Указанные действия могут быть выполнены как средствами задания исходных данных (компонентов вектора в), так и путем автоматического поиска «длинного» контура и соответствующей установки КО-3 в двух произвольных узлах этого контура (фиксируемого соответствующей установкой компонентов гена у). В любом из этих случаях рекомендуется пользоваться следующей эвристикой: в качестве мест размещения КО-3 следует по возможности выбирать узлы, соединенные с другими узлами наибольшим числом каналов (такие узлы, вероятно, входят в несколько контуров, и установка КО-3 в этих узлах может одновременно разбить все эти контуры).
По состоянию гена в и матрице Ь автоматически формируется матрица Х (и ген у) путем случайного выбора одной дуги, ведущей в узел, отмеченный единичным значением соответствующей координаты вектора в, значение которой остается неизменным. Остальные же дуги, ведущие в этот узел, «разрываются» путем установки в 1 соответствующих элементов матрицы Х.
Если в текущей популяции находится ген, соответствующий решению исходной задачи, то процесс поиска этого решения успешно завершается.
Если в текущей популяции решение не найдено, то в предложенном ГА для получения следующей популяции Р1 применены операторы случайных изменений [5], которые преобразуют хромосомы, выполняют синтез новых хромосом и производят отбор перспективных для развития хромосом. Кроме того, используются операторы, которые производят случайные изменения, затрагивающие не всю хромосому, а один определенный (второй) ген. Это связано с тем, что на заключительной стадии работы алгоритма, когда получены соответствующие близким к оптимальным решениям хромосомы, целесообразно провести изменения над одним геном. В случае рассматриваемой задачи в качестве такого гена должен быть выбран ген в, поскольку значение гена у существенным образом зависит от значения гена в. При этом, однако, количество единичных компонентов вектора в не должно уменьшаться (при случайном изменении популяции количество мест установки КО-3, определяемое компонентами гена в, не должно уменьшаться).
При реализации ГА применительно к поставленной задаче необходимо уточнить и конкретизировать используемые операторы случайных изменений [5], включающие операторы репродукции и операторы мутации. В качестве операторов репродукции (ОР) выбраны двухродительский и многородительский кроссин-говер и оператор рекомбинации, а в качестве операторов мутации (ОМ) использованы многоточечная мутация и интерполирующая рекомбинация. После выполнения ОМ и ОР для всех хромосом - родителей и потомков - вычисляется степень их близости по величине оценки степени нарушения ограничений поставленной задачи. Если потомок превосходит по этому показателю наиболее близкого родителя, то он занимает место родителя в популяции.
В полученной популяции вновь выполняется поиск оптимального решения, для которого выполнены ограничения исходной задачи. При нахождении такого решения процесс решения задачи завершается, иначе процесс случайных изменений популяции и поиска решения в новой популяции итеративно повторяется.
В разработанном алгоритме на каждом этапе работы алгоритма увеличивается количество сегментов, на которые разбивается магистральная сеть. В рамках итераций
каждого этапа выполняются операторы случайных изменений, производится отбор хро-мосом-потомков и реализуется самоорганизация алгоритма. Она заключается в том, что количество выполняемых операторов на текущем шаге зависит от эффективности их применения на предыдущих шагах, то есть по мере работы алгоритма увеличивается доля наиболее результативных операторов в общем числе операторов, выполняемых на одном шаге. Предлагаемый алгоритм позволяет выполнить остановку при получении первого локально-оптимального решения, поскольку на последующих этапах возможно лишь увеличение количества сегментов, что приведет к ухудшению результата.
Заключение
Таким образом, в настоящей статье разработаны метод и алгоритм оптимизации структуры разбиения на сегменты территориальной магистральной сети с множественными резервными каналами, построенной с использованием технологий физического уровня, основанных на коммутируемых технологиях семейства Ethernet. Указанная оптимизация структуры магистральной сети физического уровня состоит в том, чтобы разбить исходную сеть физического уровня на минимальное число сегментов (взаимодействующих через коммуникационное оборудование сетевого или 3-го уровня), удовлетворяющим ограничениям области применения протокола STP. По аналогии с работой [9], в которой решается задача оптимальной установки коммутаторов и концентраторов в локальной вычислительной сети, для решения поставленной задачи применены генетические алгоритмы.
По мнению авторов настоящей статьи, технологии семейства Ethernet быстро прогрессируют и энергично расширяют области своего традиционного применения с области создания локальных вычислительных сетей до области создания высокоскоростных магистралей с возможностями резервирования каналов при создании современных территориальных и региональных телекоммуникационных сетей. Методы, рассмотренные в настоящей статье, должны быть интересны и полезны разработчикам таких сетей.
БИБЛИОГРАФИЧЕСКИЙ СПИСОК
1. Белоконь А.В., Букатов А.А., Крукиер Л.А. Развитие магистральных научнообразовательных сетей Ростова-на-Дону, Ростовской области и Южного федерального округа РФ // Труды Всероссийской научно-методической конференции «Телемати-ка’2002». Санкт-Петербург, 2002. С. 155-156.
2. Кульгин М.В. Коммутация и маршрутизация IP/IPX трафика // М: Компьютер пресс, 1998. 320 с.
3. Букатов А.А., Букатов С.А., Шестаков С.А. Методы рациональной организации региональных Ethernet сетей с множественными резервными каналами // Материалы X конференции представителей региональных сетей Relarn-2003. СПб, 2003. С.12-13.
4. КристофидесН. Теория графов. Алгоритмический подход // М.: Мир, 1978. 432 с.
5. Курейчик В.М. Генетические алгоритмы. Состояние. Проблемы. Перспективы // Известия РАН. Теория и системы управления, 1999, № 1. С. 144-160.
6. Емельянов В.В., Курейчик В.В., Курейчик В.М. Теория и практика эволюционного моделирования. М: Физматлит, 2003. 432 с.
7. Bremermann H. J., Roghson J., Salaff S. Global properties of evolution processes // Natural automata and useful simulations. London: Macmillan, 1966, р. 326-339.
8. Растригин Л. А. Случайный поиск - специфика, этапы истории и предрассудки// Вопросы кибернетики. Вып. 33, 1978. С. 136-148.
9. Шестаков С.А. Конструирование генетического алгоритма для решения задачи оптимизации топологической структуры неоднородных локальных вычислительных сетей информационных систем // Известия вузов Сев.-Кавк. региона. Технические науки. 2002, №2. С. 47-54.