Você está na página 1de 50

SNMP

Simple Network Management Protocol


Instructor: Paul M. Vildoso Alvarado

SNMP

Administracin de la red
ISO divide la administracin de la red en cinco partes que se definen dentro del Modelo OSI:
Administracin de la contabilidad: Proporciona informacin sobre costos y los usos contables. Administracin de la configuracin: Administra la configuracin real de la red. Administracin de fallos: Detecta, asla y corrige los fallos, incluyendo el mantenimiento de un registro y un diagnstico de los errores. Administracin del desempeo (prestaciones): Mantiene una eficiencia y un desempeo mximos, incluyendo la recopilacin de estadsticas y el mantenimiento de registros para definir un baseline Administracin de la seguridad: Mantiene un sistema seguro y administra el acceso.

SNMP

Administracin en TCP/IP
El Comit Asesor de Internet (Internet Advisory Board, IAB) ha elaborado o adoptado varias normas para la administracin de la red. En su mayora, stas se han diseado especficamente 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 administracin OSI.
Servicios Comunes de Informacin sobre la Administracin (Common Management Information Services, CMIS) Protocolo Comn de Informacin sobre la Administracin (Common Management Information Protocol, CMIP)
SNMP 3

SNMP
Protocolo de nivel de aplicacin 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 histricos) en una base de datos. Por ejemplo, en el caso de:
- un router: interfaces activos, la velocidad de sus enlaces serie, nmero de errores, bytes emitidos, bytes recibidos, ... - en una impresora: que se termin el papel, ... - en un modem: la prdida de conexin, - en un switch: bocas conectadas, desconectar un boca en el caso de IPs duplicadas, si la mquina est infectada de virus, etc
SNMP 4

SNMP: funcionamiento
La forma normal de uso del SNMP es el sondeo (pooling): 1.- Pregunta: la estacin administradora enva una solicitud a un agente (proceso que atiende peticin SNMP) pidindole informacin o mandndole actualizar su estado de cierta manera. 2.- Respuesta: la informacin recibida del agente es la respuesta o la confirmacin a la accin solicitada.
Problema: incremento con los nodos administrados y puede llegar a perjudicar el rendimiento de la red

Mtodo Interrupcin (trap): un agente manda la informacin al nodo administrador puntualmente, ante una situacin predeterminada (por ejemplo una anomala detectada en la red)
SNMP 5

SNMP: 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 mayora 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 interrupcin.
SNMP 6

Pila de protocolos en SNMP


FTP SNMP NFS

ASN1 HTTP SMTP RPC Telnet DNS T F T P RPC

XDR

TCP

UDP

IP

PROTOCOLOS de ACCESO al MEDIO

SNMP

ASN.1
Notacin Sintctica Abstracta Uno
Norma para representar datos independiente de la mquina que los reciba o use Describe estructuras de datos para representacin, codificacin, transmisin y decodificacin

SNMP

Ejemplo 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 }

SNMP

Ejemplo ASN.1. Implementacin 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; private GeneralizedDateTime date; private GeneralizedDateTime validThru; public BoeCertificationData() { this.vector = new ASN1[9]; } public EntityId getEntityId() { return entityId; } SNMP .}

10

SNMP

11

Elementos de la arquitectura SNMP (1/2)


Nodos administrados que ejecutan agentes SNMP (procesos, daemons, )

Estacin administradora o consola de administracin encargados de hacer el pooling o recibir el trap de los agentes
mantienen una base de datos MIB con formato SMI

SNMP

12

Elementos 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 informacin del estado de un nodo administrado y es actualizada por los agentes SNMP. Un subconjunto es el MIB-2 (informacin comn soportada por todos los dispositivos)
SNMP 13

SMI: Structure of Management Information


Estructura en forma de rbol global para la informacin de administracin, convenciones, sintaxis y las reglas para la construccin de MIBs.

Ejemplo de grupos de variables en MIB-2:


System (objetos que permiten operar el sistema) IP (contador de paquetes, fragmentacin) ICMP (contador de cada tipo de mensaje ICMP) TCP (conexiones abiertas TCP) UDP (estadsticas UDP) Interfaces (estado de interfaces)
SNMP 14

Ejemplo de SMI para acceder a


Mib_2.Interfaces
ccitt (0) iso (1) itu (2) Joing-iso-ccitt (3)

Standard (0) ... (0) ... (0) Directory (1)

Registration -auth (1) Member-body (2)

Org (3)

...
Internet (1) Mgmt (2)

DoD (6)

...
private (4)

Experimental (3)

...

... (0)
System (1)

Mib_2 (1)
Interfaces (2)
SNMP

...
Addr-translation (3)

...
15

Subrboles de la MIB-2

SNMP

16

Ejemplos de variables junto con su grupo en MIB-2


iso.org.dod.internet.mgmt.mib_2.grupo.variable.puerto

grupo
system interfaces

variable
sysUpTime ifNumber

significado
Tiempo desde el ltimo arranque Nmero de interfaces de red

interfaces
ip

ifInErrors
ipInReceives

Nmero de paquetes entrantes en los que el agente ha encontrado error


Nmero de paquetes recibidos

icmp
tcp

icmpInEchos
tcpInSegs

Nmero de solicitudes de Echo ICMP recibidas


Nmero de paquetes TCP recibidos

udp

udpInDatagrams Nmero de datagramas UDP recibidos

Todas las variables en RFC-1213


SNMP 17

Ejemplo de codificacin de objetos segn SMI


iso.org.dod.internet.mgmt.mib_2.interfaces o su equivalente .1.3.6.1.2.1.2

Este formato para la representacin de variables puede ser expresadas tanto en ASCII como nmeros separados por puntos, en una notacin conocida como OID (Object Identifier) o descriptor.
As sucesivamente hasta especificar la variable (u objeto) y el puerto a consultar.
SNMP 18

SNMP: comandos bsicos


OBTENER (GET), que implica que la consola de administracin recupera datos del agente COLOCAR (SET), que implica que la consola de administracin establece los valores de los objetos en el agente CAPTURAR (TRAP), que implica que el agente notifica a la consola de administracin acerca de los sucesos de importancia por interrupcin
SNMP 19

Ejemplo funcionamiento protocolo SNMP

?
RED INTERNA

SNMP

20

Ejemplo funcionamiento protocolo SNMP

RED INTERNA

SNMP

21

SNMP: Versiones
Versin 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 versin inicial es la que se distribuye en muchos equipos. Versin 2: Reduce la carga de trfico adicional para la monitorizacin (con uso de GetBulk e Informs) y soluciona los problemas de monitorizacin remota o distribuida (con las sondas RMON). SNMPv2 puede leer SNMPv1. Versin 3: Para evitar la falta de seguridad en las transmisiones (con cifrado y autenticacin), proporciona una capa o parche complemento a SNMPv1 y v2, que aade a los mensajes SNMP (v1 y v2) una cabecera adicional. Si no se dispone de seguridad suficiente, con carcter general es aconsejable deshabilitar la ejecucin de comandos SET.
SNMP 22

Obtencin de informacin
ESTACIN ADMINISTRADORA NODO ADMINISTRADO MIB

UDP 161

UDP 161
AGENTE

Consulta/Solicitud de variable:
Software: NetFlow CiscoWorks HP OpenView

GET REQUEST GET NEXT REQUEST GET BULK (SNMP v.2)

Respuesta a solicitud:
GET RESPONSE
SNMP 23

Modificacin de informacin
ESTACIN ADMINISTRADORA NODO ADMINISTRADO MIB

UDP 161

UDP 161

Modificacin de valor de variable:

AGENTE

!
Software: NetFlow CiscoWorks HP OpenView

SET REQUEST SET NEXT REQUEST

Respuesta a solicitud:
GET RESPONSE

EJEMPLO: Se puede usar para resetear el valor de los contadores, como el nmero de paquetes procesados.
SNMP 24

Generacin de interrupciones
ESTACIN ADMINISTRADORA NODO ADMINISTRADO MIB

UDP 162

AGENTE

Software: NetFlow CiscoWorks HP OpenView

Un Agente informa de un evento:


TRAP

EJEMPLO: El Agente de un router informa de que un enlace ha cado.


SNMP 25

PRIMITIVAS Operaciones SNMP


1. 2. 3. 4. 5. 6. 7. 8. 9. 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)

Implementacin en Linux: snmpget snmpwalk (get next) snmpset SNMP snmptrap

26

PRIMITIVAS (1/2)
GET REQUEST Solicita (y se recoge en la contestacin) 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 ms eficiente ya que en una sola peticin se trae todos los valores de la tabla SET REQUEST (y SET NEXT REQUEST) Solicita modificar el valor de un objeto

SNMP

27

PRIMITIVAS (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 informacin, errores, confirmaciones, etc.

SNMP

28

SNMP

29

Ejemplo de consulta SNMP (snmpget) (1/2)


snmpget dominio comunidad OID
dominio es la direccin IP de la mquina 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.mgmt.mib_2.ip.ipDefaultTTL snmpget 147.156.1.1 public 1.3.6.1.2.1.ip.ipDefaultTTL

SNMP

30

Ejemplo de consulta SNMP (snmpget) (2/2)

Calculo de la utilizacin de un interface


es decir la relacin 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.ifOutOctects.1

SNMP

31

Monitorizacin inteligente
Ejemplo 1: Mediante SNMP, un router puede reportar un incremento de la carga cada 10 %. Si utiliza un sondeo dirigido por interrupcin y se conoce la carga del sondeo regular, puede dar instrucciones al router para enviar una interrupcin cuando se experimente un incremento significativo en la carga,10% Despus de recibir un mensaje de interrupcin, el servidor puede seguir sondeando al dispositivo para mayores detalles. Ejemplo 2: Otro caso de configuracin, cuando el router de salida con acceso a Rediris tiene trfico de salida superior a 34 Mbps, que mande al administrador de la red notificacin o alerta

SNMP

32

Problema: SNMP y congestin


La monitorizacin se realiza por la propia red, por tanto si la red est congestionada, puede conllevar ms problemas. Si existe una fallo general en cualquier parte de la red (p.ej fallo de la corriente elctrica), cada dispositivo administrado por SNMP tratar de enviar al mismo tiempo, mensajes controlados por interrupcin hacia el servidor, para reportar el problema. Esto puede congestionar la red y producir una informacin errnea en el servidor.
SNMP 33

Otras redes, otros segmentos


Comentario a la monitorizacin
SNMP gestiona dispositivos individuales, pero no permite diagnosticar fallos en una red remota u otro segmento de red. Para ello, el software de monitorizacin 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 propsito general, llamados sondas RMON (Remote MONitor)
SNMP 34

RMON 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 anlisis de dispositivos individuales, declarndose para ello una MIB especial para guardar informacin de monitorizacin de un segmento de red diferente. La MIB asociada es 1.3.6.1.2.1.16

Las sondas RMON recopilan informacin y tiene la misma funcin que un agente SNMP, transmitiendo la informacin peridicamente. Adems, pueden procesar la informacin a enviar a la estacin 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 especfico). Adems, permite aadir redundancia a la administracin de la red, ya que RMON permite volcar los datos a varias consolas de administracin.
SNMP 35

RMON Remote Monitor (2/2)


RMON1 trabaja en las capas 1 y 2
Enva a la estacin administradora informacin de una red entera (LAN o WAN) a nivel de capas 1 y 2

RMON2 trabaja en las capas 3 y superiores Proporciona informacin a nivel de red y de aplicacin.

SNMP

36

Funcionamiento de RMON
RED INTERNA

Inform Request Response

Gestor RMON

Gestor RMON central

SNMP

37

MIBs de RMON1
1.- Statistics. Estadstica en tiempo real de una LAN (utilizacin, colisiones, errores CRC, ) 2.- History. Histrico de la estadstica 3.- Alarm. Definiciones de Traps 4.- Hosts. Estadsticas de un host especfico de la LAN (bytes enviados/recibidos, ) 5.- Hosts top N. Registro de las conexiones top N ms activas en un periodo de tiempo 6.- Matrix. Matriz de trfico enviado/recibido entre sistemas 7.- Filter. Filtrar segn ciertos patrones (direcciones MAC, puertos TCP 8.- Capture. Recoge paquetes que cumplen el filtro 9. Event. Enva alarmas (SNMP traps) 10.- Token Ring. Extensiones para Token Ring
SNMP 38

MIBs de RMON2
1.- Protocol Directory. Lista de protocolos que se puede monitorizar 2.- Protocol Distribution. Estadstica de trfico para cada protocolo 3.- Address Map. Mapeo de direcciones IP y MAC 4.- Network-Layer Host. Estadsticas de la capa 3 para cada host 5.- Network-Layer Matrix. Estadstica de la capa 3 (origen/destino) para cada par de hosts 6.- Application-Layer Host. Estadsticas para la capa de aplicacin para cada host 7. Application-Layer Matrix. Estadstica origen/destino para cada par de hosts 8.- User History. Muestra en un periodo de algunas variables 9. Probe Configuration. Configuracin remota de sondas 10. RMON Conformance. Requisitos de : requirements for RMON2 MIB conformance
SNMP 39

sFlow
RFC 3176 Evolucin de las RMONs Sirve para capturar trfico en redes conmutadas de alto ancho de banda haciendo un muestreo del trfico Puerto por defecto 6343

SNMP

40

Como analizar la red?

SNMP

41

MRTG: Multi Router Traffic Grapher


Multi Router Traffic Grapher (MRTG) es una herramienta para monitorizacin de trfico en las redes y sus enlaces tanto internos como externos. Genera pginas HTML con imgenes PNG, que ofrecen una visin en tiempo real del trfico. 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 informacin para visualizarla grficamente en tiempo real. Guarda la informacin por semanas, meses y aos, monitorizacin hasta 200 enlaces. Se utiliza generalmente para monitorizar la carga del sistema, sesiones establecidas, trfico, errores, etc Es de libre distribucin y debe ser utilizado bajo los trminos de GNU http://www.mrtg.org/
SNMP 42

EJEMPLO DE MRTG: Esta pgina muestra el numero de lneas ocupadas en el servidor de acceso telefnico de la Universitat: annexy. Annexy dispone de un primario RDSI (30B+D), con 30 lneas disponibles para conexiones va modem Las estadsticas se ejecuten cada 5 minutos.

Numero de lineas ocupadas de servidores annexy


Sistema: Mximo esperado:

annexy.uv.es 30

`Yearly' Graph (1 Day Average)

BLUE ###

Lneas ocupadas en annexy

VIOLET###

Mximo de lneas ocupadas en annexy

SNMP

43

Aplicacin SNMP: Netflow

Network Planning Sonda RMON

NetFlow Accounting:
Conmutacin Exportacin Agregacin

NetFlow FlowCollector:
Recoleccin de datos Filtrado Agregacin Almacenamiento de datos SNMP

Accounting/Billing

Network Data Analyzer:


Presentacin de los datos NFC Control y Configuracin 44

SNMP

45

Otros usos
Trfico de salida: 03/04/2007

Trfico de salida: 31/03/2007

SNMP

46

SNMP

47

RFCs
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
SNMP 48

1.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).hrPrinterStatus(1).puerto(1) 1.3.6.1.2.1.25.3.5.1.hrPrinterDetectedErrorState(2).puerto(1)


SNMP 49

1.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.hrPrinterTable(5).hrPrinterEntry(1).hrPrinterStatus(1).puerto(1) 1 = other no da informacin del estado 1.3.6.1.2.1.25.3.5.1.hrPrinterDetectedErrorState(2).puerto(1) SNMP 50 No hay ningn valor de String: Sin errores

Você também pode gostar