Los paquetes utilizados para enviar consultas y respuestas SNMP poseen el siguiente formato:
Versión | Comunidad | SNMP PDU |
- Versión: Número de versión de protocolo que se está utilizando (por ejemplo 1 para SNMPv1);
- Comunidad: Nombre o palabra clave que se usa para la autenticación. Generalmente existe una comunidad de lectura llamada "public" y una comunidad de escritura llamada "private";
- SNMP PDU: Contenido de la unidad de datos del protocolo, el que depende de la operación que se ejecute.
Los mensajes GetRequest, GetNextRequest, SetRequest y GetResponse utilizan la siguiente estructura en el campo SNMP PDU:
Tipo | Identificador | Estado de error | Índice de error | Enlazado de variables |
- Identificador: Es un número utilizado por el NMS y el agente para enviar solicitudes y respuesta diferentes en forma simultánea;
- Estado e índice de error: Sólo se usan en los mensajes GetResponse´(en las consultas siempre se utiliza cero). El campo "índice de error" sólo se usa cuando "estado de error" es distinto de 0 y posee el objetivo de proporcionar información adicional sobre la causa del problema. El campo "estado de error" puede tener los siguientes valores:
- 0: No hay error;
- 1: Demasiado grande;
- 2: No existe esa variable;
- 3: Valor incorrecto;
- 4: El valor es de solo lectura;
- 5: Error genérico.
- Enlazado de variables: Es una serie de nombres de variables con sus valores correspondientes (codificados en ASN.1).
GetRequest
A través de este mensaje el NMS solicita al agente retornar el valor de un objeto de interés mediante su nombre. En respuesta el agente envía una respuesta indicando el éxito o fracaso de la petición. Si la petición fue correcta, el mensaje resultante también contendrá el valor del objeto solicitado. Este mensaje puede ser usado para recoger un valor de un objeto, o varios valores de varios objetos, a través del uso de listas.
GetNextRequest
Este mensaje es usado para recorrer una tabla de objetos. Una vez que se ha usado un mensaje GetRequest para recoger el valor de un objeto, puede ser utilizado el mensaje GetNextRequest para repetir la operación con el siguiente objeto de la tabla. Siempre el resultado de la operación anterior será utilizado para la nueva consulta. De esta forma un NMS puede recorrer una tabla de longitud variable hasta que haya extraído toda la información para cada fila existente.
SetRequest
Este tipo de mensaje es utilizado por el NMS para solicitar a un agente modificar valores de objetos. Para realizar esta operación el NMS envía al agente una lista de nombres de objetos con sus correspondientes valores.
GetResponse
Este mensaje es usado por el agente para responder un mensaje GetRequest, GetNextRequest, o SetRequest. En el campo "Identificador de Request" lleva el mismo identificador que el "request" al que está respondiendo.
Trap
Una trap es generado por el agente para reportar ciertas condiciones y cambios de estado a un proceso de administración. El formato de la PDU es diferente:
Tipo | Enterprise | Dirección del agente | Tipo genérico de trap | Tipo específico de trap | Timestamp | Enlazado de variables |
- Enterprise: Identificación del subsistema de gestión que ha emitido el trap;
- Dirección del agente: Dirección IP del agente que ha emitido el trap;
- Tipo genérico de trap:
- Cold start (0): Indica que el agente ha sido inicializado o reinicializado;
- Warm start (1): Indica que la configuración del agente ha cambiado;
- Link down (2): Indica que una interfaz de comunicación se encuentra fuera de servicio (inactiva);
- Link up (3): Indica que una interfaz de comunicación se encuentra en servicio (activa);
- Authentication failure (4): Indica que el agente ha recibido un requerimiento no autorizado (normalmente controlado por una comunidad);
- EGP neighbor loss (5): Indica que en sistemas en que los routers están utilizando el protocolo EGP, un equipo colindante se encuentra fuera de servicio;
- Enterprise (6): En esta categoría se encuentran todos los nuevos traps incluidos por los vendedores.
- Tipo específico de trap: Es usado para traps privados (de fabricantes), así como para precisar la información de un determinado trap genérico;
- Timestamp: Indica el tiempo que ha transcurrido entre la reinicialización del agente y la generación del trap;
- Enlazado de variables: Se utiliza para proporcionar información adicional sobre la causa del mensaje.
GetBulkRequest
Este mensaje es usado típicamente cuando es requerida una larga transmisión de datos, tal como la recuperación de largas tablas. En este sentido es similar al mensaje GetNextRequest usado en la versión 1 del protocolo, sin embargo, GetBulkRequest es un mensaje que implica un método mucho más rápido y eficiente, ya que a través de un solo mensaje es posible solicitar la totalidad de la tabla.
InformRequest
Se utiliza este mensaje para notificar información sobre objetos administrados.
No hay comentarios:
Publicar un comentario