ASN.1 Sintaxis de Transferencia

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:

  1. 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.

  2. 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.
  3. El campo de datos. Los valores de los objetos que se desean transmitir.
  4. 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)...}

   
El nivel de presentación/ASN.1 Sintaxis de Transferencia