Funciones de Presentación y ASN.1
Funciones de Presentación y ASN.1
Funciones de Presentación y ASN.1
1
lvaro Rojas-Flores Perea Juan Antonio guila Luque Comunicacin de Datos Curso 2012/13
Representacin de datos
Objetivos fundamentales del nivel de Presentacin: - Proporcionar una interfaz para ejecutar las primitivas del inicio de sesin. - Proveer y controlar una notacin para especificar estructuras de datos complejas. - Servicios adicionales que afectan al transporte de la informacin, como seguridad y compresin.
Formateo de datos
Para comprender el funcionamiento del formateo de datos, existen dos sistemas diferentes: EBCDIC y ASCII. Ambos sistemas representan los caracteres en la pantalla. La capa de presentacin acta como traductor entre EBCDIC y ASCII. Los archivos de texto ASCII contienen datos de caracteres sencillos sin comandos de formato (negrita, cursiva). Ejemplo de aplicacin: El bloc de notas. El cdigo EBCDIC es similar al ASCII por no tener ningn formato sofisticado. Pero EBCDIC se utiliza en sistemas mainframe (grandes ordenadores), y ASCII se utiliza en los PCs. Unicode es una ampliacin de ASCII muy utilizada actualmente.
Formateo de datos
Los estndares de la capa 6 tambin determinan la presentacin de las imgenes grficas (GIF, TIFF, JPEG). Otros estndares regulan la presentacin de sonido y vdeos (MIDI, MPEG, QuickTime)
Cifrado de datos
La capa 6 tambin se encarga del cifrado de datos, que evita accesos no autorizados a cierta informacin en el host, y hace inentendibles la informacin transmitida por la red (Por ejemplo, los datos de las tarjetas de crdito) El texto que el emisor debe transmitir de forma segura se llama texto plano P. El emisor lo cifra (texto cifrado C) y el receptor descifra C para obtener P. Se utiliza una funcin Ek(.) de encriptado y una funcin Dk(.) de desencriptado.
Cifrado de datos
Deben existir el mayor nmero posible de funciones Ek(.), para despistar a una persona no autorizada. Las diferentes funciones corresponden a diferentes cdigos o parmetros del cdigo usado por el cifrador. Cada cdigo se identifica por una clave k que especifica el algoritmo de codificacin. Si las claves de cifrado y descifrado son iguales el cifrado es simtrico. En caso contrario, el cifrado es asimtrico. El algoritmo debe estar acordado por emisor y receptor. Tipos de algoritmo simtrico: DES, RC5. Tipos de algoritmo asimtrico: RSA, Diffie-Hellman.
Tipos de cifrado
Compresin de datos
Otra de las funciones de esta capa de presentacin es la compresin de los archivos. La compresin funciona mediante el uso de algoritmos (frmulas matemticas complejas) para reducir el tamao de los archivos. El algoritmo busca patrones de bits repetidos en el archivo y entonces los reemplaza con un token. Un token es un patrn de bit mucho ms corto que representa el patrn largo. Una analoga sencilla puede ser el nombre Rafa (el apodo), el token, para referirse a alguien cuyo nombre completo sea Rafael. Existen dos tipos de algoritmos de compresin: con prdida y sin prdida .
Compresin de datos
Algoritmos con prdida:
Se utilizan para representar cierta cantidad de informacin utilizando una menor cantidad de la misma. La reconstruccin exacta de los datos originales es imposible. Ejemplos: JPEG, MPEG, MP3.
Conversin Sintctica
Se trata de acordar una sintaxis de transferencia comn. La capa de presentacin traduce entre la sintaxis especfica de la aplicacin y la sintaxis de transferencia. Se recomienda la notacin sintctica ASN.1 para la definicin de estructuras de datos
ASN.1 en SNMP
Existen distintos tipos en SNMP Tipos estndares (p.e. INTEGER) Tipos definidos por el usuario (p.e. Status) Identificadores (p.e. count) Los espacios en blanco y tabuladores no importan. Comentarios con -. No se puede usar en SNMP los tipos BOOLEAN ni REAL.
ASN.1 en SNMP
Datos primitivos ASN.1 permitidos en SNMP
ASN.1 en SNMP
Ejemplos: Def. de variable: count INTEGER ::= 100 Def. de enumerados: Status ::= INTEGER{up(1),down(2),unknown (3)} Def. de subrangos: PacketSize ::= INTEGER(0..1023) Def. de objetos: {iso identified-organization(3) dod(6) internet(1) ...}
ASN.1 en SNMP
Se pueden construir tipos nuevos a partir de los bsicos usando:
SEQUENCE: Secuencia ordenada de tipos. SEQUENCE OF: Vectores del mismo tipo ordenados de una dimensin. CHOICE: Crea una unin a travs de una lista de tipos. Tipos referidos: Nuevos tipos a travs de otros existentes. Se pueden especificar categoras: universal, aplicacin, contexto y privado. Macros: Modelos genricos que definen prototipos para tipos de datos complejos.
ASN.1. Ejemplo
FooProtocol DEFINITIONS ::= BEGIN FooQuestion ::= SEQUENCE { trackingNumber INTEGER, question IA5String } END
Mensaje .
myQuestion FooQuestion ::= { trackingNumber 5, question Anybody there? }
Este cdigo lo vamos a codificar en DER (Distinguished Encoding Rules) => Siguiente Transparencia.
ASN.1. Ejemplo
Traduccin a DER 30 etiqueta de tipo indicando SEQUENCE 13 longitud en octetos de los valores que siguen 02 type tag indicating INTEGER 01 longitud en octetos de los valores que siguen 05 value (5) 16 etiqueta de tipo indicando IA5String 0e longitud en octetos de los valores que siguen 41 6e 79 62 6f 64 79 20 74 68 65 72 65 3f value (Anybody There?")
ASN.1. Ejemplo.
30 13 02 01 05 16 0e 41 6e 79 62 6f 64 79 20 74 68 65 72 65 3f Esta cadena de 21 octetos sera el conjunto de instrucciones del cdigo anterior, traducido a DER (Distinguished Encoding Rules)
Bibliografa
Comunicacin de Datos Tema 8, Enrique Alba Torres, Universidad de Mlaga http://www.adrformacion.com/cursos/wserver082/leccion 3/tutorial7.html http://msdn.microsoft.com/eses/library/windows/desktop/bb648643(v=vs.85).aspx http://en.wikipedia.org/wiki/Abstract_Syntax_Notation_O ne