Reglas de codificación básicas

Reglas de codificación básicas

Reglas de codificación básicas

Las Reglas de codificación básicas, o BER (Basic Encoding Rules), es uno de los formatos de codificación definidos como parte del estándar ASN.1.

Contenido

Descripción

Las Reglas de Codificación Básicas son las reglas definidas originalmente en el estándar ASN.1 para codificar información abstracta en un flujo de bits único, esto es, que pueda ser interpretado en cualquier máquina de la misma manera. Las reglas, denominadas sintaxis de transferencia en el contexto de ASN.1, especifican las secuencias de octetos exactas para codificar un elemento de datos dado. La sintaxis define elementos como: las representaciones para tipos de datos básicos, la estructura de la información longitud, y los medios para definir tipos complejos o compuestos basados en más tipos primitivos. La sintaxis BER, junto con dos subconjuntos de BER (Canonical Encoding Rules-CER- y Distinguished Encoding Rules-DER-), están definidas por el documento de estándares X.690 de ITU-T, el cual es parte de las series de documentos ASN.1.

El formato BER especifica un formato auto-descriptivo y auto-delimitativo para codificar las estructuras de datos ASN.1. Cada elemento de datos está codificado por un identificador de tipos, una descripción longitud, los elementos de datos actuales, y donde sea necesario, un marcador de fin-de-contenido. Estos tipos de codificaciones son llamados comúnmente tipo-longitud-valor (TLV). Este formato permite a un receptor decodificar la información ASN.1 desde una corriente incompleta, sin necesitar conocimiento previo del tamaño, contenido, o significado semántico de los datos.[1]

Campo tipo

El identificador de tipos es un campo que especifica el tipo de dato que viene a continuación. Los dos primeros bits indican la clase de datos:

  • Universal: 00
  • Propio de la aplicación: 01
  • Específico del contexto: 10
  • Privado: 11

A continuación un bit indica si el dato es primitivo (0) o construido(1). Los cinco bits restantes indican un número de tag, que identifica al tipo de dato en si. Si el número de tag vale 31 significa que el campo tipo ocupa más de un byte. Por ejemplo, el tipo INTEGER es UNIVERSAL, primitivo (simple) y su número de tag es 2, luego se codifica: 00 0 00010.

Campo longitud

Este campo indica cuantos bytes ocupa el valor. Si el primer bit vale cero, el campo longitud ocupa un byte. En caso de que el primer bit valga 1, los 7 bits restantes indican la longitud del propio campo longitud. Por ejemplo, la longitud 4 se codifica 0 0000100 y una longitud de mil bytes se codifica 10000010 00000011 11101000. Existe un valor especial de longitud (10000000) para representar una longitud indefinida. El campo valor acaba con un byte especial denominado "Fin de contenido" ("End Of Content" o EOC).

Campo valor

En este campo se introduce el valor concreto del objeto que nos estamos refiriendo.

Comparación con formatos alternativos

La diferencia clave entre el formato BER y los formatos CER o DER es la flexibilidad suministrada por las reglas de codificación Básicas. Como dice en el estándar X.690, "Las codificaciones alternativas se permiten por las reglas de codificación básicas como una opción del emisor. Los receptores quienes piden conformidad con las reglas de codificación básicas deben soportar todas las alternativas".[1] Por ejemplo, cuando codificamos un valor construido (esto es, un valor que está compuesto de multiples valores ya codificados más pequeños), el emisor puede usar una de las tres formas diferentes para especificar la longitud de los datos.[1] Un receptor debe estar preparado para aceptar todas las codificaciones legales para cumplir la conformidad BER. En cambio, ambos CER y DER restringen las especificaciones de longitud disponibles a una opción.

Hay una percepción común de que BER está siendo ineficiente comparado con las reglas de codificación alternativas. Esto se ha respondido argumentando que es principalmente debido a pobres implementaciones, no es algo inherente a las reglas de codificación.[2] Estas implementaciones confían en la flexibilidad que BER suministra para usar lógica de codificación que es más fácil de implementar, pero redunda en una corriente de datos mayor de lo necesario. Con independencia de que esta ineficiencia sea real o una mera percepción, esto ha llevado a diseñar varios esquemas de codificación alternativos, tales como Packed Encoding Rules, que intentan mejorar el rendimiento y tamaño de BER.

Se están desarrollando otras reglas de formateo alternativas, que dan la misma flexibilidad que BER pero usando esquemas de codificación alternativos. Las más populares son las basadas en XML, como las XML Encoding Rules y SOAP.[3] Además, existe un mapeo estándar para convertir XML en ASN.1, que ya se puede codificar usando BER.[4]

Utilización

A pesar de sus problemas, BER es un formato popular para transmitir datos, particularmente en sistemas con codificaciones de datos nativas distintas.

  • El protocolo SNMP especifica ASN.1 con BER como su esquema de codificación requerido.
  • El estándar de firma digital PKCS #7 también especifica ASN.1 con BER para codificar mensajes cifrados y su firma digital.
  • Muchos sistemas de telecomunicaciones, tales como ISDN, y la mayoría de los servicios de teléfono celulares móvil usan ASN.1 con BER en algún grado para transmitir mensajes de control sobre la red.[5]
  • Los mensajes LDAP son codificados usando BER.

Véase también

  • SNMP

Notas al pie

  1. a b c ITU-T X.690, ISO 8825-1
  2. Lin, Huai-An. “Estimation of the Optimal Performance of ASN.1/BER Transfer Syntax”. ACM Computer Communication Review. July 93, 45 - 58.
  3. ITU-T Rec. X.892, ISO/IEC 24824-2
  4. ITU-T X.694, ISO/IEC ISO/IEC 8825-5
  5. ASN.1 Uses
Obtenido de "Reglas de codificaci%C3%B3n b%C3%A1sicas"

Wikimedia foundation. 2010.

Игры ⚽ Нужно сделать НИР?

Mira otros diccionarios:

  • ASN.1 — Abstract Syntax Notation One (notación sintáctica abstracta 1, ASN.1) es una norma para representar datos independientemente de la máquina que se esté usando y sus formas de representación internas. Es un protocolo de nivel de presentación en el… …   Wikipedia Español

  • BER — Saltar a navegación, búsqueda El acrónimo BER puede hacer referencia a: Basic Encoding Rules (Reglas de codificación básicas); Bit Error Ratio. Obtenido de BER Categoría: Wikipedia:Desambiguación …   Wikipedia Español

  • Normas ISO — Anexo:Normas ISO Saltar a navegación, búsqueda La Lista de normas ISO compila los estándares publicados por la Organización Internacional para la Estandarización (ISO). A finales de 2006 existían aproximadamente 16.000 normas activas. Contenido 1 …   Wikipedia Español

  • Anexo:Normas ISO — La Lista de normas ISO compila los estándares publicados por la Organización Internacional para la Estandarización (ISO). A finales de 2006 existían aproximadamente 16.000 normas activas. Contenido 1 ISO 1–ISO 999 2 ISO 1000–ISO 9999 3 ISO… …   Wikipedia Español

  • Gobernanza mundial — El tema de la gobernanza mundial aparece en el contexto de la llamada mundialización. Ante la aceleración de las interdependencias – a escala mundial – entre las sociedades humanas y también entre la humanidad y la biosfera, la “gobernanza… …   Wikipedia Español

  • Software — Se conoce como software[1] al equipamiento lógico o soporte lógico de un sistema informático; comprende el conjunto de los componentes lógicos necesarios que hacen posible la realización de tareas específicas, en contraposición a los componentes… …   Wikipedia Español

  • Etnografía — Saltar a navegación, búsqueda La etnografía (del griego, ethnos εθνος, tribu, pueblo y grapho γραφω, yo escribo ; literalmente descripción de los pueblos ) es un método de investigación de la Antropología Social o Cultural (una de las ramas de la …   Wikipedia Español

  • Validación XML — La Validación XML (eXtensible Markup Language) es la comprobación de que un documento en lenguaje XML está bien formado y se ajusta a una estructura definida. Un documento bien formado sigue las reglas básicas de XML establecidas para el diseño… …   Wikipedia Español

  • Derecho de autor — Para el derecho de autor en Wikipedia, véase Wikipedia:Derechos de autor. El símbolo del copyright © se usa para indicar que una obra está sujeta al derecho de autor. El derecho de autor es un conjunto de normas jurídicas y principios que regulan …   Wikipedia Español

  • Jerga informática — Anexo:Jerga informática Saltar a navegación, búsqueda El lenguaje de la informática está caracterizado por emplear numerosos anglicismos, puesto que el idioma inglés se ha convertido en la lengua franca de la informática. El uso de algunas… …   Wikipedia Español

Compartir el artículo y extractos

Link directo
Do a right-click on the link above
and select “Copy Link”