Я немного смущен тем, как можно использовать SNMP для обнаружения топологии сети на основе пакетов CDP, которые он получает от устройств Cisco.
Скажем, сеть состоит только из оборудования Cisco. Насколько я понимаю, CDP отправляется устройством только напрямую подключенным устройствам. Так как же диспетчер SNMP узнает об устройствах, подключенных на расстоянии более одного прыжка?
Сетевые устройства используют CDP для построения таблицы соседних устройств. Вы можете извлечь эту таблицу с помощью SNMP для известного устройства и использовать ее для обнаружения его соседей и их адресов управления. Затем вы можете просто повторить процесс, предполагая, что ваши учетные данные SNMP подходят для всех сетевых устройств в локальной сети.
В принципе, вы можете слушать объявления CDP от ближайшего коммутатора, чтобы запустить процесс. Обычно проще начать с известного адреса, такого как маршрутизатор по умолчанию.