Title: Simple Network Management Protocol
1SNMP
- Simple Network Management Protocol
2Administración de la red
- ISO divide la administración de la red en cinco
partes que se definen dentro del Modelo OSI - Administración de la contabilidad Proporciona
información sobre costos y los usos contables. - Administración de la configuración Administra la
configuración real de la red. - Administración de fallos Detecta, aÃsla y
corrige los fallos, incluyendo el mantenimiento
de un registro y un diagnóstico de los errores. - Administración del desempeño (prestaciones)
Mantiene una eficiencia y un desempeño máximos,
incluyendo la recopilación de estadÃsticas y el
mantenimiento de registros para definir un
baseline - Administración de la seguridad Mantiene un
sistema seguro y administra el acceso.
3Administración en TCP/IP
- El Comité Asesor de Internet (Internet Advisory
Board, IAB) ha elaborado o adoptado varias normas
para la administración de la red. En su mayorÃa,
éstas se han diseñado especÃficamente para
ajustarse a los requisitos de TCP/IP, aunque
cuando es posible cumplen con la arquitectura
OSI. Para cubrir dichas necesidades se han creado
dos protocolos, ambos con funcionalidades
parecidas - 1.- SNMP Simple Network Management Protocol
- 2.- TCP/IP(CMOT) Common Management Information
Services and Protocol Over TCP/IP. Una norma
para TCP/IP y para la administración OSI. - Servicios Comunes de Información sobre la
Administración (Common Management Information
Services, CMIS) - Protocolo Común de Información sobre la
Administración (Common Management Information
Protocol, CMIP)
4SNMP
- Protocolo de nivel de aplicación para administrar
(consulta u otras operaciones) de diferentes
dispositivos (routers, switches, hubs, hosts,
modems, impresoras, etc). - Cada equipo conectado a la red ejecuta unos
procesos (agentes). - Dichos procesos van actualizando variables
(manteniendo históricos) en una base de datos.
Por ejemplo, en el caso de - un router
interfaces activos, la velocidad de sus enlaces
serie, número de errores, bytes emitidos, bytes
recibidos, ... - en una impresora que se terminó
el papel, ... - en un modem la pérdida de
conexión, - en un switch bocas conectadas,
desconectar un boca en el caso de IPs duplicadas,
si la máquina está infectada de virus, etc
5SNMP funcionamiento
- La forma normal de uso del SNMP es el sondeo
(pooling) - 1.- Pregunta la estación administradora envÃa
una solicitud a un agente (proceso que atiende
petición SNMP) pidiéndole información o
mandándole actualizar su estado de cierta manera. - 2.- Respuesta la información recibida del agente
es la respuesta o la confirmación a la acción
solicitada.
Problema incremento con los nodos administrados
y puede llegar a perjudicar el rendimiento de la
red
Método Interrupción (trap) un agente manda la
información al nodo administrador puntualmente,
ante una situación predeterminada (por ejemplo
una anomalÃa detectada en la red)
6SNMP protocolos
- SNMP es independiente del protocolo (IPX de
SPX/IPX de Novell, IP con UDP) - SNMP se puede implementar usando comunicaciones
UDP o TCP, pero se suelen usar comunicaciones UDP
en la mayorÃa de los casos. Con UDP, el
protocolo SNMP se implementa utilizando los
puertos 161 y 162. - puerto 161 se utiliza para las transmisiones tipo
sondeo - puerto 162 se utiliza para los mensajes de tipo
trap o interrupción.
7Pila de protocolos en SNMP
8ASN.1
- Notación Sintáctica Abstracta Uno
- Norma para representar datos independiente de la
máquina que los reciba o use - Describe estructuras de datos para
representación, codificación, transmisión y
decodificación
9Ejemplo ASN.1
BoeCertificate SIGNED BoeCertificationData,
PrivateSignatureKey BoeCertificationData
SEQUENCE entityId EntityId, entityRole
EntityRole, entityName Text OPTIONAL, publicKey
Key, signatoryId EntityId, signatoryName Text
OPTIONAL, signatoryRole EntityRole, date
GeneralizedDateTime , validThru
GeneralizedDateTime
10Ejemplo ASN.1. Implementación clase en Java
package es.uv.robotica.eri.asymmetrical.common
import es.uv.robotica.asn1.per.ASN1 import
es.uv.robotica.asn1.per.SEQUENCE public class
BoeCertificationData extends SEQUENCE private
EntityId entityId private EntityRole
entityRole private Text entityName // OPTIONAL
private Key publicKey private EntityId
signatoryId private Text signatoryName
//OPTIONAL private EntityRole signatoryRole pri
vate GeneralizedDateTime date private
GeneralizedDateTime validThru public
BoeCertificationData() this.vector new
ASN19 public EntityId getEntityId()
return entityId .
11(No Transcript)
12Elementos de la arquitectura SNMP (1/2)
- Nodos administrados que ejecutan agentes SNMP
(procesos, daemons, ) - Estación administradora o consola de
administración encargados de hacer el pooling o
recibir el trap de los agentes - mantienen una base de datos MIB con formato SMI
13Elementos de la arquitectura SNMP (2/2)
- SMI Structure of Management Information
(estructura de la base de datos MIB) - Nombre o OID (identificador de objetos)
- Tipo y Sintaxis
- Subconjunto de ASN.1 usado para SNMP. Forma de
definir los objetos gestionados usando una
sintaxis especial
- MIB Management Information Base. Base de datos
relacional (organizada por objetos o variables y
sus atributos o valores) que contiene información
del estado de un nodo administrado y es
actualizada por los agentes SNMP. - Un subconjunto es el MIB-2 (información común
soportada por todos los dispositivos)
14SMI Structure of Management Information
- Estructura en forma de árbol global para la
información de administración, convenciones,
sintaxis y las reglas para la construcción de
MIBs. - Ejemplo de grupos de variables en MIB-2
- System (objetos que permiten operar el sistema)
- IP (contador de paquetes, fragmentación)
- ICMP (contador de cada tipo de mensaje ICMP)
- TCP (conexiones abiertas TCP)
- UDP (estadÃsticas UDP)
- Interfaces (estado de interfaces)
15Ejemplo de SMI para acceder a Mib_2.Interfaces
ccitt (0)
iso (1)
itu (2)
Joing-iso-ccitt (3)
NIVEL 1
...
16Subárboles de la MIB-2
17Ejemplos de variables junto con su grupo en MIB-2
- Â iso.org.dod.internet.mgmt.mib_2.grupo.variable.pu
erto
grupo variable significado
system sysUpTime Tiempo desde el último arranque
interfaces ifNumber Número de interfaces de red
interfaces ifInErrors Número de paquetes entrantes en los que el agente ha encontrado error
ip ipInReceives Número de paquetes recibidos
icmp icmpInEchos Número de solicitudes de Echo ICMP recibidas
tcp tcpInSegs Número de paquetes TCP recibidos
udp udpInDatagrams Número de datagramas UDP recibidos
Todas las variables en RFC-1213
18Ejemplo de codificación de objetos según SMI
- iso.org.dod.internet.mgmt.mib_2.interfaces
- o su equivalente .1.3.6.1.2.1.2
- Este formato para la representación de variables
puede ser expresadas tanto en ASCII como números
separados por puntos, en una notación conocida
como OID (Object Identifier) o descriptor. - Asà sucesivamente hasta especificar la variable
(u objeto) y el puerto a consultar. Â
19SNMP comandos básicos
- OBTENER (GET), que implica que la consola de
administración recupera datos del agente - COLOCAR (SET), que implica que la consola de
administración establece los valores de los
objetos en el agente - CAPTURAR (TRAP), que implica que el agente
notifica a la consola de administración acerca de
los sucesos de importancia por interrupción
20Ejemplo funcionamiento protocolo SNMP
RED INTERNA
21Ejemplo funcionamiento protocolo SNMP
RED INTERNA
TRAP
22SNMP Versiones
- Versión 1 La seguridad se basa en comunidades
(que usan passwords comunes sobre texto plano)
que permiten usar dispositivos si se conoce el
password. Se puede explotar for fuerza bruta. - A pesar de que es la versión inicial es la que
se distribuye en muchos equipos. - Versión 2 Reduce la carga de tráfico adicional
para la monitorización (con uso de GetBulk e
Informs) y soluciona los problemas de
monitorización remota o distribuida (con las
sondas RMON). - SNMPv2 puede leer SNMPv1.
- Versión 3 Para evitar la falta de seguridad en
las transmisiones (con cifrado y autenticación),
proporciona una capa o parche complemento a
SNMPv1 y v2, que añade a los mensajes SNMP (v1 y
v2) una cabecera adicional.
Si no se dispone de seguridad suficiente, con
carácter general es aconsejable deshabilitar la
ejecución de comandos SET.
23Obtención de información
MIB
NODO ADMINISTRADO
ESTACIÓN ADMINISTRADORA
?
UDP 161
UDP 161
?
AGENTE
- Consulta/Solicitud de variable
- GET REQUEST
- GET NEXT REQUEST
- GET BULK (SNMP v.2)
?
- Software
- NetFlow
- CiscoWorks
- HP OpenView
24Modificación de información
MIB
NODO ADMINISTRADO
ESTACIÓN ADMINISTRADORA
UDP 161
!
UDP 161
?
AGENTE
- Modificación de valor de variable
- SET REQUEST
- SET NEXT REQUEST
!
- Software
- NetFlow
- CiscoWorks
- HP OpenView
EJEMPLO Se puede usar para resetear el valor de
los contadores, como el número de paquetes
procesados.
25Generación de interrupciones
MIB
NODO ADMINISTRADO
ESTACIÓN ADMINISTRADORA
UDP 162
?
AGENTE
- Un Agente informa de un evento
- TRAP
?
- Software
- NetFlow
- CiscoWorks
- HP OpenView
EJEMPLO El Agente de un router informa de que un
enlace ha caÃdo.
26PRIMITIVAS
- Operaciones SNMP
- GET REQUEST
- GET NEXT REQUEST
- GET BULK (en SNMP v2)
- SET REQUEST y SET NEXT REQUEST
- GET RESPONSE
- TRAP
- INFORM (en SNMP v2)
- NOTIFICATION (en SNMP v2)
- REPORT (en SNMP v2)
Implementación en Linux snmpget snmpwalk (get
next) snmpset snmptrap
27PRIMITIVAS (1/2)
- GET REQUEST
- Solicita (y se recoge en la contestación) el
valor de un objeto (o variable) - GET NEXT REQUEST
- Solicita el siguiente atributo de un objeto una
vez se ha usado el anterior. - Se usa para recorrer una tabla
-
- GET BULK (en SNMP v2)
- Lo mismo que el anterior pero más eficiente ya
que en una sola petición se trae todos los
valores de la tabla - SET REQUEST (y SET NEXT REQUEST)
- Solicita modificar el valor de un objeto
28PRIMITIVAS (2/2)
- GET RESPONSE
- Respuesta del agente con los valores solicitados
- Es la respuesta de un agente ante un Get o Set
request - TRAP
- Mensaje generado por agente para informar de
ciertas situaciones (alertas) - INFORM, NOTIFICATION, REPORT (en SNMP v2)
- Mensajes de un dispositivo administrado a otros
dispositivos para intercambiar información,
errores, confirmaciones, etc.
29(No Transcript)
30Ejemplo de consulta SNMP (snmpget) (1/2)
- snmpget dominio comunidad OID
- dominio es la dirección IP de la máquina donde
nos vamos a conectar - comunidad public cuando queremos leer algo
- OID Object Identifier de lo que queremos leer
- snmpget 147.156.1.1 public iso.org.dod.internet.mg
mt.mib_2.ip.ipDefaultTTL - snmpget 147.156.1.1 public 1.3.6.1.2.1.ip.ipDefaul
tTTL
31Ejemplo de consulta SNMP (snmpget) (2/2)
- Calculo de la utilización de un interface
- es decir la relación de entre bytes recibidos y
enviados en un interfaz - Las variables a procesar son ifInOctets,
ifOutOctets, sobre el puerto correspondiente de
un router. - Â
- snmpget IP_router public 1.3.6.1.2.1.2.ifInOctects
.1 - snmpget IP_router public 1.3.6.1.2.1.2.ifOutOctect
s.1
32Monitorización inteligente
- Ejemplo 1
- Mediante SNMP, un router puede reportar un
incremento de la carga cada 10 . - Si utiliza un sondeo dirigido por interrupción y
se conoce la carga del sondeo regular, puede dar
instrucciones al router para enviar una
interrupción cuando se experimente un incremento
significativo en la carga,10 - Después de recibir un mensaje de interrupción, el
servidor puede seguir sondeando al dispositivo
para mayores detalles. - Ejemplo 2
- Otro caso de configuración, cuando el router de
salida con acceso a Rediris tiene tráfico de
salida superior a 34 Mbps, que mande al
administrador de la red notificación o alerta
33Problema SNMP y congestión
- La monitorización se realiza por la propia red,
por tanto si la red está congestionada, puede
conllevar más problemas. - Si existe una fallo general en cualquier parte de
la red (p.ej fallo de la corriente eléctrica),
cada dispositivo administrado por SNMP tratará de
enviar al mismo tiempo, mensajes controlados por
interrupción hacia el servidor, para reportar el
problema. Esto puede congestionar la red y
producir una información errónea en el servidor.
34Otras redes, otros segmentosComentario a la
monitorización
- SNMP gestiona dispositivos individuales, pero no
permite diagnosticar fallos en una red remota u
otro segmento de red. - Para ello, el software de monitorización debe
trasladarse a cada segmento de red. - Esto se puede resolver mediante el uso de agentes
en los segmentos remotos de red, utilizando
equipos especiales o bien ordenadores de
propósito general, llamados sondas RMON (Remote
MONitor)
35RMON Remote Monitor (1/2)
- Una de las mejoras principales de SNMP se
denomina Monitoreo Remoto (RMON). - Las extensiones de RMON a SNMP brindan la
capacidad para observar la red como un todo, en
contraste con el análisis de dispositivos
individuales, declarándose para ello una MIB
especial para guardar información de
monitorización de un segmento de red diferente. - La MIB asociada es 1.3.6.1.2.1.16
- Las sondas RMON recopilan información y tiene la
misma función que un agente SNMP, transmitiendo
la información periódicamente. Además, pueden
procesar la información a enviar a la estación de
administrador. - Una forma de trabajar puede ser poniendo las
sondas RMON en cada segmento de la red que se
quiere monitorizar (pueden introducirse en un
host, en un switch, en un router u otro
dispositivo especÃfico). Además, permite añadir
redundancia a la administración de la red, ya que
RMON permite volcar los datos a varias consolas
de administración.
36RMON Remote Monitor (2/2)
RMON1 trabaja en las capas 1 y 2 EnvÃa a la
estación administradora información de una red
entera (LAN o WAN) a nivel de capas 1 y
2 RMON2 trabaja en las capas 3 y
superiores Proporciona información a nivel de
red y de aplicación.
37 Funcionamiento de RMON
SONDAS
RED INTERNA
Gestor RMON
Inform Request
Response
Gestor RMON central
38MIBs de RMON1
1.- Statistics. EstadÃstica en tiempo real de una
LAN (utilización, colisiones, errores CRC, )
2.- History. Histórico de la estadÃstica 3.-
Alarm. Definiciones de Traps 4.- Hosts.
EstadÃsticas de un host especÃfico de la LAN
(bytes enviados/recibidos, ) 5.- Hosts top N.
Registro de las conexiones top N más activas en
un periodo de tiempo 6.- Matrix. Matriz de
tráfico enviado/recibido entre sistemas 7.-
Filter. Filtrar según ciertos patrones
(direcciones MAC, puertos TCP 8.- Capture. Recoge
paquetes que cumplen el filtro 9. Event. EnvÃa
alarmas (SNMP traps) 10.- Token Ring. Extensiones
para Token Ring
39MIBs de RMON2
1.- Protocol Directory. Lista de protocolos que
se puede monitorizar 2.- Protocol Distribution.
EstadÃstica de tráfico para cada protocolo 3.-
Address Map. Mapeo de direcciones IP y MAC 4.-
Network-Layer Host. EstadÃsticas de la capa 3
para cada host 5.- Network-Layer Matrix.
EstadÃstica de la capa 3 (origen/destino) para
cada par de hosts 6.- Application-Layer Host.
EstadÃsticas para la capa de aplicación para cada
host 7. Application-Layer Matrix. EstadÃstica
origen/destino para cada par de hosts 8.- User
History. Muestra en un periodo de algunas
variables 9. Probe Configuration. Configuración
remota de sondas 10. RMON Conformance. Requisitos
de requirements for RMON2 MIB conformance
40sFlow
RFC 3176 Evolución de las RMONs Sirve para
capturar tráfico en redes conmutadas de alto
ancho de banda haciendo un muestreo del
tráfico Puerto por defecto 6343
41Como analizar la red?
42MRTG Multi Router Traffic Grapher
- Multi Router Traffic Grapher (MRTG) es una
herramienta para monitorización de tráfico en las
redes y sus enlaces tanto internos como externos. - Genera páginas HTML con imágenes PNG, que ofrecen
una visión en tiempo real del tráfico. - Funciona tanto en UNIX y Windows
- Es un script en Perl que utiliza SNMP para leer
cualquiera de los atributos de los objetos de los
routers (o conmutadores) y un programa en C que
procesa la información para visualizarla
gráficamente en tiempo real. - Guarda la información por semanas, meses y años,
monitorización hasta 200 enlaces. - Se utiliza generalmente para monitorizar la carga
del sistema, sesiones establecidas, tráfico,
errores, etc - Es de libre distribución y debe ser utilizado
bajo los términos de GNU - http//www.mrtg.org/
43EJEMPLO DE MRTG Esta página muestra el numero de
lÃneas ocupadas en el servidor de acceso
telefónico de la Universitat annexy. Annexy
dispone de un primario RDSI (30BD), con 30
lÃneas disponibles para conexiones vÃa modem Las
estadÃsticas se ejecuten cada 5 minutos.
Numero de lineas ocupadas de servidores annexy
Yearly' Graph (1 Day Average)
                                                 Â
                                                 Â
    Â
44Aplicación SNMP Netflow
45(No Transcript)
46Otros usos
Tráfico de salida 31/03/2007
Tráfico de salida 03/04/2007
47(No Transcript)
48RFCs
- RFC 1155 (SNMPv1 y SMI) y RFC 1157 SNMPv1
- RFC 1902 (SNMPv2 y SMI), RFC 1441 HASTA RFC 1452
SNMP VERSION 2 - RMON1 RFC1271
- RMON2 RFC2021, 2034
- RFC 2570-2576 SNMPv3
491.3.6.1.2.1.host(25).hrDevice(3).hrDeviceTable(2).
hrDeviceEntry(1).hrDeviceStatus(5).puerto(1) 1.3.6
.1.2.1.25.3.hrPrinterTable(5).hrPrinterEntry(1).hr
PrinterStatus(1).puerto(1) 1.3.6.1.2.1.25.3.5.1.hr
PrinterDetectedErrorState(2).puerto(1)
501.3.6.1.2.1.host(25).hrDevice(3).hrDeviceTable(2).
hrDeviceEntry(1).hrDeviceStatus(5).puerto(1) 5
down ? impresora caida 1.3.6.1.2.1.25.3.hrPrinte
rTable(5).hrPrinterEntry(1).hrPrinterStatus(1).pue
rto(1) 1 other ?no da información del
estado 1.3.6.1.2.1.25.3.5.1.hrPrinterDetectedError
State(2).puerto(1) No hay ningún valor de
String Sin errores