PRO · Protocolo 4 · Transporte (Transporte)

25.TCP

Protocolo de transporte orientado a conexión que entrega los datos completos, en orden y sin errores, ajustando su velocidad a la red.

¿Qué es?

TCP (Transmission Control Protocol, protocolo de control de transmisión) es el protocolo que se asegura de que los datos lleguen completos, en orden y sin errores, aunque la red pierda o desordene paquetes.

Es como enviar un libro por paquetería en varias cajas numeradas y con acuse de recibo: el destinatario confirma qué cajas le llegaron, el remitente vuelve a enviar las que se perdieron y al final el libro se arma en el orden correcto.

En términos técnicos

  • Trabaja en la capa 4 (Transporte). Su unidad de datos es el segmento. Está definido en el RFC 9293 (2022), que reemplazó al RFC 793 de 1981.
  • Es orientado a conexión: antes de enviar datos, los dos equipos establecen la conexión con el saludo de tres vías.
  • Es confiable: numera cada byte (número de secuencia), el receptor confirma lo recibido (acuse, ACK) y lo que no se confirma se retransmite.
  • Tiene control de flujo (no satura al receptor) y control de congestión (no satura la red).
  • Es full-duplex: los dos lados envían y reciben a la vez.
  • En el encabezado IPv4 se identifica como protocolo 6.

¿Dónde lo vas a encontrar?

Debajo de la web (HTTP/1.1 y HTTP/2), el correo (SMTP, IMAP), SSH, FTP, las bases de datos y casi cualquier descarga de archivos.

¿Cómo funciona?

Las fases de una conexión

Fase Qué pasa
1. Establecer Saludo de tres vías: SYN → SYN-ACK → ACK
2. Transferir Segmentos de datos numerados y sus acuses (ACK)
3. Cerrar Cada lado envía FIN y el otro lo confirma con ACK (cuatro mensajes)

El encabezado (20 bytes como mínimo)

Campo Para qué sirve
Puerto de origen y de destino Qué aplicaciones conversan
Número de secuencia Posición del primer byte de este segmento en el flujo de datos
Número de acuse El siguiente byte que espero: confirma todo lo anterior
Banderas SYN iniciar, ACK acuse válido, FIN terminar, RST cortar de golpe, PSH entregar ya
Ventana Cuántos bytes más puede recibir este lado
Suma de verificación Detecta errores en el segmento
Opciones MSS, escalado de ventana, SACK, marcas de tiempo

Cómo se recupera de una pérdida

  1. El emisor envía los segmentos con bytes 1–1000, 1001–2000 y 2001–3000.
  2. El de 1001–2000 se pierde. El receptor sigue confirmando ACK 1001 («todavía espero el byte 1001»).
  3. Si el emisor recibe tres ACK duplicados o se le acaba el tiempo de espera, retransmite ese segmento.
  4. Al llegar, el receptor confirma ACK 3001 y entrega los datos en orden a la aplicación.

Control de congestión

TCP empieza enviando poco (arranque lento) y aumenta mientras todo llegue bien; si detecta pérdidas, entiende que la red está saturada y reduce su ritmo. Los sistemas actuales usan algoritmos como CUBIC (Linux, Windows) o BBR.

Verificación y diagnóstico

Comando Qué debes ver
netstat -ano -p tcp (Windows) · ss -tan (Linux) Las conexiones con su estado: LISTEN, ESTABLISHED, TIME_WAIT…
show tcp brief (Cisco) Las sesiones TCP del propio router (p. ej. SSH)
Wireshark, filtro tcp.analysis.retransmission Los segmentos retransmitidos
Wireshark, Estadísticas → Conversaciones Cuántos bytes y paquetes por conexión
Estado Significa
LISTEN Un servidor espera conexiones en ese puerto
ESTABLISHED Conexión activa
TIME_WAIT La conexión se cerró y el sistema espera un poco por si llegan segmentos atrasados (es normal)
CLOSE_WAIT El otro lado cerró, pero la aplicación local no; muchos indican un programa mal hecho

Para tomar en cuenta

  • Confiable no es seguro: TCP garantiza la entrega, pero no cifra nada. Para eso está TLS encima.
  • Muchas retransmisiones indican pérdidas en la red: Wi-Fi débil, cables dañados o enlaces saturados.
  • La latencia afecta mucho a TCP: cada ida y vuelta para confirmar cuesta tiempo; en enlaces lejanos rinde menos aunque haya ancho de banda.
  • TIME_WAIT no es un error: dura uno o dos minutos y protege contra datos viejos.
  • TCP es un flujo de bytes, no de mensajes: la aplicación debe saber dónde termina cada mensaje.
  • QUIC (la base de HTTP/3) reimplementa sobre UDP lo bueno de TCP, con cifrado integrado y conexiones más rápidas.

Material descargable

Aún no hay material descargable para este tema. Pronto habrá cuadernillos, manuales o laboratorios.

Referencias (RFC / estándar)

Antes conviene ver…

© solutions_ · Redes informáticas · 25 TCP