Изначально протокол SNMP был разработан с целью проверки функционирования сетевых маршрутизаторов и мостов. Впоследствии сфера действия протокола охватила и другие сетевые устройства, такие как хабы, шлюзы, терминальные сервера, LAN Manager сервера, машины под управлением Windows NT и так далее. Кроме того, протокол реализует возможность внесения изменений в функционирование указанных устройств.

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

Так, например, для раздела, относящегося к интерфейсам Ethernet, определен тест TDR (Time-domain reflectometry), позволяющий определять приблизительное расстояние до повреждения в коаксиальном кабеле. Для того, чтобы запустить TDR тест необходимо установить значение переменной ifExtnsTestTypе (1.3.6.1.2.1.12.2.1.4), содержащей тип выполняемого теста, так, чтобы она содержала идентификатор теста TDR в MIB: 1.3.6.1.2.1.10.7.6.1.

Результатом теста будет, во-первых, значение переменной ifExtnsTestResult (1.3.6.1.2.1.12.2.1.5), характеризующей исход теста:

1.                  отсутствие результата

2.                  успех

3.                  выполняется

4.                  не поддерживается

5.                  невозможно запустить

6.                  прекращен

7.                  неудачное завершение

И во-вторых, значение переменной ifExtnsTestCode (1.3.6.1.2.1.12.2.1.6) будет содержать идентификатор переменной MIB, содержащей результат теста. Результат теста определен как временной интервал в 100-наносекундных единицах между началом передачи тестового пакета и обнаружением коллизий в несущей. В принципе, на основании данного значения можно определить требуемое расстояние.

 

Такого рода тесты поддерживаются различными производителями для своих продуктов и находят отражение в соответствующих переменных MIB.

Администратор сети может найти в лице протокола SNMP хорошего помощника, имея полный доступ к описаниям переменных MIB различных сетевых устройств и мощный пакет, который бы облегчал работу с громоздкими именами переменных в SNMP.

Рассмотрим пример

 

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

root@darkstar:~# snmpset 10.0.0.2 public system.sysContact.0 s test@test.com

и получим ответ:


system.sysContact.0 = test@test.com

 


Этот пакет был отловлен сниффером NetXRay на сетевом интерфейсе агента.

Наблюдаем Request ID и параметры запроса.


На полном скриншоте можно увидеть стек протоколов - от кадров Ethernet, через UDP доходим до самого Simple Network Management Protocol.

 



 А этот пакет был получен с интерфейса менеджера. Как видите, название группы абсолютно никак не шифруется (о чем в свою очередь говорит Protocol version number: 1).

 

 


Для удобства пользования протоколом создаются различные пользовательские интерфейсы.

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

Ниже приведен фрагмент подобной рабочей программы, где можно реально проследить за интересующим Вас объектом сети.

 

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

 

 


С точки зрения управления сетью, главной целью глобального дерева имен является обеспечение стандартного метода задания и получения значений параметров управляемых объектов. При выполнении операций чтения и записи важно знать, что некоторые объекты могут предоставлять информацию по нескольким пунктам, например мост или маршрутизатор с несколькими интерфейсами. Для доступа к конкретному интерфейсу используется расширенный путь: идентификатор объекта снабжается индексом. Лучше всегда добавлять индекс к пути, даже если объект определен как один в своем роде, например время работоспособности системы или имя системы (в этом случае индекс 0).

Путь к каждому идентификатору объекта представлен как последовательность восьми целых чисел, отделенных точкой, но так как каждый идентификатор представляет уникальный элемент, то мы будем добавлять 0 при определении пути к тому или иному идентификатору. Например, путь к sysContact имеет вид 1.3.6.1.2.1.1.4.0, а путь к sysName - 1.3.6.1.2.1.1.5.0.

SimpleView, программа управления по протоколу SNMP для ПК под Windows, разработанная Triticom, демонстрирует использование глобального дерева имен.

SimpleView содержит команды для запроса объектов из групп mib-2, rmon и Token Ring rmon. Запросы поддерживаются как посредством ввода пути в глобальном дереве имен, так и через MIB Walk. Последняя функция SimpleView позволяет пользователям раскрывать метки групп объектов, находящихся под узлом MIB-2, и выбирать нужный объект, даже не зная его положения в иерархии глобального дерева имен.

MIB Walk значительно упрощает доступ к значениям объектов из узла MIB-2. Однако в некоторых ситуациях, например при работе с нестандартной базой MIB из дерева private/enterprises, представление соответствующего идентификатора объекта в виде последовательности целых чисел, разделенных точками, будет только способствовать доступу к данным или записи информации в объект.

Ниже на рисунке изображен вывод на экран с окном MIB Walk. Вначале вы инициализируете программу, вводите имя и IP-адреса одного или более зондов и выбираете один зонд (он выделен цветом над зондом Ethernet). Затем выбираете SNMP-команду Get Next (получить следующий) из меню Manage; последнее действие приводит к появлению диалогового окна, помеченного Get Next. Это окно (на Рис. 2 оно частично перекрывается окном MIB Walk) позволяет ввести местоположение переменной MIB как в цифровом, так и в символьном виде для выполнения команды. В качестве альтернативы диалоговое окно Get Next предлагает кнопку MIB Browse для генерации окна MIB Walk, которое вы и видите на втором плане рисунка.

SimpleView, программа управления по протоколу SNMP компании Triticom, имеет окно MIB Walk для раскрытия пользователями меток объектов из узла mib-2. Имея эту информацию, пользователь может выбирать объект, не зная его местоположения в глобальном дереве имен.

Для получения экрана, показанного на рисунке, нужно дважды щелкнуть на узле mgmt для отображения узла mib-2, дважды щелкнуть на узле mib-2 для отображения нижележащих групп и затем дважды щелкните на системной группе для отображения расположенных под ней объектов. Элементы ниже системного элемента в окне MIB Walk соответствуют семи идентификаторам объектов в системном дереве. Выделение одного из объектов и щелчок на кнопке Select позволяют выбрать объект, ничего не зная о его положении в глобальном дереве имен.

На рисунке выбрана MIB-переменная sysUpTime. Щелчок на кнопке Select в окне MIB Walk тут же приводит к помещению метки переменной sysUpTime в диалоговое окно как имени переменной. При выборе OK в диалоговой рамке SimpleView обращается к заранее выбранному управляемому объекту, в данном примере зонду Ethernet. Затем SimpleView получает значение переменной sysUpTime от зонда.

 

 


Simple Log хранит результаты поддерживаемых SNMP-команд в журнале "Trap Log". Данный рисунок иллюстрирует результаты ранее выполненных операций SimpleView по получению значений переменной sysUpTime. SysUpTime отображает время, прошедшее с момента последней инициализации системы управления сетью в сотнях секунд, однако SimpleView может также отображать его в днях, часах и минутах.

Диалоговое окно Get Next программы SimpleView отображает цепочку целых чисел, необходимых для доступа к переменной sysLocation. Добавленный к пути 0 указывает на то, что цепочка представляет уникальный объект.

Получив доступ к переменной MIB при помощи SimpleView, путешествие по базе MIB можно продолжить подачей последовательности команд Get Next. Каждый раз при подаче команды Get Next (отличной от первой в последовательности) переменная MIB в диалоговом окне Get Next отображается в виде ряда целых чисел.

На рисунке показано диалоговое окно Get Next, содержащее цепочку целых чисел, необходимых для доступа к переменной sysLocation. Строка для данной переменной MIB имеет в качестве добавления к пути число 0, поскольку она представляет уникальный объект. Как показывают элементы в Trap Log, значение переменной sysName получено в ответ на ввод пути 1.3.6.1.2.1.1.4.0. Аналогично элемент Not Set под переменной sysContact получен при использовании пути 1.3.6.1.2.1.1.3.0 в поле переменной MIB в диалоговом окне.