Transporte de datos
El rol de la capa de transporte:
La capa de transporte es responsable de establecer una sesión de comunicación temporal entre dos aplicaciones y de transmitir datos entre ellas. Las aplicaciones generan los datos que se envían de una aplicación en un host de origen a una aplicación a un host de destino, independientemente del tipo de host de destino, el tipo de medios a través de los que deben viajar los datos, la ruta que toman los datos, la congestión en un enlace o el tamaño de la red. Como se muestra en la ilustración, la capa de transporte es el enlace entre la capa de aplicación y las capas inferiores que son responsables de la transmisión a través de la red.
La capa de transporte proporciona un método para entregar datos a través de la red de una manera que garantiza que estos se puedan volver a unir correctamente en el extremo receptor. La capa de transporte permite la segmentación de datos y proporciona el control necesario para rearmar estos segmentos en los distintos streams de comunicación. En el protocolo TCP/IP, estos procesos de segmentación y rearmado se pueden lograr utilizando dos protocolos muy diferentes de la capa de transporte: el protocolo de control de transmisión (TCP) y el protocolo de datagramas de usuario (UDP).
Las principales responsabilidades de los protocolos de la capa de transporte son las siguientes:
- Rastreo de comunicación individual entre aplicaciones en los hosts de origen y destino
- División de los datos en segmentos para su administración y reunificación de los datos segmentados en streams de datos de aplicación en el destino
- Identificación de la aplicación correspondiente para cada stream de comunicación.
Rastreo de conversaciones individuales
Figura 1 |
En la capa de transporte, cada conjunto de datos particular que fluye entre una aplicación de origen y una de destino se conoce como “conversación” (figura 1). Un host puede tener varias aplicaciones que se comunican a través de la red de forma simultánea. Cada una de estas aplicaciones se comunica con una o más aplicaciones en uno o más hosts remotos. Es responsabilidad de la capa de transporte mantener y hacer un seguimiento de todas estas conversaciones.
Segmentación de datos y rearmado de segmentos
Figura 2 |
Se deben preparar los datos para el envío a través de los medios en partes manejables. La mayoría de las redes tienen un límite de la cantidad de datos que se puede incluir en un solo paquete. Los protocolos de la capa de transporte tienen servicios que segmentan los datos de aplicación en bloques de datos de un tamaño apropiado (figura 2). Estos servicios incluyen la encapsulación necesaria en cada porción de datos. Se agrega un encabezado a cada bloque de datos para el rearmado. Este encabezado se utiliza para hacer un seguimiento del stream de datos.
En el destino, la capa de transporte debe poder reconstruir las porciones de datos en un stream de datos completo que sea útil para la capa de aplicación. Los protocolos en la capa de transporte describen cómo se utiliza la información del encabezado de dicha capa para rearmar las porciones de datos en streams para pasarlos a la capa de aplicación.
Identificación de aplicaciones
Figura 3 |
Puede haber muchas aplicaciones o servicios que se ejecutan en cada host de la red. Para pasar streams de datos a las aplicaciones adecuadas, la capa de transporte debe identificar la aplicación objetivo (figura 3). Para lograr esto, la capa de transporte asigna un identificador a cada aplicación. Este identificador se denomina “número de puerto”. A todos los procesos de software que requieran acceder a la red se les asigna un número de puerto exclusivo en ese host. La capa de transporte utiliza puertos para identificar la aplicación o el servicio.
Multiplexación de conversaciones:
El envío de algunos tipos de datos (por ejemplo, un streaming video) a través de una red, como un stream completo de comunicación, podría utilizar todo el ancho de banda disponible e impedir que se produzcan otras comunicaciones al mismo tiempo. También dificulta la recuperación de errores y la retransmisión de datos dañados.
En la ilustración, se muestra que la segmentación de los datos en partes más pequeñas permite que se entrelacen (multiplexen) varias comunicaciones de distintos usuarios en la misma red. La segmentación de los datos según los protocolos de la capa de transporte también proporciona los medios para enviar y recibir datos cuando se ejecutan varias aplicaciones a la vez en una PC.
Sin la segmentación, solo podría recibir datos una aplicación. Por ejemplo, con un streaming video, los medios se consumirían por completo por ese stream de comunicación en lugar de compartirse. No podría recibir correos electrónicos, chatear por mensajería instantánea o visitar páginas Web mientras mira el video.
Para identificar cada segmento de datos, la capa de transporte agrega al segmento un encabezado que contiene datos binarios. Este encabezado contiene campos de bits. Los valores de estos campos permiten que los distintos protocolos de la capa de transporte lleven a cabo diferentes funciones de administración de la comunicación de datos.
Confiabilidad de la capa de transporte:
La capa de transporte también es responsable de administrar los requisitos de confiabilidad de las conversaciones. Las diferentes aplicaciones tienen diferentes requisitos de confiabilidad de transporte.
IP se ocupa solo de la estructura, el direccionamiento y el enrutamiento de paquetes. IP no especifica la manera en que se lleva a cabo la entrega o el transporte de los paquetes. Los protocolos de transporte especifican la manera en que se transfieren los mensajes entre los hosts. TCP/IP proporciona dos protocolos de la capa de transporte: el protocolo de control de transmisión (TCP) y el protocolo de datagramas de usuario (UDP), como se muestra en la ilustración. IP utiliza estos protocolos de transporte para habilitar la comunicación y la transferencia de datos entre los hosts.
TCP se considera un protocolo de la capa de transporte confiable y completo, lo que garantiza que todos los datos lleguen al destino. En cambio, UDP es un protocolo de la capa de transporte muy simple que no proporciona confiabilidad.
TCP:
Como se indicó anteriormente, TCP se considera un protocolo de transporte confiable, lo que significa que incluye procesos para garantizar la entrega confiable entre aplicaciones mediante el uso de entrega con acuse de recibo. La función del protocolo de transporte TCP es similar al envío de paquetes de los que se hace un seguimiento de origen a destino. Si se divide un pedido de FedEx en varios envíos, el cliente puede revisar en línea el orden de la entrega.
Con TCP, las tres operaciones básicas de confiabilidad son las siguientes:
- Seguimiento de segmentos de datos transmitidos
- Acuse de recibo de datos
- Retransmisión de cualquier dato sin acuse de recibo
TCP divide el mensaje en partes pequeñas, conocidas como segmentos. Los segmentos se numeran en secuencia y se pasan al proceso IP para armarse en paquetes. TCP realiza un seguimiento del número de segmentos que se enviaron a un host específico desde una aplicación específica. Si el emisor no recibe un acuse de recibo antes del transcurso de un período determinado, supone que los segmentos se perdieron y los vuelve a transmitir. Sólo se vuelve a enviar la parte del mensaje que se perdió, no todo el mensaje. En el host receptor, TCP se encarga de rearmar los segmentos del mensaje y de pasarlos a la aplicación. El protocolo de transferencia de archivos (FTP) y el protocolo de transferencia de hipertexto (HTTP) son ejemplos de las aplicaciones que utilizan TCP para garantizar la entrega de datos.
Estos procesos de confiabilidad generan una sobrecarga adicional en los recursos de la red debido a los procesos de acuse de recibo, rastreo y retransmisión. Para admitir estos procesos de confiabilidad, se intercambian más datos de control entre los hosts emisores y receptores. Esta información de control está incluida en un encabezado TCP.
UDP:
Si bien las funciones de confiabilidad de TCP proporcionan una comunicación más sólida entre aplicaciones, también representan una sobrecarga adicional y pueden provocar demoras en la transmisión. Existe una compensación entre el valor de la confiabilidad y la carga que implica para los recursos de la red. La imposición de sobrecarga para garantizar la confiabilidad para algunas aplicaciones podría reducir la utilidad a la aplicación e incluso ser perjudicial para esta. En estos casos, UDP es un protocolo de transporte mejor.
UDP proporciona solo las funciones básicas para entregar segmentos de datos entre las aplicaciones adecuadas, con muy poca sobrecarga y revisión de datos. El protocolo UDP se conoce como protocolo de entrega de máximo esfuerzo. En el contexto de redes, la entrega de máximo esfuerzo se denomina “poco confiable”, porque no hay acuse de recibo que indique que los datos se recibieron en el destino. Con UDP, no existen procesos de capa de transporte que informen al emisor si la entrega se produjo correctamente.
El proceso de UDP es similar al envío por correo de una carta simple sin registrar. El emisor de la carta no sabe si el receptor está disponible para recibir la carta ni la oficina de correos es responsable de hacer un seguimiento de la carta o de informar al emisor si esta no llega a destino.
Medio de transporte recurrente TCP y UDP |
Protocolo de la capa de transporte correcto para la aplicación adecuada:
Tanto TCP como UDP son protocolos de transporte válidos. Según los requisitos de la aplicación, se puede utilizar uno de estos protocolos de transporte y, en ocasiones, se pueden utilizar ambos. Los desarrolladores de aplicaciones deben elegir qué tipo de protocolo de transporte es adecuado según los requisitos de las aplicaciones.
Para algunas aplicaciones, los segmentos deben llegar en una secuencia muy específica para que se puedan procesar correctamente. Con otras aplicaciones, todos los datos se deben recibir en forma completa para poder considerarse útiles. En ambos casos, se utiliza TCP como protocolo de transporte. Por ejemplo, las aplicaciones, como las bases de datos, los exploradores Web y los clientes de correo electrónico, requieren que todos los datos que se envían lleguen a destino en su formato original. Todos los datos perdidos pueden corromper una comunicación y dejarla incompleta o ilegible. Por lo tanto, estas aplicaciones están diseñadas para utilizar TCP. Los gastos de red adicionales se consideran necesarios para estas aplicaciones.
En otros casos, una aplicación puede tolerar cierta pérdida de datos durante la transmisión a través de la red, pero no se admiten retrasos en la transmisión. UDP es la mejor opción para estas aplicaciones, ya que se requiere menos sobrecarga de red. Con aplicaciones como streaming audio, video y voz sobre IP (VoIP), es preferible utilizar UDP. Los acuses de recibo reducirían la velocidad de la entrega, y las retransmisiones no son recomendables.
Por ejemplo, si uno o dos segmentos de un stream de video no llegan al destino, se interrumpe momentáneamente el stream. Esto puede representar distorsión en la imagen, pero quizá ni el usuario lo note. Por otro lado, la imagen en un streaming video se degradaría en gran medida si el dispositivo de destino tuviera que dar cuenta de los datos perdidos y demorar el stream mientras espera las retransmisiones. En este caso, es mejor producir el mejor video posible con los segmentos recibidos y prescindir de la confiabilidad.
La radio a través de Internet es otro ejemplo de aplicación que utiliza UDP. Si parte del mensaje se pierde durante su transmisión por la red, no se vuelve a transmitir. Si se pierden algunos paquetes, el oyente podrá escuchar una breve interrupción en el sonido. Si se utilizara TCP y se volvieran a enviar los paquetes perdidos, la transmisión haría una pausa para recibirlos, y la interrupción sería más notoria.
No hay comentarios.:
Publicar un comentario