May 18, 2010

El protocolo SNMP

SNMP (Simple Network Management Protocol) es un protocolo perteneciente al nivel de aplicación y utilizado para el intercambio de información por parte de los dispositivos de una red (ordenadores, routers, switches, etc.). Actualmente coexisten tres versiones: 1, 2 y 3.

La arquitectura SNMP está formada por un agente que se instala en la máquina que se desea monitorizar y un sistema de administración encargado de interactuar con los agentes.

La principal función del agente es la de recopilar cierta información (uso de CPU, estado de la memoria, interfaces de red, etc.) del huesped y proporcionársela al sistema de administración cuando éste la solicite. También el agente puede ser configurado para que envíe mensajes (traps) cuando se cumpla algún tipo de evento previamente establecido (por ejemplo que quede menos de un 10% de espacio en disco).

A su vez, el sistema de administración se va a encargar de recibir dichos traps y de solicitar información a los agentes. Esa información se organiza de manera jerárquica en una estructura de datos en forma de árbol conocida como MIB (Management Information Base) o Base de Información Gestionada.

En la siguiente figura puede observarse la estructura de la MIB, la cual está formada por diferentes elementos conocidos como objetos o OIDs, los cuales son asignados por diferentes organizaciones.



Existe un OID denominado enterprise (1.3.6.1.4.1) del cual cuelgan por ejemplo los OIDs de diferentes compañías: Oracle (111), Cisco (9), VMware (6876), etc.

A su vez, la MIB-II (base de datos común para la gestión de equipos en Internet) cuelga del OID 1.3.6.1.2.1. De esta forma, si queremos obtener el nombre de la máquina, tendremos que acceder al OID SNMPv2-MIB::sysName.0, que se corresponderá con 1.3.6.1.2.1.1.5.0.

Existen distintos tipos de mensajes SNMP (por defecto se utiliza el puerto UDP 161). Los más importantes son los siguientes:
  • GetRequest: se solicita al agente el valor almacenado en un OID.

  • GetNextRequest: se solicita al agente el valor del siguiente OID con respecto al que se pidió con anterioridad (esta clase de mensajes se utiliza para recorrer el árbol).

  • SetRequest: se solicita al agente que modifique el valor de un cierto OID.

  • Trap: mensaje generado por el agente para informar sobre una determinada situación.

No comments:

Post a Comment