3. TCP Transmission Control Protocol

3.3. Establecimiento de Sesión TCP (informativo)

Como sabemos TCP es orientado a la conexión, por lo tanto ANTES de trasmitir DEBE establecer una Sesión, algo parecido a lo que sucede al usar un Teléfono, solo que en este caso  se debe establecer una conexión entre dos procesos.

Uno de los procesos (generalmente el servidor) emite un pasivo llamada OPEN, la otra una llamada OPEN activa.

La llamada OPEN pasiva permanece inactivo hasta que otro proceso intente conectarse a él mediante un OPEN activo.

Todo este proceso se conoce como un HANDSHAKE (apretón de manos) de tres vías. Tenga en cuenta que los segmentos TCP intercambiados incluyen los números de secuencia iniciales de ambos lados, para ser utilizado en transferencias de datos posteriores.
El cierre de la conexión se hace implícitamente enviando un segmento TCP con el FIN
bit (sin más datos) establecido.

Debido a que la conexión es full-duplex (es decir, hay dos flujos de datos independientes, uno en cada dirección), el segmento FIN solo cierra la transferencia de datos en una dirección.

El otro proceso enviará ahora los datos restantes que aún tiene que transmitir y también termina con un segmento TCP donde el bit FIN está establecido.

La conexión se elimina (información de estado en ambos lados) después de que el flujo de datos se cierra en ambas direcciones.

Veamos otro ejemplo gráfico: