| SrcPort | Puerto del proceso emisor. |
| DstPort | Puerto del proceso receptor. |
| Seq | Indice del primer byte de datos del segmento |
| dentro del flujo de datos. | |
| Ack | Siguiente byte esperado. |
| Window | Tamaño de la ventana de recepción del emisor del segmento |
| (núm. de bytes que puede recibir sin enviar un nuevo ACK). | |
| HdrLen | Longitud de la cabecera en palabras de 32 bits. |
| Flags | 6 bits que pueden representar: |
| SYN = Sincronización de núm. de secuencia. | |
| FIN = Fin de la transmisión. | |
| RESET = Fin anómalo de la transmisión. | |
| PUSH = Segmento enviado mediante un push. | |
| URG = Datos urgentes (no ignorar en receptor). | |
| ACK = Segmento contiene Ack. | |
| Checksum | De la cabecera, pseudo-cabecera y datos. Obligatorio. |
| UgrPtr | Punto donde se finalizan los datos urgentes. |
| Options | MSS, marca temporal y factor de escala. |
| Data | Datos transmitidos. |
(punto extremo origen, punto extremo destino)
donde un punto extremo está formado por un par
(IP del host, número de puerto).
Se utiliza el Algoritmo Three-Way Handshake:


Si esto último ocurriera, el servidor reenviaría el ACK+FIN y si este se retrasara lo suficiente, otra aplicación en el host cliente podría establecer una nueva conexión con la aplicación servidora, usando el mismo puerto de salida. Si a continuación llegara el ACK+FIN retrasado, dicha conexión se cerraría puesto que el cliente considera que el servidor desea cerrar la conexión [21].
