Transcript SNMP

GESTIÓN DE REDES: PROTOCOLOS DE MANTENIMIENTO

Dr. Víctor J. Sosa Sosa [email protected]

Introducción

   

Elementos del modelo de gestión Simple Network Management Protocol (SNMP)

Estructura de la información de gestión (SMI) Management Information Base (MIB-II) SNMPv2 y SNMPv3

Gestión de Redes TCP/IP

  Al inicio de TCP/IP no se pensó en incluir soporte para la gestión de redes  Eran los expertos en protocolos quienes solucionaban los problemas de gestión  La única “herramienta” disponible era ICMP, sobre todo con los mensajes de ECHO para tests de alcanzabilidad, y los de timestamp, para obtener información acerca de los retardos en la red  Programas PING (Packet Internet Groper) y traceroute Finales años 8Os: Internet crece explosivamente  Se empezó a pensar en una capacidad de gestión de red más potente  Protocolo estándar, con mucha más funcionalidad que PING, fácil de aprender y utilizar por muchas personas responsables de la gestión de red

Gestión de Redes TCP/IP

    El IAB (Internet Architecture Board) propuso dos estrategias (1988):  A corto plazo, definir el protocolo SNMP (inicialmente era SGMP:Simple Gateway Management Protocol)  A largo plazo, una migración hacia la gestión OSI (protocolo CMOT: CMIP –Common Management Information Protocol– sobre TCP/IP) Premisa:  el impacto de añadir gestión de red a los nodos debía ser mínimo Se pensaba que las instalaciones acabarían evolucionando a protocolos basados en OSI  Para facilitar la migración, se pensó que ambos empleasen la misma base de datos de objetos gestionados  Pero eso se vio que era imposible, pues la gestión OSI emplea BD orientadas a objetos y se pretendía mantener el SNMP tan sencillo como fuese posible SNMP y CMOT * evolucionaron en paralelo *Common Management Information Protocol

Gestión de Redes TCP/IP

  Situación actual:  SNMP es el estándar de facto para la gestión de redes, al igual que TCP/IP lo es para la interconexión de redes  No es probable que OSI y su sistema de gestión de red reemplacen al modelo TCP/IP+SNMP Una vez se extiende el uso de SNMP se proponen diversas ampliaciones  RMON: Remote MONitor  Monitorización global de una subred, no sólo de sus dispositivos  Extensiones a la MIB de SNMP, tanto estándar como privadas  Versiones 2 y 3 de SNMP para resolver deficiencias

Principales RFCs relacionados con SNMPv1

Principales RFCs relacionados con SNMPv2

Principales RFCs relacionados con SNMPv3

Elementos del modelo de gestión

Estación de gestión:

 Interfaz entre el gestor humano y el SGR  Debe incluir:  Interfaz (gráfico) para monitorizar y controlar la red  Aplicaciones de gestión para análisis de datos, recuperación de fallos, etc  Capacidad de traducir los requerimientos del gestor en órdenes concretas de monitorización y control de los elementos remotos de la red  Base de datos de información extraída de las MIBs de todas las entidades gestionadas en la red

Elementos del modelo de gestión

 

Agente:

 Software que proporciona acceso a los datos de gestión de un dispositivo en particular  Hosts, puentes, routers, switches, hubs, …

SNMP soporta dos tipos de transacciones:

 Petición (

POLL

) por parte del gestor, y respuesta por parte de agente  Notificaciones no solicitadas (

TRAPS

) desde el agente al gestor

Elementos del modelo de gestión

 Base de información de gestión (MIB):  Conjunto de objetos (variables) que representan los recursos de la red que se pueden gestionar (monitorizar y controlar)  Monitorización: lectura del valor de los objetos de la MIB  Control: modificación del valor de ciertas variables  Los objetos se almacenan en los dispositivos gestionados  Los objetos están estandarizados para cada clase concreta  Ejemplo: Hay los mismos tipos de objetos para gestionar varios puentes

Elementos del modelo de gestión

Protocolo de gestión de red:

 La estación de gestión y los agentes se comunican empleando el protocolo de gestión de red  En redes TCP/IP ese protocolo es SNMP  SNMP incluye las siguientes capacidades:  GET : permite a la estación de gestión obtener (leer) el valor de los objetos del agente  SET : permite a la estación de gestión modificar (escribir) el valor de los objetos del agente  TRAP : permite al agente notificar a la estación de gestión la ocurrencia de eventos significativos

Elementos del modelo de gestión

 SNMP es un protocolo del nivel de aplicación  Funciona sobre UDP => no es orientado a la conexión  Cada intercambio es una transacción separada entre el gestor y los agentes  Tanto el gestor como los agentes deben implementar IP, UDP y SNMP, sobre los protocolos específicos de acceso a la red  Proceso gestor :  Actúa como “cliente” SNMP, cuando envía peticiones SNMP  Escucha los traps en el puerto 162  Proceso agente  : debe interpretar los mensajes SNMP y controlar la MIB del agente Actúa como “servidor” SNMP, escuchando las peticiones del gestor en el puerto 161  Envía los traps al gestor

Elementos del modelo de gestión

SNMP: Tipos de mensajes

SNMP: Tipos de mensajes

    GetRequest : el gestor pide al agente el valor de un dato  GetNextRequest es similar, permitiendo extraer datos de una tabla SetRequest  : el gestor pide al agente que modifique los valores de las variables que especifique El agente los modificará todos o ninguno El agente responde a estas peticiones mediante GetResponse , conteniendo :  Los datos pedidos o un código de error, para las operaciones Get  Respuesta idéntica a la petición (tras cambiar los valores) o un código de error para la operación Set El agente emite un mensaje afecte a la MIB o a los recursos gestionados  Trap en respuesta a un evento que Puede incluir en el mensaje los nombres y valores de ciertos objetos como información adicional sobre el evento  El gestor NO confirma la recepción de un Trap al agente

SNMP: Sondeo dirigido por traps (trap-

directed polling)

 El protocolo SNMP se basa en el  sondeo o polling : El gestor sondea periódicamente a los agentes para ver si hay algo que necesite atención  Si una estación de gestión controla un gran número de agentes, y cada uno tiene un gran número de objetos, este mecanismo se vuelve poco eficiente  Por ello, se emplea la técnica del  sondeo dirigido por trap : Cuando llega un trap desde un agente, el gestor centra su atención en ese dispositivo  Problema  : Los traps no se confirman y el transporte es ‘no fiable’ (UDP) Por tanto, el gestor no se puede basar exclusivamente en la recepción de traps para obtener información de los dispositivos

SNMP: Sondeo dirigido por traps (trap-

directed polling)

 Solución:  Sondeo al inicializar el sistema y a intervalos poco regulares (horas)  Se pide alguna información clave, y algunas características básicas de funcionamiento a todos los agentes que conozca el gestor  El resto del tiempo, el gestor no sondea, y es el agente quien le avisa mediante un trap en caso de que ocurra algún evento anormal  Ejemplos: Caída y reinicialización del agente, caída de un enlace ...

 Tras recibir el trap el gestor puede obtener más información del agente que envió el trap, o de otros agentes próximos a él para obtener más información y diagnosticar el problema  Ahorro de capacidad de la red y de tiempo de proceso de los agentes y gestores

SNMP: Proxies SNMP

SNMP: Detalles del protocolo

    SNMP se especifica en el RFC 1157 (Mayo 1990) SNMP permite leer y escribir objetos escalares en la MIB de un agente  Mediante traps, un agente puede enviar el valor de un objeto escalar al gestor Cada agente es responsable de su MIB local  Controla el uso que hacen de ella las estaciones gestoras Control de acceso a la MIB de un agente:  concepto de comunidad

SNMP: Comunidades

 Comunidad : relación entre un agente SNMP y un conjunto de estaciones de gestión SNMP, que define unas características de autentificación y control de acceso  El agente establece una comunidad para cada combinación deseada de autentificación y control de acceso , y a cada comunidad se le da un nombre único dentro del agente (community name)  Las estaciones de gestión pertenecientes a una comunidad deben emplear ese nombre en todas las operaciones get y set  El agente puede establecer cualquier número de comunidades  Una estación de gestión puede pertenecer a varias comunidades  Una estación debe almacenar los nombres de comunidad asociados a cada agente

SNMP Comunidades

      Mediante el uso de comunidades, un agente puede acceso a su MIB en dos formas:  Vista de la MIB : subconjunto de los objetos de la MIB  Modo de acceso : READ-ONLY o READ-WRITE limitar el La combinación de una vista de la MIB y un modo de acceso se denomina perfil de comunidad SNMP (SNMP community profile) A cada comunidad se le asigna un perfil, denominándose a esta asociación política de acceso SNMP (SNMP access policy) Cada paquete SNMP contiene el nombre de la comunidad, sin codificar El agente sólo atiende la petición si el nombre de la comunidad es correcto para el tipo de acceso solicitado Se trata de un  esquema de seguridad muy limitado Por ello, en muchos agentes no se implementan las peticiones de escritura en la MIB (mensajes SetRequest)

SNMP Comunidades

SNMP Comunidades

SNMP: Formato de los paquetes

Todos los paquetes contienen dos campos:

 El número de versión de SNMP  Un nombre de comunidad  El resto del paquete depende del tipo del mismo, y se denomina PDU (Protocol Data Unit) de SNMP

Versión Comunidad Mensaje SNMP PDU de SNMP

SNMP: Formato de los paquetes

SNMP: Formato de los paquetes

         Request ID : identificador único por cada petición Código de error : indica que ha ocurrido una excepción al procesar una petición  Posibles valores: noError readOnly(4), genErr(5) (0), tooBig(1), noSuchName(2), badValue(3), Índice de error : indica qué variable de la lista causó la excepción, cuando el código de error no es 0 Asignación de variables : lista de nombres correspondientes valores  de variables y sus Los nombres se especifican como identificadores de objetos (OIDs)  En GetRequest, los valores son null Empresa (enterprise ): objeto que genera el trap (valor de sysObjectID) Dirección de agente : dirección IP del agente que genera el trap Trap genérica : tipo de trap genérico Trap específico : código de trap específico Time stamp : tiempo transcurrido entre la última reinicialización de la entidad y la generación del trap (valor de sysUpTime)

SNMP: Traps genéricas SNMP

       coldStart alterado la configuración del agente o la implementación del protocolo (0): el emisor se ha reinicializado, y puede haberse warmStart (1): reinicialización del emisor, sin cambios en configuraciones ni en implementaciones linkDown (2): fallo en algún enlace de comunicación del agente linkUp restablecido  (3): un enlace de comunicación del agente se ha En el campo de asignación de variables, se especifica cuál es el enlace que ha caído/restablecido authenticationFailure (4): la entidad emisora ha recibido un mensaje en el que falla la autentificación egpNeighborLoss(5 ): desconexión de un vecino EGP enterprise-Specific(6 ): definidas por empresas

SNMP: Ventajas e inconvenientes de SNMP

   Es un protocolo maduro, estándar de facto aceptado por la industria Está disponible en gran cantidad de productos Es fácil de implementar y requiere pocos recursos del sistema     Falta de seguridad:  Cualquier estación puede resetear variables con SetRequest, por lo que muchos fabricantes no implementan este comando  No hay control de acceso: al recibir un PDU un agente no comprueba si ha sido enviado por una estación autorizada  La identificación de comunidad viaja tal cual Mala utilización del ancho de banda:  No existe la posibilidad de transferir información por bloques Limitaciones en el mecanismo de traps:  Sólo se puede informar de algunos eventos previstos  No son reconocidas No es apropiado para gestionar redes muy grandes (por el sondeo)

Estructura de la información de gestión (SMI)

  La gestión en TCP/IP se basa en el manejo de una base de datos (la MIB) que contiene información sobre los objetos a gestionar  Cada recurso se representa mediante un objeto  Objetos escalares y tablas bidimensionales  La MIB es un conjunto estructurado de tales objetos  Estructura de árbol  Las operaciones de monitorización consultan el valor de los objetos  Las operaciones de control modifican el valor de los objetos Cada objeto de un dispositivo gestionable por SNMP debe tener un nombre único con el que se le denominará en las operaciones de gestión  El esquema de nombres debe asegurar que dos fabricantes no emplean el mismo nombre para objetos distintos  Se define mediante el

SMI (Structure of Management Information)

Estructura de la información de gestión (SMI)

 La MIB define el objeto u objetos utilizados para representar un recurso en concreto deben ser los mismos en cada nodo  Ejemplo: número total de conexiones activas TCP en un nodo  Conexiones abiertas = conexiones activas + conexiones pasivas  El nodo puede almacenar cualquier par de los tres valores {totales,activas, pasivas}  En la definición de la MIB se indica:  Que se deben almacenar las conexiones activas y pasivas  Se definen los objetos tcpActiveOpens y tcpPassiveOpens, de tipo “counter” (entero 32 bits)  Sus nombres son 1.3.6.1.2.1.6.5 y 1.3.6.1.2.1.6.6 => común de nombrado (SMI) esquema

SMI: Estructura

      La estructura del SMI y de la MIB se definen empleando el estándar ASN.1 (Abstract Syntax Notation One ) de CCITT/ISO Los tipos de datos empleados en SNMP también se basan en los de ASN.1

ASN.1 es un lenguaje que se emplea para definir estructuras de datos y protocolos Incluye unas reglas precisas de codificación (BER: Basic Encoding Rules) Proviene de OSI:  Grande, complejo y no muy eficiente Ventaja: proporciona una codificación estándar en bits de cada objeto

SMI: Estructura

    SNMP utiliza el desarrollado por ISO esquema jerárquico de nombres El espacio de nombres forma un conectada a un conjunto de nodos etiquetados  árbol , con una raíz Etiqueta = {breve descripción textual + entero} (ejemplo: iso(1))  Los nodos se agrupan por ramas de objetos relacionados Identificador de objeto : nombre de un nodo  Es la secuencia de enteros de las etiquetas de cada nodo, desde la raíz hasta el nodo en cuestión  El identificador es único para cada objeto  La parte textual sólo se emplea por las personas, nunca se transmite Cada nodo relacionada representa un recurso, actividad o información

SMI: Estructura

SMI: Estructura

    La  raíz no se etiqueta, y de ella cuelgan tres nodos: iso(1), ccitt(2) y joint-iso-ccitt(3) Del  nodo iso cuelgan nodos para distintas organizaciones Entre ellas está el Departamento de Defensa de EE.UU. ( dod(6) ) Ahí hay un nodo administrado por el IAB:  internet OBJECT IDENTIFIER::={iso(1) org(3) dod(6) 1} Así, el nodo internet tiene el identificador de objeto 1.3.6.1

 Todos los objetos de interés para SNMP cuelgan del nodo internet, y por tanto tienen el prefijo 1.3.6.1 en sus identificadores de objeto

SMI: Estructura

 Dentro del nodo internet, el SMI define cuatro nodos:  directory(1 ): directorio X.500

 mgmt(2 ): objetos definidos en documentos aprobados por el IAB  Como la mib-2 (1 )  experimental(3 ): identificadores de objetos experimentales en Internet  private(4 ): identificadores de objetos definidos por empresas

SMI: Estructura

Definido por SMI

(RFC 1155)

Definido en MIB-II

(RFC 1213)

SMI: Estructura

 Adición de nuevos objetos en las MIB:  Expansión o reemplazamiento del subárbol mib-2 remota de la red (RMON) : por ejemplo, con una versión posterior (mib-3) o añadiendo subárboles a mib-2, como la base de monitorización  Construcción de una MIB experimental , para una aplicación particular  Primero se incluyen los objetos en el subárbol experimental, y cuando el IAB los aprueba, pasan al mgmt  Extensiones privadas en el subárbol private objeto : dentro de private existe el nodo enterprises, donde se asigna una rama a cada fabricante que registra un identificador de

SMI: Estructura

    Cada objeto dentro de la MIB de SNMP tiene una definición formal que especifica:  El tipo de datos del objeto  El rango de valores que puede tomar  Su relación con otros objetos de la MIB, esto es, su posición dentro del árbol Se emplea la sintaxis ASN.1

RFC 1155: Structure of Management Information RFC 1212: Concise MIB Definitions  Especifican el formato que hay que seguir para definir los objetos en una MIB

SMI: Estructura

 Ejemplo: tcpMaxConn OBJECT-TYPE SYNTAX INTEGER ACCESS read-only Tipo de datos Modo de acceso a una instancia del objeto {read-only, read-write, write-only, not-accessible} Define si el objeto ha de ser necesariamente incluido en la implementación de la MIB {mandatory, optional, obsolete, deprecated} STATUS mandatory

DESCRIPTION

 "The limit on the total number of TCP connections the entity can support. In entities where the maximum number of connections is dynamic, this object should contain the value -1.“ Descripción del objeto (opcional, dirigida al usuario) ::= { tcp 4 } Posición del objeto dentro del árbol (referida al nodo “padre”)

SMI: Estructura

SMI: Tipos de Datos

  Los tipos de datos tienen una etiqueta asociada  Etiqueta = nombre de la clase + número no negativo Clases de tipos de datos  UNIVERSAL: tipos básicos, independientes de la aplicación  APPLICATION: relevantes a una aplicación particular  Por ejemplo, SNMP  CONTEXT-SPECIFIC: ídem que el anterior, pero aplicables en un contexto limitado  PRIVATE: definidos por los usuarios; no standarizados

SMI: Tipos de datos relevantes en SNMTP

  Tipos de datos universales:  INTEGER (UNIVERSAL 2)  OCTETSTRING (UNIVERSAL 4)  NULL (UNIVERSAL 5)  OBJECT IDENTIFIER (UNIVERSAL 6)  SEQUENCE, SEQUENCE OF (UNIVERSAL 16) Tipos de datos de la aplicación (RFC 1155)  networkAddress (eliminado actualmente)  ipAddress (OCTETSTRING de 4 bytes)  counter (INTEGER)  gauge (INTEGER)  timeticks (INTEGER)  opaque (datos arbitrarios, apenas se usa)

SMI: Tipos de datos universales

   INTEGER 32 bits en complemento a 2 Se puede limitar el rango de valores Ejemplos:  cuenta INTEGER ::= 100 -- valor inicial (opcional)   estado ::= INTEGER{ up(1), down(2), unknown(3)} – subtipo PacketSize ::= INTEGER {0..1023} – subtipo    OCTETSTRING Cadena de bytes Puede definirse la longitud de la cadena y un valor inicial Ejemplos:  DisplayString  Sólo puede contener caracteres NVT ASCII  Representación de textos  physAddress  Representación de direcciones físicas

SMI: Tipos de datos universales

OBJECT IDENTIFIER

 Identificador de objetos  Secuencia de números que determina la posición de un objeto dentro de la estructura en árbol  Ejemplo: el identificador del objeto tcpConnTable es

1.3.6.1.2.1.6.13

SEQUENCE

 Lista ordenada de tipos  Similar a un registro de Pascal o a una estructura de C

SEQUENCE OF

 Vector unidimensional de un solo tipo

 

SMI: Tipos de datos de la aplicación

ipAddress

Direcciones IP (32 bits) Definido como OCTETSTRING de 4 bytes: IpAddress ::= [APPLICATION 0] -- in network-byte order IMPLICIT OCTET STRING (SIZE (4))   

counter

!Entero no negativo de 32 bits (máx=2 32 - 1) Counter ::= [APPLICATION 1] IMPLICIT INTEGER (0..4294967295) Se puede incrementar, pero no decrementar Cuando el contador llega al máximo, vuelve a cero   ¿Cuánto vale realmente la cuenta?

Aplicaciones:  Número de paquetes/bytes enviados/recibidos, número de errores, …

SMI: Tipos de datos de la aplicación

Gauge

 Entero no negativo de 32 bits (máx=2 Gauge ::= [APPLICATION 2] IMPLICIT INTEGER (0..4294967295) 32 - 1):  !Se puede incrementar y decrementar  Cuando el contador llega al máximo, se queda bloqueado en ese valor  Aplicaciones:   Número de paquetes almacenados en una cola en un instante Almacenar la diferencia en el valor de algo entre el principio y el final de un intervalo de tiemp

timeticks

 Entero no negativo de 32 bits (máx=2 32 - 1)  Cuenta el tiempo en centésimas de segundo Valor máximo: 497 días TimeTicks ::= [APPLICATION 3] IMPLICIT INTEGER (0..4294967295)

SMI: Tipos de datos de la aplicación

 Problema: ¿Cuánto tiempo hace falta para “dar la vuelta” a un contador de 32 bits?

 Ejemplo: cantidad de bytes transmitidos

Velocidad de la interfaz

1o Mbps 100 Mbps 155 Mbps 1 Gbps

Tiempo de desbordamiento

57.26min.

5.73min.

3.69min.

0.57min

SMI: Tipos de datos de la aplicación

Nuevos tipos en SNMPv2

 Integer32: igual que INTEGER  Counter32: igual que counter  Gauge32: igual que gauge  Unsigned32: igual que gauge  Counter64: desde 0 hasta 18446744073709551615

SMI: Macro para la definición de objetos (RFC 1212)

IMPORTS ObjectName FROM RFC1155-SMI DisplayStringFROM RFC1158-MIB;

OBJECT-TYPE MACRO ::= BEGIN

TYPE NOTATION ::= "SYNTAX" type(ObjectSyntax) "ACCESS" Access "STATUS" Status DescrPart ReferPart IndexPart DefValPart VALUE NOTATION ::= value (VALUE ObjectName) Access ::= "read-only“ | "read-write“ | "write-only“ | "not-accessible" Status ::= "mandatory"| "optional"| "obsolete“ | "deprecated" DescrPart ::= "DESCRIPTION" value (description DisplayString) | empty ReferPart ::= "REFERENCE" value (reference DisplayString) | empty

SMI: Macro para la definición de objetos (RFC 1212)

IndexPart ::= "INDEX" "{" IndexTypes "}“ | empty DefValPart ::= "DEFVAL" "{" value (defvalue ObjectSyntax) "}“ | empty

END

IndexTypes ::= IndexType | IndexTypes "," IndexType IndexType ::= -- if indexobject, use the SYNTAX -- value of the correspondent -- OBJECT-TYPE invocation value (indexobject ObjectName) -- otherwise use named SMI type -- must conform to IndexSyntax below | type (indextype) IndexSyntax ::= CHOICE { number INTEGER (0..MAX), string OCTET STRING, object OBJECT IDENTIFIER, address NetworkAddress, ipAddress IpAddress }

SMI: Macro para la definición de objetos (RFC 1212)

    ReferPart (opcional): referencia cruzada textual a un objeto definido en otro módulo MIB IndexPart : para definir tablas; esta cláusula aparece cuando el objeto describe una fila de una tabla DefValPart (opcional): valor por defecto que se usa cuando se crea una instancia de un objeto VALUE NOTATION : indica el nombre que se usa para acceder a este objeto mediante SNMP

SMI: Definición de tablas

 SMI sólo permite estructurar los datos como tablas bidimensionales con valores escalares  Ejemplo: tabla con las conexiones TCP de un dispositivo  Objeto

tcpConnTable (1.3.6.1.2.1.6.13)

 Para cada conexión, se almacena en la tabla:  State : estado de la conexión TCP  Local Address: dirección IP local  Local Port : puerto local   Remote Address : dirección IP remota Remote Port: puerto remoto

SMI: Definición de tablas

Definición del objeto tabla :

tcpConnTable OBJECT-TYPE

OJO: T mayúscula

SYNTAX SEQUENCE OF

TcpConnEntry

ACCESS not-accessible STATUS mandatory DESCRIPTION "A table containing TCP connection specific information." ::= { tcp 13 }

SMI: Definición de tablas

Definición del objeto fila :

tcpConnEntry OBJECT-TYPE

SYNTAX TcpConnEntry ACCESS not-accessible INDEX { tcpConnLocalAddress, tcpConnLocalPort, tcpConnRemAddress, tcpConnRemPort } ::= { tcpConnTable 1 } STATUS mandatory DESCRIPTION "Information about a particular current TCP connection. An object of this type is transient, in that it ceases to exist when (or soon after) the connection makes the transition to the CLOSED state”

TcpConnEntry ::= SEQUENCE {

tcpConnState INTEGER, tcpConnLocalAddress IpAddress, tcpConnLocalPort INTEGER (0..65535), tcpConnRemAddress IpAddress, } tcpConnRemPort INTEGER (0..65535)

SMI: Definición de tablas

Definición de los campos : tcpConnState OBJECT-TYPE SYNTAX INTEGER { closed(1), listen(2), synSent(3), synReceived(4), established(5), finWait1(6), finWait2(7), closeWait(8), lastAck(9), closing(10), timeWait(11), deleteTCB(12) } ACCESS read-write STATUS mandatory DESCRIPTION "The state of this TCP connection.....” ::= { tcpConnEntry 1 } tcpConnLocalAddress OBJECT-TYPE SYNTAX IpAddress ACCESS read-only STATUS mandatory DESCRIPTION "The local IP address for this TCP connection. ...." ::= { tcpConnEntry 2 } tcpConnLocalPort OBJECT-TYPE SYNTAX INTEGER (0..65535) ACCESS read-only STATUS mandatory DESCRIPTION "The local port number for this TCP connection." ::= { tcpConnEntry 3 }

SMI: Definición de tablas

Definición de los campos : tcpConnRemAddress OBJECT-TYPE SYNTAX IpAddress ACCESS read-only STATUS mandatory DESCRIPTION "The remote IP address for this TCP connection." ::= { tcpConnEntry 4 } tcpConnRemPort OBJECT-TYPE SYNTAX INTEGER (0..65535) ACCESS read-only STATUS mandatory DESCRIPTION "The remote port number for this TCP connection." ::= { tcpConnEntry 5 }

SMI: Definición de tablas

SMI: Definición de tablas

Management Information Base (MIB-II)

  La MIB-II se define en el RFC 1213, y sustituye a la versión anterior MIB-I (RFC 1156) La MIB-II se divide en varios grupos  Los nodos deben implementar todos los objetos del mismo grupo, o ninguno

MIB-II: Grupo system

   Proporciona información general sobre el sistema gestionado  Muchos de estos objetos son útiles para la gestión de fallos y de la configuración Objetos para la gestión de fallos  sysObjectID : información sobre el fabricante del dispositivo (identificador de objeto para la empresa en el subárbol enterprises)  sysServices : código de 7 bits que indica los niveles del protocolo de red que soporta el dispositivo  sysUptime : tiempo total que ha transcurrido desde la última reinicialización del sistema Objetos para la gestión de la configuración  sysDescr : descripción textual de la entidad (versión S.O., hardware...)  sysLocation : ubicación física del sistema   sysContact : persona responsable del sistema sysName : nombre del sistema

MIB-II: Grupo system

MIB-II: Grupo interfaces

   Contiene datos genéricos relativos a cada interfaz específico de un dispositivo de red  Son útiles en gestión de fallos, de la configuración, de prestaciones y de contabilidad Objetos  ifNumber e ifTable ifNumber define el número de interfaces del sistema (número de entradas en la tabla)  ifTable contiene la información de cada interfaz: Información prestaciones :  para gestión de contabilidad y Información estadística: número de paquetes enviados, recibidos, descartados, multicast, erróneos, tamaño de colas ...

MIB-II: Grupo interfaces

Información para la gestión de configuración

 ifIndex : índice del interfaz  ifDescr : descripción textual  ifType : tipo de hardware que hay bajo la capa de red  ifMTU : tamaño de MTU para el interfaz  ifPhysAddress : dirección física del interfaz  ifSpeed : ancho de banda del interfaz (bits/seg)

MIB-II: Grupo interfaces

Información para la gestión de fallos

 ifAdminStatus , ifOperStatus : estado deseado y actual del interfaz (activo, inactivo o en modo de pruebas)

MIB-II: Grupo interfaces

MIB-II: Grupo ip

      Información relativa al funcionamiento del protocolo IP Configuración : ipForwarding , ipDefaultTTL Estadísticas : número de datagramas recibidos y enviados, errores, datagramas reensamblados y fragmentados....

Tabla de direcciones: ipAddr Table   Información de las direcciones IP asignadas a esta entidad Útil para monitorizar la configuración de la red Tabla de encaminamiento: ipRouting Table  Información de encaminamiento  Útil para monitorizar la configuración de la red, y para controlar el proceso de encaminamiento (gestión de fallos, de seguridad o de prestaciones) Tabla de traducción de direcciones: ipNetToMedia Table  Correspondencia entre direcciones IP y direcciones físicas (tabla ARP)  Esta información está también en el grupo at, por compatibilidad con MIB-I

MIB-II: Grupo ip

MIB-II: Grupo icmp

 Estadísticas relativas al funcionamiento del protocolo ICMP  Diversos sobre contadores tipos de mensajes ICMP enviados y recibidos

MIB-II: Grupo tcp

    Configuración del protocolo:  tcpRtoAltorithm: algoritmo de cálculo del timeout para retransmisiones  tcpRtoMin, tcpRtoMax: valores mínimo y máximo para el timeout Estadísticas de conexiones: activas, pasivas, intentos fallidos de conexión...

Estadísticas sobre envío y recepción de segmentos Tabla de conexiones TCP: tcpConnTable

MIB-II: Grupo udp

  Estadísticas sobre envío y recepción de datagramas UDP Tabla de puertos para los que hay una aplicación aceptando datagramas en la entidad: udpTable  Cada entrada es un par {udpLocalAdress, udpLocalPort}

MIB-II: Grupo egp

 

Estadísticas sobre envío y recepción de mensajes EGP (External Gateway Protocol) Tabla egpNeighTable

 Información sobre los encaminadores vecinos conocidos

MIB-II: Grupo transmission

   Objetos que proporcionan información sobre el medio de transmisión subyacente para cada interfaz del sistema Existen varias MIBs definidas para cada tipo de interfaz  Algunas se hayan en fase experimental (rama experimental); cuando se estandaricen, se moverán al grupo transmission Algunos ejemplos:  MIB para IEEE 802.4 Token Bus (RFC 1230)  MIB para IEEE 802.5 Token Ring (RFC 1231)  MIB para FDDI (RFC 1285)  MIB para Ethernet (RFC 1643)  ...

MIB-II: Grupo snmp

   Estadísticas sobre paquetes SNMP enviados y recibidos, errores en la sintaxis ASN.1, número de GETs , SETs y TRAPs ...

Algunas implementaciones se optimizan para ser agentes o gestores  Devuelven 0 en aquellos objetos que no tienen sentido para ellas Objeto snmpEnableAuthenTraps  Indica a un agente si debe enviar un trap de error de autentificación, al recibir un mensaje con nombre de comunidad erróneo

MIB-II: Grupo snmp

SNMPv2: Introducción

  SNMP presenta algunas deficiencias:  Seguridad  Prestaciones y funcionalidad Julio 1992: se proponen dos protocolos para mejorar SNMP  Secure-SNMP: trata de mejorar los aspectos de seguridad  SMP (Simple Management Protocol): se centra en mejorar los demás aspectos:     Alcance : facilita la gestión no solo de recursos de red, sino de cualquier recurso (aplicaciones, comunicación entre gestores, ...) Tamaño, velocidad y eficiencia : desarrollo de una capacidad de transferencia de bloques de información Seguridad y privacidad : incluyendo las mejoras de secure-SNMP Utilización y compatibilidad : SMP está diseñado para ejecutarse sobre TCP/IP, OSI y otras arquitecturas de comunicación; también puede interoperar con plataformas SNMP

SNMPv2: Introducción

   Tras la publicación de S-SNMP y SMP, se decidió combinar ambos y proporcionar una única evolución de SNMP Marzo/1993:  Surge SNMPv2, en forma de propuesta de estándar 1996  Se especifica finalmente SNMPv2, tras varios años de pruebas  Finalmente , en SNMPv2 quedan las mejoras de eficiencia y compatibilidad , pero se eliminan las mejoras de seguridad, por falta de un consenso en cuanto al método a adoptar

SNMPv2: Estructura del SMI

 La SMI de SNMPv2 expande la de la versión 1 en varias maneras:  Ampliación de la macro de definición de los tipos de datos  Se permiten enumeraciones   Los enteros son de 32 bits Se incluye el tipo de direcciones OSI NSAP, además de las IP  Existen contadores de 64 bits  Mejor definición del tipo Gauge  Mejora de la documentación de cada objeto  Cláusula UNITS  Nuevas convenciones para la creación y eliminación de filas en una tabla

SNMPv2: Estructura de la MIB

Se definen dos MIBs especificación de SNMPv2:

dentro de la

La MIB SNMPv2: información relacionada con la operación y configuración del protocolo, y de agentes y gestores  La MIB M2M (Manager to Manager): soporte para la arquitectura de gestión distribuida

SNMPv2: Estructura de la MIB

 La MIB SNMPv2 incluye cinco grupos:  Estadísticas SNMPv2  Estadísticas SNMPv1  Recursos de Objeto : objetos que permiten a una entidad SNMPv2 actuar como un agente, y que son objeto de configuración dinámica por parte del gestor  Grupo de Traps : objetos que permiten que una entidad agente SNMPv2 genere PDUs de tipo TRAP SNMPv2  Grupo Set : permite la cooperación de entidades gestoras SNMPv2, para coordinar el uso de la operación Set

SNMPv2: Estructura de la MIB

La MIB M2M (Manager to Manager) incluye dos grupos:

 snmpAlarm : colección de objetos que permiten describir y configurar umbrales de alarma en una entidad SNMPv2 actuando como agente y como gestor  snmpEvent : colección de objetos que permiten la descripción y configuración de eventos de una entidad SNMPv2, realizando un papel doble

SNMPv2: Operación del protocolo

   SNMPv2 define dos nuevas PDU’s: Intercambio de información entre gestores: InformRequest  Siempre contiene las variables sysUpTime.0 (MIB-II) y SNMPTrapOID.i (MIB M2M)  SNMPv2TrapOID.i contiene el identificador de objeto del tipo de evento Transferencia eficiente de grandes bloques de datos: GetBulkRequest  Similar a GetNextRequest en la forma de especificar el inicio de la información a recuperar, pero pudiendo seleccionar múltiples sucesores lexicográficos

SNMPv2: Operación del protocolo

SNMPv2: Operación del protocolo

Otras diferencias:

 La PDU de Trap tiene el mismo formato que las demás, excepto GetBulkRequest, para facilitar su procesamiento en el receptor  Siempre se incluye el valor de las variables sysUpTime.0, y snmpTrapOID.0 (SNMPv2 MIB)  Se pueden incluir más variables  GetRequest y GetNextRequest no son atómicas

SNMPv2: Otras caraterísticas

  Declaraciones de conformidad  La especificación de SNMPv2 incluye la definición de un notación para especificar implementación real alcanzado niveles mínimos aceptables de implementación, junto con el nivel de Protocolos de transporte soportados  UDP (preferido)  OSI Connectionless-Mode Network Service (CLNS)  OSI Connection-Oriented Network Service (CONS)  Novel IPX  Appletalk

SNMPv2: Coexistencia con SNMP

   En la especificación recomendaciones para permitir y facilitar la coexistencia con SNMPv1 de SNMPv2 se hacen  La información de gestión de SNMPv2 es un superconjunto de la de SNMPv1 Para compatibilizar las operaciones del protocolo, hay dos posibilidades:  Emplear un agente proxy : este agente interactuará con los agentes SNMP, y con los gestores SNMPv2  Emplear un gestor bilingüe : el gestor contactará con cada agente empleando el protocolo adecuado Esto debe ser transparente a la aplicación de gestión

SNMPv2: Coexistencia con SNMP

SNMPv2: Coexistencia con SNMP

SNMPv3

   En la versión final de SNMPv2 finalmente se descartaron las mejoras a la seguridad, por falta de consenso  Se intenta añadir seguridad a SNMPv2, proponiendo SNMPv2u y SNMPv2* A partir de ellos, en 1998 surge SNMPv3  Define una serie de capacidades de seguridad y un marco que hace posible su uso junto con las PDUs de SNMPv1 o SNMPv2 SNMPv3 define un conjunto de  mecanismos de seguridad Protección contra las amenazas de modificación de la información, enmascaramiento, modificación del flujo de mensajes y revelación de contenidos  No contempla la protección frente a la denegación de servicio o el análisis del tráfico

SNMPv3

  Se definen dos capacidades relacionadas con la seguridad:  Modelo de seguridad basado en el usuario (USM, User-based Security Model)  Proporciona funciones de autentificación y privacidad (encriptado)  Opera a nivel de mensaje  Modelo de control de acceso basado en vistas (VACM, View based Access Control Model)  Determina si a una entidad dada se le permite el acceso a ciertos objetos de un MIB, para ejecutar acciones concretas: implementa un control de acceso a los objetos  Funciona a nivel de PDU (subsistema de control de acceso) La MIB también se amplía para contemplar las nuevas informaciones necesarias para la gestión  RFC 3418 “Management Information Base (MIB) for the Simple Network Management Protocol (SNMP)”