LLDP

Что такое LLDP и с чем его едят можно почитать у гуру. Как правило, для визуализации схемы сети используются блок-схемы. Честно говоря меня такой подход никогда не устраивал, ввиду, на мой взгляд, сложности восприятия такого отображения сетевой ифраструктуры. Поэтому сейчас в проекте используется древовидная визуализация: lldp_tree В конечном счете, даже при использовании в сети STP, плечи кольца будут ветвями дерева. При этом использование LLDP совместно с STP немного усложняет задачу(протокол не имеет представления о STP).

Как это работает

Изначально определяем, какой из объектов сети будет корневым(root) при построении дерева. По сути, это может быть любое устройство в сети поддерживающее протокол LLDP. Тут уже сам администратор должен определить, что для него является корнем его сети. Затем начинаем опрашивать объекты в сети отталкиваясь от корня, те опрашивается корень на предмет наличия соседей, соседи опрашиваются на предмет наличия соседей, ... до достижения крайних в ветке объктов.
При построении сети возможно использовать два режима:
1. С использованием ДБ. Информации собираемая при помощи скрипта сохраняется в БД. Для актуализации состояния дерева, с необходимой периодичностью, эту информацию можно обновлять(например с помощью cron). Такой режим предпочтителен при большом кол-ве объектов в сети(500 и более) или использовании в сети STP.
2. "Живой" режим использует данные получаемые с объектов в момент открытия страницы NMS Tree. Если ваша сеть не соответствует уловиям в 1-м пункте, то время опроса 200-300 объектов составляет 3-4 секунды.

Выставляем переменные

Переменная Описание / Пример
$conf{NMS_LLDP_ROOT} IP адрес корня вашей сети $conf{NMS_LLDP_ROOT}='10.0.0.1';
$conf{NMS_LLDP_USEDB} Используем БД для визуализации $conf{NMS_LLDP_USEDB}=1;
$conf{NMS_LLDP_STP} В сети используется STP $conf{NMS_LLDP_STP}=1;