PROTOCOLO SNMP: ESTUDIO EN PROFUNDIDAD

ÍNDICE
PROTOCOLO SNMP: ESTUDIO EN PROFUNDIDAD
1. INTRODUCCIÓN . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .3 2. CONCEPTOS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .6 3. MODELO DE INFORMACIÓN . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .14 4. MODELO ADMINISTRATIVO . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .16 5. MODELO OPERACIONAL . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .20

PROTOCOLO SNMP: ESTUDIO EN PROFUNDIDAD
1. Introducción
En una internet (con minúscula, redes locales) se conectan varias redes entre sí con el uso de routers y un protocolo de interconexión de redes, de modo que los routers usan el protocolo para encubrir las características de las redes y proporcionar un servicio uniforme entre ellas, es decir, aunque cada red use una tecnología distinta y unas reglas específicas de transmisión, los hosts de cada red ven a la red de igual manera. Éste es el poder de la abstracción de la interconexión entre redes.

La principal tecnología de interconexión de redes es el conjunto de protocolos de Internet llamados TCP/IP, que se crearon en la Agencia de Proyectos de Investigación Avanzada de Defensa (DARPA) y que son los que se usan en la Red Internet, (con mayúscula, la red de redes global) pero también en la interconexión de redes menores internet. SNMP se sitúa en el tope de la capa de transporte de la pila OSI, o por encima de la capa UDP de la pila de protocolos TCP/IP. Siempre en la capa de transporte. Gráficamente se podría ver así:

3

PROTOCOLO SNMP: ESTUDIO EN PROFUNDIDAD
1. Necesidad de administrar redes
Los problemas que se presentan en la interconexión de redes son principalmente dos: a) Dispositivos diferentes: la interconexión de redes permite diferentes tipos de dispositivos y éstos son de distintos vendedores, todos ellos soportando el protocolo TCP/IP. Debido a esto, la administración de redes se presenta como un problema. Sin embargo, usar una tecnología de interconexión abierta permitió que existieran las redes formadas por dispositivos de distintos fabricantes, por lo que para administrar estas redes, habrá que usar una tecnología de administración de redes abierta. b) Administraciones diferentes: como se permite la interconexión entre redes de distinto propósito y distinto tamaño, hay que tener en cuenta que también están administradas, gestionadas y financiadas de distinta forma.

2. Evolución histórica del Protocolo Simple de Gestión de Red (SNMP)

El protocolo Snmpv1 fue diseñado a mediados de los 80 por Case, McCloghrie, Rose, and Waldbusser, como una solución a los problemas de comunicación entre diferentes tipos de redes.

En un principio, su principal meta era el lograr una solución temporal hasta la llegada de protocolos de gestión de red con mejores diseños y mas completos. Pero esos administradores de red no llegaron y SNMPv1 se convirtió en la única opción para la gestión de red. El manejo de este protocolo era simple, se basaba en el intercambio de información de red a través de mensajes (PDU’s). Además de ser un protocolo fácilmente extensible a toda la red, debido a esto su uso se estandarizo entre usuarios y empresas que no querían demasiadas complicaciones en la gestión de sus sistemas informáticos dentro de una red. No obstante este protocolo no era perfecto, además no estaba pensado para poder gestionar la inmensa cantidad de redes que cada día iban apareciendo. Para subsanar sus carencias surgió la versión 2 (SNMP v2). Las mayores innovaciones respecto a la primera versión son:

4

se ha producido la estandarización de la versión 3.PROTOCOLO SNMP: ESTUDIO EN PROFUNDIDAD .Introducción de mecanismos de seguridad. Por estas razones. . 5 . no se llegaron a implementar. El hecho de poder usar tablas hace aumentar el número de objetos capaces de gestionar. Estos mecanismos protegen la privacidad de los datos. por lo que ayudan a los mecanismos de seguridad.Realmente esta versión 2 sólo supuso un parche. . confieren autentificación a los usuarios y controlan el acceso.Se añaden estructuras de la tabla de datos para facilitar el manejo de los datos. Estas técnicas confieren consistencia y llevan implícita la seguridad. Usa Lenguajes Orientados a Objetos (Java. con lo que el aumento de redes dejó de ser un problema. es más hubo innovaciones como los mecanismos de seguridad que se quedaron en pura teoría. totalmente ausentes en la versión 1.Mayor detalle en la definición de las variables. Con dos ventajas principales sobre sus predecesores: . C++) para la construcción de los elementos propios del protocolo(objetos).Añade algunas características de seguridad como privacidad. autentificación y autorización a la versión 2 del protocolo. .

formado por doce documentos. Un modelo Un sistema de administración de red contiene cinco elementos: 1.Un protocolo de administración de red. Nodos administrables Un nodo administrable es un dispositivo que puede clasificarse en una de las siguientes categorías: .Al menos una estación de administración de red (NMS) con soporte para una o más aplicaciones de administración de la red. y esto se debe a motivos históricos: los esquemas previos eran ocasionales y propietarios. quedando algunos como borradores de estándares y otros como proposiciones de estándares. 1. o impresora. como una estación de trabajo. que es usado por la estación y los agentes para intercambiar información. que fueron incluidos dentro del entorno SNMPv2.Uno o más nodos administrables. 6 . mainframe. 2. 3. 5. compuesto por tres documentos. 4.Un dispositivo de acceso al medio. como un repetidor. Conceptos El entorno usado para administración en los protocolos de Internet se llama Internet-standard Networking Management Framework (entorno para la administración de redes basadas en Internet). . que pueden actuar como agente o como administrador. y el entorno que le sucedió (SNMPv2 Framework).Posiblemente una o más entidades de doble función. dejando sus documentos originales sólo para interés histórico.Un Host.Información que administrar.PROTOCOLO SNMP: ESTUDIO EN PROFUNDIDAD 2. Entre ambos entornos hubo dos pasos intermedios: SNMP Security y SMP . Fue entonces cuando se declaró histórico el estándar original y la comunidad se quedó con un solo entorno. un puente o un hub. . cada uno de los cuales es un estándar de Internet con la condición de Recomendado. Actualmente existen dos versiones de este entorno: el entorno original (Internet-standard Networking Management Framework). este segundo entorno se revisó en ocho documentos.Un sistema de enrutamiento. estos documentos se convirtieron en un completo estándar de Internet. Dos años después. conteniendo cada uno un agente. Con el tiempo.

1. 3. Esto permite determinar al nodo cómo se está administrando.1 El axioma fundamental Un buen sistema de administración de red debe conocer la diversidad de dispositivos existentes y proporcionar un entorno apropiado. de modo que sólo los procesos de aplicaciones autorizadas realicen la administración.PROTOCOLO SNMP: ESTUDIO EN PROFUNDIDAD Estas tres categorías coinciden en que clasifican a algún tipo de dispositivo con alguna capacidad de trabajo en red. 1. mientras que la principal característica de los dispositivos de la tercera clase es la dependencia del medio. el axioma fundamental dice que: El impacto de añadir una administración de red a un nodo administrable debe ser mínimo. Las dos primeras categorías se caracterizan por ser normalmente independientes del medio. El axioma fundamental se debe a las grandes diferencias entre los distintos nodos administrables que existen. El protocolo de administración trabaja en el entorno del modelo administrativo. 7 . que permite monitorizar y controlar el nodo administrable.2 Características de los Nodos Administrables Podemos considerar que cada nodo administrable está formado por tres componentes: 1. que mantiene políticas de autorización y autentificación.Instrucciones de administración.3 Modelo Administrativo Actualmente los intercambios de información son insuficientes para proporcionar la administración de los nodos. Esto se debe a un mecanismo de comunicación interno en el que las estructuras de datos de las funciones de usuario deben ser accesibles y modificables a petición del protocolo de administración. 1. que interactúan con la implementación del nodo administrable para permitir la monitorización y el control.Un protocolo de administración.Funciones de usuario. 2. Así. La interacción entre estos tres componentes es sencilla: las instrucciones actúan como un pegamento entre las funciones de usuario y el protocolo de administración. reflejando un común denominador más bajo.

mientras que la relación peer-to-peer depende de la arquitectura. Si el protocolo es el encargado de proporcionar los mecanismos de administración. entonces las aplicaciones determinan la política que se usa para la administración. se favorece desplazar la carga hacia la estación de administración. el software de cada estación realiza un papel de administrador al monitorizar y controlar dispositivos que dependen de él jerárquicamente. en consecuencia la carga se desplaza a las estaciones. El concepto clave con las entidades de doble función es que la relación jerárquica depende de la configuración. 2. Hay que tener en cuenta que a medida que hay más nodos administrables en una internet. y un papel de agente al informar y actuar según los comandos proporcionados por un superior jerárquico. se pueden construir relaciones jerárquicas entre las estaciones de administración. esto si consideramos que el software de cada estación de administración puede realizar tanto la función de administrador como la de agente.PROTOCOLO SNMP: ESTUDIO EN PROFUNDIDAD 2. El axioma fundamental indica que añadir administración de red debería tener un impacto mínimo en los nodos. así que ¿cuánta potencia es necesaria entonces? La experiencia muestra que la mayoría de las estaciones de trabajo pueden proporcionar los recursos necesarios para soportar una buena estación de administración.1 Entidades de doble función Se ha dicho que las estaciones de administración sólo interactúan con los nodos. ¿Qué pasaría si el mismo nodo también fuera una estación de administración? Es necesario apreciar que el modelo agente-administrador puede soportar directamente. Estas aplicaciones deberían informar a aplicaciones de estaciones de administración regionales. se puede construir un sistema de administración donde cada segmento de una LAN tiene una aplicación de administración que controla el estado de los dispositivos de ese segmento. Teniendo esto en cuenta. Estación de Administración de Red Una estación de administración de red es una máquina que ejecuta el protocolo de administración de red y una o más aplicaciones de administración de red. En este ejemplo. Sin embargo podríamos pensar que el sistema que soporta la estación de administración es más potente que un nodo. que el modelo agente-administrador es también un modelo peer-to-peer. 8 . las cuales deberían informar a estaciones de administración entre empresas. es decir. Por ejemplo.

el protocolo de administración debe proporcionar dos nuevas funciones: . que permite a los nodos informar a la estación de administración de un evento extraordinario. el protocolo debe proporcionar un significado para examinar la lista de variables soportadas por un nodo. Las estaciones deben determinar qué variables se soportan. Protocolo de Administración de Red Dependiendo del paradigma que se utilice para la administración de la red.1 Operaciones En el entorno de administración. existen otras dos: 1.Un mecanismo para recuperar celdas de una tabla. la tabla de enrutamiento IP no es escalar. cada nodo tiene una serie de variables.1. Se trata de un paradigma de depuración remota. todas las variables relacionadas con una determinada funcionalidad se agrupan juntas. de modo que leyendo estas variables se monitoriza el nodo. que permite determinar a la estación de administración qué variables soporta un nodo.Un mecanismo para recuperar números grandes de una celda de una tabla. y cambiándoles el valor se controla. 3. cuya ventaja es que es sencillo construir un protocolo de administración que realice estas funciones. un protocolo de administración puede tomar varias formas: 3. sino que está formada por una o más filas. En el entorno de administración. Sin embargo.Una operación de interrupción. Por tanto. también contienen diferentes variables de administración. También hay que tener en cuenta que pueden existir variables que aparezcan más de una vez. Veamos un poco más de ambas operaciones. Además de las operaciones de lectura y escritura. .PROTOCOLO SNMP: ESTUDIO EN PROFUNDIDAD 3. 2. cada una de las cuales presenta varias columnas.Una operación cruzada.1 Operación de Examen Como los nodos realizan distintas funciones. 9 . Por ejemplo.

Por tanto hay que usar un diseño cuidadoso para que las interrupciones sean recibidas sólo por aquellas estaciones interesadas. el nodo manda una interrupción simple a la aplicación. lo cual es poco deseable si se está informando de un problema de congestión de la red. cuando se genera una interrupción. Más aún.2 Operación de Interrupción Desde el comienzo de los sistemas operativos. Por supuesto. La desventaja del método de sondeo es que la aplicación de administración no sabe qué elementos sondear ni con qué frecuencia. En conclusión. Por tanto tenemos la ventaja de una notificación inmediata. las interrupciones pueden ocupar un gran ancho de banda. En el entorno de administración se usa el modelo interrupción-sondeo directo (trap-directed polling). la cual sí tiene una visión global de la red. el nodo perderá tiempo en prepararla y no se dedicará a cosas útiles. así el control lo tiene la aplicación. Es decir. siempre se ha debatido acerca de utilizar un método de interrupción o un método de sondeo. por lo que la aplicación de administración debe tener recursos de almacenamiento adicionales para ello. en la red o en ambos. y se usa un sondeo de baja frecuencia. el nodo envía una interrupción a la estación de administración adecuada (suponiendo que el dispositivo no ha caído y se puede alcanzar la estación). La aplicación es entonces la responsable de iniciar conversaciones con el nodo para determinar la naturaleza y la extensión del problema. tenemos las siguientes ventajas: cuando ocurre un evento extraordinario. Otra desventaja es el tráfico que se introduce en la red. Por tanto. si ocurre un evento extraordinario. Con el método basado en sondeo. pero esto implica que el agente debe gastar tiempo para determinar cuándo debe generar una interrupción. Por eso se refina el método de las interrupciones de modo que un nodo sólo informa cuando la ocurrencia de un evento sobrepasa un determinado umbral. en el ancho de banda es mínimo y los problemas se resuelven en el momento oportuno.PROTOCOLO SNMP: ESTUDIO EN PROFUNDIDAD 3. 10 . las interrupciones actúan como una alarma previa. la respuesta a eventos catastróficos es demasiado lenta. como los nodos tienen una pequeña visión de toda la red. se ocupa mucho ancho de banda. una aplicación de administración pregunta periódicamente al nodo cómo van las cosas. el agente asume que la aplicación de administración está preparada para recibir la información. Cuando ocurre un evento extraordinario. Los argumentos para cada uno de estos métodos son los siguientes: Con el método basado en interrupciones. Esta discusión también se realiza en la administración de redes. y si es muy largo. es conveniente que las aplicaciones de administración detecten el problema de alguna otra forma. Esto es muy efectivo ya que el impacto creado en los nodos es pequeño. Con el método basado en interrupciones. tenemos las siguientes desventajas: requiere recursos para generar la interrupción ya que si la interrupción debe contener mucha información.1. Si el intervalo de frecuencia es breve. el método basado en interrupciones tiene un fuerte impacto en el agente.

es que los vendedores de dispositivos pueden añadir sus propios objetos para mejorar sus productos.PROTOCOLO SNMP: ESTUDIO EN PROFUNDIDAD 3. el nodo tendría menos carga debido a esta elección. Una unidad de información de administración se denomina objeto administrado (managed object). Hay otro motivo para elegir servicios de transporte no orientados a conexión.2 Forma de transporte La elección de un servicio de transporte por parte del protocolo de administración es importante ya que de los mecanismos internos del servicio de transporte depende la efectividad del protocolo. Información de administración Finalmente. para aumentarlo según crezcan las necesidades. ya que en esos casos es cuando realmente la red necesita ser controlada y administrada. sin dejar esta decisión en manos del servicio de transporte. La característica más importante de los métodos usados para describir la información de administración es la extensibilidad. Cuando la red está congestionada y es difícil establecer una conexión. Esta elección implica un comportamiento “sin preocupaciones” por parte del agente y permite a la aplicación controlar el nivel de fiabilidad. 4. 11 . Todo esto conduce a elegir un servicio de transporte no orientado a conexión. es más difícil establecer este modo de conexión que otro modo de un solo paso. La aplicación de administración es la que debe decidir el nivel de fiabilidad deseado e implementar el algoritmo apropiado. un protocolo orientado a conexión realiza ésta en tres pasos. lo que puede influir en la estandarización de la tecnología de administración. hay que elegir la forma de comunicación menos impactante en el proceso. hemos de explicar la información a intercambiar entre la estación de administración y el nodo. de modo que se pueda comenzar con un pequeño conjunto de definiciones. y de acuerdo con el axioma fundamental. Por tanto es conveniente usar la segunda forma. Un efecto lateral de la extensibilidad. y un conjunto de dichos objetos se denomina Módulo de Base de Información de Administración (Módulo MIB). De esta manera. Si la red está perdiendo paquetes. utilizando el protocolo de administración.

La colección de objetos administrados que son visibles para estas operaciones se denomina Vista del MIB. 3. Caching Firewall: puede ser útil que el agente proxy tenga la información a modo de caché. De todas maneras. un agente accede a información de administración no local. 2. Esto se denomina Interacción de delegación (interacción Proxy) y el agente que la realiza se denomina Agente delegado (Agente Proxy). o simplemente Vista. Puentes de transporte: en una red multiprotocolo. Las operaciones de administración permitidas a una aplicación por un agente se denominan política de acceso. 4.3 Relaciones de tipo Proxy A veces. Cuando otro agente recibe la petición de esa información. Así. las peticiones usadas en el protocolo son traducidas a una forma entendida por el dispositivo.2 Revisión del Modelo Administrativo Anteriormente se presentó el modelo administrativo como el responsable de proporcionar políticas de autorización y autentificación. Idealmente. el agente proxy implementa una política administrativa extensiva. 4. Esta colección se denomina Recursos Objeto del Agente. Cortafuegos administrativo (Firewall): puede ser útil que el agente proxy autentifique y autorice las peticiones para no cargar a un dispositivo ocupado con estas tareas. también para minimizar la carga del dispositivo. Traducciones de protocolo: en el caso de que los dispositivos no soporten protocolos de administración. 4. una estación de administración soportaría los servicios punto a punto de todos los conjuntos de protocolos. Hay varias razones por las que utilizar las relaciones Proxy: 1.1 Objetos Administrados (Managed Objects) La instrumentación de administración actúa entre los protocolos del dispositivo y el protocolo de administración. realiza una serie de operaciones para satisfacer la solicitud. las respuestas son traducidas a la forma entendida por el protocolo. y el dispositivo sólo responde a las peticiones realizadas por el agente. 12 .PROTOCOLO SNMP: ESTUDIO EN PROFUNDIDAD 4. un dispositivo soportaría el servicio punto a punto de sólo un conjunto de protocolos. De igual forma. Ahora también podemos añadir que es el modelo administrativo el que determina qué aplicación de administración puede acceder a qué objeto y con qué operaciones. un agente proxy que soporte servicios punto a punto del conjunto apropiado de protocolos puede utilizarse para establecer un camino para las comunicaciones de administración entre el dispositivo y la estación. tomando la información del dispositivo y presentándola como un conjunto de objetos administrados.

la administración de red debe seguir funcionando. Sin embargo. es decir. Otro principio importante es que la administración de red es distinta a cualquier otra aplicación. entonces minimizando el impacto de la administración en los agentes. serán directamente direccionadas por aplicaciones en la estación de administración. Cuando todo falla. 5. 13 . La idea es aparentar que la aplicación se está comunicando directamente con el agente real. el servicio de transporte no debe “ayudar”. una aplicación simplemente especifica los recursos deseados y el agente proxy es el encargado de hacer que las cosas salgan bien. entonces debería distribuirse en la mayor cantidad de dispositivos de la red. En perspectiva El axioma fundamental del entorno de administración se basa en la noción de distribución universal. sólo debería ser la forma más simple de permitir atravesar la red. teniendo en cuenta que serán las propias aplicaciones las que definan el grado de fiabilidad requerido de cada operación. Si se ve la administración de redes como un aspecto esencial. Como hay muchos más agentes que estaciones de administración. Este principio indica que muchas de las funciones que se encuentran en la capa de transporte. podremos solucionar el problema. como si la información de administración la tuviera el agente proxy localmente.PROTOCOLO SNMP: ESTUDIO EN PROFUNDIDAD Una propiedad importante de las relaciones tipo proxy es el principio de transparencia.

que definen un conjunto de requisitos de los nodos con respecto a uno o más módulos MIB. objetos y tipos de objetos.Módulos MIB.1 (Abstract Syntax Notation). Si se piensa que una colección de objetos administrados está almacenada. En realidad. . Cómo se accede a éstas al definir información de administración.PROTOCOLO SNMP: ESTUDIO EN PROFUNDIDAD 3. 1. la SMI define el esquema de esa base de datos. 14 . Módulos de Información Existen tres clases de módulos ASN. Antes de comenzar. . definidos por el SMI: . también llamados Módulos de Información. Modelo de Información Para examinar el papel de la información de gestión en el entorno de administración.Sentencias de Capacidad. por ejemplo. Ejemplos de colecciones de definiciones existentes. esa base de datos se denomina Base de Información de Administración (MIB). consideraremos las siguientes cinco partes: Reglas para definir la información de administración. hay que aclarar la relación entre variables. En este caso también se denomina instancia de un objeto.1. mientras que una variable es una instancia de un objeto particular.Sentencias de Conformidad. Un objeto administrable tiene asociado una sintaxis y una semántica de tipo abstracto. Coexistencia entre el entorno original y el entorno SNMPv2. en una base de datos. que define una colección de objetos de administración afines. que describe la capacidad de un nodo para implementar los objetos definidos en uno o más módulos MIB. La SMI se define usando ASN. ESTRUCTURA DE LA INFORMACIÓN DE ADMINISTRACIÓN La Estructura de la Información de Administración (SMI) define las reglas para definir la información de administración independientemente de los detalles de implementación. Reglas para definir los convenios textuales (definición de tipos de uso frecuente).

Existen tres tipos de MIB: . los cuales se definen con la macro OBJECT-TYPE. dentro de un MIB. la expansión de éstos se produce durante la implementación. El modulo MIB de la V2 contiene 5 grupos de objetos: system. que son redefiniciones más precisas de algún tipo de datos. SnmpSet y SnmpBasicNotification.Estándar: son módulos que se han convertido en un estándar. Dentro de cada modulo existirán objetos. . snmp.Especifico: son propios de alguna empresa. estas funciones deberían estar combinadas en un sólo módulo. También se usaran convenciones textuales (macro TEXTUALCONVENTION). 15 .Experimental: Esperan su oportunidad de convertirse en estándar.PROTOCOLO SNMP: ESTUDIO EN PROFUNDIDAD Por supuesto. Cada módulo de información debe comenzar con la indicación de su identidad y la historia de sus revisiones (macro MODULE-IDENTITY). snmpComunity. .

Autorización: se refiere a cómo una entidad agente SNMP determina los objetos que son accesibles a una entidad de aplicación de gestión dada. una entidad SNMP es una “entidad lógica” en nombre de la cual un agente o una aplicación de gestión están procesando un mensaje.1 Autentificación Cuando una entidad comienza una comunicación. 1. no es un objetivo del entorno de gestión.Privacidad: se refiere a cómo las entidades SNMP protegen sus mensajes. Conceptos En el entorno de gestión.Algoritmos (message digest).Relojes incrementados monótonamente. . Dependiendo de los mecanismos de autentificación.Integridad del mensaje. No obstante para alcanzar seguridad con las anteriores funciones deberemos usar: . es configurada para suministrar credenciales de autentificación como una parte de la comunicación. por la cual un mensaje que ha sido duplicado o retrasado por la red o una tercera parte puede ser detectada fuera del tiempo de vida esperado del mensaje. . serán válidas tres clases de servicios: . . 16 . . en las cuales una tercera parte interrumpe una comunicación. por la cual un mensaje alterado puede ser detectado con seguridad. Tras esto podemos observar que prevenir las ocasiones de fuera de servicio.Identificación origen. 1. El entorno de gestión es responsable de proporcionar: . por la cual un mensaje puede ser asociado con una entidad origen.Encriptación con firma. .PROTOCOLO SNMP: ESTUDIO EN PROFUNDIDAD 4.Protección limitada de retransmisión. Esta parte de la red de gestión ha sufrido la mayor revisión desde la introducción de SNMP. Modelo Administrativo Consideraremos cómo se definen políticas administrativas para aplicaciones de gestión y agentes.Autentificación: se refiere a cómo las entidades SNMP identifican sus mensajes. . Desafortunadamente todavía no existe un consenso en la solución más apropiada al problema. y las operaciones que se pueden realizar en estos objetos.

debido a que usa el concepto de comunidad empleado en el SNMP original. deberíamos usar un algoritmo de encriptación y la clave asociada. el cual es normalmente un conjunto adecuado de todos los objetos gestionados controlados por una entidad. Cada octeto toma un valor entre 0 y 255. sólo resta determinar las operaciones SNMP empleadas en ellos. Si los recursos son accesibles mediante algún mecanismo local.PROTOCOLO SNMP: ESTUDIO EN PROFUNDIDAD 1. En cambio.Una cadena de comunidad.Datos. las propiedades de privacidad se pueden asociar con las entidades receptoras. Cuando se intercambian mensajes SNMP.2 Privacidad Como las propiedades de autentificación están asociadas con la entidad que envía. 1. entonces se dice que los objetos son validos a través de una relación proxy. contienen dos partes: . SNMP define una comunidad como una relación entre entidades SNMP.3 Autorización Cuando un agente ejecuta una operación. A esto se denomina Política de Acceso. Para lograr privacidad con seguridad. enviada en texto sencillo y. Una vez que los recursos son identificados. Comunidades SNMP v2 esta diseñado para soportar múltiples entornos de administración. 17 . conteniendo una operación SNMP y los operandos asociados. . primero deberá identificar la colección de recursos de objetos de gestión a monitorizar. si los recursos son accesibles mediante el envío de mensajes SNMP a una entidad remota. El entorno que veremos se denomina entorno de gestión basado en comunidades. 2. Una comunidad SNMP se escribe como una cadena de octetos sin interpretación. y es usada para el control del flujo de información entre la entidad agente SNMP y una entidad de aplicación de gestión dada. se dice que la operación se desarrolla desde el punto de vista del MIB. Esta cadena se llama nombre de comunidad.

sus mecanismos no llevan a ninguna solución. . . el mercado se ha adaptado a estas carencias: . Protección limitada de reenvíos: cualquier tercera parte puede retrasar un mensaje SNMP que haya interceptado. Para empezar.Muchos implementadores de agentes no han implementado funciones de control SNMP a propósito. . Procedimientos Veremos cómo se procesan los mensajes SNMP.PROTOCOLO SNMP: ESTUDIO EN PROFUNDIDAD La cadena de comunidad es un simple manejador para las relaciones de gestión. Será sencillo para una tercera parte obtener los accesos correctos de una entidad autorizada para monitorizar o controlar esos objetos. Ahora realizamos una valoración de las propiedades de gestión de SNMP: Identificación de origen: como las cadenas de comunidad son enviadas sin protección. definido como una estructura PDUs 18 . Autorización: los agentes son responsables de mantener información local así como los MIB que contienen. Existen tres partes: .Datos: una operación SNMP. cualquier tercera parte capaz de interceptar un mensaje SNMP puede usar el mismo nombre de comunidad y de esa forma demandar ser un miembro de la comunidad de mensajes. Privacidad: cualquier tercera parte puede leer el mensaje SNMP que haya interceptado. Todo lo que se puede decir es que aunque SNMP v2 ofrece enfoques técnicos para estos asuntos.Versión: el número de versión del mensaje. que maliciosamente modificados puedan causar considerables dificultades en la red.Primero. Naturalmente. varios diseñadores de módulos MIB son reacios a definir objetos. 3. o las relaciones de proxy válidas.Comunidad: la cadena de comunidad. veremos el formato del mensaje. Integridad del mensaje: cualquier tercera parte puede modificar un mensaje SNMP que intercepte.

Una estructura de mensaje es construida desde esta información. Luego el paquete es examinado para ver si es una representación de una estructura de mensaje. 19 . el contador (snmpInPkts) es incrementado.Si la operación es una respuesta. entonces es correlativa con la anterior petición. De otra forma. Luego: . Si la comunidad se refiere a recursos de objetos locales. entonces la operación se desarrolla de acuerdo con los MIBs apropiados asociados con la comunidad. 3. . Si la comunidad no es conocida.Si la operación es una Trap o un informe. entonces el agente proxy. .Es convertida en una cadena de octetos. el contador (snmpInBadCommunityNames) es incrementado y el paquete descartado. Si no tuviera autorización. la versión del mensaje es revisada para ver si se refiere a una versión implementada por la entidad receptora. En cambio si la comunidad se refiere a recursos de objetos remotos. En caso afirmativo.3 Esperando por mensajes Normalmente las entidades SNMP esperan los mensajes en la dirección de transporte por defecto asociada con cada dominio de transporte válido para el.1 Originando un mensaje Usando conocimiento local. En caso afirmativo. entonces: . usando conocimiento local. el contador (snmpInASNParseErrs) es incrementado y el paquete es descartado. 3. . y una respuesta es enviada a la entidad originaria de la petición. se chequea la comunidad del mensaje para ver si se refiere a una conocida entidad receptora. la entidad origen comienza seleccionando la comunidad apropiada la cual tiene la autorización adecuada para usar las operaciones y el acceso a los objetos MIB deseados. La entidad receptora chequea para mirar que clase de recursos de objetos están asociados con la comunidad. el contador (snmpInBadCommunityUses) es incrementado y el paquete descartado. se chequea la comunidad para ver si esta tiene autorización para utilizar la operación contenida en los datos del mensaje.2 Recibiendo un mensaje Cuando un paquete es recibido del servicio de transporte.Es enviada a la dirección de transporte de la entidad receptora. Si no es una representación de una estructura de mensaje. Si no es una versión implementada por la entidad receptora. el contador (snmpInBadVersions) es incrementada y el paquete es descartado. determina la entidad SNMP que debería enviar el mensaje. En caso afirmativo.PROTOCOLO SNMP: ESTUDIO EN PROFUNDIDAD 3.

Sobrepasar el tiempo de espera (timeout). 1. . si no es cero. . Los agentes no pueden modificar este campo. SNMP tiene pocos requisitos de transporte ya que usa un servicio de transporte no orientado a conexión. A continuación se describen los campos del tipo de dato PDU. con su nombre y valor. Una respuesta con una o más excepciones.error-index. . Hay cuatro resultados posibles de una operación: Una respuesta sin excepción o error.error-status. Lista de variables. reconocer mensajes duplicados en la red y medir el tiempo del tráfico que genera. Interacciones del Protocolo Una interacción SNMP consiste en una petición de algún tipo. por lo que puede enviar otros mensajes o realizar otras actividades.request-id. 20 . valor entero usado por la aplicación para distinguir entre peticiones pendientes. esto significa que una entidad no necesita esperar una respuesta después de enviar un mensaje.PROTOCOLO SNMP: ESTUDIO EN PROFUNDIDAD 5.variable-bindings. SNMP es un protocolo asíncrono de petición-respuesta basado en el modelo de interrupción-sondeo directo. si no es cero indica qué variable de la petición es errónea. . Modelo Operacional Examinaremos el papel de las operaciones del protocolo en el entorno de administración. hay una razón más importante: Las funciones de administración de red se realizan cuando hay problemas. seguida por una respuesta. Aunque ésto ratifica el Axioma Fundamental. lo que permite a la aplicación mandar rápidamente varios mensajes SNMP. Una respuesta con error. La elección de un servicio de transporte no orientado a conexión permite a la estación determinar el nivel de retransmisión necesario para complacer a las redes congestionadas. representa un error al procesar la petición y que debería ignorarse el campo variable-bindings. de modo que la aplicación de administración es la que decide qué restricciones realiza para el tráfico de administración. y que normalmente es UDP.

21 . 2. las instancias de variables esperan valores. indicando que una determinada variable no puede ser procesada.Cero o más instancias de variables. .noSuchInstance. Si no se solicita una operación de recuperación.noSuchObject. indica que la instancia de un objeto particular identificado por la variable no existe en la vista del MIB para la operación. . la entidad que responde da una respuesta con: . 1.PROTOCOLO SNMP: ESTUDIO EN PROFUNDIDAD Las operaciones de SNMPv2 se pueden clasificar así: . indica que no hay más información en la vista del MIB para la operación.endOfMibView.Administradores: inform.1. indica que el tipo de objeto correspondiente a la variable no se implementa por el agente. . . . para más adelante estudiar sus variaciones: 1.El mismo request-id.1 Interacciones Veamos primero una interacción normal entre dos entidades SNMPv2.error-status a cero. 1.Las mismas instancias de variables. . get-next y get-bulk. las instancias de las variables de la respuesta son iguales a las de la petición. Hay tres tipos de valores de excepción: .1 Interacción de Excepciones Mientras se procesa una petición de recuperación. el agente podría encontrar una excepción. en la petición.error-status/error-index a cero.Invocación: snmpv2-trap. los valores asociados con las variables tienen el valor unSpecified. . Si la operación no fue snmpv2-trap. . Si se solicita una operación de recuperación. si no. La entidad que inicia el protocolo hace una petición con: . .Recuperación: get.Modificación: set.Un único request-id.

pero con diferentes valores y uno o más valores de excepción. La entidad que responde da una respuesta con: . . La entidad que inicia el protocolo hace una petición de recuperación con: .PROTOCOLO SNMP: ESTUDIO EN PROFUNDIDAD Por tanto. .2 Interacción de Error Mientras se procesa alguna petición.Un único request-id. hay dos clases de errores que pueden devolverse en la respuesta a cualquier otra petición: tooBig. . La entidad que responde da una respuesta con: .Cero o más instancias de variables. 2.1.error-status a cero. . Hay varias clases de error. 2.error-status/error-index a cero. no debería devolverse excepto que no haya otra posibilidad. . . .Un único request-id.Cero o más instancias de variables. genErr.El mismo request-id.Las mismas instancias de variables que la petición.error-status a cero.Las mismas instancias de variables. 1.error-status/error-index a cero. El funcionamiento de interacciones SNMPv2 con excepciones es de la siguiente forma: 1.El mismo request-id. el funcionamiento de interacciones SNMPv2 con excepciones es de la siguiente forma: 1. el agente puede encontrar un error e indica que la operación no puede procesarse. indica que la respuesta podría ser demasiado larga para enviarla. La entidad que inicia el protocolo hace una petición de recuperación con: . . Teniendo en cuenta que los errores nunca se devuelven en una respuesta a una operación de invocación. 22 .

1. Hay varias posibilidades: La red omite la petición. en el caso que el campo variablebindings esté vacío. 23 . La red omite la respuesta. 1.1.1. El agente no está ejecutándose. se devuelve la excepción noSuchObject. El tiempo de espera fue muy corto. hay otra case de errores que deberían devolverse. pero que se verán más adelante. .2.3 Interacción de Timeout Esta interacción ocurre cuando se envía una petición pero no se recibe respuesta. El agente omite la petición. Sólo se pueden devolver los errores tooBig y genErr.1 El Operador Get Si la aplicación de administración conoce las instancias que necesita. Peticiones de Recuperación Para examinar eficientemente la información de administración. se examina la lista de variables instanciadas.4 De la Interacción al Procesamiento Para procesar las peticiones. . la instancia se recupera de la vista del MIB con esta operación: . para cada variable de la petición. realiza una get-request. primero debe aceptarse una estructura Message para que la evalúe la entidad.Si el agente no implementa el tipo objeto asociado con la variable.Se devuelve el valor asociado a la instancia. formado por la concatenación del nombre del tipo objeto con un sufijo. se devuelve la excepción noSuchInstance. 2. Por otro lado. termina el procesamiento devolviendo una respuesta noError. el entorno de administración usa un método inteligente para identificar las instancias: Es usado un OBJECT IDENTIFIER. Cuando la petición se procesa. 1.PROTOCOLO SNMP: ESTUDIO EN PROFUNDIDAD Si se procesa una petición de modificación.Si la instancia no existe o no la soporta el MIB.

se devuelve la instancia del siguiente objeto .Si no hay una próxima instancia para la variable en el MIB.2 El Operador Get-Next Si la aplicación no conoce exactamente la instancia de la información que necesita. Esto ocurre debido a que el operador no pudo encontrar instancias en la tabla. se devuelve el valor asociado. se devuelva un error de tipo tooBig en vez de devolver las múltiples instancias de la variable. se devuelve la primera instancia que siga a la variable que esté en la vista del MIB con esta operación: .PROTOCOLO SNMP: ESTUDIO EN PROFUNDIDAD 1. se puede examinar eficientemente la tabla entera.2. Debido al almacenamiento que se hace en el MIB. realiza una get-nextrequest. Puede ocurrir que al usar el operador get-next con múltiples operandos para examinar una tabla vacía. Las aplicaciones de administración también deben controlar los tiempos de las interacciones 24 . permitiendo al agente devolver paquetes grandes. La aplicación de administración conoce que llega al final de la tabla cuando se devuelve un nombre cuyo prefijo no coincide con el del objeto deseado. para cada variable de la petición. cada instancia de la segunda y así seguidamente hasta el final de la tabla. 1. así. Entonces. lexicográficamente hablando. se devuelve una excepción endOfMibView.3 El Operador Get-Bulk Su función es minimizar las interacciones en la red. se examina cada instancia de la primera columna. Este esquema tiene que funcionar con un servicio de transporte no orientado a conexión de modo que la aplicación sea la responsable de controlar las interacciones. . El operador get-next puede usarse para comprobar si un objeto es soportado por un agente. las tablas se examinan en un orden columna-fila. que la mayor instancia del MIB.Si se reconoce la siguiente instancia de la variable en el MIB. Como el operador get-next soporta múltiples operandos. Sólo se pueden devolver los errores tooBig y genErr. Por otro lado. y sólo se devuelve una excepción si el operando de get-next es mayor.2.

el usual ignorando los valores. si no. se genera la respuesta. Si la diferencia es menor de cero. El agente examina las variables de la petición usando el operador get-next y añadiendo cada nueva instancia con su valor a la respuesta y decrementando la cantidad de espacio libre. número máximo de veces que otras variables deberían recuperarse. variable-bindings VarBindingList } Este formato es estructuralmente idéntico la del resto de operaciones SNMP.. El tamaño de la generación de mensajes del propio agente. el usual. max-repetitions INTEGER(0. Dicha diferencia indica la cantidad máxima de espacio posible para las instancias de las variables en la respuesta. Si no hay suficiente espacio. y los campos se describen a continuación: request-id.. max-repetitions. variable-bindings.max-bindings). 25 . número de variables que deberían recuperarse de una vez.PROTOCOLO SNMP: ESTUDIO EN PROFUNDIDAD El formato que sigue la SNMPv2 BulkPDU es el siguiente: BulkPDU ::= SEQUENCE { request-id Integer32. non-repeaters INTEGER(0. Cuando un agente recibe una get-bulk. se envía la respuesta antes de colapsar el espacio libre. la respuesta se pierde.max-bindings). De aquí resta la suma de dos cantidades: El tamaño de las capas de privacidad/autentificación de la generación de la respuesta. El tamaño de una respuesta sin variables instanciadas. calcula el mínimo de: El tamaño máximo del mensaje del emisor. non-repeaters. que tendrá cero o más variables instanciadas.

La semántica de la operación set es tal que la operación tiene éxito si y sólo si todas las variables se actualizan. Dicho concepto consta de dos pasadas. 1. todas las futuras repeticiones devolverán lo mismo y se omitirán de la respuesta. o se realiza el máximo número de repeticiones.PROTOCOLO SNMP: ESTUDIO EN PROFUNDIDAD Finalmente. el espacio libre se ocupa. Existe otra forma con la que la operación get-bulk termina prematuramente: Esto ocurre cuando al examinar las variables de la tabla. se asegura que la respuesta no sea tan grande como para no poder ser enviada.4 Más Características del Operador Get-Bulk La respuesta a un operador get-bulk no es más que la concatenación de un número de respuestas maxrepitition de interacciones get-next. Cuando una aplicación de administración conoce exactamente las instancias que necesita. Es importante tener en cuenta que el agente puede terminar una repetición en cualquier momento. 26 . es importante saber que cuando un agente decide procesar una petición get-bulk. se devuelve una excepción endOfMibView. Para explicarlo usaremos el concepto del compromiso de las dos fases.La variable es soportada por la vista del MIB para esa operación. pero antes de empezar. el agente puede modificar las instancias del tipo objeto correspondiente. En este caso. En la primera. Peticiones de Modificación Sólo hay una petición de modificación: El operador set. genera una set-request. . ya que si no. se generaría un error tooBig. La parte más interesante del operador get-bulk es que puede implementarse en el agente a alto nivel mejor que en las rutinas específicas de los objetos. Por último. cada instancia se examina y se hace una comprobación para verificar que: . 3. sólo se puede devolver el error genErr. ya que devolver tooBig no tiene sentido.2.Si la variable existe.

6. inconsistentValue. . . noAccess. .Si la variable no existe. wrongType. 4. 2. la variable no existe y no puede ser creada porque el nombre de la instancia es inconsistente con los valores de otro objeto en el agente. 8. además de los habituales. que son los siguientes. 7.El valor proporcionado es correcto sintácticamente. SNMPv2 soporta nuevos códigos de error. wrongLength. así como las causas que los producen: 1. wrongEncoding. el nuevo valor proporcionado es de un tipo de datos ASN. 10. wrongValue.1 erróneo. el nuevo valor proporcionado es de longitud errónea. 27 .PROTOCOLO SNMP: ESTUDIO EN PROFUNDIDAD . la variable no es soportada por la vista del MIB para esa operación. La variable existe pero el agente no puede modificar instancias del tipo objeto correspondiente. el nuevo valor está fuera del rango de valores admitidos para el tipo de objeto correspondiente. la variable no existe y el agente no puede crear instancias del tipo objeto correspondiente. notWritable. resourceUnvailable. noCreation. un recurso requerido no puede ser reservado. 3. el nuevo valor proporcionado está codificado erróneamente. se devuelve el error apropiado y se liberan los recursos. Si alguna de estas condiciones no se verifica para alguna de las instancias.El nombre y valor proporcionado son correctos sintácticamente y son consistentes con los valores de las otras variables de la petición. 5. inconsistentName. el agente es capaz de crear instancias del tipo de objeto correspondiente.Todos los recursos necesarios para el cambio están reservados. el valor proporcionado es inconsistente con los valores de otro objeto en el agente. 9.

2. indicando que hay un problema grave en el agente. 4. Si ocurre. Manejo de Filas de Conceptos Desde la perspectiva del protocolo. dado el modelo operacional que usa el entorno de administración. Sólo si cada instancia ha superado la primera pasada. 5. La aplicación de administración puede querer examinar los valores de algunas columnas. Si se devuelve alguno de estos errores. el agente trata de deshacer los cambios y devuelve uno de los dos siguientes tipos de error: 1. commitFailed. 3. se hace la segunda. Los valores de todas las columnas pueden no entrar en una sola PDU. 4. El resto son casos que no deberían ocurrir si la aplicación y el agente tuvieran un mismo concepto de los objetos en cuestión. pueden existir fallos en esta segunda pasada. Hay que tener en cuenta: 1. no por operaciones de protocolo. Las aplicaciones que cooperan no quieren comisionar al crear nuevas filas. Cualquier relación existe como una característica del diseño de MIB. En particular no existe relación entre las variables presentadas en una lista de variables. se pone a cero el campo error-index.PROTOCOLO SNMP: ESTUDIO EN PROFUNDIDAD Los códigos noCreation y notWritable son de tipo permanente. 28 . El agente puede no ser capaz de implementar algunas columnas en una fila de conceptos. indica que falló la segunda pasada y que algunos cambios no pudieron deshacerse. undoFailed. Podemos considerar un reto el crear instancias en una fila de conceptos. mientras que los tres últimos son de tipo transitorio. 2. indica que hubo un fallo en la segunda pasada pero que se deshicieron los cambios. El agente puede necesitar que algunas columnas se creen antes de usarlas. no existe el concepto de fila en SNMP . en la cual se acomete el cambio de cada instancia. Por experiencia.

la convención textual RowStatus se usa para expresar la forma de manipular una fila: cuando una tabla se define en un módulo MIB.. createAndWait(5). active(1). El significado de una variable de la columna status es que su valor indica la relación entre el dispositivo y la fila de conceptos. Un resumen de la convención textual RowStatus es la siguiente: RowStatus ::= TEXTUAL-CONVENTION . 29 . redes locales). que se crearon en la Agencia de Proyectos de Investigación Avanzada de Defensa(DARPA) y que son los que se usan en la Red Internet. debe definirse una columna status con la sintaxis de RowStatus. —tres valores de acción que sólo pueden ser escritos createAndGo(4). destroy(6) } EN RESUMEN La principal tecnología de interconexión de redes es el conjunto de protocolos de Internet llamados TCP/IP.PROTOCOLO SNMP: ESTUDIO EN PROFUNDIDAD En SNMPv2. la red de redes global) pero también en la interconexión de redes menores internet.. notInService(2). que solo puede ser leído. (con minúscula. —un valor de estado. notReady(3). SYNTAX INTEGER { —dos valores de estado/acción que pueden ser leidos o escritos. (con mayúscula.

. por alguna razón. aunque si dos aplicaciones eligen el mismo identificador.4. El siguiente paso es crear la fila. la convención RowStatus genera un mecanismo para evitar la colisión.Aproximación Negociada. 1.Aproximación Directa. la fila se crea y se activa para ser usada por un dispositivo con una sola operación set. La aplicación de administración debe determinar para cada columna: . que es específico para cada tabla MIB. el agente indica que no implementa el tipo de objeto correspondiente a esa columna.PROTOCOLO SNMP: ESTUDIO EN PROFUNDIDAD 2. Para cada columna requerida: . Una vez creada la fila. . . el agente está indicando que implementa esa columna. y se puede hacer de dos formas: . usando el identificador seleccionado en el primer paso.Si se devuelve una excepción noSuchInstance. el agente indica que implementa la columna.Qué columnas no puede crear el agente.Si se devuelve un valor. se inicializa y se activa para ser utilizada por el dispositivo.1 Creación de una Fila de Conceptos El primer paso es la creación de un identificador de la instancia. se crea la fila y por medio de un conjunto de interacciones. el módulo MIB puede proporcionar un objeto para ayudar a elegir un identificador sin usar. 30 .Si se devuelve una excepción noSuchObject. . la aplicación realiza una operación get para cada columna que conoce. pero que la instancia en sí no existe. En el último caso. El identificador de instancia debe tener sentido semánticamente o ser usado singularmente.Qué columnas necesita el agente para activar la fila.

1 Aproximación Directa Primero se selecciona el identificador deseado. ya que si no se indicaría que la fila ya existe.4.1. Entonces la aplicación enviará al agente un set. Así. devuelve un error inconsistentValue. . en el set. 31 .Se crea la fila. que contiene valores para las columnas con un MAX-ACCESS de read-create y el estado de la columna puesto a createAndGo. el agente comprueba que tiene suficiente información (procedente del set y de información local) para crear y activar la fila.PROTOCOLO SNMP: ESTUDIO EN PROFUNDIDAD 1. Se debería tener en cuenta que puede que no todas las filas entren en una sola PDU. la respuesta de get indica que aquellas columnas que implemente el agente deben ser superconjuntos de las columnas que son obligatorias. si no. Todos los valores devueltos deberían ser excepcionales. se devuelve un error inconsistentValue. Entonces la aplicación decide lanzar un get para determinar los requisitos del agente para la columna.La columna de estado se pone a active. . Cuando el agente procesa la columna de estados en las instancias. Para que esta aproximación funcione. la versión del módulo MIB que conoce la aplicación y el agente debe coincidir. la aplicación sólo tiene que preocuparse de las columnas con un MAX-ACCESS de read-create. si la variable ya existe.Se devuelve una respuesta con noError . También. entonces: . Si no hay suficiente información.El agente asigna valores por defecto a las columnas de las filas cuyos valores no se especificaron en el set. Si hay suficiente información.

Se crea la fila. Si una fila se encuentra en el estado notInService o notReady. el agente indica que la fila está siendo usada en el dispositivo y que la aplicación debería poner la columna de estado a activa.El agente debe asignar valores por defecto a aquellas filas que implementa de solo lectura. Por eso. La estación de administración puede usar entonces un get para determinar los requisitos de las columnas del agente. Para cada columna read-create solicitada: Si se devuelve un valor. devuelve un error wrongValue. También puede ocurrir que el proceso de negociación se vea interrumpido.El agente asigna valores por defecto a las columnas de las filas cuyos valores no se especificaron en el set. el agente indica que antes de activar la fila. si no soporta la creación negociada.Se devuelve una respuesta noError. . . debe generar un set para cambiarlo. 32 . En otro caso: . según la información disponible del agente. Si se devuelve una excepción noSuchInstance. Cuando el agente procesa la columna de estado en las instancias. Hay que tener en cuenta que es la aplicación la que determina el número de operaciones set que quiere realizar. el agente debe almacenar de vez en cuando filas que no estén en estado activo. Si se devuelve una excepción noSuchObject. Entonces. el agente indica que implementa esa columna y que si a la aplicación no le gusta el valor. . la aplicación genera un set con la columna de estado puesta a createAndWait y lo envía al agente. devuelve un error inconsistentValue.La columna de estado se activa a notInService o a notReady. o si la variable ya existe. Cuando el valor de una columna de estado cambia a notInService. entonces existirán dos copias. ésta eliminará la del dispositivo.1. el agente indica que la aplicación no debe intentar dar un valor.2 Aproximación Negociada Lo primero es seleccionar el identificador deseado. .4. pueden aparecer problemas: Si el dispositivo crea o modifica la misma fila que está siendo negociada entre la aplicación y el agente. aunque cuando la columna de estado se active en el agente. una en el dispositivo y otra en el agente.PROTOCOLO SNMP: ESTUDIO EN PROFUNDIDAD 1. la aplicación debe generar un set para proporcionar valores para la columna.

Para ello. Por supuesto. El agente hace la fila inaccesible al dispositivo y a él mismo y devuelve una respuesta noError.4.3 Eliminación de una Fila de Conceptos La aplicación pone la columna de estado a destroy. la fila no será consistente. la fila no es accesible para el dispositivo y se devuelve una respuesta de noError. 1. Desactivar una fila es útil cuando las modificaciones no caben en una sola PDU. hasta que no se hacen todas las modificaciones.2 Modificación de una Fila de Conceptos Algunos módulos MIB precisan que se desactive una fila para poder modificarla. Si el agente no lo soporta. por lo que el agente pone la columna de estado a notReady. 33 . si no.PROTOCOLO SNMP: ESTUDIO EN PROFUNDIDAD 1. devuelve un error wrongValue.4. la aplicación pone la columna de estado a notInService.

Las dos primeras instancias son especiales: sysUpTime.. La invocación snmpV2-trap tiene un formato idéntico a las PDU usadas en otras peticiones. Como es de esperar.0. 34 . El Grupo snmpTrap Hay dos objetos escalares relacionados con las invocaciones SNMP. Actualmente. genera una inform-request. Interacciones de Invocación Cuando un agente detecta un evento extraordinario.6 Interacciones entre Administradores Cuando una aplicación quiere informar a otra aplicación. snmpTrapOID. el identificador de objeto de la invocación. se genera una invocación snmpV2-trap. sólo algunos dispositivos pueden tener el papel de administrador.. snmpTrap OBJECT IDENTIFIER ::={snmpMIBObjects 4} snmpTrapOID OBJECT-TYPE SYNTAX OBJECT IDENTIFIER MAX-ACCESS accesible-for-notify .PROTOCOLO SNMP: ESTUDIO EN PROFUNDIDAD 5. que se envía a una o más aplicaciones de administración. Hay que tener cuidado para minimizar el número de informes que se generan. Al igual que snmpV2-trap. El formato de la InformRequest-PDU es idéntico al de las otras PDU del resto de peticiones. las dos primeras instancias indican el momento del evento y su identidad. momento en que se generó la invocación. ::= {snmpTrap 1} 1. el control de la generación y retransmisión de informes es una tarea específica de implementación.0.

según el entorno SNMPv2. Así. Como todos los objetos y estructuras SNMP se definen con el ASN.Reglas para tomar la estructura de un mensaje y transformarlo en una cadena de octetos para formar un paquete.6.PROTOCOLO SNMP: ESTUDIO EN PROFUNDIDAD 1. el entorno de administración usa BER (Basic Encoding Rules) de OSI para codificar las estructuras en octetos. Para definir el mapeo de transporte. Mapeo de Transporte Las operaciones SNMP son independientes del protocolo de transporte. se especifican dos pasos: .1 Entidades de Doble Rol Se trata de dispositivos que contienen agentes y aplicaciones de administración. una aplicación de administración es algo que inicia una interacción entre peticiones y respuestas. 4. se transforman en una estructura de datos con una semántica idéntica. 2. . 35 . Cuando éstos se reciben. Hay varios mapeos de transportes definidos y usan el mismo conjunto de reglas para el primer paso. utilizando sólo un servicio de transporte no orientado a conexión. Estos dispositivos recogen y procesan información de los agentes y la proporcionan a la administración.Reglas para enviar el paquete por el servicio de transporte.1 de OSI.

1.1 Direcciones y Dominios de Transporte La relación del protocolo de administración y el servicio de transporte se denomina Dominio de Transporte.PROTOCOLO SNMP: ESTUDIO EN PROFUNDIDAD 2. Este es el mapeo preferido.1d/2d” STATUS current DESCRIPTION 36 . 2. entonces el correspondiente objeto TAddress se codifica en seis octetos: SnmpUDPAddress ::= TEXTUAL-CONVENTION DISPLAY-HINT “1d.1d.1 Dominio snmpUDPDomain Identifica el uso de SNMPv2 sobre UDP. Si un objeto TDomain tiene un valor de snmpUDPDomain.1d.

Por convención. aunque una entidad debería configurarse para usar cualquier selector de transporte aceptable. mientras que snmpCONSDomain se usa cuando CLTS se ejecuta en servicios de red orientados a conexión de OSI (CONS). el correspondiente objeto TAddress se codifica así: SnmpOSIAddress ::= TEXTUAL-CONVENTION DISPLAY-HINT “*1x:/1x:” STATUS current DESCRIPTION 37 .1.PROTOCOLO SNMP: ESTUDIO EN PROFUNDIDAD SYNTAX OCTET STRING (SIZE (6)) La entidad que envía transforma y envía el mensaje como un único datagrama UDP a la dirección de transporte de la entidad receptora. 2. los agentes SNMP escuchan en el puerto UDP 161 y envían las notificaciones al puerto UDP 162. Si un objeto TDomain tiene alguno de estos dos valores. Todas las entidades receptoras deben admitir mensajes de al menos 1472 octetos de longitud.2 Dominios snmpCLNSDomain y snmpCONSDomain Identifican el uso de SNMPv2 en los servicios de transporte no orientados a conexión de OSI (CLTS): snmpCLNSDomain se usa cuando CLTS se ejecuta en servicios de red no orientados a conexión de OSI (CLNS).

. Todas las entidades receptoras deben admitir mensajes de al menos 1472 octetos de longitud. Los selectores de transporte por defecto son: Una entidad debería poder configurarse para usar cualquier selector de transporte aceptable. entonces el correspondiente objeto TAddress se codifica así: SnmpNBPAddress ::= TEXTUAL-CONVENTION STATUS current DESCRIPTION 38 . Si un objeto TDomain tiene un valor de snmpDDPDomain.85)) La entidad que envía transforma el mensaje y lo envía como una única unidad de datos del servicio de transporte (TSDU) a la dirección de transporte de la entidad receptora. 2..PROTOCOLO SNMP: ESTUDIO EN PROFUNDIDAD SYNTAX OCTET STRING (SIZE (1 | 4.3 Dominio snmpDDPDomain Identifica el uso de SNMPv2 sobre Appletalk’s DDP.1.

Todos los agentes SNMP escuchan en el tipo NBP SNMP Agent y las notificaciones se envían al tipo NBP SNMP Trap Handler. 2.99)) La entidad que envía transforma el mensaje y lo envía como un único datagrama DDP a la dirección de transporte de la entidad receptora.2d” STATUS current DESCRIPTION 39 ..4 Dominio snmpIPXDomain Identifica el uso de SNMPv2 sobre NetWare’s IPX Si un objeto TDomain tiene un valor de snmpIPXDomain.PROTOCOLO SNMP: ESTUDIO EN PROFUNDIDAD SYNTAX OCTET STRING (SIZE (3. entonces el correspondiente objeto TAddress se codifica así: SnmpIPXAddress ::= TEXTUAL-CONVENTION DISPLAY-HINT “4x.1. Todas las entidades receptoras deben admitir mensajes de al menos 484 octetos de longitud.1x:1x:1x:1x:1x:1x..

Todas las entidades receptoras deben admitir mensajes de al menos 546 octetos de longitud.Reglas para enviar el paquete por el servicio de transporte. Por convención. . aunque una entidad debería configurarse para usar cualquier selector de transporte aceptable. 40 . los agentes SNMP escuchan en el socket IPX 36879 y envían las notificaciones al socket IPX 36880.PROTOCOLO SNMP: ESTUDIO EN PROFUNDIDAD SYNTAX OCTET STRING (SIZE (12)) La entidad que envía transforma y envía el mensaje como un único datagrama IPX a la dirección de transporte de la entidad receptora.Reglas para tomar la estructura de un mensaje y transformarlo en una cadena de octetos para formar un paquete. EN RESUMEN Para definir el mapeo de transporte. se especifican dos pasos: .