Разработка ПО для выбора оптимального маршрута интернет соединения
|
Введение
Глава 1 Предпроектное обследование инфраструктуры 8
1.1. Технико-экономическая характеристика управления информационными
системами 8
1.1.1. Характеристика предприятия 8
1.1.2. Краткая характеристика отдела системного администрирования и его
видов деятельности 12
1.2. Моделирование процесса автоматизации управления сетевыми
ресурсами 12
1.3. Постановка задачи на разработку информационной системы для
поддержки принятия решения в сфере управления информационными ресурсами 15
1.4. Анализ существующих разработок и обоснование выбора технологии
проектирования информационной системы 17
Глава 2 Разработка и реализация проектных решений 19
2.1 Создание системы мониторинга состояния сетевой инфраструктуры 19
2.1.1 Добавление хостов 22
2.1.2 Методы организации мониторинга 24
2.1.3 Распределенный мониторинг 25
2.2. Анализ поступающей информации 28
2.3 Постановка проблемы 40
Глава 3 Практическая реализация программного продукта 42
3.1 Применяемый метод реализации 42
3.1.1 Подготовка оборудования Mikrotik к внешнему управлению 42
3.1.2 Создание компонента установления соединения API - Python 44
3.2 Создание основного блока управления 44
3.2.1 Работа над используемыми интерфейсами 44
3.2.2 Контроль валидности данных 47
3.3. Тестирование разработанного продукта 52
Заключение 56
Список используемой литературы 57
Приложение А Фрагмент программного кода 59
Глава 1 Предпроектное обследование инфраструктуры 8
1.1. Технико-экономическая характеристика управления информационными
системами 8
1.1.1. Характеристика предприятия 8
1.1.2. Краткая характеристика отдела системного администрирования и его
видов деятельности 12
1.2. Моделирование процесса автоматизации управления сетевыми
ресурсами 12
1.3. Постановка задачи на разработку информационной системы для
поддержки принятия решения в сфере управления информационными ресурсами 15
1.4. Анализ существующих разработок и обоснование выбора технологии
проектирования информационной системы 17
Глава 2 Разработка и реализация проектных решений 19
2.1 Создание системы мониторинга состояния сетевой инфраструктуры 19
2.1.1 Добавление хостов 22
2.1.2 Методы организации мониторинга 24
2.1.3 Распределенный мониторинг 25
2.2. Анализ поступающей информации 28
2.3 Постановка проблемы 40
Глава 3 Практическая реализация программного продукта 42
3.1 Применяемый метод реализации 42
3.1.1 Подготовка оборудования Mikrotik к внешнему управлению 42
3.1.2 Создание компонента установления соединения API - Python 44
3.2 Создание основного блока управления 44
3.2.1 Работа над используемыми интерфейсами 44
3.2.2 Контроль валидности данных 47
3.3. Тестирование разработанного продукта 52
Заключение 56
Список используемой литературы 57
Приложение А Фрагмент программного кода 59
В современных реалиях 21 века крупные IT-компании ежедневно сталкиваются с множеством задач по направлениям B2B, B2C, в основе реализации которых лежит постоянный обмен данными между клиент- серверными приложениями, работоспособность которых напрямую зависит от качества применяемых каналов связи.
Современные дорогостоящие технические решения позволяют реализовать различной сложности проекты, а также сети передачи данных, отвечающие стандартам качества и должным уровнем защиты информации от утечки данных. Но, к сожалению, данные решения не всегда могут быть применены в сегменте малого и среднего бизнеса, ввиду их повышенной стоимости по сравнению с более доступным классом устройств, обладающим набором протоколов, но требующих внешних систем для принятия решений в различных складывающихся ситуациях.
В своей выпускной квалификационной работе хотел бы рассмотреть направление по разработке алгоритмов для системы поддержки принятия решения по направлению систем выбора оптимального маршрута интернет соединения [5]. В крупных компаниях, имеющих большой спектр географически-распределенных узлов и офисов, клиентов и заказчиков, встает проблема в содержании имеющейся инфраструктуры в режиме доступности 99.9 %, исключая возможность влияния аварийных ситуаций на общую доступность ресурсов.
В рамках преддипломной практики мне удалось погрузиться более детально в принцип построения крупной корпоративной сети, имеющей множество отходящих соединений, включая в том числе физические соединения с заказчиками и субподряными организациями. В ходе полного погружения в бизнес-структуру удалось выявить актуальные проблемы, пожелания по усовершенствованию алгоритмов управления сетевой инфраструктурой, стека сервисов и применяемых технологий, которые в свою очередь легки в написание данной работы.
Целью, решаемой в рамках написания работы является разработка автоматического программного обеспечения для внешнего анализа и управления интернет соединениями, функционирующими в распределенной сети для выбора оптимального маршрута прохождения трафика.
При наличии более 2000 активных подключений к ядру сети оперативное ручное управление трафиком не представляется возможным ввиду требуемых длительных временных затрат на анализ ситуации, принятие решения по необходимым переключениям. Применение данного ручного подхода конечно возможен, но в данном случае потребуется расширенный штат квалифицированных специалистов, занимающихся постоянным анализом происходящего.
Описанный подход не может быть оптимальным для активно развивающейся компании, имеющей ряд стартап проектов, требующих больших человеческих ресурсов, которые не могут постоянно отвлекаться на запущенные ранее системы, которые также требуют ручного взаимодействия, в связи с чем возрастает актуальность внедрения данной системы.
Для реализации автоматического алгоритма и ухода от ручного управления в случае возникновения критических ситуаций необходимо выполнение следующих задач:
- Изучить и описать применяемую топологию сети, принципов построения и связей с внешними организациями;
- Проанализировать принцип управления, применяемые протоколы маршрутизации;
- Выявить слабую сторону ручного управления, на основании которой разработать алгоритм автоматизации;
- Организовать экспериментальную работу по внедрению автоматизированной системы управления.
Объектом исследования является процесс автоматического управления имеющимися каналами связи.
Предметом исследования, в свою очередь, является процесс автоматического анализа с последующим выбором маршрута и построения схемы переключения на каналах связи.
Для подготовки анализа и дальнейшего обоснования выбранного метода исследования необходимо подготовить техническую базу мониторинга, основываясь на данные которого можно производить анализ разрабатываемых программных решений и аппаратных реализаций.
В рамках рассматриваемых технологий оперативного мониторинга было принято решение об использовании open-sourse решения Zabbix с распределенным контролем по SNMP протоколу, внешним агентам и Zabbix- Proxy.
Запущенная система мониторинга позволила собрать необходимую для дальнейшего анализа информацию и предоставить графики доступности ресурсов до и после внедрения функционала.
Практическая значимость выполняемой работы заключается в существенном сокращении временных ресурсов необходимых для оперативных переключений и глубокой диагностики в случаях проявления нестабильной работы каналов связи или не отвечающих описанным показателям в условиях договора требований к содержанию каналов связи, а также сокращению необходимого количество оперативного персонала, необходимого для контроля и управления системой. Внедренный алгоритм позволил поднять уровень предоставляемых услуг и снизить время простоя из-за человеческого фактора.
Современные дорогостоящие технические решения позволяют реализовать различной сложности проекты, а также сети передачи данных, отвечающие стандартам качества и должным уровнем защиты информации от утечки данных. Но, к сожалению, данные решения не всегда могут быть применены в сегменте малого и среднего бизнеса, ввиду их повышенной стоимости по сравнению с более доступным классом устройств, обладающим набором протоколов, но требующих внешних систем для принятия решений в различных складывающихся ситуациях.
В своей выпускной квалификационной работе хотел бы рассмотреть направление по разработке алгоритмов для системы поддержки принятия решения по направлению систем выбора оптимального маршрута интернет соединения [5]. В крупных компаниях, имеющих большой спектр географически-распределенных узлов и офисов, клиентов и заказчиков, встает проблема в содержании имеющейся инфраструктуры в режиме доступности 99.9 %, исключая возможность влияния аварийных ситуаций на общую доступность ресурсов.
В рамках преддипломной практики мне удалось погрузиться более детально в принцип построения крупной корпоративной сети, имеющей множество отходящих соединений, включая в том числе физические соединения с заказчиками и субподряными организациями. В ходе полного погружения в бизнес-структуру удалось выявить актуальные проблемы, пожелания по усовершенствованию алгоритмов управления сетевой инфраструктурой, стека сервисов и применяемых технологий, которые в свою очередь легки в написание данной работы.
Целью, решаемой в рамках написания работы является разработка автоматического программного обеспечения для внешнего анализа и управления интернет соединениями, функционирующими в распределенной сети для выбора оптимального маршрута прохождения трафика.
При наличии более 2000 активных подключений к ядру сети оперативное ручное управление трафиком не представляется возможным ввиду требуемых длительных временных затрат на анализ ситуации, принятие решения по необходимым переключениям. Применение данного ручного подхода конечно возможен, но в данном случае потребуется расширенный штат квалифицированных специалистов, занимающихся постоянным анализом происходящего.
Описанный подход не может быть оптимальным для активно развивающейся компании, имеющей ряд стартап проектов, требующих больших человеческих ресурсов, которые не могут постоянно отвлекаться на запущенные ранее системы, которые также требуют ручного взаимодействия, в связи с чем возрастает актуальность внедрения данной системы.
Для реализации автоматического алгоритма и ухода от ручного управления в случае возникновения критических ситуаций необходимо выполнение следующих задач:
- Изучить и описать применяемую топологию сети, принципов построения и связей с внешними организациями;
- Проанализировать принцип управления, применяемые протоколы маршрутизации;
- Выявить слабую сторону ручного управления, на основании которой разработать алгоритм автоматизации;
- Организовать экспериментальную работу по внедрению автоматизированной системы управления.
Объектом исследования является процесс автоматического управления имеющимися каналами связи.
Предметом исследования, в свою очередь, является процесс автоматического анализа с последующим выбором маршрута и построения схемы переключения на каналах связи.
Для подготовки анализа и дальнейшего обоснования выбранного метода исследования необходимо подготовить техническую базу мониторинга, основываясь на данные которого можно производить анализ разрабатываемых программных решений и аппаратных реализаций.
В рамках рассматриваемых технологий оперативного мониторинга было принято решение об использовании open-sourse решения Zabbix с распределенным контролем по SNMP протоколу, внешним агентам и Zabbix- Proxy.
Запущенная система мониторинга позволила собрать необходимую для дальнейшего анализа информацию и предоставить графики доступности ресурсов до и после внедрения функционала.
Практическая значимость выполняемой работы заключается в существенном сокращении временных ресурсов необходимых для оперативных переключений и глубокой диагностики в случаях проявления нестабильной работы каналов связи или не отвечающих описанным показателям в условиях договора требований к содержанию каналов связи, а также сокращению необходимого количество оперативного персонала, необходимого для контроля и управления системой. Внедренный алгоритм позволил поднять уровень предоставляемых услуг и снизить время простоя из-за человеческого фактора.
Выпускная квалификационная работа направлена на решение актуальной проблемы с выбором оптимального маршрута интернет соединения, позволяя автоматизировать данный процесс в случае возникновения нештатных на узлах передачи данных.
В ходе выполнения работы был решен комплекс поставленных задач:
- Изучена и описана применяемая топология сети, принципы построения и связи с внешними организациями;
- Проанализирован принцип управления, применяемые протоколы внутренней и внешней маршрутизации;
- Внедрена система мониторинга и сбора событий Zabbix;
- Разработан алгоритм внедрения автоматизации;
- Организована экспериментальная работа по внедрению автоматизированной системы управления маршрутизацией.
Получившийся программный продукт, реализованный на языке программирования Python, прошел тестирование и внедрен в систему мониторинга для интеграции автоматического режима управления и выдачи исполнительных команд на ряд сетевых устройств, участвующих в маршрутизации передаваемого трафика.
Внедрение системы позволило перейти на автоматизированный принцип управления каналами передачи данных для проведения оперативного анализа сетевой доступности ресурсов и последующего выбора оптимального маршрута и снижения простоя ресурсов из-за некорректной работы каналов связи.
Подводя итог, можно сделать вывод, что все поставленные задачи были достигнуты, а результатом работы является программное решение, программный код которого представлен в приложении А.
В ходе выполнения работы был решен комплекс поставленных задач:
- Изучена и описана применяемая топология сети, принципы построения и связи с внешними организациями;
- Проанализирован принцип управления, применяемые протоколы внутренней и внешней маршрутизации;
- Внедрена система мониторинга и сбора событий Zabbix;
- Разработан алгоритм внедрения автоматизации;
- Организована экспериментальная работа по внедрению автоматизированной системы управления маршрутизацией.
Получившийся программный продукт, реализованный на языке программирования Python, прошел тестирование и внедрен в систему мониторинга для интеграции автоматического режима управления и выдачи исполнительных команд на ряд сетевых устройств, участвующих в маршрутизации передаваемого трафика.
Внедрение системы позволило перейти на автоматизированный принцип управления каналами передачи данных для проведения оперативного анализа сетевой доступности ресурсов и последующего выбора оптимального маршрута и снижения простоя ресурсов из-за некорректной работы каналов связи.
Подводя итог, можно сделать вывод, что все поставленные задачи были достигнуты, а результатом работы является программное решение, программный код которого представлен в приложении А.



