6. Capa 4: Transporte

La capa de transporte conecta procesos, no solo dispositivos. Su misión es convertir los paquetes provenientes de la capa de red en flujos confiables o rápidos según lo necesite la aplicación. Aquí aparecen conceptos como segmentación, control de flujo y retransmisiones, junto con los números de puerto que identifican servicios específicos.

Esta capa introduce además la multiplexación: la posibilidad de que múltiples aplicaciones compartan la misma interfaz de red sin interferirse. Entenderla es clave para depurar problemas en servidores, optimizar el rendimiento de bases de datos y diseñar APIs resilientes.

6.1 Segmentación de datos y control de flujo

Antes de enviar información, la capa de transporte divide los datos en unidades manejables llamadas segmentos. Cada segmento recibe encabezados con números de puerto, secuencias y banderas que ayudarán a reordenarlos en destino. La segmentación ofrece tres beneficios principales:

  • Eficiencia: permite que la red se ocupe de bloques más pequeños, reduciendo el impacto de una retransmisión cuando ocurre un error.
  • Paralelismo: el receptor puede procesar varios segmentos simultáneamente, aprovechando múltiples caminos en la red.
  • Adaptabilidad: el tamaño de segmento se ajusta dinámicamente (MSS) según lo indique la detección de MTU de la capa inferior.

El control de flujo evita que un emisor sature a un receptor más lento. Protocolos como TCP utilizan ventanas deslizantes (sliding window) y el campo window size para indicar cuántos bytes están preparados para procesar. Si la aplicación receptora se retrasa, la ventana se reduce y el emisor debe esperar antes de enviar más datos.

6.2 Protocolos principales: TCP y UDP

Dos protocolos concentran la mayoría del tráfico de capa 4:

  • TCP (Transmission Control Protocol): es orientado a conexión, lo que significa que los extremos negocian parámetros antes de intercambiar datos (three-way handshake). Aporta confiabilidad mediante ACKs, retransmisiones, control de congestión (algoritmos como Reno, Cubic o BBR) y ordenamiento estricto. Es la base de servicios como HTTP, SMTP o SSH.
  • UDP (User Datagram Protocol): ofrece un servicio minimalista sin establecimiento de conexión ni garantía de entrega. Su bajo overhead lo hace ideal para aplicaciones en tiempo real (voz sobre IP, streaming, DNS) donde la velocidad importa más que la corrección exacta de cada paquete.

Elegir entre TCP y UDP depende del contexto: si necesitas seguridad y confiabilidad, TCP es la opción natural; si privilegias la latencia mínima y puedes tolerar pérdidas, UDP resulta más eficiente.

6.3 Confiabilidad, puertos y multiplexación

La confiabilidad se logra gracias a tres mecanismos coordinados en la capa de transporte:

  1. Números de secuencia: permiten detectar pérdidas o duplicados. Si se salta un número, el receptor puede solicitar una retransmisión.
  2. Acknowledgments (ACK): confirman qué segmentos llegaron correctamente. TCP usa ACK acumulativos para reducir la cantidad de mensajes de retorno.
  3. Control de congestión: ajusta la tasa de envío según las condiciones de la red, evitando que un flujo domine a los demás.

Los números de puerto identifican a cada aplicación dentro de un host. Se dividen en tres rangos:

  • Bien conocidos (0-1023): reservados para servicios estandarizados como HTTP (80) o HTTPS (443).
  • Registrados (1024-49151): asignados a aplicaciones específicas (por ejemplo, MySQL usa 3306).
  • Dinámicos o privados (49152-65535): utilizados temporalmente para conexiones salientes o pruebas.

Gracias a los puertos, varios programas pueden compartir la misma IP pública. Este proceso de multiplexación se complementa con demultiplexación en el receptor, que redirige cada segmento al socket adecuado. Además, tecnologías como NAT y los balanceadores de carga se apoyan en la información de capa 4 para distribuir tráfico entre múltiples servidores.