Визуализация топологии сети с помощью скрипта Python и NeXt UI
11 фев 2021 05:41 #100048
от ICT
ICT создал тему: Визуализация топологии сети с помощью скрипта Python и NeXt UI
В данный момент в сети существует немало утилит и программ с открытым кодом для визуализации сетевых топологий. Исходными данными, как правило, для них выступают данные таких протоколов, как Cisco Discovery Protocol (CDP), Link Layer Discovery Protocol (LLDP), Open Shortest Path First (OSPF), Intermediate System to Intermediate System (ISIS). Реализации CDP и LLDP могут использоваться в качестве решения для небольших доменов, с ограниченным количеством сетевых устройств. В отношении CDP, следует заметить, что данный протокол является исключительно проприетарным и может применяться в сетях только с оборудованием Cisco. OSPF и ISIS относятся к категории Interior Gateway Protocol (IGP), являются по сути Link State протоколами, и их базы Link State Database (LSDB) содержат информацию о всех хостах домена, состоянии и типе линков, метриках для расчета дерева кратчайшего пути (shortest-path tree, используется алгоритм Dijkstra), т. е. всю необходимую информацию о топологии сети. Любой из этих протоколов в большинстве случаев является неотъемлемым атрибутом дизайна любой сети, будь-то Internet Service Provider, Data Center или Enterprise. В этой статье речь пойдет о небольшом скрипте Python и наборе шаблонов TextFSM, с помощью которых, в связке с open source решением NeXt UI (применяется в
SDN контроллере ODL
), используя LSDB протоколов ISIS, OSPF, легко и просто визуализировать топологию сети, содержащую от несколько десятков до несколько сотен устройств. Следует отметить, что решение может применяться в мультивендорных сетях (в текущей версии поддерживаются протоколы следующих вендоров: Nokia - OSPF и ISIS;Juniper - OSPF и ISIS; Cisco - OSPF и ISIS; Huawei - ISIS). Для запуска скрипта необходимо: 1. Загрузить все содержимое из \[code\]
git clone
:\[/code\]
2. Зайти в каталог igp_topo_multi и проверить его содержимое: \[code\]cd igp_topo_multi
ls -l\[/code\] 3. Отредактировать файл config.yaml, используя текстовый редактор: \[code\]nano config.yaml\[/code\] В нем необходимо указать тип хоста (nokia, juniper, cisco, huawei), протокол (ospf или isis), путь и название текстового файла с выводом LSDB (используется каталог test_files, в котором уже содержится несколько файлов с тестовыми топологиями). Сохранить данные и закрыть редактор: \[code\]Ctrl+O
Ctrl+x\[/code\] 4. Запустить скрипт: 5. В открывшемся окне браузера по умолчанию, отобразится топология сети: Некоторые пояснения:[*]Загрузку файлов из github.com желательно выполнять в пользовательский каталог без sudo. В противном случае скрипт не сможет запустить браузер. Если браузер не запустится по каким-либо причинам, страницу index.html, которая находится в каталоге nextUI, можно открыть самостоятельно.[*]Пиктограммы маленьких коммутаторов в топологии обозначают broadcast линки (не р2р). Повод задуматься, оправдан ли этот тип для каждого конкретного случая.[*]Цветовые темы NeXt UI можно применять разные из доступных.[*]Положение хостов в браузере можно изменять их перетаскиванием. Ссылка на источник
ls -l\[/code\] 3. Отредактировать файл config.yaml, используя текстовый редактор: \[code\]nano config.yaml\[/code\] В нем необходимо указать тип хоста (nokia, juniper, cisco, huawei), протокол (ospf или isis), путь и название текстового файла с выводом LSDB (используется каталог test_files, в котором уже содержится несколько файлов с тестовыми топологиями). Сохранить данные и закрыть редактор: \[code\]Ctrl+O
Ctrl+x\[/code\] 4. Запустить скрипт: 5. В открывшемся окне браузера по умолчанию, отобразится топология сети: Некоторые пояснения:[*]Загрузку файлов из github.com желательно выполнять в пользовательский каталог без sudo. В противном случае скрипт не сможет запустить браузер. Если браузер не запустится по каким-либо причинам, страницу index.html, которая находится в каталоге nextUI, можно открыть самостоятельно.[*]Пиктограммы маленьких коммутаторов в топологии обозначают broadcast линки (не р2р). Повод задуматься, оправдан ли этот тип для каждого конкретного случая.[*]Цветовые темы NeXt UI можно применять разные из доступных.[*]Положение хостов в браузере можно изменять их перетаскиванием. Ссылка на источник
Пожалуйста Войти или Регистрация, чтобы присоединиться к беседе.
Похожие статьи
Тема | Релевантность | Дата |
---|---|---|
IBM создала первые в мире чипы по топологии 7 нм | 9.96 | Четверг, 09 июля 2015 |
Samsung готова к производству чипов в топологии 8 нм | 9.96 | Среда, 18 октября 2017 |
«Доктор Веб» исследовал бэкдор, написанный на Python | 8.65 | Вторник, 17 октября 2017 |
Москвич создал защищенный смартфон на Python за $30 | 8.65 | Вторник, 14 ноября 2017 |
Из языка Python удаляют термины «раб» и «господин» | 8.65 | Среда, 12 сентября 2018 |
Ошибки в Java и Python позволяют взламывать фаерволлы | 8.55 | Среда, 22 февраля 2017 |
GeekBrains будет готовить высококвалифицированных веб-разработчиков на Python | 8.55 | Среда, 28 ноября 2018 |
Через четыре года Python заменит C и Java | 8.55 | Вторник, 11 июня 2019 |
Microsoft открыла бесплатные курсы по искусственному интеллекту на Python | 8.46 | Среда, 04 апреля 2018 |
Ошибки в JavaScript, PHP, Python оставляют в ПО «дыры», от которых нельзя избавиться | 8.37 | Понедельник, 11 декабря 2017 |