Une fois que le protocole TCP établit une session, il peut alors effectuer le suivi de la conversation dans cette session. En raison de la capacité de suivi des conversations réelles du protocole TCP, ce dernier est considéré comme un protocole avec état. Un protocole avec état est un protocole qui contrôle l'état de la session de communication. Par exemple, lorsque les données sont transmises à l'aide du protocole TCP, l'expéditeur s'attend à ce que la destination accuse réception des données. Le protocole TCP suit les informations qu'il a envoyées et sait quelles informations ont été reçues. Si aucun accusé de réception n'est reçu, l'expéditeur suppose que les données ne sont pas arrivées et les renvoie. La session avec état commence par l'établissement d'une session et se termine lorsque la session est interrompue.

Remarque : la mise à jour de ces informations d'état nécessite des ressources qui ne sont pas nécessaires pour un protocole sans état, tel que le protocole UDP.

Le protocole TCP implique une surcharge pour bénéficier de ces fonctionnalités. Comme l'illustre la figure, chaque segment TCP utilise 20 octets dans l'en-tête pour encapsuler les données de la couche application. C'est bien plus qu'un segment UDP, qui ne représente que 8 octets de surcharge. Cette surcharge comprend :

Le protocole TCP est par exemple utilisé par les navigateurs Web, les messageries et les applications de transfert de fichiers.