
En redes informáticas , la capa de transporte es una división conceptual de métodos en la arquitectura en capas de protocolos en la pila de red en el conjunto de protocolos de Internet y el modelo OSI . Los protocolos de esta capa proporcionan servicios de comunicación de extremo a extremo para aplicaciones. [1] : §1.1.3 Proporciona servicios como comunicación orientada a conexión , confiabilidad , control de flujo y multiplexación .
Los detalles de implementación y semántica de la capa de transporte del conjunto de protocolos de Internet , [1] que es la base de Internet , y el modelo OSI de redes generales son diferentes. Los protocolos que se utilizan hoy en día en esta capa para Internet se originaron en el desarrollo de TCP/IP. En el modelo OSI, la capa de transporte se conoce a menudo como Capa 4 o L4 , [2] mientras que las capas numeradas no se utilizan en TCP/IP.
El protocolo de transporte más conocido de la suite de protocolos de Internet es el Protocolo de Control de Transmisión (TCP). Se utiliza para transmisiones orientadas a conexión, mientras que el Protocolo de Datagramas de Usuario (UDP) sin conexión se utiliza para transmisiones de mensajes más simples. TCP es el protocolo más complejo, debido a su diseño con estado que incorpora servicios de transmisión y flujo de datos confiables. Juntos, TCP y UDP comprenden esencialmente todo el tráfico en Internet y son los únicos protocolos implementados en todos los principales sistemas operativos. Otros protocolos de capa de transporte que se han definido e implementado incluyen el Protocolo de Control de Congestión de Datagramas (DCCP) y el Protocolo de Transmisión de Control de Flujo (SCTP).
Servicios
Los servicios de la capa de transporte se transmiten a una aplicación a través de una interfaz de programación para los protocolos de la capa de transporte. Los servicios pueden incluir las siguientes características: [4]
- Comunicación orientada a conexión : [5] Normalmente es más fácil para una aplicación interpretar una conexión como un flujo de datos en lugar de tener que lidiar con los modelos sin conexión subyacentes, como el modelo de datagrama del Protocolo de datagramas de usuario (UDP) y del Protocolo de Internet (IP).
- Entrega en el mismo orden: la capa de red no suele garantizar que los paquetes de datos lleguen en el mismo orden en que se enviaron, pero a menudo esta es una característica deseable. Esto se suele hacer mediante el uso de numeración de segmentos, en la que el receptor los pasa a la aplicación en orden. Esto puede provocar un bloqueo de cabecera de línea .
- Fiabilidad : Los paquetes pueden perderse durante el transporte debido a errores y congestión de la red . Mediante un código de detección de errores , como una suma de comprobación , el protocolo de transporte puede comprobar que los datos no estén dañados y verificar su correcta recepción enviando un mensaje ACK o NACK al remitente. Se pueden utilizar esquemas de solicitud de repetición automática para retransmitir datos dañados o perdidos.
- Control de flujo : la velocidad de transmisión de datos entre dos nodos a veces debe gestionarse para evitar que un transmisor rápido transmita más datos de los que puede soportar el búfer de datos del receptor , lo que causaría un desbordamiento del búfer. Esto también se puede utilizar para mejorar la eficiencia al reducir el desbordamiento del búfer .
- Prevención de la congestión : el control de la congestión puede controlar la entrada de tráfico en una red de telecomunicaciones, de modo de evitar un colapso por congestión al intentar evitar la sobresuscripción de cualquiera de las capacidades de procesamiento o enlace de los nodos y redes intermedios y tomar medidas para reducir los recursos, como reducir la tasa de envío de paquetes . Por ejemplo, las solicitudes de repetición automática pueden mantener la red en un estado de congestión; esta situación se puede evitar añadiendo prevención de la congestión al control de flujo, incluido el inicio lento . Esto mantiene el consumo de ancho de banda a un nivel bajo al comienzo de la transmisión o después de la retransmisión de paquetes.
- Multiplexación : los puertos pueden proporcionar múltiples puntos finales en un solo nodo. Por ejemplo, el nombre en una dirección postal es un tipo de multiplexación y distingue entre diferentes destinatarios de la misma ubicación. Las aplicaciones informáticas escucharán cada una la información en sus propios puertos, lo que permite el uso de más de un servicio de red al mismo tiempo. Es parte de la capa de transporte en el modelo TCP/IP , pero de la capa de sesión en el modelo OSI.
Análisis
La capa de transporte es responsable de entregar datos al proceso de aplicación apropiado en los equipos host. Esto implica la multiplexación estadística de datos de diferentes procesos de aplicación, es decir, la formación de segmentos de datos y la adición de números de puerto de origen y destino en el encabezado de cada segmento de datos de la capa de transporte. Junto con la dirección IP de origen y destino, los números de puerto constituyen un socket de red , es decir, una dirección de identificación de la comunicación de proceso a proceso. En el modelo OSI, esta función es respaldada por la capa de sesión .
Algunos protocolos de la capa de transporte, por ejemplo TCP, pero no UDP, admiten circuitos virtuales , es decir, proporcionan comunicación orientada a la conexión a través de una red subyacente de datagramas orientados a paquetes . Se entrega un flujo de bytes mientras se oculta la comunicación en modo paquete para los procesos de aplicación. Esto implica el establecimiento de la conexión, la división del flujo de datos en paquetes llamados segmentos, la numeración de segmentos y la reordenación de los datos desordenados.
Por último, algunos protocolos de la capa de transporte, por ejemplo TCP, pero no UDP, proporcionan una comunicación fiable de extremo a extremo, es decir, recuperación de errores mediante un código de detección de errores y un protocolo de solicitud de repetición automática (ARQ). El protocolo ARQ también proporciona control de flujo , que puede combinarse con prevención de congestión .
UDP es un protocolo muy simple y no proporciona circuitos virtuales ni comunicación confiable, delegando estas funciones al programa de aplicación . Los paquetes UDP se denominan datagramas , en lugar de segmentos.
TCP se utiliza para muchos protocolos, incluida la navegación web HTTP y la transferencia de correo electrónico. UDP se puede utilizar para multidifusión y difusión , ya que las retransmisiones no son posibles para una gran cantidad de hosts. UDP generalmente ofrece un mayor rendimiento y una latencia más corta y, por lo tanto, se utiliza a menudo para la comunicación multimedia en tiempo real donde ocasionalmente se puede aceptar la pérdida de paquetes, por ejemplo, IP-TV y telefonía IP, y para juegos de computadora en línea.
Muchas redes que no se basan en IP, como X.25 , Frame Relay y ATM , implementan la comunicación orientada a la conexión en la capa de red o de enlace de datos en lugar de en la capa de transporte. En X.25, en los módems de redes telefónicas y en los sistemas de comunicación inalámbrica, la comunicación confiable de nodo a nodo se implementa en capas de protocolo inferiores.
La especificación del protocolo de capa de transporte del modo de conexión OSI define cinco clases de protocolos de transporte: TP0 , que proporciona la menor recuperación de errores, hasta TP4 , que está diseñado para redes menos confiables.
Debido a la osificación del protocolo , TCP y UDP son los únicos protocolos de transporte ampliamente utilizados en Internet. [6] Para evitar la intolerancia de middlebox , los nuevos protocolos de transporte pueden imitar la imagen de cable de un protocolo tolerado, o encapsularse en UDP, aceptando cierta sobrecarga (por ejemplo, debido a las sumas de comprobación externas que se vuelven redundantes por las comprobaciones de integridad internas). [7] QUIC adopta el último enfoque, reconstruyendo el transporte de flujo confiable sobre UDP. [8]
Protocolos
Esta lista muestra algunos protocolos que comúnmente se ubican en las capas de transporte del conjunto de protocolos de Internet , el conjunto de protocolos OSI , IPX/SPX de NetWare , AppleTalk y Fibre Channel .
- ATP, Protocolo de transacciones AppleTalk
- CUDP, UDP cíclico [9]
- DCCP, Protocolo de control de congestión de datagramas
- FCP, Protocolo de canal de fibra
- Protocolo IL, IL
- MPTCP, TCP multitrayecto
- NORM, multidifusión confiable orientada a NACK
- RÁPIDO
- RDP, Protocolo de datos confiable
- RUDP, Protocolo de datagramas de usuario confiables
- SCTP, Protocolo de transmisión de control de flujo
- SPX, intercambio de paquetes secuenciados
- SST, Transporte de flujo estructurado
- TCP, Protocolo de control de transmisión
- UDP, Protocolo de datagramas de usuario
- UDP Lite
- μTP, Protocolo de microtransporte
Comparación de los protocolos de la capa de transporte de Internet
- ^ El RUDP no está estandarizado oficialmente. No ha habido novedades relacionadas con la normalización desde 1999.
- ^ Excluyendo los encabezados de los fragmentos de datos y los fragmentos de datos generales. Sin fragmentos integrados, un paquete SCTP es básicamente inútil.
- ^ Se cuenta de la siguiente manera: encabezado SCTP de 12 bytes + encabezado de fragmento DATA de 16 bytes o encabezado de fragmento I-DATA de 20 bytes + fragmento SACK de 16+ bytes. Los fragmentos adicionales que no son de datos (por ejemplo, AUTH) y/o los encabezados para fragmentos de datos adicionales, que podrían aumentar fácilmente la sobrecarga con 50 bytes o más, no se cuentan.
Comparación de los protocolos de transporte OSI
La Recomendación X.224 de la norma ISO/IEC 8073/ITU-T, "Tecnología de la información - Interconexión de sistemas abiertos - Protocolo para proporcionar el servicio de transporte en modo conexión", define cinco clases de protocolos de transporte en modo conexión, denominadas clase 0 (TP0) a clase 4 (TP4). La clase 0 no contiene recuperación de errores y fue diseñada para su uso en capas de red que proporcionan conexiones sin errores. La clase 4 es la más cercana a TCP, aunque TCP contiene funciones, como el cierre elegante, que OSI asigna a la capa de sesión. Todas las clases de protocolos en modo conexión de OSI proporcionan datos acelerados y conservación de los límites de los registros. Las características detalladas de las clases se muestran en la siguiente tabla: [10]
También existe un protocolo de transporte sin conexión, especificado por la Recomendación X.234 de ISO/IEC 8602/ITU-T. [11]
Referencias
- ^ ab R. Braden , ed. (octubre de 1989). Requisitos para hosts de Internet: capas de comunicación. Grupo de trabajo de redes. doi : 10.17487/RFC1122 . STD 3. RFC 1122. Estándar de Internet 3. Actualizado por RFC 1349, 4379, 5884, 6093, 6298, 6633, 6864, 8029 y 9293.
- ^ "Introducción al conjunto de protocolos de Internet". Guía de administración del sistema, volumen 3 .
- ^ «X.225: Tecnología de la información – Interconexión de sistemas abiertos – Protocolo de sesión orientado a la conexión: Especificación del protocolo». Archivado desde el original el 1 de febrero de 2021. Consultado el 10 de marzo de 2023 .
- ^ "Capa de transporte" (PDF) . Universidad Galgotias .
- ^ Heena, Khera. "Comunicación de datos y redes" (PDF) . Universidad Galgotias . pág. 9.
- ^ Papastergiou y col. 2017, pág. 620-621.
- ^ Papastergiou y col. 2017, pág. 623-624.
- ^ Corbet 2018.
- ^ Brian C. Smith, Cyclic-UDP: un protocolo de mejor esfuerzo basado en prioridades (PDF) , consultado el 23 de febrero de 2020
- ^ "Recomendación UIT-T X.224 (11/1995) ISO/IEC 8073". Itu.int . Consultado el 17 de enero de 2017 .
- ^ "Recomendación UIT-T X.234 (07/1994) ISO/IEC 8602". Itu.int . Consultado el 17 de enero de 2017 .
Bibliografía
- Corbet, Jonathan (29 de enero de 2018). "QUIC como solución a la osificación del protocolo". LWN.net .
- Papastergiou, Giorgos; Fairhurst, Gorry; Ros, David; Brunstrom, Anna; Grinnemo, Karl-Johan; Hurtig, Per; Khademi, Naeem; Tüxen, Michael; Welzl, Michael; Damjanovic, Dragana; Mangiante, Simone (2017). "Desosificación de la capa de transporte de Internet: un estudio y perspectivas futuras". IEEE Communications Surveys & Tutorials . 19 : 619–639. doi :10.1109/COMST.2016.2626780. hdl : 2164/8317 . S2CID 1846371.