Réseau
FIN : Finish. « Terminer », par analogie avec le « terminé » qu'on dit au talkie-walkie pour signaler qu'on a fini de parler tout en restant à l'écoute. C'est le drapeau de l'en-tête TCP qui annonce la fermeture ordonnée d'un sens de la connexion, par opposition à la coupure brutale signalée par RST.
Fermeture sens par sens : Chaque extrémité clôt son propre sens d'émission avec un FIN, que l'autre acquitte par un ACK. Le FIN consomme un numéro de séquence, et l'autre sens peut continuer à transmettre tant qu'il n'a pas émis son propre FIN : c'est la demi-fermeture.
Les états de la clôture : Le côté qui ferme en premier traverse FIN-WAIT-1, FIN-WAIT-2 puis TIME-WAIT, où il patiente le temps que les segments retardataires disparaissent du réseau. En face, l'autre passe par CLOSE-WAIT puis LAST-ACK avant de libérer la connexion.
FIN contre RST : FIN négocie une sortie propre où chacun confirme avoir tout reçu ; RST claque la porte sans accusé de réception. Confondre les deux revient à ranger une réunion par un au revoir ou par un départ en courant : le résultat final se ressemble, l'état laissé derrière pas du tout.
Intérêt pour l'analyse de filtrage : Un filtre sans table d'états ne reconnaît pas qu'un FIN isolé n'appartient à aucune connexion établie, et le laisse parfois passer là où un filtre à états le jette. Observer ce comportement renseigne sur la nature du pare-feu testé, sur un périmètre autorisé.
Ce qui arrive si on s'en passe
Sans FIN, une connexion TCP ne peut se terminer que par un RST ou par l'expiration d'un délai. Le RST abandonne les données encore en tampon d'émission ou de réception : la fin d'un transfert peut être perdue sans que l'application en soit avertie de façon fiable. La demi-fermeture disparaît aussi, alors qu'elle permet de signaler la fin d'une requête tout en continuant à lire la réponse. Le pair ne distingue plus une fin normale d'une interruption, ce qui empêche de repérer une réponse tronquée lorsque le protocole applicatif ne délimite pas lui-même ses messages. Les connexions abandonnées restent à demi ouvertes et occupent descripteurs, mémoire et entrées des pare-feu à états jusqu'à expiration. Enfin, les journaux perdent la trace d'une clôture explicite, qui sert à distinguer une session achevée d'une session interrompue.
Explication de la marmotte
Quand deux ordinateurs discutent sur le réseau, ils ouvrent d'abord une conversation, puis échangent des messages. Quand l'un a fini de parler, il ne raccroche pas sans prévenir : il envoie un petit signal qui veut dire « j'ai terminé mon côté ». L'autre répond « bien reçu », et fait pareil de son côté quand il a fini. C'est comme deux personnes qui se disent au revoir chacune à leur tour avant de raccrocher le téléphone, plutôt que l'un qui coupe brutalement au milieu d'une phrase. Grâce à ce signal, personne ne perd un message resté en route, et la ligne se libère proprement pour la prochaine conversation.
Où ce terme est utilisé
- Hping3 options et usages pour tester pare-feu et TCP/IP (4 occurrences)
- UDP, TCP et comportements de transport (2 occurrences)
