Una vez que TCP establece una sesión, puede hacer un seguimiento de la conversación dentro de esa sesión. Debido a la capacidad de TCP de hacer un seguimiento de conversaciones reales, se lo considera un protocolo con estado. Un protocolo con estado es un protocolo que realiza el seguimiento del estado de la sesión de comunicación. Por ejemplo, cuando se transmiten datos mediante TCP, el emisor espera que el destino acuse recibo de los datos. TCP hace un seguimiento de la información que se envió y de la que se acusó de recibo. Si no se acusa recibo de los datos, el emisor supone que no llegaron y los vuelve a enviar. La sesión con estado comienza con el establecimiento de sesión y finaliza cuando se cierra la sesión con terminación de sesión.

Nota: el mantenimiento de esta información de estado requiere recursos que no son necesarios para un protocolo sin estado, como UDP.

TCP genera sobrecarga adicional para obtener estas funciones. Como se muestra en la ilustración, cada segmento TCP tiene 20 bytes de sobrecarga en el encabezado que encapsula los datos de la capa de aplicación. Este tipo de segmento es mucho más largo que un segmento UDP, que solo tiene 8 bytes de sobrecarga. La sobrecarga adicional incluye lo siguiente:

Algunos ejemplos de aplicaciones que utilizan TCP son los exploradores Web, el correo electrónico y las transferencias de archivos.