Define la forma de convertir (y decodificar en el receptor) sin ambigüedad
los valores expresados con ASN.1 para su transmisión (y recuperación)
por la red.
La sintaxis de transferencia se denomina BER (Basic Encoding
Rules). Tras usar las reglas que muchas veces son recurrentes llegamos
a tener un flujo de objetos primitivos organizados. Cada valor transmitido
se codifica utilizando 4 campos:
- Identificador. Es un octeto (o más) con tres campos:
1.1. Etiqueta (2 bits): 00-Universal, 01-Aplicación,
10-Específico y 11-Privado.
1.2. Tipo (1 bit): 0-Primitivo, 1-Construido.
1.3. Valor Etiqueta (5 bits): identifican el tipo de valor
si está en el rango 0..30.
Si es 31 o más están los cinco activos (11111) y
hay uno o más octetos
detrás del primero. Se usan los 7 bits últimos de
cada uno en caso de
existir; el primer bit de cada octeto adicional es 0 en todos excepto
en el
último.
- Longitud del campo de datos (1 octeto). Número de
octetos de datos. Si hay
menos de 128 se usa un octeto para la longitud. Si hay 128 o más
se usan octetos
adicionales para indicar la longitud.
- El campo de datos. Los valores de los objetos que se desean
transmitir.
- Indicador de fin de contenido. Usado si se desconoce el número
de datos. Este
campo existe en ASN.1 pero está prohibido usarlo en SNMP.
Ejemplos:
Def. de variable count INTEGER ::= 100
Def. de enumerado Status ::= INTEGER{ up(1), down(2), unknown(3)
}
Def. de subrango PacketSize ::= INTEGER(0..1023)
Identif. de objetos {iso identified-organization(3) dod(6)
internet(1) mgmt(2) mib-2(1)...}
|