Введение 3
1 Анализ состояния решаемой проблемы 8
1.1 Протокол динамической маршрутизации Open Shortest Path First 8
1.1.1 Обзор протокола 8
1.1.2 Пакеты протокола маршрутизации 10
1.1.3 Достоинства и недостатки протокола 11
1.2 Протокол динамической маршрутизации Enhanced Interior Gateway Routing Protocol 12
1.2.1 Обзор протоколов IGRP и EIGRP 12
1.2.2 Пакеты протокола маршрутизации EIGRP 14
1.2.3 Метрика протокола маршрутизации EIGRP 14
1.3 Анализ предшествующих работ 16
2 Модификация протокола EIGRP для оптимизации его работы в сетях под пиковыми нагрузками 22
2.1 Выбор критерия эффективности работы сети 22
2.2 Модификация для оптимизации протокола маршрутизации, алгоритм работы 24
2.3 Общие сведения об OMNeT++ 25
2.4 Реализация метода в библиотеке ANSAINET для OMNeT++ 29
3 Моделирование 40
3.1 Обобщенная структура сети 40
3.2 Моделирование сети с протоколами маршрутизации EIGRP и OSPF при пиковых нагрузках 41
3.2.1 Описание модели 41
3.2.2 Эксперименты и результаты 42
3.3 Моделирование сети с оптимизированным протоколом EIGRP при пиковых нагрузках 45
3.3.1 Описание модели 45
3.3.2 Эксперименты и результаты 45
Заключение 51
Список использованных источников 52
Приложение
Первые компьютерные сети появились в конце 60-х годов прошлого века.
Они унаследовали много имеющих пользу свойств от телекоммуникационных
телефонных сетей. В то же время компьютерные сети сделали доступными для
всех огромнейшие объемы информации, созданные цивилизацией за время своего существования. И эти данные продолжают пополняться со все больше растущей скоростью.
Позже в 80-х были разработаны и утверждены стандартные технологии
объединения компьютеров в сеть – Ethernet, ARCNET, Token Ring, Token Bus и
другие. Стандартизация сетевых технологий превратила процесс построения локальной сети из решения сложной технической проблемы в рутинную работу.
В конце 80-х годов локальные и глобальные сети имели существенные отличия по протяженности и качеству линий связи, сложности методов передачи
данных, скорости обмена данными, разнообразию предоставляемых услуг и масштабируемости. В дальнейшем в результате тесной интеграции LAN (локальные
сети), WAN (глобальные сети) и MAN (городские сети) произошло взаимопроникновение соответствующих технологий [1, с. 37].
В крупных сетях со сложной топологией и большим количеством альтернативных маршрутов использование протоколов маршрутизации автоматизирует построение таблиц маршрутизации, а также позволяет отыскать новые
маршруты при изменениях сети: отказах или появлении новых линий связи и
маршрутизаторов. Хотя протоколы маршрутизации, в отличие от сетевых протоколов (IP и IPX), не являются обязательными, так как таблица маршрутизации
может строиться администратором сети вручную, но такие протоколы выполняют очень важную и полезную работу.
Протоколы маршрутизации обеспечивают поиск и фиксацию маршрутов
продвижения данных через составную сеть TCP/IP [1, с. 572].
Существуют способы продвижения пакетов в составных сетях, которые не
требуют наличия таблиц маршрутизации на маршрутизаторах.
Одним из таких способов передачи пакетов по сети является лавинная
маршрутизация, когда каждый маршрутизатор передает пакет всем своим непосредственным соседям, исключая тот, от которого его получил (сильное снижение пропускной способности).
Еще одним видом маршрутизации, не требующим наличия таблиц маршрутизации, является маршрутизация от источника (англ. source routing). Отправитель помещает в пакет информацию о том, какие промежуточные маршрутизаторы должны участвовать в передаче пакета к сети назначения. На основе этой
информации каждый маршрутизатор считывает адрес следующего маршрутизатора, и, если он действительно является адресом его непосредственного соседа,
передает ему пакет для дальнейшей обработки [1, с. 572]. Сложность в том, как
отправитель узнает точный маршрут следования пакета через сеть (маршрут
можно задавать либо вручную, либо узел-отправитель делает это автоматически,4
но в этом случае ему нужно поддерживать какой-либо протокол маршрутизации,
который сообщит ему о топологии и состоянии сети).
Большинство протоколов маршрутизации создают таблицы маршрутизации.
Различают протоколы, выполняющие статическую и адаптивную (динамическую) маршрутизацию.
При статической маршрутизации все записи в таблице статичны (это подразумевает бесконечный срок их жизни). Записи о маршрутах составляются и
вводятся в память каждого маршрутизатора вручную администратором сети.
При изменении состояния сети администратору необходимо срочно отразить эти
изменения в соответствующих таблицах маршрутизации, иначе может произойти их рассогласование, и сеть будет работать некорректно.
При адаптивной маршрутизации все изменения конфигурации сети автоматически отражаются в таблицах маршрутизации благодаря протоколам маршрутизации, которые собирают информацию о топологии связей в сети, что позволяет им оперативно отрабатывать все текущие изменения. В таблицах маршрутизации при адаптивной маршрутизации обычно имеется информация об интервале времени, в течение которого данный маршрут будет оставаться действительным. Это время называют временем жизни (англ. time to live, TTL) маршрута. Если по истечении времени жизни существование маршрута не подтверждается протоколом маршрутизации, то он считается нерабочим, пакеты по нему
больше не посылаются.
Применяемые сегодня в IP-сетях протоколы маршрутизации относятся к
адаптивным распределенным протоколам, которые, в свою очередь, делятся на
две группы [1, с. 573]:
- дистанционно-векторные алгоритмы (Distance Vector Algorithm, DVA);
- алгоритмы состояния связей (Link State Algorithm, LSA).
В дистанционно-векторных алгоритмах каждый маршрутизатор периодически и широковещательно рассылает по сети вектор, компонентами которого
являются расстояния (измеренные в той или иной метрике) от данного маршрутизатора до всех известных ему сетей. Пакеты протоколов маршрутизации
обычно называют объявлениями о расстояниях, так как с их помощью маршрутизатор объявляет остальным маршрутизаторам известные ему сведения о конфигурации сети [1, с. 574].
Получив от некоторого соседа вектор расстояний (дистанций) до известных тому сетей, маршрутизатор наращивает компоненты вектора на величину
расстояния от себя до данного соседа. Кроме того, он дополняет вектор информацией об известных ему самому других сетях, о которых он узнал непосредственно (если они подключены к его портам) или из аналогичных объявлений
других маршрутизаторов. Обновленное значение вектора маршрутизатор рассылает своим соседям. В конце концов, каждый маршрутизатор узнает через соседние маршрутизаторы информацию обо всех имеющихся в составной сети сетях
и о расстояниях до них [1, с. 574].5
Затем он выбирает из нескольких альтернативных маршрутов к каждой
сети тот маршрут, который обладает наименьшим значением метрики. Маршрутизатор, передавший информацию о данном маршруте, отмечается в таблице
маршрутизации как следующий (англ. next hop).
Дистанционно-векторные алгоритмы хорошо работают только в небольших сетях. В больших сетях они периодически засоряют линии связи интенсивным трафиком, к тому же изменения конфигурации не всегда корректно могут
отрабатываться алгоритмом этого типа, так как маршрутизаторы не имеют точного представления о топологии связей в сети, а располагают только косвенной
информацией – вектором расстояний [1, с. 574].
Наиболее распространенным протоколом, основанным на дистанционновекторном алгоритме, является протокол RIP. Однако существуют и другие популярные протоколы, относящиеся к этой группе. Например, усовершенствованный дистанционно-векторный протокол динамической маршрутизации EIGRP,
разработанный компанией Cisco и являющийся преемником IGRP. EIGRP является внутренним протоколом шлюзов, пригодным для различных топологий и
сред. Согласно [2] в хорошо спроектированной сети EIGRP хорошо масштабируется и позволяет обеспечить малое время согласования при минимальном сетевом трафике. Для расчета кратчайшего пути к конечному адресу используется
алгоритм диффузного обновления (англ. Diffusing Update Algorithm, DUAL). К
преимуществам алгоритма работы сети EIGRP можно отнести:
- низкое использование сетевых ресурсов в режиме нормальной эксплуатации; только пакеты HELLO передаются в условиях стабильной сети;
- при возникновении изменений по сети передаются только изменения,
произошедшие в маршрутной таблице, а не вся таблица целиком; это позволяет
уменьшить нагрузку на сеть, создаваемую протоколом маршрутизации;
- малое время конвергенции (или сходимости) в случае изменения в топологии сети (в отдельных случаях сходимость обеспечивается почти мгновенно);
- возможность использования до 5-ти компонентов (минимальная пропускная способность маршрута до конечного адреса, суммарная задержка, надежность маршрута, загрузка маршрута, минимальный путь максимального размера
передаваемого блока данных (англ. maximum transmission unit, MTU)) при расчете метрики маршрутизации.
Изначально при вычислении стоимости пути в EIGRP берутся значения
минимальной пропускной способности и задержки на всем маршруте. Это поведение можно изменить, добавив в формулу метрики, например, надежность и загрузку канала, но они фиксируются только в момент изменения топологии сети
(состояния интерфейса, какого-либо IP-адреса, пропускной способности и (или)
задержки)) [3; 4], то есть этот протокол маршрутизации не перестраивается под
возникающие в компьютерной сети нагрузки, когда скорость передачи данных
сильно падает. Такая мера реализована для снижения уровня служебного трафика в сети и сохранения совместимости векторных метрик IGRP и EIGRP,
чтобы была возможность одновременного использования этих протоколов и6
(или) легкой миграции с IGRP к EIGRP. У IGRP такая же составная метрика и
очень похожая формула ее вычисления, этот протокол периодически анонсирует
маршрутную информацию, то есть загрузка и надежность интерфейса регулярно
распространяются по всей сети, поэтому эти параметры включены в расчет составной метрики, что может привести к нестабильности работы сети из-за большого количества служебного трафика, вызываемого постоянными изменениями
данных показателей [3].
Алгоритмы состояния связей обеспечивают каждый маршрутизатор информацией, достаточной для построения точного графа связей сети. Все маршрутизаторы работают на основании одного и того же графа, что делает процесс
маршрутизации более устойчивым к изменениям конфигурации.
Каждый маршрутизатор использует граф сети для нахождения оптимальных по некоторому критерию маршрутов до каждой из сетей, входящих в составную сеть.
Чтобы понять, в каком состоянии находятся линии связи, подключенные к
его портам, маршрутизатор периодически обменивается короткими пакетами
Hello со своими ближайшими соседями. В отличие от протоколов DVA, которые
регулярно передают вектор расстояний, протоколы LSA ограничиваются короткими сообщениями, а передача более объемных сообщений происходит только в
тех случаях, когда с помощью сообщений Hello был установлен факт изменения
состояния какой-либо связи [1, с. 574].
В результате служебный трафик, создаваемый протоколами LSA, гораздо
менее интенсивный, чем у протоколов DVA.
Протоколами, основанными на алгоритме состояния связей, являются протокол IS-IS стека OSI (этот протокол используется также в стеке TCP/IP) и протокол OSPF стека TCP/IP.
В настоящее время для маршрутизации в магистральных IP-сетях часто используется протокол OSPF, в котором для распределения входящих потоков применяется алгоритм Дейкстры. К положительным качествам распределения данных с помощью алгоритма Дейкстры можно отнести его простоту практической
реализации.
С другой стороны, благодаря использованию этим алгоритмом статического критерия качества распределения входного потока информации (метрика),
алгоритм Дейкстры не адаптирован к работе в сетях с большим уровнем динамически изменяемого трафика. Перегрузки могут повлечь за собой отказ важных с
точки зрения передачи данных узлов сети (например таких, в случае выхода из
строя которых данные не передадутся адресату).
Протоколы OSPF и EIGRP приняты в работе за базовые, спецификация
OSPF описана в документе RFC 2328 [5; 6], EIGRP – в RFC 7868 [4]. В EIGRP
есть встроенный механизм учета нагрузки на линию, но этот инструмент недостаточно гибок. Протокол EIGRP можно тщательно настроить за счет использования метрики со множеством составляющих, которые также могут быть изменены под разные требования варьированием значений коэффициентов при них7
[3; 4]. Однако пересчет маршрутов происходит только в случае изменения топологии сети, и динамически изменяемая нагрузка на канал не учитывается.
Целью данной работы является повышение производительности сети при
пиковых нагрузках за счет внесения модификации в протокол маршрутизации
EIGRP и моделирование полученных результатов в фреймворке ANSAINET для
среды OMNeT++.
Для достижения указанной цели были поставлены следующие задачи:
- рассмотреть наиболее используемые протоколы маршрутизации сетей, в
частности – протоколы OSPF и EIGRP;
- выявить преимущества и явные недостатки OSPF и EIGRP, не позволяющие эффективно использовать эти протоколы в сетях с большим уровнем трафика, продемонстрировать их на примере моделирования сети в системе имитационного моделирования OMNeT++;
- предложить модификацию протокола EIGRP для перестроения таблиц
маршрутизации с учетом динамически изменяемой нагрузки на каналы;
- реализовать предложенные изменения, показать их работоспособность и
оценить их параметры моделированием сети в фреймворке ANSAINET для OMNeT++.
Работа будет вестись, в основном, экспериментально, разрабатываемый
метод основан на измерении текущей загрузки на интерфейсах маршрутизаторов
сети и перерасчете таблиц маршрутизации при падении производительности на
них. Основным оптимальным подходом к оценке работоспособности сети, ее
настройке, а также к проверке новых модификаций является моделирование сети
в специализированном программном обеспечении, предназначенном для создания сетевых симуляторов. Одним из таких популярных программных средств является библиотека OMNeT++, которую и предлагается использовать для моделирования.
В работе предполагается использовать понятия и методы теории графов,
теории алгоритмов, теории массового обслуживания, теории языков программирования, теории систем и сетей. На этапе анализа должен быть определен критерий эффективности работы сети. При реализации деталей модификации объектно-ориентированный подход является основным.
В результате выполнения работы был разработан метод повышения производительности сети при больших нагрузках, где протокол EIGRP используется в
качестве основного протокола маршрутизации. Метод был реализован в библиотеке ANSAINET для OMNeT++. Также были изучены основы маршрутизации,
основные протоколы маршрутизации, в том числе EIGRP и OSPF. Были отмечены их преимущества и недостатки. Один из главных недостатков – невозможность протоколов учитывать текущую пропускную способность канала для оптимизации нагрузки на сеть – был показан с помощью моделирования в OMNeT++.
Были проведены эксперименты с модифицированным EIGRP на модели
сети, написанной в OMNeT++, и была показана работоспособность доработанной версии протокола.
Впоследствии предложенные наработки могут быть использованы при составлении и реализации оптимального алгоритма необходимости переключения
на новые маршруты сетей произвольной топологии для использования не только
в средах моделирования, но и в реальных сетях передачи данных.
1 Олифер, В. Г. Компьютерные сети. Принципы, технологии, протоколы : учебник для вузов / В. Г. Олифер, Н. А. Олифер. Изд. 4-е. - Санкт-Петербург : Питер, 2010. - 944 с.
2 Enhanced Interior Gateway Routing Protocol [Электронный ресурс] // Cisco Systems, Inc. - Режим доступа: https://www.cisco.com/c/en/us/support/docs/ip/en- hanced-interior-gateway-routing-protocol-eigrp/16406-eigrp-toc.html (дата обраще¬ния: 28.05.2018).
3 Pepelnjak, I. EIGRP load and reliability metrics [Электронный ресурс] / I. Pepelnjak // ipSpace.net: Internetworking perspectives by Ivan Pepelnjak. - Режим доступа: http://blog.ipspace.net/2009/06/eigrp-load-and-reliability-metrics.html (дата обращения: 28.05.2018);
4 RFC 7868, Cisco's Enhanced Interior Gateway Routing Protocol (EIGRP) [Электронный ресурс] // The Internet Engineering Task Force (IETF). - Режим до¬ступа: https://datatracker.ietf.org/doc/rfc7868/ (дата обращения: 28.05.2018).
5 RFC 2328, OSPF Version 2 [Электронный ресурс] // The Internet Engineer¬ing Task Force (IETF). - Режим доступа: https://datatracker.ietf.org/doc/rfc2328/ (дата обращения: 28.05.2018).
6 Перевод RFC 2328 [Электронный ресурс] // Энциклопедия сетевых про¬токолов. - Режим доступа: http://www.protocols.ru/files/RFC/RFC-2328.pdf (дата обращения: 28.05.2018).
7 Cisco tips: Введение в EIGRP [Электронный ресурс] // ООО «Новаком».
- Режим доступа: http://novacom.ru/tech_support/Cisco/eigrp.html (дата обраще¬ния: 28.05.2018).
8 Introduction to EIGRP [Электронный ресурс] // Cisco Systems, Inc. - Режим доступа: https://www.cisco.com/c/en/us/support/docs/ip/enhanced-interior-gateway- routing-protocol-eigrp/13669-1.html (дата обращения: 28.05.2018).
9 An Introduction to IGRP [Электронный ресурс] // Cisco Systems, Inc. - Ре¬жим доступа: https://www.cisco.com/c/en/us/support/docs/ip/interior-gateway-rout- ing-protocol-igrp/26825-5.html (дата обращения: 28.05.2018).
10 Самойленко, Н. EIGRP [Электронный ресурс] / Н. Самойленко // Xgu.ru.
- Режим доступа: http://xgu.ru/w/index.php?title=EIGRP&oldid=38608 (дата обра¬щения: 28.05.2018).
11 Enhanced Interior Gateway Routing Protocol (EIGRP) Informational RFC
Frequently Asked Questions [Электронный ресурс] // Cisco Systems, Inc. - Режим доступа: https://www.cisco.com/c/en/us/products/collateral/ios-nx-os-software/en-
hanced-interior-gateway-routing-protocol-eigrp/qa_C67-726299.html (дата обраще¬ния: 06.06.2018).
12 Burke, A. Why Is Cisco Bothering with «Open» EIGRP? [Электронный ре¬
сурс] / A. Burke // Packet Pushers Interactive, LLC. - Режим доступа: http://pack- etpushers.net/why-is-cisco-bothering-with-open-eigrp/ (дата обращения:
06.06.2018).
13 Макаренко, С. И. Модифицированный алгоритм Беллмана-Форда с фор¬мированием кратчайших и резервных путей и его применение для повышения устойчивости телекоммуникационных систем [Электронный ресурс] / С. И. Ма¬каренко, М. Н. Квасов // Научная электронная библиотека eLIBRARY.RU. Режим доступа: https://elibrary.ru/item.asp?id=28911387 (дата обращения: 06.06.2018).
14 Snihurov, A. Improvement of EIGRP Protocol Routing Algorithm with the Consideration of Information Security Risk Parameters [Электронный ресурс] / A. Snihurov, V. Chakrian // Электронный архив открытого доступа Харьковского национального университета радиоэлектроники. - Режим доступа: http://openarchive.nure.ua/bitstream/document/2243/1/SJET38707-714 .pdf (дата об¬ращения: 06.06.2018).
15 Improvement of Performance of EIGRP Network by Using a Supervisory Controller with Smart Congestion Avoidance Algorithm [Электронный ресурс] / H. Hasan [и др.] // ResearchGate GmbH. - Режим доступа: https://www.re- searchgate.net/publication/306925828_Improvement_of_perfor- mance_of_EIGRP_network_by_using_a_supervisory_controller_with_smart_conges- tion_avoidance_algorithm (дата обращения: 07.06.2018).
16 Кузнецов, Н. А. Алгоритм Дейкстры с улучшенной робастностью для управления маршрутизацией в IP-сетях [Электронный ресурс] / Н. А. Кузнецов,
B. Н. Фетисов // Общероссийский математический портал Math-Net.Ru. - Режим доступа: http://www.mathnet.ru/at607 (дата обращения: 19.04.2018).
17 Цветков, К. Ю. Формирование резервных путей на основе алгоритма Дейкстры в целях повышения устойчивости информационно-телекоммуникаци¬онных сетей [Электронный ресурс] / К. Ю. Цветков, С. И. Макаренко, Р. Л. Ми¬хайлов // Научная электронная библиотека eLIBRARY.RU. - Режим доступа: http://elibrary.ru/item.asp?id=21427025 (дата обращения: 19.04.2018).
18 Полторак, В. П. Алгоритмы балансировки в сети OSPF [Электронный ресурс] / В. П. Полторак, А. Ю. Степаненко // Молодой ученый. - 2014. - № 4. -
C. 232-242. - Режим доступа: https://moluch.ru/archive/63/pdf/505 (дата обраще¬ния: 19.04.2018).
19 Перепелкин, Д. А. Повышение эффективности функционирования кор¬поративных сетей на базе протокола OSPF [Электронный ресурс] / Д. А. Пере¬пелкин, А. И. Перепелкин // Научная электронная библиотека eLIBRARY.RU. - Режим доступа: http://elibrary.ru/item.asp?id=258341 52 (дата обращения: 19.04.2018).
20 Daniluk, K. Energy-Efficient Protocol in OMNeT++ Simulation Environ¬ment [Электронный ресурс] / K. Daniluk // ITHEA International Scientific Journals. - Режим доступа: http://foibg.com/ibs_isc/ibs-27/ibs-27-p24 .pdf (дата обращения: 19.04.2018).
21 Олифер Н. А. Средства анализа и оптимизации локальных сетей [Элек¬тронный ресурс] / Н. А. Олифер, В. Г. Олифер // Центр Информационных Техно¬логий. - 1998. - Режим доступа: http://citforum.ru/nets/optimize/index.shtml (дата обращения: 23.05.2018).
22 OMNeT++ [Электронный ресурс] // OMNeT++ Discrete Event Simulator. - Режим доступа: https://omnetpp.org (дата обращения: 28.05.2018).
23 INET Framework [Электронный ресурс] // INET Framework. - Режим до¬ступа: https://inet.omnetpp.org/ (дата обращения: 28.05.2018).
24 ANSAINET [Электронный ресурс] // ANSA by Brno University of Technology. - Режим доступа: https://ansa.omnetpp.org/ (дата обращения: 28.05.2018).
25 СТО 4.2-07-2014 Система менеджмента качества. Общие требования к построению, изложению и оформлению документов учебной деятельности. - Взамен СТО 4.2-07-2012 ; введ. 09.01.2014. - Красноярск : ИПК СФУ, 2014. - 60 с.