2.2.1. Построение топологии сети
На Рис. 2.4. представлено главное окно программы. Построение сети осуществляется на вкладке «Топология». Для этого необходимо выполнить следующие шаги:
- Расположить все устройства входящие в состав сети на рабочей области программы.
- Осуществить соединение устройств в соответствии с выбранной топологией
- Произвести настройку сетевых устройств (присвоить IP адреса, добавить записи в таблицы маршрутизации).
Рассмотрим эти шаги на примере небольшой сети. Сеть будет состоять из 3-х персональных компьютеров объединенных в локальную сеть с помощью Концентратора работающего по технологии Fast Ethernet. Рис. 2.4. Главное окно программы. На первом шаге необходимо произвести следующие действия: — на панели инструментов выбираем «Хаб» (Hub). И переносим его в центр рабочего пространства. По умолчанию он будет назван «Хаб0» (Hub0); — на панели инструментов выбираем «Компьютер» (PC). Переносим его в произвольную точку рабочего пространства. Он будет назван «Комьютер0» (PC0); — добавляем второй и третий компьютеры. Они будут названы «Комьютер1» (PC1) и «Комьютер2» (PC2). На втором шаге производятся следующие действия: — на панели инструментов выбираем «Соединение»; — соединяем «Компьютер0» (PC0) и «Хаб0» (Hub0), он автоматически подключится к 0 порту «Хаб0»; — аналогично поступаем с 2 другими компьютерами, они будут подключены к портам 1 и 2 «Хаб0». Третий шаг: — Щелчком левой клавиши на «Компьютере0» вызовем окно настройки его параметров (Рис.2.5); — Заполняем поле «IP адрес» значением 192.168.1.2 — Заполняем поле «Маска подсети» значением 255.255.255.0 — Закрываем окно свойств. — Повторяем действия еще для двух компьютеров, с той лишь разницей, что нужно установить «IP адрес» Комьпютера1 равным 192.168.1.3, а Компьютера2 равным 192.168.1.4; Результатом выполненных действий будет сеть представленная на рис.2.6. Рис.2.5. Настройка Компьютера. Рис.2.6. Сеть из трех компьютеров объединенных с помощью концентратора.
2.2.2. Моделирование передачи информационных посылок
Сеть построена, теперь смоделируем передачу пакета например Компьютером0 Компьютеру1. Для этого перейдем на вкладку «Моделирование» и проделаем следующие действия:
- На панели инструментов нажимаем кнопку «добавить пакет».
- Наводим указатель мыши с пакетом на источник – Компьютер0 и жмем левую клавишу мыши.
- Наводим указатель мыши с пакетом на приемник – Компьютер1 и жмем левую клавишу мыши.
В результате выполненных действий видим следующую картину (Рис.2.7): Рис.2.7. Вкладка моделирования после добавления 1-го пакета. Если посмотреть на линию времени, то можно увидеть только что добавленный пакет: , нажав на «-» можно удалить пакет. Чтобы запустить процесс моделирования и увидеть передачу пакета надо нажать на кнопку«воспроизведение». На втором шаге будет видно, что Компьютер1 принял предназначавшийся для него пакет, а Компьютер2 его отклонил. На третьем шаге процесс остановится.
3. Порядок выполнения лабораторной работы
3.1. «Основы ip адресации» Задача № 1.1
3.1.1 Создать топологию следующего вида: В качестве связующего элемента используйте коммутатор. 3.1.2 Присвоить IP-адреса согласно таблице:
Устройство | Интерфейс | Адрес | Маска |
PC0 | 0 | 192.168.0.1 | 255.255.255.0 |
PC1 | 0 | 192.168.1.2 | 255.255.255.0 |
3.1.3 Запустить симуляцию № 1 передачи информации по сети согласно таблице:
Шаг симуляции | Устройство источник | Устройство приемник |
1 | PC0 | PC1 |
Удалась ли симуляция? Почему удалась? Почему не удалась? Если симуляция не удалась, что необходимо исправить? 3.1.4 Самостоятельно проведите исправления в IP-адресации и запустите симуляцию снова. 3.1.5 дополните топологию до следующего вида: 3.1.6 Двум новым ПК присвойте IP-адреса согласно таблице:
Устройство | Интерфейс | Адрес | Маска |
PC2 | 0 | 192.200.20.1 | 255.255.255.0 |
PC3 | 0 | 192.200.20.2 | 255.255.255.0 |
3.1.7 Запустить симуляцию № 2 передачи информации по сети согласно таблице:
Шаг симуляции | Устройство источник | Устройство приемник |
1 | PC2 | PC3 |
Удалась ли симуляция? Почему удалась? Почему не удалась? Если симуляция не удалась, что необходимо исправить? 3.1.8 Запустить симуляцию № 3 передачи информации по сети согласно таблице:
Шаг симуляции | Устройство источник | Устройство приемник |
2 | PC0 | PC3 |
Удалась ли симуляция? Почему удалась? Почему не удалась? Контрольные вопросы:
- Каков основнойпринцип задания IP-адресов для конечных устройств, находящихся в одном разделяемом/общем сегменте сети передачи данных?
- Можно ли использовать один разделяемый сегмент для подключения двух различных IP-подсетей?
- Могут ли ПК, включенные в разные IP-подсети, но подключенные к одному разделяемому сегменту взаимодействовать друг с другом?
- Требуется ли для взаимодействия в рамках разделяемого сегмента шлюз по умолчанию?
Определение топологии сети на уровнях 2/3 модели OSI
Одной из важных технологий любой серьезной системы мониторинга сетей является метод обнаружения связей сетевых элементов на 2-м и 3-м уровне модели OSI.
С точки зрения алгоритмов эта задача является одной из самых интересных встреченных нами во время разработки нашей системы.
Мы решили немного поделиться нашим опытом, чтобы вы могли представить, каким образом красивый граф связей между узлами появляется на дэшбордах вашей системы мониторинга.
Топология сети — это способ описания конфигурации сети, схема расположения и соединения сетевых устройств. Мы будем рассматривать TCP/IP сеть, основу которой образуют сетевые устройства трёх типов: коммутаторы, маршрутизаторы и конечные станции. Мы также будем предполагать, что сетевые устройства, коммутаторы и маршрутизаторы, предоставляют открытый интерфейс для опроса по SNMP.
Для описания топологии удобно рассматривать OSI-модель сети как многоэтажное здание в основе которого лежит фундамент — это физический уровень, а этажи образуют канальный и сетевой уровни, каждый последующий уровень надстраивает здание и таким образом обеспечивает целостность и функциональность всей конструкции. Задача всего здания обеспечить его жителей, то есть различные приложения, связью друг с другом.
В Network Manager реализован алгоритм поиска связей между разнородными устройствами, поддерживающие различные протоколы конфигурации топологии сети, протокол связующего дерева (STP, Spanning Tree Protocol), протоколы LLDP (Link Layer Discovery Protocol) и CDP (Cisco Discovery Protocol). Архитектура программной системы позволяет реализовать поддержку новых протоколов для обнаружения как связей на 2-м и 3-м уровне модели OSI, так и любых других логических связей между элементами ИТ-инфраструктуры.
На канальном уровне связи между устройствами называются связями второго уровня (или L2-связи). Они могут быть заданы указанием пары портов двух непосредственно связанных коммутаторов, или коммутатора и конечной станции, или коммутатора и маршрутизатора.
Коммутаторы поддерживают динамическую таблицу переадресации (AFT, address forwarding table), хранящую соответствие MAC адреса узла порту коммутатора. Эта информация доступна через динамические таблицы доступные по SNMP в BRIDGE-MIB коммутатора (dot1dBasePortTable, dot1dTpFdbTable).
Будем говорить, что коммутатор видит на данном порту данное сетевое устройство, если в его динамической таблице переадресации содержится запись, которая указывает перенаправлять дейтаграммы предназначенные этому сетевому устройству через данный порт.
Для коммутатора с поддержкой базы данных BRIDGE-MIB можно, считывая dot1dBasePortTable, определить соответствие между номером интерфейса и номером порта, а доступные интерфейсы определяются базой данных MIB-II (таблица ifTable). Это позволяет единым образом рассматривать данные о связях 2-го и 3-го уровня.
Для хранения промежуточных результатов в Network Manager используется топологическая база данных, которая предоставляет общий интерфейс для работы с графом сети и его специализациями, предназначенными для работы на канальном и сетевом уровнях.
Автоматическое определение топологии сети разбивается на две фазы: сбор данных и их последующий анализ. Данные с сетевых устройств собираются в топологической базе данных, с помощью SNMP запросов к базам данных сетевых устройств, и определяются типы устройств и их сетевые интерфейсы.
На втором этапе, происходит анализ доступных данных по выбранным протоколам определения топологии сети, для реализации алгоритмов используются доступные в Интернет сети статьи 1, 2 и 5.
Сложность определения топологии разнородной сети состоит в том, что таблицы переадресации коммутаторов динамические, хранят запись соответствия МАС адреса назначения и соответствующего ему порта некоторое ограниченное время, заданное в конфигурации устройства и в общем случае, на момент исследования не все сетевые устройства обменялись дейтаграммами и как результат маршрутизаторы не могут иметь полной информации о всех доступных сетевых устройствах и их связях. Кроме того, во многих корпоративных сетях встречаются неуправляемые коммутаторы, а некоторые коммутаторы могут быть не подключены к системе мониторинга или некорректно поддерживать нужные SNMP MIBы. Однако, если существует сетевое устройство, видимое на всех коммутаторах сети, то по неполным таблицам переадресации можно однозначно восстановить конфигурацию сети (3).
Разнородность сети также влияет на интерпретацию данных полученных от коммутаторов, на которых настроена поддержка протоколов LLDP и CDP, потому что для их корректной работы необходимо, чтобы все ближайшие сетевые устройства поддерживали или LLDP, или CDP протокол. В итоге, информация, полученная из этих протоколов даёт лишь возможность заключить, что два данных сетевых устройства видят друг друга на определённых портах, но не даёт возможности непосредственно определить их как ближайших «соседей».
Алгоритм поиска топологии разнородной сети, реализованный в AggreGate Network Manager, в первую очередь определяет связи между коммутаторами. Общую суть алгоритма можно описать следующим образом:
Рассмотрим два коммутатора «А» и «Б», расположенные в одной подсети. Если коммутатор «А» видит на порту «а» коммутатор «Б», а коммутатор «Б» видит на порту «б» коммутатор «А» и в их таблицах нет другого сетевого устройства, которое одновременно видимо на портах «а» и «б», то коммутаторы «А» и «Б» соединены напрямую на канальном уровне (см. 1, 3 и 5). После нахождения связи мы убираем соответствующие ей интерфейсы из кэша таблиц форвардинга и продолжаем анализ оставшейся в таблицах информации, постепенно находя методом исключения остальные связи.
На следующем этапе определяются возможные связи между коммутаторами и конечными станциями. Для этого используется поиск ближайшего коммутатора: если коммутатор видит на данном порту конечную станцию и на том же самом порту он видит другой коммутатор, то, при отсутствие сетевых концентраторов, данный коммутатор не может быть ближайшим (см. 4). С другой стороны, если коммутатор на исследуемом порту видит только одну конечную станцию, то этот коммутатор и станция ближайшие соседи в нашей сети.
С топологией IP-уровня (L3) дела обстоят значительно проще. Линки 3-го уровня достаточно легко определяются по таблицам маршрутизации (ipRouteTable), также доступным по SNMP.
Понимая, что универсальность нашего продукта заставит нас в будущем иметь дело с самыми разными видами топологии, мы спроектировали визуальный компонент «граф топологии» таким образом, чтобы он мог работать с произвольными таблицами, содержащими описания узлов и ребер графа топологии. И, как обычно, при наличии инструмента быстро нашлись ему новые применения:
- Топология маршрутов EIGRP, OSPF, BPG и т.п.
- Визуализация путей в облаке MPLS
- SDH/PDH топология
- Визуализация связей между гипервизорами и работающими на них виртуальными машинами
- Добавленные вручную parent-child связи между узлами
- Граф зависимости компонентов ИТ-сервиса от элементов инфраструктуры
Все технологии, описанные в данной статье, протестированы и внедрены в нашем продукте AggreGate Network Manager. Работа алгоритмов определения связей в условиях недостаточности данных (не все коммутаторы и маршрутизаторы подключены по SNMP, некорректная поддержка нужных MIBов и т.д.) далеко не тривиальна, поэтому мы и по сей день продолжаем совершенствовать их.
- Topology Discovery in Heterogeneous IP Networks: The NetInventory System. Y.Breitbart, M.Garofalakis, B. Jai, C.Martin, R.Rastogi, and A.Silberschatz IEEE/ACM TRANSACTIONS ON NETWORKING, VOL. 12, NO. 3, JUNE 2004
- Layer-2 Path Discovery Using Spanning Tree MIBs. David T. Stott, Avaya Labs Research, Avaya Inc., Basking Ridge, NJ, Tech. Rep
- Finding Ethernet-Type Network Topology is Not Easy. H. Gobjuka, Y. Breitbart, Technical Report: TR-KSU-CS-2007-03, Kent State University, 2007.
- Автоматическое определение и описание сетевой инфраструктуры суперкомпьютеров. В. Воеводин, К. Стефанов, Вычислительные Методы и Программирование. 2014. Т. 15
- IP Network Topology Discovery Using SNMP. Suman Pandey, Mi-Jung Choi, Sung-Joo Lee, James W. Hong, Dept. of Computer Science and Engineering, POSTECH, Korea