fbpx
Wikipedia

ASN.1

Abstract Syntax Notation One notación sintáctica abstracta ASN 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 modelo OSI El protocolo SNMP usa el ASN para representar sus objetos gestionables.

Descripción de la información Editar

ASN.1 utiliza la notación de Backus-Naur (BNF) para describir la forma en que la información es almacenada.

Tipos de datos Editar

Los tipos de datos se clasifican según si son simples (primitivos), compuestos (construidos a partir de otros, simples o compuestos) o definidos, con una etiqueta de nombre para identificarlos.

Tipos primitivos Editar

Los tipos primitivos son escalares, es decir, almacenan un único valor, como por ejemplo una cadena de texto o un entero. Los tipos primitivos más importantes son:

  • El tipo INTEGER se usa para representar números enteros.
  • El tipo OCTET STRING almacena una secuencia de bytes. De él se derivan tres subtipos:
    • DisplayString (para cadenas de caracteres ASCII)
    • OctetBitString (para cadenas de bits mayores de 32)
    • PhysAddress (para representar direcciones del nivel de enlace).
  • El tipo OBJECT IDENTIFIER para representar los identificadores de los objetos, es decir, la posición de un objeto dentro del árbol de la MIB.
  • El tipo BOOLEAN para valores que solo pueden ser verdadero o falso.
  • El tipo NULL para representar la ausencia de valor.

Tipos construidos Editar

Los tipos construidos son tipos compuestos. Se usan para crear arrays y tablas. Los más importantes son:

  • El tipo SEQUENCE es una estructura de datos, es decir, una lista ordenada de tipos de datos diferentes. Es el tipo que se usa para almacenar una fila de una tabla.
  • El tipo SEQUENCE OF es una lista ordenada de tipos de datos iguales. Es similar al tipo "SEQUENCE", excepto que todos los tipos han de ser iguales. Es el tipo usado en tablas para almacenar todas las filas.
  • El tipo SET es equivalente al "SEQUENCE", pero la lista no está ordenada. Hay que notar que todos los componentes de la lista SET deben ser diferentes si no la definición sería ambigua.
  • El tipo SET OF es equivalente al "SEQUENCE OF" pero la lista no está ordenada.
  • El tipo CHOICE es un tipo de datos en el que hay que elegir uno de entre los tipos disponibles en una lista. Por ejemplo, un tipo "Animal" podría ser una "CHOICE" entre los tipos "Perro", "Gato" o "Pez".

Tipos Definidos Editar

Son tipos derivados de los anteriores pero con un nombre más descriptivo. Los más importantes son:

  • IpAddress sirve para almacenar una dirección IP. Son 4 bytes y se define como "OCTET STRING (SIZE (4))".
  • Counter representa un contador que únicamente puede incrementar su valor y que cuando llega a su valor máximo, vuelve a cero. Se define como un entero sin signo, que solo puede tomar valores positivos y el cero.
  • Gauge es como un indicador de nivel. Es un valor que puede incrementar o decrementar. Puede llevar asociadas acciones a tomar en caso de que se superen unos umbrales. Un ejemplo es un medidor del ancho de banda medido en un determinado interfaz. Está definido como un entero de 32 bits.
  • TimeTicks es un tipo de datos usado para medir tiempos. Indica el número de centésimas de segundo que han transcurrido desde un determinado evento temporal. Es un entero de 32 bits.
  • Opaque define datos arbitrarios codificados como OCTET STRING.
  • NetworkAddress es un CHOICE que permite seleccionar varios formatos de direcciones. Actualmente solo IpAddress.

Macros de ASN.1 Editar

Podemos crear nuevos tipos de ASN.1 usando macros.

La definición de macros aportan una mayor flexibilidad a la sintaxis.

NOMBREMACRO MACRO ::= BEGIN TYPE NOTATION ::= sintaxis de tipo -- formato del tipo VALUE NOTATION ::= sintaxis de valor -- valores que puede tomar sintaxis auxiliar -- definición de símbolos no terminales END 

Los símbolos no terminales empiezan por una letra mayúscula.

Clases de datos Editar

Cada tipo de dato mencionado anteriormente a excepción de CHOICE , está asociado a una clase. Existen cuatro clases de datos, que etiquetan al resto de tipos de datos. Cada clase está identificada por un nombre y un número entero positivo

  • Universal: Para tipos de datos generales.
Clase Tipo de Dato
UNIVERSAL 1 Bolean
UNIVERSAL 2 Integer
UNIVERSAL 4 Octet String
UNIVERSAL 5 Null
UNIVERSAL 6 Object Identifer
UNIVERSAL 16 Sequence, Sequence Of
UNIVERSAL 17 Set, Set Of
  • Aplicación: Definidos para la aplicación específica.
Clase Tipo de Dato
APLICACION 0 Ip Address
APLICACION 1 Counter
APLICACION 2 Gauge
APLICACION 3 Time Ticks
APLICACION 4 Opaque
  • Específica al contexto: Definidos para el contexto local en que se usan estos tipos.
Clase Tipo de Dato
CONTEXTO 0 GetRequest
CONTEXTO 1 GetNextRequest
CONTEXTO 2 GetResponse
CONTEXTO 3 SetRequest
CONTEXTO 4 Trap
  • Privada: Definidos por el usuario.

Codificación Editar

La sintaxis de transferencia específica cómo se codifican los distintos tipos de datos. Define la forma de codificar en el transmisor y decodificar en el receptor los valores expresados con ASN.1.

Este estándar no define cómo se han de codificar esos datos, sino que es una sintaxis abstracta para indicar el significado de los datos. Para la codificación de los datos se usan otras normas como: BER (Reglas de codificación básicas) (BER - X.209), CER (canonical encoding rules), DER (distinguished encoding rules), PER (packed encoding rules) y XER (XML encoding rules).

BER Editar

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. 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 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 la UIT-T, el cual es parte de las series de documentos ASN.1. Cada elemento de datos está codificado usando la codificación tipo-longitud-valor, es decir, por un identificador de tipos, una descripción longitud, los elementos de datos actuales, y donde sea necesario, un marcador de fin-de-contenido. Por ejemplo, cuando codificamos un valor construido (esto es, un valor que está compuesto de múltiples valores ya codificados más pequeños), el emisor puede usar una de las tres formas diferentes para especificar la longitud de los datos. 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.

Estándares Editar

  • Estándares que describen la notación ASN.1:
    • ITU-T Rec. X.680 | ISO/IEC 8824-1
    • ITU-T Rec. X.681 | ISO/IEC 8824-2
    • ITU-T Rec. X.682 | ISO/IEC 8824-3
    • ITU-T Rec. X.683 | ISO/IEC 8824-4
  • Estándares que describen las reglas de codificación de ASN.1:
    • ITU-T Rec. X.690 | ISO/IEC 8825-1 (BER, CER y DER)
    • ITU-T Rec. X.691 | ISO/IEC 8825-2 (PER)
    • ITU-T Rec. X.693 | ISO/IEC 8825-4 (XER)
    • ITU-T Rec. X.694 | ISO/IEC 8825-5 (mapeado XSD)
    • RFC 3641 (GSER)

Véase también Editar

  • PKCS7, no contiene clave privada.
  • PKCS12, contiene clave privada.

Referencias Editar


  •   Datos: Q333301

abstract, syntax, notation, notación, sintáctica, abstracta, norma, para, representar, datos, independientemente, máquina, esté, usando, formas, representación, internas, protocolo, nivel, presentación, modelo, protocolo, snmp, para, representar, objetos, gest. Abstract Syntax Notation One notacion sintactica abstracta ASN es una norma para representar datos independientemente de la maquina que se este usando y sus formas de representacion internas Es un protocolo de nivel de presentacion en el modelo OSI El protocolo SNMP usa el ASN para representar sus objetos gestionables Indice 1 Descripcion de la informacion 1 1 Tipos de datos 1 1 1 Tipos primitivos 1 1 2 Tipos construidos 1 1 3 Tipos Definidos 1 1 4 Macros de ASN 1 1 2 Clases de datos 2 Codificacion 2 1 BER 3 Estandares 4 Vease tambien 5 ReferenciasDescripcion de la informacion EditarASN 1 utiliza la notacion de Backus Naur BNF para describir la forma en que la informacion es almacenada Tipos de datos Editar Los tipos de datos se clasifican segun si son simples primitivos compuestos construidos a partir de otros simples o compuestos o definidos con una etiqueta de nombre para identificarlos Tipos primitivos Editar Los tipos primitivos son escalares es decir almacenan un unico valor como por ejemplo una cadena de texto o un entero Los tipos primitivos mas importantes son El tipo INTEGER se usa para representar numeros enteros El tipo OCTET STRING almacena una secuencia de bytes De el se derivan tres subtipos DisplayString para cadenas de caracteres ASCII OctetBitString para cadenas de bits mayores de 32 PhysAddress para representar direcciones del nivel de enlace El tipo OBJECT IDENTIFIER para representar los identificadores de los objetos es decir la posicion de un objeto dentro del arbol de la MIB El tipo BOOLEAN para valores que solo pueden ser verdadero o falso El tipo NULL para representar la ausencia de valor Tipos construidos Editar Los tipos construidos son tipos compuestos Se usan para crear arrays y tablas Los mas importantes son El tipo SEQUENCE es una estructura de datos es decir una lista ordenada de tipos de datos diferentes Es el tipo que se usa para almacenar una fila de una tabla El tipo SEQUENCE OF es una lista ordenada de tipos de datos iguales Es similar al tipo SEQUENCE excepto que todos los tipos han de ser iguales Es el tipo usado en tablas para almacenar todas las filas El tipo SET es equivalente al SEQUENCE pero la lista no esta ordenada Hay que notar que todos los componentes de la lista SET deben ser diferentes si no la definicion seria ambigua El tipo SET OF es equivalente al SEQUENCE OF pero la lista no esta ordenada El tipo CHOICE es un tipo de datos en el que hay que elegir uno de entre los tipos disponibles en una lista Por ejemplo un tipo Animal podria ser una CHOICE entre los tipos Perro Gato o Pez Tipos Definidos Editar Son tipos derivados de los anteriores pero con un nombre mas descriptivo Los mas importantes son IpAddress sirve para almacenar una direccion IP Son 4 bytes y se define como OCTET STRING SIZE 4 Counter representa un contador que unicamente puede incrementar su valor y que cuando llega a su valor maximo vuelve a cero Se define como un entero sin signo que solo puede tomar valores positivos y el cero Gauge es como un indicador de nivel Es un valor que puede incrementar o decrementar Puede llevar asociadas acciones a tomar en caso de que se superen unos umbrales Un ejemplo es un medidor del ancho de banda medido en un determinado interfaz Esta definido como un entero de 32 bits TimeTicks es un tipo de datos usado para medir tiempos Indica el numero de centesimas de segundo que han transcurrido desde un determinado evento temporal Es un entero de 32 bits Opaque define datos arbitrarios codificados como OCTET STRING NetworkAddress es un CHOICE que permite seleccionar varios formatos de direcciones Actualmente solo IpAddress Macros de ASN 1 Editar Podemos crear nuevos tipos de ASN 1 usando macros La definicion de macros aportan una mayor flexibilidad a la sintaxis NOMBREMACRO MACRO BEGIN TYPE NOTATION sintaxis de tipo formato del tipo VALUE NOTATION sintaxis de valor valores que puede tomar sintaxis auxiliar definicion de simbolos no terminales END Los simbolos no terminales empiezan por una letra mayuscula Clases de datos Editar Cada tipo de dato mencionado anteriormente a excepcion de CHOICE esta asociado a una clase Existen cuatro clases de datos que etiquetan al resto de tipos de datos Cada clase esta identificada por un nombre y un numero entero positivo Universal Para tipos de datos generales Clase Tipo de DatoUNIVERSAL 1 BoleanUNIVERSAL 2 IntegerUNIVERSAL 4 Octet StringUNIVERSAL 5 NullUNIVERSAL 6 Object IdentiferUNIVERSAL 16 Sequence Sequence OfUNIVERSAL 17 Set Set OfAplicacion Definidos para la aplicacion especifica Clase Tipo de DatoAPLICACION 0 Ip AddressAPLICACION 1 CounterAPLICACION 2 GaugeAPLICACION 3 Time TicksAPLICACION 4 OpaqueEspecifica al contexto Definidos para el contexto local en que se usan estos tipos Clase Tipo de DatoCONTEXTO 0 GetRequestCONTEXTO 1 GetNextRequestCONTEXTO 2 GetResponseCONTEXTO 3 SetRequestCONTEXTO 4 TrapPrivada Definidos por el usuario Codificacion EditarLa sintaxis de transferencia especifica como se codifican los distintos tipos de datos Define la forma de codificar en el transmisor y decodificar en el receptor los valores expresados con ASN 1 Este estandar no define como se han de codificar esos datos sino que es una sintaxis abstracta para indicar el significado de los datos Para la codificacion de los datos se usan otras normas como BER Reglas de codificacion basicas BER X 209 CER canonical encoding rules DER distinguished encoding rules PER packed encoding rules y XER XML encoding rules BER Editar Articulo principal Reglas de codificacion basicas Las Reglas de codificacion basicas o BER Basic Encoding Rules es uno de los formatos de codificacion definidos como parte del estandar ASN 1 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 BER junto con dos subconjuntos de BER Canonical Encoding Rules CER y Distinguished Encoding Rules DER estan definidas por el documento de estandares X 690 de la UIT T el cual es parte de las series de documentos ASN 1 Cada elemento de datos esta codificado usando la codificacion tipo longitud valor es decir por un identificador de tipos una descripcion longitud los elementos de datos actuales y donde sea necesario un marcador de fin de contenido Por ejemplo cuando codificamos un valor construido esto es un valor que esta compuesto de multiples valores ya codificados mas pequenos el emisor puede usar una de las tres formas diferentes para especificar la longitud de los datos Estas implementaciones confian en la flexibilidad que BER suministra para usar logica de codificacion que es mas facil de implementar pero redunda en una corriente de datos mayor de lo necesario Estandares EditarEstandares que describen la notacion ASN 1 ITU T Rec X 680 ISO IEC 8824 1 ITU T Rec X 681 ISO IEC 8824 2 ITU T Rec X 682 ISO IEC 8824 3 ITU T Rec X 683 ISO IEC 8824 4 Estandares que describen las reglas de codificacion de ASN 1 ITU T Rec X 690 ISO IEC 8825 1 BER CER y DER ITU T Rec X 691 ISO IEC 8825 2 PER ITU T Rec X 693 ISO IEC 8825 4 XER ITU T Rec X 694 ISO IEC 8825 5 mapeado XSD RFC 3641 GSER Vease tambien EditarPKCS7 no contiene clave privada PKCS12 contiene clave privada Referencias Editar nbsp Datos Q333301 Obtenido de https es wikipedia org w index php title ASN 1 amp oldid 149522193, wikipedia, wiki, leyendo, leer, libro, biblioteca,

español

, española, descargar, gratis, descargar gratis, mp3, video, mp4, 3gp, jpg, jpeg, gif, png, imagen, música, canción, película, libro, juego, juegos