топология сети - PullRequest
       11

топология сети

4 голосов
/ 18 августа 2010

Я пытаюсь создать приложение, отображающее топологию сети, используя c или, может быть, c ++У меня есть знания о сокетах.Я знаю это широкий вопрос с небольшими деталями.Просто я не нашел с чего начать.Я понятия не имею, что делать.

Ответы [ 2 ]

5 голосов
/ 18 августа 2010

Это, как и любая проблема, с которой вы сталкиваетесь в жизни, требует четкого определения проблемы.И вам нужно будет разбить ее на части.

Во-первых, вам нужно «обнаружить» топологию или она уже где-то представлена ​​в текстовом файле?Требуется ли вам просто отобразить топологию (в этом случае программа под названием «graphviz», вероятно, уже выполнит ту работу, которая вам требуется)?Если вам нужно определить топологию, что это за сеть?LAN?WAN?TCP / IP?Что-то еще?

Тогда вы должны спросить себя, почему вы хотите использовать C или C ++ - из вашего вопроса может показаться, что у вас нет большого опыта работы с сетями - поэтому неясно, почему вы хотите пойтина проблему использования языка низкого уровня для выполнения выбранной вами задачи.Возможно, в ближайшем будущем подойдет язык высокого уровня.

Помните, что многие столкнулись с той же проблемой, с которой вы столкнулись - построение топологии сети;таким образом, есть много приложений, которые делают именно это.Возможно, вы могли бы уточнить причины, по которым вы хотите попробовать выполнить это задание самостоятельно?

1 голос
/ 29 апреля 2015

Я собираюсь сделать некоторые предположения:1. У вас есть сетевое подключение к оборудованию.2. У вас есть или вы можете получить права доступа SNMP-чтение .

Большинство сетевых устройств могут взаимодействовать с SNMP.Из информации SNMP вы можете определить множество информации об устройстве.Среди информации, которую вы можете получить: "CDP" и "LLDP" информация.«CDP» - это собственный протокол Cisco для информации о соседях, а «LLDP» - открытый стандарт, который устройства Cisco обычно также поддерживают.

Если на устройствах нет CDP или LLDP, и вы не можете включить его, вместо этогоиспользуйте FDB (База данных пересылки).Это означает, что вы сопоставляете MAC-адрес интерфейсного устройства, которое вы получаете с SNMP, с таблицей MAC-адресов интерфейсов других устройств.Это немного сложнее, поскольку MAC-адрес может отображаться на нескольких интерфейсах.Я не знаю, как именно это представляется.

Так что для логической части выяснения, как все связано, я думаю, что это путь.Графические части, с которыми кому-то еще придется помогать.

...