Sei sulla pagina 1di 27

Funciones de Presentacin y ASN.

1
lvaro Rojas-Flores Perea Juan Antonio guila Luque Comunicacin de Datos Curso 2012/13

Modelo OSI. Presentacin


Nivel de Presentacin

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.

PARTE 1 FUNCIONES DE PRESENTACIN

Funciones de la capa de Presentacin Formateo de datos Cifrado de datos Compresin de datos

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.

Algoritmos sin prdida:


Se utilizan para representar cierta cantidad de informacin ocupando un espacio menor. La reconstruccin de los datos originales es posible. Ejemplos: RAR, ZIP, 7Z.

PARTE 2 CONVERSIN SINTCTICA ASN.1

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

Conversin sintctica ASN.1


ASN.1, es un lenguaje usado por SNMP para definir objetos manipulados de manera independiente de los fabricantes. Es una gramtica para definir Tipos de datos. Existen cuatro tipos posibles para un dato: Universal Especfico del contexto Aplicacin Privado Cada uno de los tipos es Primitivo o Construido

Conversin sintctica ASN.1


El aspecto de la gramtica es el mismo que el de un lenguaje de alto nivel La sintaxis de transferencia se define especificando cmo se codifican los distintos tipos de datos. La codificacin empieza con un tag que especifica el tipo de datos. Cada tipo tiene su propia regla de codificacin. Para decodificar este dato, marcado con tag, la capa de presentacin destino examina el tag e invoca al procedimiento de decodificacin que corresponde al tipo de dato indicado.

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 Sintaxis de Transferencia


Define la forma de codificar y decodificar sin ambigedad los valores expresados con ASN.1 para su transmisin y recuperacin por la red. La sintaxis de transferencia se especifica mediante reglas bsicas de codificacin. Tras usar las reglas, muchas veces recurrentes, llegamos a tener un flujo de objetos primitivos organizados. Cada valor transmitido se codifica usando 4 campos: - 1. Identificador. - 2. Longitud del campo de datos. - 3. Campo de datos. - 4. Indicador de fin de contenido.

ASN.1 Sintaxis de Transferencia


El identificador es uno o ms octetos con tres campos: Etiqueta (2 bits): 00-Universal, 01-Aplicacin, 10-Especfico, 11Privado. Tipo (1 bit): 0-Primitivo, 1-Construido. Valor etiqueta (5 bits): Tipo de valor si est en el rango 0..30. Si es 31 o mayor entonces la etiqueta ser 11111 y habr uno o ms octetos detrs del primero. En caso de existir se usan los ltimos 7 bits, el primer bit de cada octeto vale 0 excepto en el ltimo, que vale 1. La longitud del campo de datos es un octeto que contiene el nmero de octetos de datos. El campo de datos contiene los valores de los objetos que se quieren transmitir.

ASN.1 Sintaxis de Transferencia


Las cadenas de octetos utilizan big endian (de izquierda a derecha, MSB a la izquierda) El valor nulo tiene el campo de longitud 0. No transmite ningn valor numrico. Ejemplos:
Entero 49: [ID. 00-0-00010] [LONG. 00000001] [VAL. 00110001] Cadena de octetos xy: [ID. 00-0-00100] [LONG. 00000010] [VAL. 01111000 01111001] Valor Nulo: [ID. 00-0-00101] [LONG. 00000000]

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

Potrebbero piacerti anche