TCP gère la fin de connexion en utilisant une méthode appelée “three-way handshake” ou “handshake à trois voies”. Lorsqu’un client souhaite terminer une connexion TCP avec un serveur, il envoie un paquet FIN (FINished) au serveur pour indiquer qu’il a fini de transmettre des données. Le serveur répond alors avec un paquet ACK (ACKnowledgement) pour indiquer qu’il a bien reçu le paquet FIN. Finalement, le serveur envoie un paquet FIN pour indiquer qu’il a également fini de transmettre des données. Le client répond avec un paquet ACK pour confirmer qu’il a bien reçu le paquet FIN du serveur. À ce stade, la connexion TCP est considérée comme fermée et les deux parties peuvent libérer les ressources associées à cette connexion. Ce processus permet de s’assurer que toutes les données ont été envoyées et reçues correctement avant la fermeture de la connexion.