УДК 004.72
ОБЗОР АЛГОРИТМОВ МАРШРУТИЗАЦИИ В КОМПЬЮТЕРНЫХ СЕТЯХ
Л. Д. Федотова Научный руководитель - А. А. Кузнецов
Сибирский государственный университет науки и технологий имени академика М. Ф. Решетнева
Российская Федерация, 660037, г. Красноярск, просп. им. газ. «Красноярский рабочий», 31
E-mail: [email protected]
Описываются статические и динамические виды маршрутизации. Приводится сравнение нескольких видов алгоритмов маршрутизации: алгоритм Дейкстры, алгоритм Беллмана-Форда и алгоритм Флойда-Уоршелла. Рассматривается проблема доставки информации при удаленных процессах. Приводится обзор существующих программных средств для моделирования передачи данных.
Ключевые слова: информационные технологии, компьютерные сети, алгоритмы маршрутизации, программные средства.
OVERVIEW OF ROUTING ALGORITHMICS IN COMPUTER NETWORKS
L. D. Fedotova Scientific Supervisor - A. A. Kuznetsov
Reshetnev Siberian State University of Science and Technology 31, Krasnoyarsky Rabochy Av., Krasnoyarsk, 660037, Russian Federation
E-mail: [email protected]
Static and dynamic routing types are described. A comparison of several types of routing algorithms is given: Dijkstra's algorithm, Bellman-Ford algorithm andFloyd-Worshell algorithm. The problem of information delivery during remote processes is considered. Provides an overview of existing software tools for data transfer modeling.
Keywords: IT, computer networks, routing algorithms, software.
На сегодняшний день современный мир невозможно представить без информационных технологий. Такой раздел информационных технологий (сокр. IT), как компьютерные сети применяются в построении маршрута из точки А в точку В, что и называется навигацией. Навигация в компьютерных сетях осуществляется с помощью алгоритмов маршрутизации.
Алгоритмы маршрутизации - это набор алгоритмов, которые определяют наилучший путь пакетов от источника к приемнику [1]. Они рассматриваются как граф и являются основой любого протокола маршрутизации.
Есть статические и динамические виды маршрутизации. Статический алгоритм заключается в построении конечной таблицы маршрутов при генерации сети. А в динамической маршрутизации таблица маршрутов изменяется в зависимости от состояния и загрузки каналов передачи данных и узлов коммутации [2].
Рассмотрим три классических вида алгоритмов маршрутизации:
1. Алгоритм Дейкстры;
2. Алгоритм Беллмана-Форда;
3. Алгоритм Флойда-Уоршелла. и проведем сравнение между ними.
Секция «Прикладная математика»
Алгоритм Дейкстры находит кратчайшие пути от одной из вершин графа до всех остальных. Он используется только для графов без ребер отрицательного веса. Применяется он в программировании и технологиях, например, используется в протоколах маршрутизации OSPF и IS-IS. Алгоритм Беллмана-Форда находит кратчайший путь во взвешенном графе. За определенное время он находит кратчайшие пути от одной вершины графа до всех остальных. В отличие от алгоритма Дейкстры, алгоритм Беллмана-Форда допускает ребра с отрицательным весом. Этот алгоритм маршрутизации RIP (алгоритм Беллмана-Форда) был разработан, как основой для сети ARPANET. Алгоритм Флойда-Уоршелла находит кратчайшие расстояния межу вершинами взвешенного ориентированного графа. Он применяется для расчета всех кратчайших путей в плотных графах, когда есть большое количество пар ребер между парами вершин. Алгоритм Дейкстры более эффективен в случае разреженных графов с ребрами неотрицательного веса для каждого возможного узла [3].
Самая распространенная проблема - это каким путем должна быть доставлена информация при удаленных процессах. Информация между двумя компьютерами может передаваться различными путями, с помощью сложных топологических схем организации сетей. Следовательно, возникают следующие вопросы: как организовать работу операционных систем для определения маршрута передачи данных между участниками связи? По какой линии связи нужно отправить пакет информации? Какие протоколы маршрутизации возможны? Эти вопросы можно решить двумя подходами: маршрутизация от источника передачи данных и одношаговая маршрутизация.
При маршрутизации от источника данных полный маршрут передачи пакета по сети формируется на компьютере-отправителе в виде последовательности числовых адресов сетевых адаптеров, через которые должен пройти пакет, чтобы добраться до компьютера-получателя, и целиком включиться в состав этого пакета. В этом случае промежуточные компоненты сети при определении дальнейшего направления движения пакета следуют его указаниям.
При одношаговой маршрутизации каждый компонент сети, принимающий участие в передаче информации определяет, какому следующему компоненту, находящемуся в зоне прямого доступа, должна быть отправлена данная информация. Решение принимается на основании анализа содержащегося в пакете адреса получателя. Полный маршрут передачи данных складывается из одношаговых решений, принятых компонентами сети [4].
Пакет, в компьютерных сетях - это оформленный блок данных, передаваемый по сети в пакетном режиме. Пакетом можно назвать любое сообщение, форматированное для него. «Надёжная» служба уведомляет пользователя о том, что доставка не удалась, как «ненадёжная» служба не уведомляет пользователя. Например, IP и UDP с IP не обеспечивает надёжного сервиса, в отличии от TCP и IP. Все эти протоколы используют пакеты, а UDP-пакеты называют дейтаграммами, которые используется для пакетов «ненадёжных» служб. Компьютерная сеть ARPANET не может надёжно определить все неудачные доставки пакетов.
Пакет протокола IPX имеет более простую структуру по сравнению с пакетом IP, и может пересечь до 15 маршрутизаторов. Сетевой протокол ICMP, входящий в стек протоколов TCP/IP, используется для передачи сообщений об ошибках и других исключительных ситуациях, возникших при передаче данных. ICMP-сообщения генерируются маршрутизатором при отсутствии маршрута к адресату и строятся из IP-пакетов, сгенерировавших ICMP-ответ. Для того, чтобы отправить ICMP-сообщение обратно отправителю, IP инкапсулирует соответствующее ICMP-сообщение с новым заголовком IP и передает полученные пакеты дальше. Протокол OSPF динамической маршрутизации, основанный на алгоритме Дейкстры, распространяет информацию о доступных маршрутах между маршрутизаторами одной автономной системы [5].
Современный мир невозможно представить без компьютерных сетей. Каждую секунду в мире передаётся огромный поток информации через сеть Интернет. С развитием информационных технологий появляются новые скоростные способы передачи информации. Без алгоритмов маршрутизации и различных пакетов в сетях мы бы не могли находить более удобный и кратчайший путь, передавать, сохранять и распространять важную информацию и создавать свои маршруты.
Библиографические ссылки
1. Семенов, Ю. А. Алгоритмы телекоммуникационных сетей. Часть 2. Протоколы и алгоритмы маршрутизации в Internet / Ю. А. Семенов // М.: Бином. Лаборатория знаний, 2016. - 829 с.
2. Руководство Cisco по междоменной многоадресатной маршрутизации. - М.: «Вильямс», 2004. - 320 с.
3. Алгоритмы: построение и анализ. 2-е изд. / Т. Х. Кормен, Ч. И. Лейзерсон, Р. Л. Ривест, К. Штайн // М.: «Вильямс», 2006. - 1296 с.
4. Коньков, К. А. Основы операционных систем / К. А. Коньков, В. Е. Карпов // Бишкек: МА-УПФиБ, 2015. - С. 144-159.
5. Dean, T. Network+ Guide to Networks / T. Dean // Boston, Massachusetts: Thomson Course Technology, 2006. - 896 с.
© Федотова Л. Д., 2019