Conceptos básicos del protocolo SNMP

Tutorial de SNMP

Este tutorial es un esfuerzo para dar una explicación breve sobre

¿Qué es SNMP?

El 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 RFC1157 para intercambiar información de administración entre dispositivos de red. Forma parte del conjunto de protocolos Protocolo de control de transmisión/Protocolo de Internet (TCP/IP).

SNMP es uno de los protocolos ampliamente aceptados para administrar y monitorizar elementos de red. La mayoría de los elementos de red de nivel profesional vienen con un agente SNMP incluido. Estos agentes deben estar habilitados y configurados para comunicarse con el sistema de administración de red (NMS).

Componentes básicos de SNMP y sus funcionalidades

SNMP consta de

Administrador SNMP:

Un administrador o sistema de administración es una entidad separada responsable de comunicarse con los dispositivos de red implementados por el agente SNMP. Normalmente es un equipo que se utiliza para ejecutar uno o más sistemas de administración de red.

Funciones clave del administrador SNMP
  • Agentes de consultas
  • Obtiene respuestas de agentes
  • Establece variables en agentes
  • Reconoce eventos asincrónicos de agentes

Dispositivos administrados:

Un dispositivo administrado o el elemento de red es una parte de la red que requiere algún tipo de monitorización y administración, por ejemplo, enrutadores, conmutadores, servidores, estaciones de trabajo, impresoras, UPS, etc.

Agente SNMP:

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

Funciones clave del agente SNMP
  • Recopila información de administración sobre su entorno local
  • Almacena y recupera información de gestión según se define en la MIB.
  • Señala un evento al administrador.
  • Actúa como proxy para algunos nodos de red administrables que no son SNMP.

 

Diagrama básico de comunicación SNMP
¿Qué es SNMP? - ManageEngine OpManager

Base de datos de información de administración o Base de información de administración (MIB)

Cada agente SNMP mantiene una base de datos de información que describe los parámetros del dispositivo administrado. El administrador SNMP usa esta base de datos para solicitar al agente información específica y traduce aún más la información según sea necesario para el Sistema de administración de red (NMS). Esta base de datos comúnmente compartida entre el Agente y el Administrador se denomina Base de información de administración (MIB).

Por lo general, estas MIB contienen un conjunto estándar de valores estadísticos y de control definidos para nodos de hardware de una red. SNMP también permite la extensión de estos valores estándar con valores específicos para un agente en particular mediante el uso de MIB privadas.

En resumen, los archivos MIB son el conjunto de preguntas que un administrador SNMP puede hacerle al agente. El agente recopila estos datos localmente y los almacena, según se define en la MIB. Por lo tanto, el administrador de SNMP debe conocer estas preguntas estándar y privadas para cada tipo de agente.

 

Navegador SNMP MIB y herramienta SNMP Walk

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

 

Estructura de MIB e identificador de objeto (ID de objeto u OID)

La Base de información de administración (MIB) es una recopilación de información para administrar el elemento de red. Las MIB se componen de objetos administrados identificados mediante el nombre Identificador de objeto (ID de objeto u OID).

Cada identificador es único y señala características específicas de un dispositivo administrado. Cuando se lo consulta, el valor de retorno de cada identificador puede ser diferente, por ejemplo, Texto, Número, Contador, etc.

Hay dos tipos de objeto administrado o ID de objeto: Escalar y tabular. Podrían entenderse mejor con un ejemplo

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

Tabular: El uso de la CPU de un procesador cuádruple, esto me daría un resultado para cada CPU por separado, lo que significa que habrá 4 resultados para esa ID de objeto en particular. (Como dice la definición: "El objeto tabular define varias instancias de objetos relacionados que se agrupan en tablas MIB")

Cada ID de objeto se organiza jerárquicamente en MIB. La jerarquía de MIB se puede representar en una estructura de árbol con un identificador de variable individual.

Un ID de objeto normal será una lista punteada de enteros. Por ejemplo, el OID en RFC1213 para "sysDescr" es .1.3.6.1.2.1.1.1

 

Diagrama de árbol de MIB
Protocolo SNMP -ManageEngine OpManager
 

Comandos básicos de SNMP

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

  • GET: La operación GET es una solicitud enviada por el administrador al dispositivo administrado. Se realiza para recuperar uno o más valores del dispositivo administrado.
  • GET NEXT: Esta operación es parecida a la 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: Los administradores utilizan esta operación para modificar o asignar el valor del dispositivo administrado.
  • TRAPS: A diferencia de los comandos anteriores que se inician desde el administrador SNMP, los agentes inician TRAPS. Es una señal al administrador SNMP por parte del agente sobre la repetición de un evento.
  • INFORM: Este comando es similar al TRAP iniciado por el agente, además, INFORM incluye la confirmación del administrador SNMP al recibir el mensaje.
  • RESPONSE: Es el comando utilizado para transportar los valores o la señal de las acciones dirigidas por el administrador de SNMP.
 

Capturas SNMP:

Las capturas SNMP permiten que un agente notifique al administrador SNMP de eventos significativos mediante un mensaje SNMP no solicitado. Los protocolos de captura SNMP incluyen el valor actual de sysUpTime, un OID que identifica el tipo de captura y enlaces de variables opcionales. El direccionamiento de destino para las capturas SNMP se determina de una manera específica para la aplicación, generalmente a través de variables de configuración de captura en la MIB. El formato del mensaje de captura se modificó en SNMPv2 y las unidades de datos de protocolo cambiaron su nombre a SNMPv2-Trap.

Comunicación SNMP normal

Al ser parte del conjunto de protocolos TCP⁄ IP, los mensajes SNMP se envuelven como Protocolo de datagramas de usuario (UDP) y el interno se envuelve y transmite en el Protocolo de Internet. El siguiente diagrama ilustrará el modelo de cuatro capas desarrollado por el Departamento de Defensa (DoD).

Monitorización de SNMP - ManageEngine OpManager

GET⁄ GET NEXT⁄ GET BULK⁄ SET

Puerto SNMP - ManageEngine OpManager

 

TRAP

Monitoreo de SNMP - ManageEngine OpManager

 

INFORM

Agente SNMP - ManageEngine OpManager

 

De forma predeterminada, el puerto SNMP es 161 y TRAP⁄INFORM utiliza el puerto SNMP 162 para la comunicación.
 

Versiones de SNMP

Desde su inicio SNMP ha sufrido importantes actualizaciones. Sin embargo, el protocolo SNMP v1 y v2c son las versiones más implementadas de SNMP. La compatibilidad con el protocolo SNMP v3 ha comenzado a ponerse al día recientemente, ya que es más segura en comparación con sus versiones anteriores, pero aún no ha alcanzado una cuota de mercado considerable.

SNMPv1:

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

SNMPv2c:

Este es el protocolo revisado, que incluye mejoras de SNMPv1 en las áreas de tipos de paquetes de protocolo, asignaciones de transporte y elementos de estructura MIB pero usando la estructura de administración SNMPv1 existente ("basada en la comunidad" y, por lo tanto, SNMPv2c). Se define 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. Se define mediante RFC 1905, RFC 1906, RFC 3411, RFC 3412, RFC 3414, RFC 3415.

Aunque cada versión había evolucionado hacia funcionalidades sofisticadas, destacó especialmente el aspecto de seguridad en cada actualización. Aquí hay un pequeño clip sobre la 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 el grupo
SNMP v3 Seguridad basada en el usuario
Puntos que tener en cuenta: OpManager admite todas las versiones de SNMP. Puede monitorizar cualquier dispositivo habilitado para SNMP para administrar/monitorizar su rendimiento y procesar TRAP de SNMP. OpManager: Software de monitorización de red de ManageEngine