Capa 2: Capa de Enlace de Datos
La capa de enlace de datos permite la comunicación entre sistemas a través de una red de área extensa (WAN) mediante un protocolo específico. Se encarga de la transferencia fiable de información a través de un circuito de transmisión de datos, utilizando tramas como unidades de información lógica.
Funciones de la Capa de Enlace de Datos
En el modelo TCP/IP, la capa de enlace de datos corresponde a la segunda capa. Sus principales funciones son:
- Iniciación, terminación e identificación: Activa y desactiva el enlace, intercambiando tramas de control para establecer la disponibilidad de las estaciones. La identificación determina el origen y destino de las tramas mediante la dirección de la capa de enlace.
- Segmentación y bloqueo: Divide tramas largas en segmentos más pequeños o concatena mensajes cortos en una trama más larga para mejorar la eficiencia.
- Sincronización de octeto y carácter: Identifica la posición de los bits en cada carácter u octeto dentro de una serie de bits recibidos, sincronizando los mecanismos de codificación del emisor y decodificación del receptor.
- Delimitación de trama y transparencia: Delimita y sincroniza la trama utilizando métodos como «Principio y fin», «Principio y cuenta» o «Guion» (banderas/flags). La transparencia se logra mediante la inserción de bits, añadiendo un 0 después de cinco 1s consecutivos.
- Control de errores: Detecta y corrige errores en el envío de tramas, proporcionando control de la capa física. Incluye la identificación de tramas, códigos detectores y correctores de error, control de flujo y gestión de la comunicación.
- Control de flujo: Evita la saturación del receptor, regulando el flujo de datos. Se realiza principalmente en la capa de transporte, pero también puede implementarse en la capa de enlace.
- Recuperación de fallos: Detecta y recupera situaciones anómalas como la pérdida de tramas, duplicación o llegada fuera de secuencia, utilizando contadores y temporizadores.
- Gestión y coordinación de la comunicación: Puede ser centralizada (maestro-esclavo) o distribuida (competencia por el control). La coordinación se realiza mediante selección (sondeo/selección, asignación de testigo) o contienda (ALOHA, CSMA/CD).
Control de Errores en la Capa de Enlace de Datos
La corrección de errores es opcional en esta capa, siendo la capa de transporte la principal responsable. Sin embargo, en una WAN, la verificación suele realizarse en la capa de enlace.
Los métodos de control de errores son:
- FEC (Forward Error Correction): Corrección de errores por anticipado, sin control de flujo.
- ARQ (Automatic Repeat Request): Con control de flujo, utilizando parada y espera simple, envío continuo y rechazo simple, o envío continuo y rechazo selectivo.
La detección de errores se realiza mediante códigos como:
- CRC (Control de Redundancia Cíclica)
- Paridad simple
- Paridad cruzada (horizontal y vertical)
- Suma de verificación
La corrección de errores se basa en técnicas como:
- Código Hamming
- Repetición
- Verificación de paridad cruzada
- Reed-Solomon
- Goyle
Capa 4: Capa de Transporte
La capa de transporte prepara los datos de la aplicación para su transmisión a través de la red, permitiendo su utilización por parte de las aplicaciones de destino.
Funciones de la Capa de Transporte
Establece las reglas para conectar dos dispositivos remotos y permite el ensamblaje y reensamblaje de múltiples segmentos del mismo flujo de datos mediante identificadores (números de puerto en TCP, UDP y SCTP). Los datos pueden ser transmitidos de forma:
- Fiable:
- Protocolo TCP (Transmission Control Protocol): Orientado a conexión, con un saludo de tres vías. Asegura la entrega, confirmación y retransmisión de segmentos, ordenándolos y proporcionando control de flujo.
- Protocolo SCTP (Stream Control Transmission Protocol): Similar a TCP, con control de flujo. Permite el envío de mensajes fuera de orden y está orientado al mensaje (similar a datagramas UDP). Utilizado en telefonía IP.
- No fiable:
- Protocolo UDP (User Datagram Protocol): No orientado a conexión, con un saludo de dos vías. Utilizado para transmisión de audio y vídeo en tiempo real, donde no es posible la retransmisión.
Propósito de la Capa de Transporte
- Seguimiento de la comunicación individual entre aplicaciones en los hosts origen y destino.
- Segmentación de datos y gestión de cada porción.
- Reensamblaje de segmentos en flujos de datos de aplicación.
- Identificación de las aplicaciones.
Funciones Adicionales de la Capa de Transporte
- Separación de comunicaciones múltiples: Permite que múltiples aplicaciones se comuniquen simultáneamente a través de la red.
- Segmentación de datos: Divide los datos en partes manejables para su transmisión.
- Reensamblaje de segmentos: Reconstruye los datos en el host de recepción, direccionándolos a la aplicación adecuada.
- Identificación de las aplicaciones: Asigna un número de puerto a cada aplicación para identificarla en el encabezado de la capa de transporte.
- Soporte de comunicación confiable: Implementa métodos para asegurar la entrega confiable de los datos, como el seguimiento, acuse de recibo y retransmisión.
- Control de las conversaciones: Incluye segmentación y reensamblaje, multiplexación de conversaciones, establecimiento de sesión, entrega confiable, reconstrucción ordenada de datos y control de flujo.
TCP y UDP
Son los dos protocolos más comunes de la capa de transporte en TCP/IP.
- UDP: Protocolo simple, sin conexión. Proporciona entrega de datos sin utilizar muchos recursos. Utilizado en DNS, streaming de vídeo y VoIP.
- TCP: Protocolo orientado a conexión. Agrega funciones como entrega en orden, entrega confiable y control de flujo. Utilizado en exploradores web, e-mail y transferencia de archivos.
Direccionamiento de Puertos
TCP y UDP utilizan números de puerto para diferenciar las aplicaciones.
- Puertos bien conocidos (0-1023): Reservados para servicios y aplicaciones comunes (HTTP, POP3/SMTP, Telnet).
- Puertos registrados (1024-49151): Asignados a procesos o aplicaciones del usuario.
- Puertos dinámicos o privados (49152-65535): Asignados dinámicamente a aplicaciones de cliente.
Algunas aplicaciones pueden utilizar tanto TCP como UDP (por ejemplo, DNS utiliza el puerto 53 para ambos protocolos).
Puede encontrar una lista actual de números de puerto en http://www.iana.org/assignments/port-numbers.
La capa de transporte divide los datos en segmentos, agrega un encabezado con números de puerto origen y destino, y utiliza esta información para recomponer los datos en el destino, direccionándolos a la aplicación correcta.
Capa 6: Capa de Presentación
La capa de presentación se encarga de funciones solicitadas con frecuencia, buscando una solución general. Trabaja más el contenido de la comunicación que el cómo se establece la misma. Permite cifrar y comprimir los datos. Actúa como un traductor, dando formato a los datos para la capa de aplicación.
Funciones de la Capa de Presentación
- Traducción del código de carácter (por ejemplo, ASCII a EBCDIC).
- Conversión de datos (orden de bits, punto CR-CR/LF, flotante entero, etc.).
- Compresión de datos: reduce el número de bits transmitidos en la red.
- Cifrado de datos: cifra los datos por motivos de seguridad (por ejemplo, cifrado de contraseña).
- Permite una comunicación entre hosts, independientemente de su plataforma de software.
Operaciones de la Capa de Presentación
- Traducir entre varios formatos de datos utilizando un formato común.
- Definir la estructura de datos a transmitir.
- Definir el código a usar para representar una cadena de caracteres.
- Dar formato a la información para visualizarla o imprimirla.
- Comprimir los datos si es necesario.
- Aplicar a los datos procesos criptográficos.
Capa de Presentación del Modelo de Referencia OSI
Aplica funciones de codificación y decodificación a los datos de la capa de aplicación para asegurar que la información enviada desde un sistema pueda ser leída por otro. Ejemplos:
- Formatos comunes de representación de datos (imagen, sonido, video).
- Conversión de formatos de representación de caracteres (EBCDIC, ASCII).
- Esquemas comunes de compresión de datos.
- Esquemas comunes de encriptación de datos.
Implementaciones Comunes en la Capa de Presentación
No están asociadas típicamente con ningún tipo de protocolo. Algunos estándares conocidos son:
- QuickTime: Implementación de Apple para video y audio.
- Motion Picture Experts Group (MPEG): Estándar para compresión y codificación de video.
- Graphics Interchange Format (GIF): Estándar para compresión y codificación de imágenes gráficas.
- Joint Photographic Experts Group (JPEG): Estándar para compresión y codificación de imágenes gráficas.
- Tagged Image File Format (TIFF): Formato de codificación estándar de Apple para imágenes gráficas.
Formatos de la Capa de Presentación
- ASCII: Creado por el comité estadounidense de estándares para el intercambio de información. Utilizado para representar caracteres (7 bits).
- PICT: Formato para transferir gráficos. Puede comprimir imágenes de colores sólidos, pero no es bueno para canales alfa.
- JPEG: Formato popular para guardar imágenes digitales. Eficiente para la compresión de imágenes.
- TIFF: Formato para guardar imágenes de alta calidad. Compatible con Windows, Linux y Mac.
- GIF: Formato utilizado para mostrar gráficos e imágenes de colores, especialmente en documentos como Word y en la web. Minimiza el tiempo de transferencia en líneas telefónicas.
- PhotoCD: Diseñado por Kodak para la creación de álbumes fotográficos en CD-ROM.
- PDF: No es un formato de imagen propiamente dicho, pero es importante en Internet para documentos con partes gráficas. Se utiliza mediante Adobe Acrobat.
Formatos Binarios
Los números binarios se representan con bits. Por ejemplo, el número siete se puede representar como 111, 00000111, etc. Se ignoran los ceros a la izquierda, pero a veces se extienden en múltiplos de cuatro u ocho bits para trabajar con grupos de ocho bits.
Cifrado y Compresión de Datos
La capa de presentación protege la información durante la transmisión mediante cifrado y compresión. El cifrado utiliza una clave para cifrar los datos en el origen y descifrarlos en el destino. La compresión reduce el tamaño de los archivos utilizando algoritmos que reemplazan patrones de bits repetidos con tokens más cortos.
La compresión de datos está relacionada con la representación de datos. Por ejemplo, un entero de 32 bits puede transmitirse como cuatro octetos, pero si se sabe que el 95% de los enteros transmitidos están entre 0 y 250, se puede transmitir un solo octeto sin signo y usar el código 255 para indicar un entero de 32 bits completo.