El handshake de tres vías de TCP en el Protocolo de Control de Transmisión (también llamado TCP-handshake; handshake de tres mensajes y/o SYN-SYN-ACK) es el método utilizado por TCP para establecer una conexión TCP/IP sobre una red basada en el Protocolo de Internet. La técnica de handshaking de tres mensajes de TCP se conoce a menudo como «SYN-SYN-ACK» (o más exactamente SYN, SYN-ACK, ACK) porque hay tres mensajes transmitidos por TCP para negociar e iniciar una sesión TCP entre dos ordenadores. El mecanismo de handshaking de TCP está diseñado para que dos ordenadores que intentan comunicarse puedan negociar los parámetros de la conexión de socket TCP de la red antes de transmitir datos como las peticiones de SSH y del navegador web HTTP.

Este proceso de handshake de 3 vías también está diseñado para que ambos extremos puedan iniciar y negociar conexiones de socket TCP separadas al mismo tiempo. Ser capaz de negociar múltiples conexiones de socket TCP en ambas direcciones al mismo tiempo permite que una sola interfaz de red física, como ethernet, sea multiplexada para transferir múltiples flujos de datos TCP simultáneamente.

Diagrama del apretón de manos TCP de 3 vías

A continuación se muestra un diagrama (muy) simplificado del proceso de apretón de manos TCP de 3 vías. Echa un vistazo al diagrama de la derecha mientras examinas la lista de eventos de la izquierda.

tcp three-way handshake,syn,syn-ack,ack
TCP Three Way Handshake
(SYN,SYN-ACK,ACK)

Evento DIAGRAMA

El host A envía un paquete TCP SYNchronize al host B

El host B recibe el SYN de A

El host B envía un SYNchronize-ACKnowledgement

El host A recibe el SYN-ACK de B

El host A envía ACKnowledge

El host B recibe ACK.
La conexión del socket TCP está ESTABLECIDA.

Los mensajes SYN y ACK se indican mediante un bit SYN o el bit ACK dentro de la cabecera TCP, y el mensaje SYN-ACK tiene tanto el bit SYN como el ACK activados (puestos a 1) en la cabecera TCP.

TCP sabe si la conexión de socket TCP de red se está abriendo, sincronizando, estableciendo mediante el uso de los mensajes SYNchronize y ACK cuando se establece una conexión de socket TCP de red.

Cuando la comunicación entre dos ordenadores finaliza, se realiza otra comunicación de tres vías para derribar la conexión de socket TCP. Este establecimiento y desmontaje de una conexión de socket TCP es parte de lo que califica a TCP como un protocolo fiable. TCP también reconoce que los datos se han recibido con éxito y garantiza que los datos se reensamblan en el orden correcto.

Nótese que UDP no tiene conexión. Esto significa que UDP no establece conexiones como lo hace TCP, por lo que UDP no realiza este handshake de 3 vías y por esta razón, se le conoce como un protocolo no fiable. Esto no significa que UDP no pueda transferir datos, simplemente no negocia cómo funcionará la conexión, UDP sólo transmite y espera lo mejor.

Protocolos encapsulados en TCP

Nótese que FTP, Telnet, HTTP, HTTPS, SMTP, POP3, IMAP, SSH y cualquier otro protocolo que se desplace sobre TCP también tiene un handshake de tres vías que se realiza al abrir la conexión. Las peticiones web HTTP, los correos electrónicos SMTP y las transferencias de archivos FTP gestionan los mensajes que cada uno envía. TCP se encarga de la transmisión de esos mensajes.

TCP «cabalga» sobre el Protocolo de Internet (IP) en la pila de protocolos, por lo que el par combinado de protocolos de Internet se llama TCP/IP (TCP sobre IP). Los segmentos TCP se pasan dentro de la sección de carga útil de los paquetes IP. IP maneja el direccionamiento y el enrutamiento de IP y lleva los paquetes de un lugar a otro, pero TCP gestiona los sockets de comunicación reales entre los puntos finales (ordenadores en cualquier extremo de la red o conexión a Internet).

Tutoriales relacionados

  • Más tutoriales sobre el Protocolo de Control de Transmisión (TCP)
    • Sockets TCP (puertos virtuales)
    • Cabecera TCP
    • Control de flujo TCP
  • Más Tutoriales sobre el Protocolo de Internet (IP)

  • Más Tutoriales sobre el Protocolo de Datagramas de Usuario (UDP)
    • Tutoriales sobre TCP

      • Introducción al Protocolo de Control de Transmisión (TCP)
      • TCP: Un protocolo fiable
      • Cabecera TCP
      • TCP 3Way Handshake
      • Conexiones TCP
      • Sockets TCP
      • Transferencia de datos TCP
      • Segmentación y reensamblaje TCP
      • Control de flujo TCP
      • Control de flujo TCP
      • Multiplexación TCP
      • Precedencia TCP
      • Empuje de flujos de transporte TCP (TCP Push)
      • Marca esta página y COMPARTE:

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *