SNMP, CMIS/CMIP, RMON Licencia SNMP - oposcaib
Transcripción
SNMP, CMIS/CMIP, RMON Licencia SNMP - oposcaib
SNMP, CMIS/CMIP, RMON SNMP, CMIS/CMIP, RMON Índice de contenido SNMP, CMIS/CMIP, RMON........................................................................................................................1 Licencia......................................................................................................................................................1 SNMP.........................................................................................................................................................1 Introducción y evolución histórica.........................................................................................................1 Arquitectura SNMP................................................................................................................................2 MIB........................................................................................................................................................2 ASN.1.....................................................................................................................................................4 Funcionamiento y comandos..................................................................................................................4 Autenticación y privacidad.....................................................................................................................5 CMIS/CMIP...............................................................................................................................................5 Introducción...........................................................................................................................................5 Funcionamiento y diferencias respecto a SNMP....................................................................................5 RMON........................................................................................................................................................6 Introducción y evolución histórica.........................................................................................................6 Funcionamiento......................................................................................................................................7 Licencia Este obra de Jesús Jiménez Herranz está bajo una licencia Creative Commons AtribuciónLicenciarIgual 3.0 España. Basada en una obra en oposcaib.wikispaces.com. SNMP Introducción y evolución histórica SNMP es un protocolo de gestión de red, que permite administrar los diferentes elementos conectados a una red. Es uno de los protocolos de la pila TCP/IP, y uno de los protocolos incluidos entre los estándares de Internet. SNMP permite a los administradores de la red consultar la información de administración de cada nodo. Esta información la almacena cada nodo en forma de variables, de forma que la única tarea del nodo es responder a consultas de una variable por parte de un administradodr (Get) o, en ocasiones, actuar frente a una indicación de cambio de valor de una variable (Set). Esta simplicidad en cuanto a las operaciones a realizar tiene que ver con uno de los objetivos principales de SNMP, que es minimizar la complejidad de las tareas de administración en cada dispositivo. Esto tiene diferentes ventajas: ● Bajo coste de implementación en los dispositivos ● Hace más sencilla y flexible la administración remota El protocolo SNMP ha pasado históricamente por diferentes versiones: ● SNMPv1: Versión original. ● SNMPv2: Añade mejoras en cuanto a rendimiento y seguridad, así como un nuevo comando GETBULK para transferencias masivas de datos. ● SNMPv2c: Como SNMPv2, pero sin el módulo de seguridad, que nunca fue aceptado por la industria. Aunque nunca ha sido estandarizada, la v2c es la versión v2 estándar de facto. ● SNMPv3: Añade autenticación, privacidad en las comunicaciones y control de accesos. Jesús Jiménez Herranz, http://oposcaib.wikispaces.com 1 SNMP, CMIS/CMIP, RMON SNMP, al realizar conexiones breves y de poca información, funciona generalmente sobre UDP, en los puertos 161 (peticiones) y 162 (recepción de traps). También puede utilizarse sobre TCP, pero no suele ser recomendable para evitar utilizar la red en exceso. Arquitectura SNMP SNMP divide los elementos de la red en dos tipos: administradores y administrados. En cada uno de los elementos administrados se encuentra un componente software, llamado agente, encargado de ofrecer una serie de información administrativa a través de un interfaz estándar. Esta información se presenta en forma de variables, que representan diferentes parámetros de funcionamiento del dispositivo y de la red (p. ej. “memoria libre” o “nombre de máquina”). Estas variables están estructuradas según una jerarquía fija llamada MIB (Management Information Base), y son consultadas o modificadas mediante diferentes comandos. En concreto, el modelo de gestión de red definido en SNMP reconoce los siguientes elementos: ● Elementos de red: Llamados también dispositivos gestionados, son los dispositivos hardware conectados a la red, como por ejemplo routers, máquinas, etc. ● Agentes: Son los módulos software que residen en cada uno de los elementos de red, y que mantienen la información de cada elemento, así como permiten su acceso. ● Objeto gestionado: Es cada elemento de información de un nodo la red, y se refiere a algún parámetro de funcionamiento. ● MIB: Management Information Base, son un conjunto de objetos gestionados representados como una jerarquía. MIB El conjunto de objetos gestionados por un elemento de red se conoce como MIB (Management Information Base), que es una base de datos jerárquica en la que los objetos se almacenan en forma de árbol. Cada objeto del MIB se define mediante cuatro elementos: ● Nombre y ubicación en el árbol ● Formato ● Regla de codificación ● Permisos de acceso al objeto (lectura, escritura). El formato de cada objeto de un MIB está especificado mediante un subconjunto de la notación ASN.1 (Abstract Syntax Notation 1), que es una notación estándar ISO que permite describir de forma flexible diferentes estructuras de datos de forma independiente de la plataforma. El subconjunto de ASN.1 utilizado en SNMP se conoce como SMI (Structure of Management Information), e incluye los siguientes elementos: ● Tipos básicos de ASN.1: INTEGER, OCTET STRING, OBJECT IDENTIFIER y NULL ● Tipos estructurados: SEQUENCE ● Tipos personalizados predefinidos: Algunos conceptos comunes que ya se encuentran predefinidos en la especificación. Se permiten, entre otros: ○ NetworkAddress, IpAddress ○ Counter: Contador entero incremental (p. ej. número de conexiones) ○ Gauge: Medida entera que fluctúa entre 0 y un valor máximo (p. ej. utilización de CPU) Jesús Jiménez Herranz, http://oposcaib.wikispaces.com 2 SNMP, CMIS/CMIP, RMON ○ ○ TimeTicks: Contador positivo de centésimas de segundo desde un tiempo de referencia (epoch) Opaque: Contenedor para un tipo ASN.1 no incluido en el estándar SMI Además de su formato, cada objeto del MIB tendrá asociada una regla de codificación, que especifica cómo transformar el tipo abstracto a flujo de bits para su transmisión por la red, de forma que todos los elementos de la red codifiquen igual los diferentes objetos y no haya problemas en la comunicación. Un ejemplo de definición de un objeto mediante SMI sería el siguiente: NumConexiones OBJECT-TYPE SYNTAX Counter MAX-ACCESS read-only STATUS mandatory DESCRIPTION "Número de conexiones activas" ::= { network 18 } En este caso se define el parámetro NumConexiones como un contador de sólo lectura, obligatorio, con el identificador 18 y que cuelga del árbol network. Un elemento de red puede implementar más de un MIB diferente con diferentes informaciones, y de hecho algunos MIBs concretos son de implementación obligatoria según las especificaciones de SNMP. Es el caso del MIB llamado MIB-II que incluye información genérica sobre un nodo SNMP y contiene, entre otros, los siguientes subárboles de información: ● System: Información genérica del nodo (nombre de máquina, ubicación física, etc.) ● Interfaces: Número de interfaces de red en el nodo, y parámetros de cada una. ● TCP/IP: Parámetros de funcionamiento de los protocolos de la pila TCP/IP (TCP, UDP, IP, ICMP, etc.) ● SNMP: Parámetros e información de estado del propio protocolo SNMP ● Transmission: Información sobre el medio físico de transmisión asociado a cada interfaz Si bien MIB-II es el único MIB obligatorio en cualquier dispositivo SNMP, existen conjuntos estándar adicionales para otras tecnologías. Algunos de los más utlizados son: ● MIB-ATM ● MIB-Frame Relay ● MIB-DNS ● Host Resources MIB: En el caso de que el elemento de red sea un PC, permite monitorizar aspectos locales de la máquina (uso de CPU, espacio libre en disco, número de usuarios, etc.). ● RMON: Conjunto de estadísticas que se van generando con el tráfico de paquetes, y que permiten hacer un estudio global de la red. Además de los MIBs estándar, es posible definir objetos adicionales, referentes a características concretas de cada dispositivo. Jesús Jiménez Herranz, http://oposcaib.wikispaces.com 3 SNMP, CMIS/CMIP, RMON ASN.1 Abstract Syntax Notation 1 es un estándar ISO que permite describir estructuras de datos de forma abstracta e independiente de la plataforma. ASN.1 es un estándar conjunto de la ISO y la ITU-T. Si bien el objetivo de ASN.1 es especificar estructuras de datos de forma abstracta, también ofrece diferentes algoritmos para traducir la representación abstracta a una representación en forma de bits. Concretamente, ASN.1 ofrece, entre otros, los siguientes algoritmos: ● Basic Encoding Rules (BER): Transformación a stream de bytes ● Packet Encoding Rules (PER): Transformación a un flujo de bits no necesariamente alineado a bytes. Permite compactar al máximo la información. ● XML Encoding Rules (XER): Transforma la notación ASN.1 a una notación XML ASN.1 se usa de forma extensiva en protocolos como SNMP, mientras que otros protocolos como HTTP utilizan la notación ABNF (Augmented Backus-Naur form), que es completamente textual y que, aunque es menos compacta que ASN.1, es más legible y fácil de implementar. Funcionamiento y comandos Resumiendo los apartados anteriores, SNMP plantea la red como un conjunto de elementos de red que exponen una serie de informaciones en forma estructurada, de manera que los administradores puedan recuperarla y modificarla. Así, en SNMP sólo hay tres tipos de interacciones con los elementos de red: ● Leer una variable ● Alterar una variable: Para modificar algún parámetro de funcionamiento ● Gestión de traps: Un elemento de red notifica a un administrador ante un determinado evento. Es el único tipo de interacción que no se inicia por parte del administrador, si bien requiere una programación previa. Los comandos SNMP son: ● GetRequest: Solicita el valor de una variable ● GetResponse: En un agente, devuelve el valor solicitado por una petición GetRequest previa. ● GetNextRequest: Para aquellas variables grandes o compuestas que no se puedan transmitir mediante un único comando GetRequest (p. ej. una tabla de enrutado), permite recuperar el siguiente fragmento. ● GetBulk: Nuevo en SNMPv2, es como GetRequest pero permite recuperar datos grandes en un solo comando, sin recurrir a GetNextRequest. ● SetRequest: Establece el valor de una variable La gestión de traps no utiliza ningún comando, salvo Gets y Sets convencionales sobre objetos de configuración para programar qué tipo de traps deben generarse, en qué condiciones, y a quién deben enviarse. Cada mensaje de trap es un conjunto de datos con un formato definido en el MIB correspondiente que se esté usando. Estos datos incluyen: ● Tipo de trap: Puede ser personalizado, pero hay algunos tipos predefinidos: ○ Notificaciones de sistema: coldStart, warmStart Jesús Jiménez Herranz, http://oposcaib.wikispaces.com 4 SNMP, CMIS/CMIP, RMON Cambios en los interfaces: linkDown, linkUp ○ Intentos de conexión fallidos: authenticationFailure ○ Perdida conexión con un equipo adyacente: neighborLoss Datos asociados ○ ● Autenticación y privacidad Los mecanismos de autenticación en SNMPv1 y v2 son considerablemente simples. Así, se clasifican los accesos en categorías llamadas communities, donde cada community tiene un nombre y una contraseña (community string) asociada. Cuando se envía un comando SNMP a un dispositivo, es necesario especificar la community a la que se quiere acceder y su respectiva contraseña. Por defecto, SNMP establece tres communities: ● Read-only: Permite leer objetos ● Read-write: Permite también escribir ● Traps: Permite recibir notificaciones Las contraseñas se envían en texto plano, por lo que es posible averiguarlas simplemente monitorizando el tráfico en la red, y hacen que el esquema de communities sea poco seguro. En SNMPv3 se añaden mecanismos adicionales de autenticación que permiten realizar el proceso de forma segura. Así, las contaseñas se codifican mediante hashes MD5/SHA, y la comunicación puede hacerse, de ser necesario, de forma cifrada mediante el algoritmo de cifrado DES. El protocolo está diseñado de forma que sea extensible y puedan añadirse nuevas formas de autenticación/cifrado en el futuro. CMIS/CMIP Más info: Black, Uyless (1995). Aaron Bittner. ed. Network Management Standards: SNMP, CMIP, TMN, MIBs, and Object Libraries. New York: McGraw-Hill, Inc.. ISBN 007005570X. Introducción CMIP es el protocolo de gestión de red correspondiente al modelo ISO/OSI. Se encarga de implementar los servicios definidos por CMIS (Common Management Information Services). Dada la poca implementación del modelo OSI, se ha intentado adaptar el protocolo CMIP para su uso en redes TCP/IP, en lo que se conoce como CMOT (CMIP Over TCP/IP). CMIP se planteó como un competidor de SNMP, y de hecho tiene muchas más funcionalidades. De todas formas, precisamente su complejidad y el consumo de recursos que conlleva es lo que han hecho que su uso se encuentre bastante limitado, mientras que SNMP se implementa de forma masiva. Funcionamiento y diferencias respecto a SNMP La arquitectura de CMIS/CMIP es similar a la de SNMP, en el sentido de que cada nodo almacena una base de datos jerárquica de variables que dan información sobre su funcionamiento. Al igual que SNMP, CMIP también utiliza un subconjunto de ASN.1 para especificar las informaciones que almacenan los nodos de la red, si bien el formato resultante es diferente del usado en SNMP (SMI). En CMIS/CMIP, el formato para modelar objetos de información se denomina GDMO (Guidelines for the Definition of Managed Objects). Algunas características en las que CMIP se diferencia de SNMP son: Jesús Jiménez Herranz, http://oposcaib.wikispaces.com 5 SNMP, CMIS/CMIP, RMON ● ● ● ● Las variables en CMIP no sólo contienen información, sino que pueden utilizarse para realizar tareas. Operaciones más complejas: Permite operaciones avanzadas más allá de los Get y Set de SNMP Orientado a conexión (SNMP funciona sobre UDP) Autenticación, cifrado y registros de seguridad. CMIP funciona sobre ROSE, el protocolo OSI encargado del intercambio de comandos entre dos extremos. Para el establecimiento de conexiones, utiliza el protocolo ACSE, el protocolo OSI encargado del establecimiento de enlaces. Algunos de los comandos definidos en CMIS son: ● M-GET, M-SET: Equivalentes a los Get y Set de SNMP, permiten recuperar información de un nodo. ● M-ACTION: Indican a un nodo que debe realizar una acción. ● M-EVENT-REPORT: Notificaciones asíncronas de los nodos, similar al sistema de traps de SNMP. RMON Introducción y evolución histórica Si SNMP permite monitorizar parámetros completos de los elementos de una red, RMON es un estándar pensado para monitorizar la red en su conjunto. Para ello establece una serie de sondas en la red, combinando la información de todas ellas para analizar la red de forma global. Objetivos de RMON: ● Operación off-line: El uso de sondas independientes permite seguir monitorizando la red incluso cuando el administrador se encuentra desconectado. ● Monitorización proactiva: Las sondas funcionan continuamente, lo que hace posible vigilar la red avanzándose a potenciales situaciones de fallo. ● Detección, análisis y diagnóstico de problemas: En caso de fallo, las sondas almacenan un registro exacto del tráfico y los eventos en la red, lo que puede ser útil para diagnosticar el problema y prevenirlo en el futuro. ● Valor añadido en la recolección de datos: Las sondas, al estar en contacto directo con la red, pueden preprocesar la información recolectada haciéndola más fácil de interpretar. Versiones: ● RMONv1: Estadísticas a nivel de paquete para una LAN/WAN ● RMONv2: Estadísticas a nivel de red y de aplicación. ● SMON: Versión de RMON para el análisis de redes conmutadas Jesús Jiménez Herranz, http://oposcaib.wikispaces.com 6 SNMP, CMIS/CMIP, RMON Funcionamiento RMON es en realidad una extensión a SNMP, en el sentido de que únicamente define nuevos grupos de información a los ya existentes en el MIB de SNMP. La consulta de las diferentes sondas se hace utilizando mensajes SNMP, si bien el funcionamiento se diferencia de un sistema SNMP convencional en diferentes aspectos: ● Las sondas almacenan volúmenes considerables de información, y realizan procesamientos más complejos que los de un agente SNMP típico. ● No existe un polling continuo por parte del administrador, sino que la información se envía bajo demanda En resumen, RMON hace un análisis orientado al flujo de los datos, mientras que SNMP lo orienta a los dispositivos puntuales. Por tanto, RMON permite analizar aspectos relacionados con los patrones del tráfico de datos, mientras que SNMP se centra en el estado de cada dispositivo. RMON se define como un MIB SNMP. Los grupos que contiene el MIB RMON son: ● Statistics: Estadísticas de la LAN Ethernet (utilización, colisiones, errores). ● History: Histórico de algunas estadísticas seleccionadas ● Alarm: Aquí se definen umbrales para las estadísticas, de manera que si se supera un umbral se envíe un trap SNMP. Está asociado al grupo Event. ● Hosts: Estadísticas de tráfico (bytes recibidos, velocidad, etc.) a nivel de máquinas individuales. También se guarda la lista de máquinas más activas en un intervalo de tiempo dado. ● Matrix: Tabla matricial de tráfico enviado-recibido entre las diferentes máquinas de la red. ● Filter: Permite establecer filtros para determinar qué paquetes se analizarán, o capturar determinados paquetes para su posterior análisis. ● Capture: Contiene los paquetes capturados mediante los filtros del grupo anterior. ● Event: Guarda un registro de las alarmas generadas. ● Token Ring: Datos de monitorización específicos de redes Token Ring. RMONv2, además de añadir nuevas características, permite monitorizar no sólo a nivel de enlace, sino también a niveles superiores de la pila OSI. Para ello, añade grupos adicionales, entre otros: ● Estadísticas a nivel de red y a nivel de aplicación. ● Estadísticas agrupadas por protocolo. ● Mecanismos para la configuración remota de las sondas SMON es una extensión de RMON para permitir el análisis de redes conmutadas. Una red conmutada presenta una serie de diferencias respecto a una Ethernet convencional, que hacen difícil la monitorización tal y como la plantea RMON. Entre otras: ● Los datos no se envían al medio en forma de broadcast, sino que se envían directamente entre emisor y receptor. Esto hace más difícil la monitorización. ● Determinadas redes conmutadas funcionan a nivel de celda (p. ej. ATM), mientras que RMON trabaja únicamente a nivel de paquetes. ● El enrutado en una red conmutada no es trivial, y debe tenerse en cuenta a la hora de monitorizar. ● Las redes conmutadas generalmente se segmentan en LANs virtuales (VLANs). Jesús Jiménez Herranz, http://oposcaib.wikispaces.com 7 SNMP, CMIS/CMIP, RMON Para resolver estas dificultades, SMON soporta las siguientes características: ● Replicación de puertos: Determinados dispositivos permiten replicar un puerto, duplicando su tráfico y utilizando el duplicado para la monitorización. ● SMON soporta utilizar una VLAN como entrada de datos, lo que le permite monitorizar el tráfico de un sub-segmento de red. Jesús Jiménez Herranz, http://oposcaib.wikispaces.com 8