Бакалавр Радиотехники
инженер-стажер филиала ЗАО «Энвижн Груп» Энвижн-Сибирь
Магистрант СибГУТИ
Консультант: Марамзин Валерий Валентинович, Ведущий инженер-конструктор Направление сетей и систем передачи данных NVision Group
УДК 004.722
Введение
Наиболее надежным способом определить топологию сети является последовательный обход каждого устройства, находящегося в сети, и опрос его MIB (Management Information Base) на предмет выявления наличия у него активных интерфейсов и идентификации его соседних устройств при помощи SNMP протокола. Для реализации необходима поддержка SNMP протокола каждым из узлов сети, который должен быть активен. Также алгоритму заранее известны все loopback-адреса каждого узла сети.
Методология
Методика в упрощенном виде выглядит следующим образом: алгоритм опрашивает каждое устройство, в два этапа производя опрос. Сначала проверяется, запущен ли LLDP протокол, путем опроса LLDP-MIB, затем запрашивается информация об интерфейсах узла и его ARP-таблице. Этой информации будет достаточно чтобы сделать вывод: какие интерфейсы активны и какое устройство находится по соседству на обратной стороне активных линий связи.
Рассмотрим весь механизм на примере опроса одного маршрутизатора Juniper MX-5. Все действия выполняются в консоли SecureCRT при помощи linux-утилиты Net-SNMP [1].
Процедура начинается с опроса LLDP-MIB, которая в стандартной MIB расположена по пути iso.std.iso8802.ieee802dot1.ieee802dot1mibs.lldpMIB (или в точечно-цифровом представлении 1.0.8802.1.1.2.1 ) [2]
Рисунок 1 – Расположение lldp-MIB в иерархии MIB
Запрос на вывод lldp-MIB осуществляется командой
snmpwalk -v 2c –c community ip-address 1.0.8802.1.1.2.1 ,
где –v 2c – версия SNMP; -c community - community string для авторизации;
далее указываем IP-адрес опрашиваемого устройства и непосредственно OID запрашиваемого объекта MIB.
Если протокол LLDP на устройстве активен и функционирует, в ответ будет получен полный вывод lldp-MIB. Из всего полученного списка параметров используются только некоторые, а именно
1.0.8802.1.1.2.1.3.7 – lldpLocPortTable (информация о количестве интерфейсов, которые задействованы в LLDP, их описания и ID портов локального устройства (опрашиваемого в данный момент) )
1.0.8802.1.1.2.1.4.1.1 – lldpRemEntry (информация о количестве интерфейсов, их описание и ID портов соседних устройств)
Эти данные позволяют сделать в дальнейшем выводы о соседстве устройств при сопоставлении ID портов и соответствующих им IP-адресам портов, а также MAC-адресов устройств.
Вторым шагом станет запрос ARP-таблицы устройства. Эта задача решается запросом из MIB двух объектов: ipAddrTable и ipNetToMediaTable .
Рисунок 2 – Результаты запроса ipAddrTable и ipNetToMediaTable .
Отсюда простым сопоставлением данных, объединив таблицы, можно получить аналог ARP-таблицы с соответствием IP-адресов соседних интерфейсов и их MAC-адресов
Рисунок 3 – ARP таблица
Далее необходимо получить список локальных интерфейсов. Эти данные содержатся в объекте ifDescr, который содержит в себе названия интерфейсов и их ID.
Рисунок 4 – Пример результата запроса объекта ifDescr
Чтобы узнать IP-адреса, назначенные локальным портам, необходимо запросить объекты ipAdEntAddr и ipAdEntIfIndex
Рисунок 5 – Пример результата запроса объектов ipAdEntAddr и ipAdEntIfIndex
Зная ID интерфейса и его IP можно составить подобную таблицу соответствий:
Рисунок 6 – Сопоставление интерфейсам их IP адресов
И в завершении остается узнать MAC-адреса каждого интерфейса запросом объекта ifPhysAddress (OID= 1.3.6.1.2.1.2.2.1.6)
Рисунок 7 – Соответствие ID интерфейса и его MAC адреса
Результаты
В итоге, по результатам SNMP-опроса одного устройства, получены следующие данные:
- данные обо всех локальных интерфейсах, их IP адреса, ID, описания и MAC адреса
- данные об интерфейсах соседних устройств, также их IP и MAC адреса
Заключение
Таким образом в предложенной методике рассматривается способ определения топологии сети двумя путями: с использованием протокола LLDP и протокола SNMP. Если протокол LLDP не поддерживается и нет простой возможности создать граф сети, предложенным алгоритмом предусмотрен также второй вариант визуализации графа сети, данные для чего могут быть получены с помощью протокола SNMP описанными методами. Далее путем простых манипуляций со строковыми данными составляется база данных на каждое устройство и его соседей, а затем уже, анализируя полученные соответствия, строится граф связности сети.
Рецензии:
4.04.2014, 8:36 Назарова Ольга Петровна
Рецензия: Сноски на литературу. После чего, можно рекомендовать.