Как программно определить топологию сети

Network Maps. Краткий обзор софта для построения карт сети

image

Данная статья родилась только потому, что крайне трудно найти сравнительные характеристики подобного программного обеспечения, а то и просто список, в одном месте. Приходится перелопатить кучу материала, чтобы прийти хоть к какому-то выводу.

В связи с этим я решил немного сэкономить время и силы тех, кого интересует данный вопрос, и собрал максимально возможное, читай осиленное мной, количество систем для network mapping’а в одном месте.

Часть систем, описанных в данной статье, были в свое время испробованы мной лично. Скорее всего, это были неактуальные на данный момент версии. Часть из нижеприведенного я вижу впервые, и информация по ним собиралась исключительно в рамках подготовки данной статьи.

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

1. Теория

1.1. Зачем?

Чтобы ответить на вопрос «Зачем?» сначала нужно понять, что же такое «Карта сети». Карта сети – (чаще всего) логико-графико-схематическое представление взаимодействия сетевых устройств и их связи, которое описывает их наиболее значимые параметры и свойства. В наше время часто применяется в связке с мониторингом состояния устройств и системой оповещения. Так вот: затем, чтобы иметь представление о расположении узлов сети, их взаимодействии и связях между ними. В связке с мониторингом мы получаем рабочий инструмент для диагностики поведения и прогнозирования поведения сети.

1.2. L1, L2, L3

Они же Layer 1, Layer 2 и Layer 3 в соответствии с моделью OSI. L1 – физический уровень (провода и коммутация), L2 – уровень физической адресации (mac-адреса), L3 – уровень логической адресации (IP-адреса).

Строить карту L1 смысла, по сути, нет, она логически вытекает из той же L2, за исключением, пожалуй, медиаконвертеров. И то, сейчас существуют медиаконвертеры, которые так же можно отслеживать.

По логике – L2 строит карту сети, основываясь на mac-адресах узлов, L3 – на IP-адресах узлов.

1.3. Какие данные отображать

Тут зависит от решаемых задач и пожеланий. Мне, например, само собой хочется понимать, «жива» ли сама железка, на каком ее порту что «висит» и в каком состоянии порт – up или down. Это может L2. Да и вообще L2 мне кажется наиболее применимой в прикладном смысле топологией карты сети. Но, на вкус и цвет…

Читайте также:  Назначение и особенности компьютерных сетей

Скорость соединения на порту – неплохо, но не критично, если там находится конечное устройство – принтер\ПК. Хорошо бы иметь возможность посмотреть уровень загрузки процессора, количество свободной оперативной памяти и температуру на железке. Но это уже не так просто, тут нужно будет настраивать систему мониторинга, которая умеет читать SNMP и выводить и анализировать полученные данные. Об этом позднее.

По поводу L3 нашел вот такую статью.

1.4. Как?

Можно руками, можно в автоматическом режиме. Если руками – то долго и нужно учитывать человеческий фактор. Если автоматически – то нужно учесть, что все сетевые устройства должны быть «умными», уметь в SNMP и этот SNMP должен быть правильно настроен, чтобы система, которая будет собирать с них данные, смогла эти данные считать.

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

Процесс автоматического формирования карты примерно следующий:

  • система считывает данные с сетевого оборудования
  • на основе данных формирует для каждого порта маршрутизатора таблицу соответствия адресов на портах
  • сопоставляет адреса и имена устройств
  • строит связи порт-порт\устройство
  • отрисовывает все это в виде схемы, «интуитивно понятной» для пользователя

2. Практика

Итак, поговорим теперь о том, с помощью чего можно построить карту сети. Возьмем за отправную точку, что мы хотим, конечно же, максимально автоматизировать данный процесс. Ну, то есть Paint и MS Visio отпадают… хотяяяя… Нет, все-таки отпдают.

Существует специализированный софт, решающий задачу построения карты сети. Какие-то программные продукты могут только предоставить среду для «ручного» добавления картинок со свойствами, отрисовывания связей и запускают «мониторинг» в крайне урезанном виде (жива ли нода, или уже не отвечает). Другие же могут не просто самостоятельно отрисовать схему сети, но и считать кучу параметров с SNMP, оповещать пользователя по SMS в случае поломок, предоставить кучу информации по портам сетевой железки, и все это является лишь частью их функционала (та же NetXMS).

2.1. Продукты

Список далеко не полный, так как существует ну очень много подобного рода софта. Но это все, что выдает гугл по теме (в том числе и англоязычные сайты):

LanTopoLog
Nagios
Icinga
NeDi
Pandora FMS
PRTG
NetXMS
Zabbix
The Dude
nMap
yEd Graph Editor

LanState
Total Network Monitor
Solarwinds Network Topology Mapper
UVexplorer
Auvik
AdRem NetCrunch
UserSide

2.2.1. Бесплатное ПО

2.2.1.1. LanTopoLog

image

ПО разработки Юрия Волокитина. Интерфейс простой настолько, насколько это вообще возможно. Софтина поддерживает, скажем так, полуавтоматическое построение сети. Ей нужно «скормить» настройки всех маршрутизаторов (IP, SNMP credentials), далее все произойдет само, а именно будут построены связи между устройствами с указанием портов.

Есть платная и бесплатная версии продукта.

2.2.1.2. Nagios

image

image

Open Source ПО, существует с 1999 года. Система разработана для мониторинга сети, то есть она умеет считывать данные через SNMP и автоматически строить карту сети, но так как это ее не основная функция, то делает она это весьма… странно… Для построения карт используется NagVis.

Читайте также:  Состав и основные характеристики компьютерных сетей

2.2.1.3. Icinga

image

image

Icinga – это Open Source система, которая в свое время отпочковалась от Nagios. Система позволяет автоматически строить карты сети. Проблема лишь в том, что карты она строит при помощи аддона NagVis, который был разработан под Nagios, так что будем считать, что в качестве построения карты сетей эти две системы идентичны.

2.2.1.4. NeDi

image

Умеет автоматически обнаруживать ноды в сети, и на основе этих данных строить карту сети. Интерфейс довольно простой, есть мониторинг состояния по SNMP.

Есть бесплатная и платная версии продукта.

2.2.1.5. Pandora FMS

image

Умеет в автообнаружение, автопостроение сети, SNMP. Приятный интерфейс.

Есть бесплатная и платная версии продукта.

2.2.1.6. PRTG

image

ПО не умеет в автоматическое построение карты сети, только перетаскивание картинок вручную. Но при этом умеет мониторить состояние устройств через SNMP. Интерфейс оставляет желать лучшего, на мой субъективный взгляд.

30 дней — полный функционал, потом — «бесплатная версия».

2.2.1.7. NetXMS

image

NetMXS – это в первую очередь Open Source система мониторинга, построение карты сети – побочная функция. Но реализована она достаточно аккуратно. Автоматическое построение на основе автообнаружения, мониторинг нод по SNMP, умеет отслеживать состояние портов маршрутизаторов и другую статистику.

2.2.1.8. Zabbix

image

Zabbix – это тоже Open Source система мониторинга, причем более гибкая и мощная, чем NetXMS, но карты сети он умеет строить только в ручном режиме, а вот мониторить может практически любые параметры маршрутизаторов, сбор которых только можно настроить.

2.2.1.9 The Dude

image

В целом не сложная бесплатная утилитка, заточенная под работу с маршрутизаторами Mikrotik. Позволяет управлять устройствами, не выходя из программы. Так же может работать и с устройствами других вендоров, но об этом не заявлено официально, и списка поддерживаемых устройств я не нашел. На мой вкус интерфейс не самый приятный, но работать в нем можно.

2.2.1.10. nMap

image

Основной функционал данного ПО — сканирование безопасности сети. Но на базе собранных данных система может построить и карту сети, правда, мониторить в привычном смысле она не может (насоклько я понял). Зато выводит исчерпывающую информацию на карту.

2.2.1.11. yEd Graph Editor

image

Данное ПО не умеет автоматически строить карты сети, но к нему можно написать собственные модули на Python. Готового модуля для решения данной задачи я не нашел. У объектов есть свойства, в которые можно добавить ссылки для ускорения перехода на объекты. Так же можно настроить мониторинг.

Вообще, это ПО предназначено не только для отрисовки карт сети, оно имеет более широкий функционал.

Канал на YouTube, от создателей, где можно найти и туториалы по работе, и описание функций. Канал на английском языке.

2.2.2. Платное ПО

2.2.2.1. LanState

image

Платное ПО, позволяющее автоматически просканировать топологию сети и на базе обнаруженного оборудования построить карту сети. Позволяет мониторить состояние обнаруженных устройств только по up\down самой ноды.

Читайте также:  Какая компьютерная сеть является локальной

2.2.2.2. Total Network Monitor

image

Платное ПО, которое не умеет автоматически строить карту сети. Не умеет даже автоматически обнаруживать ноды. По-сути это тот же Visio, только ориентированный на сетевую топологию. Позволяет мониторить состояние обнаруженных устройств только по up\down самой ноды.

Черт! Я же писал выше, что от Paint и Visio мы отказываемся. Ладно, пусть будет.

Видео-мануал я не нашел, да он и не нужен… Программка так себе.

2.2.2.3. Solarwinds Network Topology Mapper

image

Платное ПО, есть триал-период. Может автоматически просканировать сеть и самостоятельно составить карту по заданным параметрам. Интерфейс довольно простой и приятный.

2.2.2.4. UVexplorer

image

Платное ПО, 15-тидневный триал. Умеет автообнаружение и автоматическое отрисовывание карты, мониторинг девайсов только по состоянию up/down, то есть через пинг устройства.

2.2.2.5. Auvik

image

Довольно симпатичная платная программка, умеет в автообнаружение и мониторинг сетевых устройств.

2.2.2.6. AdRem NetCrunch

image

Платная софтина с 14ти дневным триалом. Умеет в автоопределение и автопостроение сети. Интерфейс восторгов не вызвал. Умеет так же в SNMP мониторинг.

2.2.2.7. UserSide

image

По-сути, это мощная ERP-система для провайдеров. Презентация с возможностями вот тут есть. Умеет мониторить все, что только можно и как только можно. Но это дорогой монстр, мощности которого для простого построения карты сети слишком велики… Но… Карты же он рисует…

3. Табличка сравнения

Как оказалось — придумать актуальные и важные параметры для сравнения систем и при этом уместить их в одну маленькую табличку — достаточно сложно. У меня родилось вот это:

image

*Параметр «User Friendly» является крайне субъективным, и я это понимаю. Но как еще описать «топорность и нечитаемость» я не придумал.

**«Мониторинг не только сети» подразумевает под собой работу системы как «систему мониторинга» в привычном понимании этого термина, то есть возможность считывать метрики с ОС, хостов виртуализации, получать данные от приложений в гостевых ОС и т.д.

4. Личное мнение

Из личного опыта — использовать ПО отдельно для мониторинга сети я не вижу смысла. Мне больше импонирует мысль использовать систему мониторинга всего и вся с возможностью построения карты сети. У Zabbix с этим дело обстоит… трудно. Nagios и Icinga — тоже. И только NetXSM порадовала в этом плане. Хотя, если заморочиться и сделать карту в Zabbix, то это выглядит даже более перспективным, нежели NetXMS. Есть еще Pandora FMS, PRTG, Solarwinds NTM, AdRem NetCrunch, и скорее всего куча еще чего, не вошедшего в данную статью, но я их видел только на картинках и в видео, так что ничего сказать о них не могу.

По поводу NetXMS была написана статья с небольшим обзором возможностей системы и небольшой how to.

P.S.:

Если я где-то ошибся, а я скорее всего ошибся, будьте добры, исправьте в комментариях, я подправлю статью, дабы тем, кому эта информация будет полезной, не пришлось все перепроверять на собственном опыте.

Источник

Оцените статью
Adblock
detector