Поделиться через


Сведения об управлении маршрутизатором с помощью MIB

API базы сведений об управлении (MIB) для управления маршрутизаторами позволяет запрашивать и задавать значения переменных MIB, экспортированных одним из диспетчеров маршрутизаторов или любым из протоколов маршрутизации, обслуживаемых диспетчерами маршрутизаторов. С помощью этого API маршрутизатор поддерживает протокол SNMP.

На платформе SNMP каждый из управляемых объектов в маршрутизаторе представлен переменной, которая имеет уникальный идентификатор объекта (OID). Каждому OID соответствует значение, представляющее текущее состояние объекта. Коллекция OID и значений называется базой сведений об управлении (MIB). Вызовы MprAdminMib позволяют разработчику указать объект по его OID и запросить или записать ("Задать") значение объекта.

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

Модуль, обслуживающий вызов MIB, является диспетчером маршрутизатора или одним из протоколов маршрутизации. Вызывающий объект должен указать диспетчер маршрутизатора, даже если вызов обрабатывается одним из протоколов маршрутизации. В таком случае вызывающий объект должен указать диспетчер маршрутизатора, соответствующий семейству протоколов для этого протокола маршрутизации. Например, если протокол маршрутизации Open Shortest Path First (OSPF) обрабатывал вызов MIB, вызывающей системе необходимо указать диспетчер IP-маршрутизаторов, так как OSPF принадлежит к семейству протоколов IP. В каждой функции MIB параметр dwTransportId указывает диспетчер маршрутизатора, а параметр RoutingPid — протокол маршрутизации. Диспетчер маршрутизаторов также имеет уникальный routingPid, так как некоторые переменные MIB могут обрабатываться самим диспетчером маршрутизатора.

Функции MprAdminMib можно вызывать на компьютере, отличном от администрирования. Функции MprAdminMIB, которые запрашивают или записывают значения, принимают в качестве параметра дескриптор компьютера для администрирования. Используйте функцию MprAdminMIBServerConnect , чтобы установить подключение к удаленному компьютеру и получить этот дескриптор. После вызова необходимых функций MprAdminMIB для выполнения определенной задачи администрирования вызовите функцию MprAdminMIBServerDisconnect , чтобы завершить подключение к удаленному компьютеру.

Функции MprAdminMIBEntryCreate и MprAdminMIBEntrySet принимают в качестве параметров OID и буфер, содержащий новое значение для объекта .

Функции MprAdminMIBEntryGet, MprAdminMIBEntryGetFirst и MprAdminMIBEntryGetNext принимают в качестве параметров OID и адрес переменной указателя. При успешном возвращении переменная указателя указывает на буфер, содержащий значение объекта . Вызывающий объект должен освободить память для этого буфера, вызвав функцию MprAdminMIBufferFree .

Функции MprAdminMIBEntryGetFirst и MprAdminMIBEntryGetNext позволяют разработчику выполнить пошаговое выполнение SNMP. Так как OID упорядочены, каждый OID и, следовательно, каждый управляемый объект имеет следующий идентификатор OID. SnMP — это обход части MIB путем чтения или записи последовательности OID.

Все вызовы MprAdminMib проходят через диспетчер динамических интерфейсов (DIM). В зависимости от идентификатора OID, DIM передает вызов одному из диспетчеров маршрутизаторов. (И IP, и IPX поддерживают SNMP.) Опять же, в зависимости от идентификатора идентификатора, диспетчер маршрутизатора может обработать сам вызов или передать вызов одному из своих клиентов. Все клиенты маршрутизатора должны реализовывать и экспортировать следующие функции, соответствующие функциям MprAdminMIB с аналогичными именами: