Jai lu que pour terminer une connexion TCP, 3 prises de contact sont nécessaires: FIN, FIN ACK et ACK. Cependant, lors de la fermeture dune connexion, Wireshark affiche FIN ACK, FIN ACK, ACK; il naffiche jamais FIN par lui-même.
Cependant, lors de létablissement dune connexion, Wireshark affiche clairement les trois handshakes: SYN, SIN ACK , ACK.
Donc, je ne sais pas pourquoi, lors de la fermeture de la connexion, les trois poignées de main ne sont pas affichées comme ça.
Réponse
Une implémentation TCP peut envoyer un FIN autonome dans le premier segment de clôture. Cependant, elle peut aussi envoyer un FIN ACK à la place.
Ce dernier est strictement meilleur: limplémentation peut regrouper un ACK « gratuit » avec le segment FIN sans lallonger. En effet, si vous nACK, il y a encore de la place dans le segment pour le numéro ACK, qui sera ignoré, et gaspiller de la bande passante. Par conséquent, le dernier ACK envoyé est simplement renvoyé, juste au cas où le récepteur laurait manqué.
Ceci est vrai pour tous les segments TCP. Par conséquent, à lexception du tout premier segment SYN, où lexpéditeur na aucune information sur le numéro ACK, tous les autres segments auront généralement lindicateur ACK activé.