2009-09-22 6 views

Répondre

3

Si le client envoie son ACK avec un paquet de données, et qu'il est perdu, le client remarquera que les données n'ont pas été ACKD par le serveur et renvoyer le paquet.

Si le client envoie son ACK dans un paquet séparé, et qu'il est perdu, le serveur remarquera que le SYN/ACK n'a pas été ACKD par le client et renvoyer le paquet. Le client répondra en renvoyant l'ACK. Si l'appel de connexion de l'application est toujours bloqué à ce moment-là, cela n'a pas d'importance, car l'ACKing est effectué par l'implémentation TCP/IP du système d'exploitation.

+0

Vous avez dit que ACKing est fait par l'implémentation du système d'exploitation, mais finalement, la fonction de connexion et d'écoute complète la prise de contact à 3 voies. Alors, quelle est l'autre chose qui va compléter la poignée de main? – avd

+0

aditya: Le noyau du système d'exploitation le fera de manière asynchrone, lorsqu'il remarquera qu'une minuterie du noyau a expiré. – caf

+0

wallenborn: C'est vrai sauf si le serveur utilise des syncookies, auquel cas il ne remarquera pas que le syn/ack n'a pas été intercepté (puisqu'il ne conserve aucun enregistrement du syn/ack qu'il a envoyé). – caf

Questions connexes