En este contexto, los distintos componentes o campos del encabezado del protocolo TCP tienen el siguiente significado:
Puerto de origen (16 bits): indica el número de puerto del emisor.
Puerto de destino (16 bits): indica el número de puerto del receptor.
Número de secuencia (32 bits): el número de secuencia indica el primer byte de los datos de uso anexos o se envía en el contexto del establecimiento o la interrupción de la conexión. Sirve para la validación y clasificación (después de la transmisión) de los segmentos.
Número de confirmación (32 bits): en este campo se indica el número de confirmación que espera el emisor en siguiente lugar. La condición para su validez es una etiqueta ACK (en el campo “Flags”).
Offset (4 bits): el campo “Offset” indica la longitud del encabezado en bloques de 32 bits para destacar el punto de inicio de los datos de uso. Dicho punto varía de segmento a segmento debido al campo variable de opciones.
Reservado (6 bits): según RFC 793, reservado para un uso futuro (sin uso hasta ahora). Este campo siempre debe tener un valor igual a “0”.
Flags (6 bits): mediante los 6 posibles bits individuales en el campo “Flags” se pueden activar distintas acciones TCP para organizar la comunicación y el procesamiento de datos. Las flags, que se ajustan o no para estas activaciones, son las siguientes:
- URG. La etiqueta “Urgent” (en español, “urgente”) señaliza a la aplicación TCP que los datos de uso hasta el Urgent-Pointer (véase más abajo) fijado se deben procesar inmediatamente.
- ACK. Junto con el número de confirmación, ACK sirve para confirmar la recepción de paquetes TCP. Si no se ha ajustado la etiqueta, el número de confirmación se convierte en inválido de forma automática.
- PSH. “Push” sirve para facilitar un segmento TCP inmediatamente sin tener que pasar por el buffer de datos del emisor y el receptor.
- RST. Si ha surgido un error durante la transmisión, la aplicación se puede restablecer mediante un paquete TCP con flag RST (“Reset”) ajustado.
- SYN. Los mensajes con una etiqueta SYN representan el primer paso del triple apretón de manos, es decir, inician el establecimiento de conexión.
- FIN. “Finish” señaliza a la contraparte que uno de los interlocutores de la comunicación ha finalizado la transmisión.
Tamaño de ventana (16 bits): en este campo se le transmite al interlocutor de comunicación el número de bytes que el emisor está dispuesto a recibir.
Suma de comprobación (16 bits): el protocolo es capaz de reconocer errores de transmisión de manera fiable. En este contexto, se usa la suma de comprobación, que se calcula a partir del encabezado, los datos de uso y el denominado seudoencabezado.
Urgent-Pointer (16 bits): el Urgent-Pointer (indicador “urgente”) indica la posición del primer byte después de los datos de uso que deben tratarse con carácter urgente. Por lo tanto, este campo solo es válido y relevante si tiene una etiqueta URG.
Opciones (0-320 bits): si se desea que se faciliten funciones TCP que no pertenecen al encabezado general, esta tarea se realiza mediante el campo de opciones. Un ejemplo es la definición del tamaño máximo de segmento. La longitud de las opciones siempre debe ser un múltiplo de 32 bits, en caso contrario, hay que rellenar con bits cero (padding).