Saltar al contenido
uencoder

TCP

TCP (Protocolo de Control de Transmisión) es un protocolo de transporte orientado a conexión, fiable y ordenado; establece conexiones con un apretón de manos de tres vías y ofrece control de flujo por ventana deslizante y acuses de recibo basados en ACK.

Propósito

Proporciona transferencia de datos fiable que llega completa y en orden, adecuada para transferencias de archivos y la Web.

Mecanismo

Un apretón de manos de tres vías establece la conexión (SYN, SYN-ACK, ACK); un cierre de cuatro vías la derriba. Los datos llevan números de secuencia y el receptor los acusa. El control de flujo usa ventana deslizante; el control de congestión usa arranque lento y AIMD. La retransmisión ocurre por timeout. La máquina de estados tiene 11 estados.

Casos de uso

  • Transporte web HTTP/HTTPS
  • Inicio de sesión remoto SSH
  • Transferencia de correo SMTP
  • Transferencia de archivos (FTP/SFTP)

Ejemplos

  • entrada
    SYN seq=100
    Output
    SYN-ACK seq=200 ack=101

    The three-way handshake

Errores comunes

TIME_WAIT buildup exhausts ports
Tune tcp_tw_reuse or use a connection pool

Términos relacionados

Herramientas relacionadas

References