Tutorial: Fundamentos de SNMP: ¿Qué es SNMP?

Este tutorial es un esfuerzo para explicar brevemente acerca de

¿Qué es SNMP?

Protocolo Simple de Administración de Redes (SNMP) es un protocolo de capa de aplicación definido por la Junta de Arquitectura de Internet (IAB) en el RFC1157 para el intercambio de información de gestión entre dispositivos de red. Forma parte del conjunto de protocolos del Protocolo de Control de Transmisión/Protocolo de Internet (TCP/IP).

SNMP es uno de los protocolos ampliamente aceptados para gestionar y monitorear los elementos de la red. La mayoría de los elementos de la red de grado profesional vienen con el paquete de agente del SNMP. Estos agentes deben ser habilitados y configurados para comunicarse con el sistema de gestión de la red (NMS).

Componentes básicos de SNMP y sus funcionalidades

El SNMP consta de

Administrador de SNMP:

Un administrador o sistema de gestión es una entidad separada que se encarga de comunicarse con los dispositivos de red implementados por el agente del SNMP. Por lo general, se trata de una computadora que se utiliza para ejecutar uno o más sistemas de gestión de redes.

Funciones clave del administrador de SNMP
  • Consultar a los agentes
  • Recibir respuestas de los agentes
  • Establecer variables en los agentes
  • Reconocer los eventos asincrónicos de los agentes

Dispositivos gestionados:

Un dispositivo gestionado o el elemento de red es una parte de la red que requiere algún tipo de monitorización y gestión, por ejemplo, routers, switches, servidores, estaciones de trabajo, impresoras, UPS, etc...

Agente SNMP:

El agente es un programa que está empaquetado dentro del elemento de la red. La habilitación del agente le permite recopilar la base de datos de información de gestión del dispositivo localmente y la pone a disposición del administrador de SNMP, cuando éste la solicita. Estos agentes pueden ser estándar (por ejemplo, Net-SNMP) o específicos de un proveedor (por ejemplo, el agente de información de HP)

Funciones clave del agente del SNMP
  • Recopila información de gestión sobre su entorno local
  • Almacena y recupera la información de gestión según se define en el MIB.
  • Señala un evento al administrador.
  • Actúa como un proxy para algún nodo de la red no gestionable de SNMP.
Diagrama básico de comunicación de SNMP
Diagrama básico de comunicación de SNMP - ManageEngine OpManager

Base de datos de información de gestión o base de información gestionada (MIB)

Cada agente de SNMP mantiene una base de datos de información que describe los parámetros del dispositivo gestionado. El administrador de SNMP utiliza esta base de datos para solicitar al agente información específica y además traduce la información según sea necesario para el sistema de gestión de la red (NMS). Esta base de datos comúnmente compartida entre el Agente y el Administrador se llama base de información gestionada (MIB).

Normalmente estas MIB contienen un conjunto estándar de valores estadísticos y de control definidos para los nodos hardware de una red. SNMP también permite la ampliación de estos valores estándar con valores específicos para un agente determinado mediante el uso de MIB privadas.

En resumen, los archivos del MIB son el conjunto de preguntas que el administrador de SNMP puede hacer al agente. El agente recopila estos datos localmente y los almacena, tal como se define en el MIB. Por lo tanto, el administrador de SNMP debe estar al tanto de estas preguntas estándar y privadas para cada tipo de agente.

Explorador MIB de SNMP y Herramienta SNMP Walk

El conjunto de herramientas gratuitas de ManageEngine incluye al Explorador MIB de SNMP que ayuda a cargar/descargar MIB y a buscar datos MIB de agentes SNMP(v1, v2c, v3). El explorador MIB de SNMP es una herramienta completa para monitorizar dispositivos y servidores habilitados por SNMP. Puedes cargar, ver múltiples módulos MIB y realizar operaciones GET, GETNEXT y SET SNMP. Esta herramienta es fácil de usar y le permite ver, configurar y analizar trampas de SNMP. También puede realizar operaciones de SNMP desde dispositivos Windows y Linux.

Estructura de MIB y el Identificador de Objeto (Object ID u OID)

Base de información gestionada (MIB) es una colección de información para la gestión de los elementos de la red. Las MIB comprenden los objetos gestionados identificados con el nombre de Identificador de Objetos (Object ID u OID).

Cada Identificador es único y denota características específicas de un dispositivo gestionado. Cuando se le consulte, el valor de retorno de cada identificador podría ser diferente, por ejemplo, Texto, Número, Contador, etc...

Hay dos tipos de Objeto Gestionado o Object ID: Escalar y Tabular. Se pueden entender mejor con un ejemplo

Escalar: Nombre del proveedor del dispositivo, el resultado puede ser sólo uno. (Como dice la definición: "Objeto escalar define una sola instancia de objeto")

Tabular: Utilización de la CPU de un Procesador Quad, esto me daría un resultado para cada CPU por separado, significa que habrá 4 resultados para ese Object ID en particular. (Como dice la definición: "Objeto tabular define múltiples instancias de objetos relacionados que se agrupan en tablas MIB")

Cada Object ID está organizado jerárquicamente en MIB. La jerarquía MIB puede representarse en una estructura de árbol con un identificador de variables individuales.

Una identificación de objeto típica será una lista punteada de números enteros. Por ejemplo, el OID en RFC1213 para "sysDescr" es .1.3.6.1.2.1.1.1

Diagrama de árbol de MIB
Diagrama de árbol de MIB - ManageEngine OpManager
 

Comandos básicos de SNMP

La simplicidad en el intercambio de información ha hecho que SNMP sea un protocolo ampliamente aceptado. La razón principal es un conjunto conciso de comandos, los cuales se enumeran a continuación:

  • GET: La operación GET es una solicitud enviada por el administrador al dispositivo gestionado. Se realiza para recuperar uno o más valores del dispositivo gestionado.
  • GET NEXT: Esta operación es similar al GET. La diferencia significativa es que la operación GET NEXT recupera el valor del siguiente OID en el árbol MIB.
  • GET BULK: La operación GETBULK se utiliza para recuperar datos voluminosos de una tabla MIB grande.
  • SET: Esta operación es utilizada por los administradores para modificar o asignar el valor del dispositivo gestionado.
  • TRAPS: A diferencia de los comandos anteriores que se inician desde el SNMP Manager, TRAPS son iniciados por los agentes. Es una señal para el Administrador de SNMP hecha por el Agente sobre la ocurrencia de un evento.
  • INFORM: Este comando es similar al TRAP iniciado por el Agente, además INFORM incluye la confirmación del Administrador de SNMP al recibir el mensaje.
  • RESPONSE: Es el comando utilizado para llevar de vuelta el valor o señal de las acciones dirigidas por el Administrador de SNMP.
 

SNMP Traps:

Las trampas de SNMP permiten que un agente notifique al administrador de SNMP sobre eventos significativos mediante un mensaje SNMP no solicitado. Los protocolos de trampas de SNMP incluyen el valor sysUpTime actual, un OID identificando el tipo de trampa y los enlaces variables opcionales. El direccionamiento de destino para las trampas de SNMP se determina de manera específica para cada aplicación, típicamente a través de las variables de configuración de la trampa en el MIB. El formato del mensaje trampa se cambió en SNMPv2 y las unidades de datos del protocolo cambiaron de nombre a SNMPv2-Trap.

Comunicación típica de SNMP

Siendo parte del conjunto de protocolos TCP/IP, los mensajes de SNMP se empaquetan como Protocolo de Datagrama de Usuario (UDP) e internamente se empaquetan y transmiten en el Protocolo de Internet. El siguiente diagrama ilustrará el modelo de cuatro capas desarrollado por el Departamento de Defensa (DoD).

Capas SNMP - ManageEngine OpManager

GET/ GET NEXT/ GET BULK/ SET

Obtener una respuesta SNMP - ManageEngine OpManager

TRAP

Trap SNMP - ManageEngine OpManager

INFORM

Reconocimiento de informe SNMP - ManageEngine OpManager
Por defecto, el puerto SNMP es el 161 y TRAP/INFORM utiliza el puerto SNMP 162 para la comunicación.
 

Versiones de SNMP

Desde su inicio, SNMP ha pasado por importantes mejoras. Sin embargo, los protocolos SNMP v1 y v2c son las versiones más implementadas de SNMP. El apoyo al Protocolo SNMP v3 ha comenzado recientemente a ponerse al día, ya que es más seguro en comparación con sus versiones anteriores, pero todavía no ha alcanzado una cuota de mercado considerable.

SNMPv1:

Esta es la primera versión del protocolo SNMP, el cual se define en las RFC 1155 y 1157

SNMPv2c:

Este es el protocolo revisado, que incluye mejoras al SNMPv1 en las áreas de tipos de paquetes de protocolo, mapeos de transporte, elementos de estructura de MIB pero utilizando la estructura de administración existente de SNMPv1 ("basado en la comunidad" y por lo tanto SNMPv2c). Está definido en RFC 1901, RFC 1905, RFC 1906, RFC 2578.

SNMPv3:

SNMPv3 define la versión segura de SNMP. El protocolo SNMPv3 también facilita la configuración remota de las entidades SNMP. Está definido por RFC 1905, RFC 1906, RFC 3411, RFC 3412, RFC 3414, RFC 3415.

Aunque cada versión había madurado hacia funcionalidades ricas, se hizo más hincapié en el aspecto de la seguridad en cada actualización. Aquí hay un pequeño resumen del aspecto de seguridad de cada edición.

SNMP v1 Seguridad basada en la comunidad
SNMP v2c Seguridad basada en la comunidad
SNMP v2u Seguridad basada en el usuario
SNMP v2 Seguridad basada en las partes
SNMP v3 Seguridad basada en el usuario
Puntos a considerar: OpManager es compatible con todas las versiones de SNMP. Puede monitorear cualquier dispositivo habilitado para SNMP para gestionar/monitorizar su desempeño y para procesar trampas de SNMP.
– OpManager: Software de monitoreo de redes de ManageEngine