niko@blog:~/blog$ cat protocolo_tcp.org
# El protocolo TCP
[TCP/IP, networking, básicos]
#TCP/IP#networking#protocolos

El protocolo TCP (Transmission Control Protocol) es uno de los protocolos fundamentales de Internet. Es un protocolo orientado a conexión que garantiza la entrega ordenada y fiable de datos entre aplicaciones. En este artículo veremos sus características principales: las banderas que controlan los paquetes, el proceso de establecimiento y cierre de conexiones, y algunas particularidades que nos pueden ayudar en nuestro trabajo.

Banderas del protocolo TCP

Las banderas del protocolo TCP son bits que se utilizan para controlar el comportamiento de los paquetes durante su transmisión a través de la red. Hay seis banderas principales:

  • URG: Indica que el paquete contiene datos urgentes que deben ser procesados inmediatamente.
  • ACK: Indica que el paquete es un reconocimiento de un paquete recibido anteriormente.
  • PSH: Indica que el emisor quiere que los datos sean entregados al receptor lo antes posible.
  • RST: Indica que la conexión debe ser reiniciada.
  • SYN: Indica que el emisor quiere establecer una conexión con el receptor.
  • FIN: Indica que el emisor ha terminado de enviar datos y quiere cerrar la conexión.

Establecimiento de conexión: Three-way handshake

El three-way handshake es un proceso utilizado por el protocolo TCP para establecer una conexión de manera segura y confiable. Se llama así porque implica el intercambio de tres paquetes entre los dos host que desean establecer la conexión.

El proceso se lleva a cabo de la siguiente manera:

  1. El host A envía un paquete con la bandera SYN (Synchronize) establecida al host B. Este paquete indica que A quiere establecer una conexión con B.
  2. El host B recibe el paquete y envía una respuesta con la bandera SYN y ACK (Acknowledge) establecidas. Esto indica que B ha recibido el paquete y está listo para establecer la conexión.
  3. El host A recibe el paquete de respuesta y envía una respuesta con la bandera ACK establecida. Esto indica que A ha recibido el paquete de respuesta y que la conexión ha sido establecida.

Una vez que se ha completado el three-way handshake, los host A y B pueden comenzar a enviar y recibir datos de manera segura y confiable a través de la conexión TCP.

Cierre de conexión: Four-way handshake