1. Protocole de poignée de main TCP
Dans le protocole TCP/IP, le protocole TCP fournit des services de connexion fiables en utilisant une poignée de main à trois voies pour établir une connexion.
Première poignée de main : lors de l’établissement d’une connexion, le client envoie un paquet syn (syn=j) au serveur et entre dans l’état SYN_SEND, en attendant la confirmation du serveur.
La seconde poignée de main : Lorsque le serveur reçoit le paquet SYN, il doit confirmer le SYN du client (ack=j+1), et également envoyer un paquet SYN (syn=k), c’est-à-dire le paquet SYN+ACK, moment où le serveur entre dans l’état SYN_RECV.
Troisième poignée de main : Le client reçoit le paquet SYN+ACK du serveur et envoie le paquet de confirmation ACK (ack=k+1) au serveur.
Après trois poignées de main, le client et le serveur commencent à transférer les données, et certains concepts importants apparaissent dans le processus ci-dessus :
File non connectée : Dans le protocole de poignée de main à trois voies, le serveur maintient une file d’attente non connectée qui ouvre une entrée pour chaque paquet SYN du client (syn=j) indiquant que le serveur a reçu le paquet SYN et émettant une confirmation au client, en attendant le paquet de confirmation du client. La connexion identifiée par ces entrées est dans un état Syn_RECV sur le serveur, et lorsque le serveur reçoit un paquet de confirmation du client, l’entrée est supprimée et le serveur entre dans l’état ÉTABLI. Paramètre de backlog : indique le nombre maximal de files d’attente non connectées.
Temps de retransmission SYN-ACK Si le serveur envoie le paquet SYN-ACK et ne reçoit pas le paquet de confirmation client, le serveur effectue la première retransmission, attend un certain temps sans recevoir le paquet de confirmation client, puis effectue la seconde retransmission. Notez que le temps d’attente pour chaque repasse n’est pas nécessairement le même.
Temps de survie semi-connexion : fait référence au temps maximal de survie d’une entrée dans la file d’attente semi-connexion, c’est-à-dire le temps maximal entre le moment où le service reçoit le paquet SYN et celui où le paquet est confirmé comme invalide, et la valeur de temps est la somme du temps d’attente maximal pour tous les paquets de demande de retransmission. Parfois, on appelle aussi le temps de survie semi-connecté, SYN_RECV temps de survie.
|