УДК 681.317.75:519.2
АЛГОРИТМ ПАРНЫХ ПЕРЕСТАНОВОК МАРШРУТОВ НА БАЗЕ ПРОТОКОЛА ЮЯР В КОРПОРАТИВНЫХ СЕТЯХ Д.А. Перепелкин, А.И. Перепелкин
Предложен алгоритм адаптивной ускоренной маршрутизации на базе протокола ЮКР, позволяющий уменьшить трудоемкость построения таблиц маршрутизации в корпоративных сетях
Ключевые слова: адаптивная ускоренная маршрутизация, алгоритмы маршрутизации, корпоративные сети
Введение. На современном этапе развития и использования корпоративных сетей наиболее актуальное значение приобрели оценка производительности и качества корпоративных сетей и их компонентов, оптимизация уже существующих или планируемых к созданию сетей. Производительность и пропускная способность корпоративной сети определяется рядом факторов: выбором серверов и рабочих станций, каналов связи, сетевого оборудования, протокола передачи данных, сетевых операционных систем и операционных систем рабочих станций, серверов и их конфигураций, защиты, поддержания и восстановления работоспособности в ситуациях сбоев и отказов и т.п.
Для современных корпоративных сетей характерно резкое возрастание количества взаимодействующих узлов, интенсивность обмена данными, активное использование мультимедиа-технологий в производственном процессе, повышенные требования к оперативности доставки информации. При этом одной из главных задач корпоративных сетей является улучшение производительности ее работы, а именно выбор эффективного алгоритма маршрутизации, который будет обеспечивать поиск оптимальных маршрутов при динамических изменениях на линиях связи в корпоративной сети.
Теоретическая часть. 'В настоящее время широкое распространение получили алгоритмы адаптивной маршрутизации. Они обеспечивают автоматическое обновление таблиц маршрутизации после изменения конфигурации сети. Используя алгоритмы адаптивной маршрутизации, маршрутизаторы могут собирать информацию о топологии связей в сети и оперативно реагировать на все изменения в ее конфигурации.
Перепелкин Дмитрий Александрович - РГРТУ, канд. техн. наук, доцент, e-mail: [email protected] Перепелкин Александр Иванович - РГУ им С.А. Есенина, канд. техн. наук, доцент, e-mail: [email protected]
Выделяют две группы алгоритмов адаптивной маршрутизации:
• Алгоритмы состояния каналов (Link State Algorithm, LSA);
• Дистанционно-векторные алгоритмы (Distance Vector Algorithm, DVA).
Алгоритм состояния каналов обеспечивает каждый маршрутизатор информацией, достаточной для построения точного графа связей сети. Все маршрутизаторы работают на основании одинаковых графов, что делает процесс маршрутизации более устойчивым к изменениям конфигурации. «Широковещательная» рассылка (то есть передача пакета всем непосредственным соседям маршрутизатора) используется здесь только при изменениях состояния связей. Вершинами графа являются как маршрутизаторы, так и объединяемые ими сети. Распространяемая по сети информация состоит из описания связей различных типов: маршрутизатор-маршрутизатор, маршрутизатор-сеть.
В алгоритмах дистанционно-векторного типа каждый маршрутизатор периодически и широковещательно рассылает по сети вектор, компонентами которого являются расстояния от данного маршрутизатора до всех известных ему сетей. Под расстоянием обычно понимается число транзитных узлов, однако могут быть использованы и другие показатели метрики [1].
Протоколом, основанным на дистанционно-векторном алгоритме, является протокол IGRP (Interior Gateway Routing Protocol - протокол внутреннего шлюза).
Протокол IGRP разработан компанией Cisco для больших сетей со сложной топологией и сегментами, которые обладают различной полосой пропускания и задержкой.
Протокол IGRP использует несколько типов метрики выбранного пути, по одной на каждый вид QoS (Quality of services). Метрика характеризуется 32-разрядным числом. В однородных средах этот вид метрики вырождается в число шагов до цели. Маршрут с минимальным значением метрики является предпочтительным. Актуализация маршрутной информации
для этого протокола производится каждые 90 секунд. Если какой-либо маршрут не подтверждает своей работоспособности в течение 270 сек., он считается недоступным. После семи циклов (630 сек) актуализации такой маршрут удаляется из маршрутных таблиц. IGRP производит расчет метрики для каждого вида сервиса (ToS - type of services) отдельно.
Метрика, используемая в IGRP, учитывает:
1) время задержки;
2) пропускную способность самого слабого сегмента пути;
3) загруженность канала;
4) надежность канала.
Время задержки предполагается равным времени, необходимому для достижения места назначения при нулевой загрузке сети. Расчет метрики производится для каждого сегмента пути. Время от времени каждый маршрутизатор широковещательно рассылает свою маршрутную информацию всем соседним маршрутизаторам. Получатель сравнивает эти данные с уже имеющейся информацией и вносит, если требуется, необходимые коррекции. На основании вновь полученной информации могут быть приняты решения об изменении маршрутов. Одним из преимуществ IGRP является простота реконфигурации.
Оптимальный маршрут в протоколе IGRP определяется с использованием комбинированной метрики, вычисляемой по следующей формуле:
Метрика = [(k1 / be) + (k2 * dc)] * r , где:
1) k1 и k2 - константы;
2) be - пропускная способность канала *
(1 - загрузка канала);
3) dc - топологическая задержка;
4) r - относительная надежность (% пакетов, успешно передаваемых по данному сегменту пути).
По умолчанию определение метрики в протоколе IGRP выполняется по критериям пропускной способности и задержки, значения которых приведены в табл. 1.
Пропускная способность в протоколе IGRP измеряется в величинах, обратных бит/сек, умноженных на 1010. Например, если пропускная способность равна N Кбит/с, то ее измерением в IGRP будет 10000000 / N). Надежность измеряется в долях от 255 (255 соответствует 100%). Загрузка измеряется также в долях от 255, а задержка в десятках миллисекунд.
В протоколе IGRP маршрут, имеющий наименьшую комбинированную метрику, счи-
тается лучшим. При использовании такой схемы появляется возможность, используя весовые коэффициенты, адаптировать выбор маршрутов к задачам конечного пользователя.
Таблица 1
Наименование канала Скорость канала Метрика канала
Спутник -500 Мбит/с 20 200 000
Сеть БШетеІ / 802.3 - 10 Мбит/с 1 000 100
Канал 1 -1.544 Мбит/с 6 476 2 000
Канал 2 -64 Кбит/с 156 250 2 000
Канал 3 -56 Кбит/с 178 571 2 000
Канал 4 -10 Кбит/с 1 000000 2 000
Канал 5 - 1 Кбит/с 10 000000 2 000
Основные достоинства протокола ЮИР:
1) стабильность маршрутов даже в очень больших и сложных сетях;
2) быстрый отклик на изменения топологии сети;
3) минимальная избыточность. Протокол ЮЯР не требует дополнительной пропускной способности каналов для своей работы;
4) разделение потока данных между несколькими параллельными маршрутами, примерно равного достоинства;
5) учет частоты ошибок и уровня загрузки каналов;
6) возможность реализовать различные виды сервиса для одного и того же набора информации.
В протоколе ЮЯР для хранения маршрутных данных используются специализированные базы данных. ЮИР формирует эту базу данных на основе информации, которую он получит от соседних маршрутизаторов. В простейшем случае находится один путь для каждой из сетей. Сегменты пути характеризуются используемым сетевым интерфейсом, метрикой и маршрутизатором, куда следует сначала послать пакет. Предусматривается возможность разделять информационный поток между несколькими доступными эквивалентными маршрутами. Пользователь может сам разделить поток данных, если два или более пути оказались почти равными по метрике, при этом большая часть трафика будет послана по пути с лучшей метрикой.
Выбор оптимального маршрута в протоколе IGRP определяется по алгоритму Беллмана-Форда. Трудоемкость данного алгоритма составляет порядка O(N), где N — число маршрутизаторов в сети.
В работе [2] предложен алгоритм парных переходов, позволяющий за счет сбора дополнительной информации учесть возможные изменения конфигурации корпоративной сети и не производить полный пересчет маршрутных таблиц. Это позволило снизить трудоемкость расчета таблиц маршрутизации до величины порядка O(k*N), где k - число фактически выполненных парных переходов.
В условиях динамически изменяющихся нагрузок на линиях связи в корпоративной сети использование данного алгоритма оказывается неэффективным, так как трудоемкость расчета дополнительной информации для осуществления парного перехода составляет O(N2log2N).
Разработка алгоритма. Для повышения эффективности использования протокола IGRP предложен алгоритм, позволяющий уменьшить трудоемкость построения таблиц маршрутизации до величины O(N).
Работа алгоритма парных перестановок маршрутов основывается на том, что для каждой вершины строится множество путей проходящих через ребра, находящиеся в отношении парного перехода к ребрам, входящим в дерево кратчайших путей. При изменении веса ребра, входящего во множество кратчайших путей или веса ребра, находящегося в отношении парного перехода к ребру из дерева кратчайших путей, необходимо просмотреть списки оптимальных маршрутов и их маршрутов замены до каждой вершины, куда входит ребро, вес которого изменился.
Представим корпоративную сеть в виде неориентированного взвешенного связного графа G=(V,E,W), где V - множество вершин, ||V|| = N, Е - множество ребер, ||E|| = M, W -множество весов ребер.
Рассмотрим работу алгоритма парных перестановок маршрутов на базе протокола IGRP в корпоративных сетях. Укрупненная схема алгоритма имеет вид:
Шаг 1. Первоначальная инициализация соседей. Используя пакет HELLO протокола IGRP, определить веса линий связи wy до ближайших соседей.
Шаг 2. Используя сообщение query (запрос), получить маршрутную информацию от соседей для построения таблиц маршрутизации.
Шаг 3. Таблицы маршрутизации построены:
а) если да, то перейти к шагу 9;
б) иначе - к шагу 4.
Шаг 4. Построить дерево оптимальных маршрутов корпоративной сети.
Шаг 5. Для вершины, являющейся листом дерева, производится поиск всех парных переходов без ограничений. Эти списки для удобства дальнейшей работы привязываются к вершине, инцидентной рассматриваемому ребру и расположенной ниже по иерархии.
Шаг 6. Если вершина не является листом дерева, то вычисляются парные переходы для этой вершины и выбираются лучшие значения потенциалов парных переходов для потомков вершины и собственных парных переходов. Подобная процедура выполняется для формирования списков парных переходов в случае увеличения и уменьшения веса ребра.
Шаг 7. Для каждой вершины формируется полный список парных переходов. Число элементов в каждом их этих списков не превышает количества вершин графа. Такое решение позволяет отказаться от предварительной сортировки потенциалов или приращений для парных переходов без значительного усложнения алгоритма обработки изменения.
Шаг 8. Для каждой вершины формируется полный список возможных маршрутов, проходящий через ребра, состоящие в отношении парного перехода, включая и ребра, входящие в дерево кратчайших путей.
Шаг 9. Определить, есть ли пакеты на передачу:
а) если да, то перейти к шагу 10;
б) иначе - к шагу 17.
Шаг 10. Используя поля «Время жизни» и «Контрольная сумма заголовка» протокола 1Р, определить, требуется ли уничтожить (отбросить) данный пакет:
а) если да, то перейти к шагу 16;
б) иначе - к шагу 11.
Шаг 11. Используя таблицы маршрутизации, определить, требуется ли разделять информационный поток между несколькими доступными эквивалентными маршрутами:
а) если да, то перейти к шагу 12;
б) иначе - к шагу 16.
Шаг 12. Разделить информационный поток между несколькими доступными эквивалентными маршрутами.
Шаг 13. а) передать пакеты по доступным эквивалентным маршрутам;
б) установить флаг передачи.
Шаг 14. Для исключения осцилляции маршрутов сделать временную задержку.
Шаг 15. Передать пакет со служебной информацией соседним маршрутизаторам.
Шаг 16. Проверка флага передачи:
а) если флаг установлен, то перейти к шагу 25;
б) иначе - к шагу 9.
Шаг 17. Послать сообщение query (запрос) соседним маршрутизаторам.
Шаг 18. Ожидать ответа от соседей.
Шаг 19. Сообщение reply (отклик) от соседних маршрутизаторов получен:
а) если да, то перейти к шагу 20;
б) иначе - к шагу 18.
Шаг 20. Анализируя полученную протоколом IGRP информацию, определить, произошло ли изменение метрики для какого-либо ребра:
а) если да, то перейти к шагу 21;
б) иначе - к шагу 9.
Шаг 21. Используя список парных переходов определить, требуется ли сделать парный переход:
а) если да, то перейти к шагу 22;
б) иначе - к шагу 23.
Шаг 22. Для каждой вершины, у которой в список возможных маршрутов входит ребро с изменившейся метрикой, определить путь минимальной длины и поместить его в дерево кратчайших путей, тем самым, построив новое дерево кратчайших путей на графе.
Шаг 23. Пересчитать точки вхождения в дерево и переформировать список маршрутов замены для каждой изменившейся вершины.
Шаг 24. Сформировать таблицы маршрутизации.
Шаг 25. Проверка окончания работы маршрутизатора:
а) если да, то перейти к шагу 26;
б) иначе - сбросить флаг передачи и перейти к шагу 9.
Шаг 26. Завершение работы маршрутизатора.
Для подтверждения правильности предложенного алгоритма парных перестановок маршрутов на базе протокола IGRP разработана программа имитационного моделирования процессов маршрутизации в корпоративных сетях.
Средой разработки пакета программ является Borland Delphi 7.0. Язык программирования - Object Pascal. Такой выбор обусловлен тем, что Borland Delphi является средой визуального объектно-ориентированного программирования, это позволяет создавать с неболь-
шими затратами сил и времени программные продукты.
В разработанном пакете программ корпоративная сеть представлена в виде неориентированного взвешенного графа, вершинами которого являются маршрутизаторы, а ребрами -линии связи между ними.
Каждая линия связи характеризуется своим весом. Вес линии связи между маршрутизаторами определяется как комбинированная метрика протокола ЮИР.
При разработке основное внимание уделялось корректности предлагаемого алгоритма и размерности решаемой задачи.
Для каждого испытания на множестве обработанных изменений выбиралось минимальное, максимальное и среднее значение размерности задачи, выраженное через количество вершин, для которых необходим поиск кратчайшего пути. Для каждого эксперимента было найдено математическое ожидание и среднее квадратичное отклонение числа изменений. Для алгоритма парных перестановок маршрутов на базе протокола ЮИР определялось число фактически выполненных парных переходов.
В табл. 2 приведены обобщенные статистические характеристики для средней размерности задачи. В представленной таблице через СКО обозначено среднее квадратичное отклонение.
Таблица 2
Число вершин графа Min значе- ние Max значе- ние МО СКО
10 0,20 0,735 0,3524 0,0815
100 0 0,61 0,0978 0,0862
200 0 1,18 0,0324 0,119
Были проведены исследования графов, состоящих из 10, 100 и 200 вершин. Исследование разработанного алгоритма парных перестановок маршрутов на базе протокола ЮКР показало, что математическое ожидание числа изменений не превышает величины N/2, а его максимальное значение не превышает N. На основе этого можно сделать вывод, что предложенный алгоритм адаптивной ускоренной маршрутизации на базе протокола ЮКР является эффективным при поиске оптимальных маршрутов в условиях частичных динамических изменений на линиях связи корпоративной сети за счет использования дополнительной информации о возможных маршрутах замены.
Заключение. Разработанный алгоритм парных перестановок маршрутов на базе про-
токола ЮИР позволяет повысить эффективность функционирования корпоративных сетей за счет уменьшения трудоемкости построения таблиц маршрутизации до величины порядка О(Ы) в условиях динамически изменяющихся нагрузок на линиях связи в корпоративной сети.
Литература
1. Олифер В.Г., Олифер Н.А. Компьютерные сети. Принципы, технологии, протоколы. - СПб.: Питер, 2001. -672 с.: ил.
2. Уваров Д.В., Перепелкин А.И. Построение дерева кратчайших путей на основе данных о парных переходах.
- Системы управления и информационные технологии.
N4 (16), Москва-Воронеж, 2004. с. 93-96.
Рязанский государственный радиотехнический университет Рязанский государственный университет имени С. А. Есенина
THE ALGORITHM PAIRED PERMUTATIONS OF ROUTES ON BASE PROTOCOL IGRP IN CORPORATE NETWORKS D.A. Perepelkin, A.I. Perepelkin
An algorithm for rapid adaptive routing on base protocol IGRP allowing decrease complexity of construction a tables routing in corporate networks
Key words: adaptive accelerated routing, routing algorithms, corporate networks