Simple Network
Management Protocol
SNMP-TECNOCAMPUS-PROJECT
13/12/2010
Eduard Justicia Díaz
Miguel Padilla Gutiérrez
Albert Pujol Porqueras
Simple Network Management Protocol
ÍNDICE
¿Qué es SNMP? Pag 3
Componentes básicos de SNMP Pag 3
Dispositivos que se pueden gestionar mediante SNMP Pag 4
Ordenes básicas del estándar SNMP Pag 5
Aplicaciones del estándar SNMP a diferentes escenarios Pag 7
Simulación del protocolo SNMP Pag 7
Conclusiones Pag 10
Bibliografía Pag 10
Tecno Campus Mataró Página 2
Simple Network Management Protocol
¿Qué es SNMP?
SNMP (Simple Network Management Protocol) es un estándar de administración de red.
Proporciona un método de gestión de nodos de red (Servidores, estaciones de trabajo,
enrutadores, puentes y concentradores) desde un NMS (Network Management Station).
Utiliza una estructura de agentes SNMP que encontramos en todos los elementos que
administra. Los gestionados y los que gestionan. El NMS es el que conecta con estos agentes
instalados en cada uno de los elementos que van a ser administrados.
Toda la información de los equipos está en una base de datos MIB (Management Information
Base). Esta base de datos con estructura de árbol es recogida por el agente SNMP y
comunicada al NMS.
La ampliación más importante de SNMP fue RMON que nos permite monitorizar globalmente
una subred, no sólo sus dispositivos.
Utiliza los puertos 161, 162 y el protocolo UDP. Los agentes escuchan por el puerto 161 y las
estaciones gestoras escuchan los Traps en el puerto 162.
Componentes básicos de SNMP
En cualquier red administrada con el protocolo SNMP encontraremos siempre 3 componentes
básicos:
- Dispositivos administrativos: Elementos de una red administrada que contienen un
agente SNMP. Tales como routers, switches, servidores de acceso, computadores,
impresoras, hubs, bridges.
- Agente: Componentes software que se ejecuta en el dispositivo a gestionar, y el que
gestiona. Es un elemento pasivo y no origina mensajes si no que responde a las
peticiones de los NMS’s. Únicamente iniciará la comunicación cuando deba comunicar
una alarma porqué el sistema se ha reiniciado o por fallos de seguridad en el sistema.
- NMS: Ejecuta aplicaciones que supervisan y controlan a los dispositivos administrados
mediante SNMP. Estos NMS’s conectan con los agentes SNMP para proporcionar
volumen de recursos de procesamiento y memoria requeridos para la administración
de la red. Cuando un NMS envía una solicitud el agente devuelve la información
solicitada desde el MIB.
- Base de información de gestión (MIB): Los recursos de la red que se pueden gestionar
se presentan mediante objetos aunque básicamente son variables. La MIB es
básicamente una colección de estos objetos.
Tecno Campus Mataró Página 3
Simple Network Management Protocol
Dispositivos que se pueden gestionar mediante SNMP
El protocolo SNMP puede ser válido en multitud de dispositivos distintos, como por ejemplo
los routers, switches, módems e incluso impresoras. En estos equipos se ejecutan unos
procesos llamados agentes. Estos procesos son los encargados de mantener la información del
dispositivo actualizada en una base de datos, básicamente recopila esta información sobre
unas variables y estas son volcadas.
Ya es conocido que este protocolo está fuertemente implantado en centros de comunica-
ciones ya que es vital conocer de una forma actual el estado de cada uno de nuestros
dispositivos que interconectan en la red, podemos poner ejemplos sencillos para ver la utilidad
de dicho protocolo en nuestra vida real.
En un equipo router, el agente SNMP nos proveerá de información del estado de nuestras
interfaces conectadas, la velocidad de los enlaces serie, la cantidad de errores que registra el
enlace o bien información acerca de los bytes emitidos y recibidos por el dispositivo.
En el caso de las impresoras, el agente SNMP puede proveer información al personal de man-
tenimiento como por ejemplo la cantidad de hojas a color impresas, si se ha terminado el
papel en cierta impresora, en definitiva obtener un reporte actual de la impresora con los
distintos contadores.
En el caso de los módems podemos indicar que el SNMP puede enviar información relevante
con el estado de la conexión, si se ha producido alguna perdida de conexión lo notificara.
Para los switches el agente nos informa de los puntos ocupados que tiene actualmente,
detección de duplicación de IP, desconectando una de los dos puertos afectados en el conflicto
y infinidad de cosas más.
El uso de SNMP está muy extendido en estos tiempos, también podemos encontrar este tipo
de protocolo en las casas domóticas, en los sistemas de calefacción o aire acondicionado
inteligente a través de sus PLCs. Dicho protocolo ha sido fundamental para el avance en la
administración remota de los equipos.
Imagen ilustrativa:
Tecno Campus Mataró Página 4
Simple Network Management Protocol
Ordenes básicas del estándar SNMP
Mostramos los tipos de mensaje que existen en la comunicación entre el agente y el NMS.
GetRequest: Mensaje de solicitud SNMP básico. Enviado por un NMS, solicita información de
una sola entrada MIB a un agente.
GetNextRequest: Tipo extendido de mensaje que se utiliza para ver la jerarquía completa de
objetos de administración. Se devuelve el valor del siguiente objeto.
SetRequest: Es un mensaje para actualizar un valor en el MIB, siempre que exista acceso de
lectura.
GetBulkRequest: Solicitud de transferencia de datos tan grande como sea posible. Minimiza el
número de intercambios requeridos para obtener una gran cantidad de información. Solo
utilizado en versiones 2 y 3 de SNMP.
Trap: Mensaje no solicitado por un NMB que envía el agente cuando detecta cierto evento. El
tipo de mensaje que inicia el agente cuando se produce una alarma.
Formato de un mensaje SNMP
Versión Comunidad PDU (GetRequest...)
20 bytes 8 bytes Variable
- Campo Versión: Toma valores en función de la versión de SNMP
- Campo Comunidad: Se define en el agente y en este mismo se le asigna un perfil a
cada comunidad para determinar si tiene permiso de modificación e incluso lectura
sobre las variables de la MIB.
- Campo PDU: Existen a modo genérico 2 tipos de formatos en las PDU SNMP, aunque
luego veremos que se dividen en más tipos. El primero de estos 2 tipos es general y
común a casi todas ellas, y el segundo tipo corresponde a la PDU Trap. Cabe recordar
que las consultas las realiza el NMS y el Trap es la única que realiza el agente por
iniciativa propia por tanto es comprensible que exista un tipo de PDU para cada una de
ellas.
Tipos de PDU: Especifican el tipo de mensaje y los valores posibles son:
Tipo PDU Nombre
0 GetRequest
1 GetNextRequest
2 SetRequest
3 Response
4 Trap
Tecno Campus Mataró Página 5
Simple Network Management Protocol
Identificación de la petición: Se utiliza para relacionar peticiones y respuestas. SNMP puede
hacer frente a PDU’s duplicadas por un servicio de transporte inseguro como UDP gracias a
que cada una de estas peticiones va identificada por el emisor.
Estado de error: Se emplea para indicar que ha ocurrido una anomalía mientras se procesaba
una consulta existiendo valores diferentes para cada tipo de error. Tiene diferentes valores
tales como:
Tipo de error Significado
0 No hay error
1 Demasiado grande
2 No existe esa variable
3 Valor incorrecto
4 El valor es de solo lectura
5 Error genérico
Índice de error: Se utiliza cuando el campo estado de error es diferente de 0 y tiene como
objetivo proporcionar información adicional.
Lista de variables: Es una lista de nombres de variables con sus valores correspondientes.
Existe tanto en las preguntas como en las respuestas.
Estructura de la base de información de gestión - MIB
MIB es una base de datos en forma de árbol, obtenido una jerarquía para cada uno de los
objetos de la base de datos, cada uno de estos tiene un numero identificador que lo identifica
dentro de este árbol.
Como podemos observar en la captura hay dos directorios importantes ya que de estos cuelga
toda la información importante para la monitorización del protocolo.
En “mgmt” se encuentra la información genérica del elemento, fabricante, modelo , etc…,
podemos observar que su ubicación es .1.3.6.1.6. En cambio “private” hay información extra
Tecno Campus Mataró Página 6
Simple Network Management Protocol
que el fabricante proporciona, dependiendo el producto puede ser más completa o menos,
esta es totalmente para uso corporativo donde el fabricante nos ofrece el software de gestión
para pode acceder a dicho directorio.
Aplicaciones del estándar SNMP a diferentes escenarios
SNMP puede utilizarse de varias maneras:
- Para configurar dispositivos remotos: desde el NMS configuramos los equipos.
- Para supervisar el rendimiento de la red: se puede hacer un seguimiento de la
velocidad de la red.
- Para detectar fallos de red: Puede llevar una alarma al NMS cuando:
o Se apague un dispositivo.
o Se detecte un error de enlace con un enrutador.
- Para auditar el uso de la red: Se puede auditar el uso de los equipos por sus usuarios.
Simulación del protocolo SNMP
En este apartado haremos una pequeña simulación con el protocolo SNMP para eso
necesitamos un software de gestión y un elemento que monitorizar.
La aplicación que utilizaremos es “iReasoning MIB Browser Personal Edition”, está tiene una
versión de prueba de 30 días. Este punto hay que remarcarlo nosotros realizaremos una
prueba, por lo tanto el software de gestión nos era un poco igual cual fuera, cualquiera
aplicación gratuita hubiera echo la función pero esto en un entorno corporativo es muy
diferente. Aquí interviene otro factor, la marca del hardware instalado, estos productos
incorporan en una parte de su MIB datos específicos del fabricante, estos nos dotaran de datos
que aran mucho más eficiente nuestra monitorización, por eso siempre se recomienda que todo
el hardware instalado sea del mismo proveedor, esta MIB especifica solo puedes acceder a ella
con la aplicación de gestión propietaria de dicho fabricante.
El elemento ha monitorizar será un router CISCO modelo c2691. El router la virtualizaremos
con la aplicación GNS3, este punto podríamos haber utilizado el cliente que incorpora Windows
pero hemos preferido simular un elemento externo de donde estaba ubicado el cliente SNMP.
Lo primero que haremos es instalar la aplicación y crear la topología con GNS3. La topología es
muy simple, solo necesitaremos un router conectador a la NIC de nuestro ordenador.
Tecno Campus Mataró Página 7
Simple Network Management Protocol
La configuración del router es muy simple, solo necesitamos configurar la interface Ethernet
con una IP del rango de nuestra red, en este caso utilizaremos una 172.16.0.10/16 y activar el
cliente SNMP. Para eso hemos utilizado la siguientes ordenes:
Router> enable
Router# configure terminal
Router(config)# interface FastEthenert 0/0
Router(config)# ip address 172.16.0.10 255.255.0.0
Router(config)# no shutdown
Router(config)# exit
Router(config)# snmp-server community public RO
Router(config)# snmp-server community private RW
Router(config)# exit
Router# show running-config | include snmp ;Verificar ativación SNMP
Una vez configurado el router con el servició SNMP empezaremos a enviar algunas ordenes al
router desde la aplicación pero previamente echaremos un vistazo general al software donde
veremos todos los parámetros comentados anteriormente.
Captura de la aplicación iReasoning MIB Browser
Como podemos observar en la captura hay varios campos señalados:
- Address: La dirección IP del agente en este caso el router .
- Operation: Una lista de operaciones básicas, para pode gestionar el contenido de la
MIB.
- SNMP MIBs: Aquí podemos visualizar de una forma la distribución de los directorios de
la MIB del router.
- Result Table: Este apartado aparecerá el contenido de la petición echa, en este caso el
objeto es sysDescr del directorio system.
Vistos los elementos básicos de la aplicación procederemos ha hacer una petición.
Tecno Campus Mataró Página 8
Simple Network Management Protocol
System sysDescr ubicada en .1.3.6.1.2.1.1, obtenemos la siguiente información.
Value: Cisco Internetwork Operating System Software
IOS (tm) 2600 Software (C2691-JK9O3S-M), Version 12.2(15)T17, RELEASE
SOFTWARE (fc1)
Technical Support: http://www.cisco.com/techsupport
Copyright (c) 1986-2005 by cisco Systems, Inc.
Compiled Fri 12-Aug-0
Type: OctetString
Observamos que estamos utilizando una IOS genérica de la serie 2600 de CISCO versión 12.2,
para el router C2691, compilada el viernes 12 de agosto del 2000. La información
subministrada es del tipo OctetString (texto).
Vista la petición vamos ha ver a nivel de trama la información para captura la trama
utilizaremos la aplicación Wireshark.
Como se observa en la captura la petición “get-request” se ha realizado desde ordenador
172.16.0.4 hacia el agente 172.16.0.10 el cual ha respondido con “get-response”.
Ahora vamos ha entrar con más detalle.
La petición al objeto 1.3.6.1.2.1.1.1.0 esta petición se realizada por el puerto UDP 54374 hacia
el 161, estamos utilizando la versión 1 de SNMP.
En la respuesta podemos observar que no habido ningún error, una apartado significativo que
no hemos comentado en la parte anterior esta petición va dirigida a la comunidad publica.
Tecno Campus Mataró Página 9
Simple Network Management Protocol
Conclusiones
A lo largo del trabajo dedicado ha estudiar el funcionamiento de este protocolo, nos ha
parecido muy interesante el modo tan sencillo que tiene para dotar la administración a los
dispositivos, de allí viene el nombre de “simple”, pero eso también es una arma de doble filo,
sobretodo en el aspecto de utilizar el protocolo de transporte UDP, recordamos que UDP no
esta orientado a la conexión por lo que si un paquete se pierde nadie lo sabe, esto puede ser
un gran problema no por la petición de información ya que si no llega la volvemos a reenviar
sino por un “trap” que nos este avisando de un suceso fuera de lo normal.
Ha sido interesante también poder realizar la simulación de dicho protocolo en GNS3 porque
de esto modo hemos podido ver más ínsitu el comportamiento real.
Bibliografía:
http://webcache.googleusercontent.com/search?q=cache:DzufnCedgKIJ:personal.telefonica.te
rra.es/web/lmp/SMNP/SNMP.doc+NMS+en+SNMP&cd=1&hl=es&ct=clnk&gl=es&client=firefox
-a
http://es.wikipedia.org/wiki/Simple_Network_Management_Protocol#Componentes_b.C3.A1
sicos
http://www.ireasoning.com/download.shtml
http://www.gns3.net/
http://www.wireshark.org
http://www.luteus.biz/Download/LoriotPro_Doc/V4/LoriotProV4Doc/C3-
Introduction_to_Network_supervision/C3-E5_MIB.htm
Tecno Campus Mataró Página 10