La fiabilité est le principal élément différenciateur entre les protocoles TCP et UDP. La fiabilité des communications TCP est obtenue grâce aux sessions orientées connexion. Avant qu'un hôte utilisant le protocole TCP n'envoie des données à un autre hôte, le protocole TCP initie un processus destiné à établir une connexion avec la destination. Cette connexion rend possible le suivi d'une session ou d'un flux de communication entre les hôtes. Ce processus veille à ce que chaque hôte soit notifié du flux de communication et qu'il y soit préparé. Une conversation TCP nécessite l'établissement d'une session entre les hôtes dans les deux directions, comme illustré dans l'animation.
Une fois une session établie et le transfert des données commencé, la destination envoie des accusés de réception à la source pour les segments qu'elle reçoit. Ces accusés constituent l'élément de base de la fiabilité dans la session TCP. Quand la source reçoit un accusé de réception, elle sait que les données ont bien été reçues et qu'elle peut cesser d'en effectuer le suivi. Si la source ne reçoit pas d'accusé de réception dans un délai prédéterminé, elle retransmet ces données vers la destination.
La surcharge provoquée par l'utilisation du protocole TCP provient en partie du trafic réseau généré par les accusés de réception et les retransmissions. L'établissement des sessions crée une surcharge prenant la forme d'un échange de segments supplémentaires. Une surcharge supplémentaire provoquée par la nécessité d'effectuer un suivi des segments pour lesquels on attend un accusé de réception et par le processus de retransmission pèse également sur les hôtes individuels.