Desde la creación de la primera red de computadoras, denominada ARPANET, que era utilizada para objetivos militares, su número y uso creció de forma global. Como consecuencia, hubo un aumento no solo en escala, sino en complejidad. En este sentido, con el paso del tiempo se hizo cada vez más necesario la implementación de un protocolo estándar y abierto que gestionase la red con el objetivo de tener un mayor control de todo lo relacionado con la estructura funcional de las redes de computadoras.

Hasta que en abril de 1988, la Internet Architecture Board (IAB) publicó un documento muy importante, el RFC 1052 (Request For Comments) que exponía los paradigmas relacionados con la gestión de redes y sus respectivos requisitos.

El primer protocolo que se utilizó fue el Simple Network Management Protocol (SNMP). Derivado del protocolo de monitoreo de puertas de enlace IP (SGMP) y desarrollado por Engineering Task Force (IETF), su objetivo inicial fue crear un artificio rápido y práctico que esquivase los obstáculos de la administración de redes de la época. Aunque en 1989 se pensó que el protocolo era transitorio, fue sustancialmente importante para la evolución de la gestión de redes.

En 1991, se publicó la primera versión del protocolo SNMP original, el SNMPv1 con algunas mejoras relacionadas con su estructura de funcionamiento inicial. De todas formas, antes, en la década de los 80, emergieron dos protocolos de gestión diferentes que utilizaban como base el SNMP original, aunque con algunas mejoras. Se trataba de dos potenciales protocolos de gestión, nos referimos al Common Management Information Protocol (CMIP) y al SNMPv2.

El SNMPv2 (1993) tuvo mucho éxito en el mercado y su actualización todavía más, ya que es el más utilizado hoy en día. Por su parte, el CMIP, a pesar de ser más detallado que el SNMPv1 e incluso que el SNMPv2, no fue utilizado de forma amplia por factores como:

  • A pesar de derivarse del SNMP, utiliza muchos más recursos del sistema, ya que es más complejo y utiliza el TCP como protocolo de transporte.
  • Es mucho más difícil de programar, ya que posee una gran cantidad de variables.
  • Tiene muchas más operaciones que el SNMP.

Por tanto, el gran problema del CMIP es que se convirtió en un sistema muy grande y complejo, es decir, pocas redes consiguen soportarlo de forma satisfactoria.

Entonces, el SNMP pasó a ser muy utilizado a partir de la década de los 90 con diferentes mejoras, como por ejemplo, la implementación de módulos de MIB RMON, y la versión más segura del SNMP fue oficialmente homologada en 1998: el SNMPv3.

A continuación, aparecen los enlaces a algunas RFC que documentan las versiones del SNMP:

SNMPv1: RFC 1157 de 1990.

SNMPv2: Tiene como RFC principales las 3416, 3417 y 3418.

SNMPv3: De la RFC 3410 a la 3418 y la 2576.

DEFINICIÓN DEL PROTOCOLO SNMP

El Simple Network Management Protocol es un protocolo abierto de capa de aplicación que establece el intercambio de información de gestión y recolecta y muestra datos de gestión de redes como variables (fetch-store paradigm).

El SNMP utiliza el protocolo UDP como transporte (puerta modelo UDP 161), donde los mensajes se encapsulan en datagramas IP. A través de su uso, el sistema de gestión de la red solicita información (pooling) a los activos de la red (agentes), altera o busca valores consultados y obtiene respuestas de acuerdo con sus respectivas solicitudes.

Como utiliza un protocolo de transporte que no está orientado a la conexión, el propio SNMP asume el papel de verificación de mensajes no recibidos para evitar retransmisiones ilimitadas. Además, utiliza un timeout, donde el número de intentos es definido por el gestor de la infraestructura operativa de la red.

Podemos representar de forma rudimentaria la interacción entre estos elementos en la imagen siguiente:

Esquema rudimentaria del funcionamiento del SNMP.
Esquema rudimentaria del funcionamiento del SNMP.

SMI – STRUCTURE OF MANAGEMENT INFORMATION

La información de gestión de red solicitadas y recolectadas a través de SNMP deben ser estandarizadas según su organización, nomenclatura, reglas y procedimientos. El tratamiento y modelado de la información de gestión se suele realizar a partir de conceptos relacionados con la orientación de objetivos. Este concepto abstrae el comportamiento de los activos de red, como por ejemplo la descripción de cada una de las interfaces de un rúter en un objeto llamado ifdescr.

Varios objetos se organizan jerárquicamente dentro de una base de datos lógica llamada MIB (Management Information Base), toda esta estandarización de archivos MIB la realiza la Structure Management Information (SMI) mediante una plantilla (MIB II). Además, otra responsabilidad importante de la SMI es indicar cómo el lenguaje de descripción de datos ASN.1 se utilizará para definir los objetos y los tipos de datos asociados a cada uno de ellos.

La descripción de la MIB señala la formalización de su estructura, cada objeto que le pertenece y sus características. La descripción de la MIB es importante debido a su estandarización y uso universal, independiente del fabricante.

A continuación, citaremos algunos tipos de datos importantes en el SNMP y daremos algunos ejemplos:

  • INTEGER
  • STRING
  • OCTETSTRING
  • COUNTER (couter32, couter64)
  • OBJECTIDENTIFIER
  • NULL
  • SEQUENCE
  • SEQUENCE OF
  • IPADDRESS
  • NETWORKADDRESS
  • GAUGE (gauge32, gauge64)
  • TIMETICKS
  • OPAQUE

Cada objeto está asociado a un tipo de dato, por ejemplo, el ifdescr está asociado normalmente al tipo de dato STRING.

OID – OBJECT IDENTIFIER

Un tipo de dato del SNMP que nos gustaría señalar es el OID. El Object Identifier es una string compuesta por número enteros separados por puntos, ya que la MIB puede visualizarse como un árbol que sigue una plantilla, normalmente la MIB II. Cada nudo se representa por un número y el OID es el camino por el que un determinado objeto está dentro de una MIB.

Así, cuando un gestor solicita una información al agente, normalmente se indica en la búsqueda el OID del objeto buscado. En lo que se refiere a la solicitud de información, debemos señalar dos tipos de operaciones en el SNMP.

TIPOS DE OPERACIONES DEL SNMP

El gestor puede solicitar información (request) de diferentes formas:

  • GET-REQUEST: Es una consulta del gestor al agente para capturar el valor de una variable.
  • SET-REQUEST: Es una solicitud del gerente al agente para alterar el valor de una variable. Ejemplo: Alterar hostname.
  • GET-NEXT-REQUEST: Es una solicitud del gestor al agente para capturar el valor de la variable siguiente.
  • GET-BULK-REQUEST: Implantada en el SNMPv2, mejora considerablemente la recuperación de variables. Esta operación, de forma eficaz, pide el máximo de datos que un agente puede enviar en una única respuesta.

El agente puede comunicarse con el gestor de las siguientes formas:

  • RESPONSE: Respuesta por parte del agente a la solicitud del gerente.
  • TRAP: Notificación enviada por parte del agente al gerente.
  • INFORM-REQUEST: Nuevo tipo de TRAP implementada en el SNMPv2, esta operación trabaja con la verificación del envío y recibimiento de notificaciones, por lo que es diferente de una TRAP tradicional.

Cada operación se ejecuta según la información que quiere obtenerse, por ejemplo, existen comandos que se basan en estas operaciones, el paquete NET-SNMP de Linux posee comandos SNMP.

El comando SNMP WALK se basa en la operación GET-NEXT-REQUEST, esto significa que cuando se ejecuta, se realizan varias solicitudes en cada línea (variable o index) de la tabla relacionada al objeto, cada información de cada línea de la tabla del objeto vienen en un paquete response diferente.

La siguiente imagen muestra la MIB browser de SLAview en una consulta de SNMP a MIB IF-MIB en el objeto ifdescr, y la primera da detalles del objeto:

Ifdescr – MIB browser de SLAview
Ifdescr – MIB browser de SLAview

Debe señalarse, que el ítem «acceso» se refiere al permiso del objeto, como aparece con la letra «R», significa que este objeto solo permite la lectura, es decir, no permite la operación SET-REQUEST.

Por su parte, la imagen siguiente muestra el resultado de la consulta a un rúter cisco:

SNMP WALK – MIB browser SLAview
SNMP WALK – MIB browser SLAview

EL PROTOCOLO SNMP Y LA GESTIÓN DEL ENTORNO DE TI

Normalmente, se utilizan los sistemas de monitoreo para atender a las áreas del FCAPS. El protocolo SNMP suele utilizarse dentro de estos sistemas para responder a las áreas de rendimiento y fallas.

Actualmente, el protocolo SNMP es el más utilizado en el mundo en lo que se refiere al monitoreo de redes. En la red existen diversos equipos que se gestionan con el SNMP, además de los dispositivos más tradicionales como los rúters y switches. Sensores, impresoras, nobreaks, generadores, raspberry, PABX, son algunos ejemplos de los dispositivos que pueden ser monitoreados actualmente.

En lo que se refiere a la gestión de fallas y rendimiento, cualquiera de estos dispositivos que responden al protocolo SNMP pueden ser monitoreados, ya se usando MIB o incluso extensiones propietarias de MIB ofrecidas por el fabricante para optimizar la información más detallada de estos equipos.

Además, el SLAview puede monitorear estos dispositivos a través de script con el uso de recolectas personalizadas para generar una personalización de recolectas modelo con datos más útiles y específicos.

CONSIDERACIONES FINALES

Por tanto, es innegable la importancia del protocolo SNMP para la gestión y monitoreo de todo el entorno de TI. Por eso, Telcomanager ofrece el SLAview al mercado, un sistema basado en la recolecta SNMP, ICMP y vía scripts, un sistema robusto de análisis de rendimiento para todo tu entorno de TI.

Teniendo esto en cuenta, Telcomanager que está desde el 2002 en el mercado, líder de América Latina en el sector de software para la gestión de redes, ofrece soluciones inteligentes con una metodología única e innovadora para el monitoreo de datos, lo que proporciona una visión completa de su infraestructura, permitiendo que su empresa controle los principales aspectos de su red en tiempo real.

Publicado el 25/07/2022