Outils pour utilisateurs

Outils du site


doc:web:tcp

Négociation de la connection

Establishing a TCP connection, Archive

Normalement, le numéro de l'ACK en réponse est celui de l'origine + la taille du paquet. Dans le cas d'une connexion entrante, la taille du paquet (hors entête) est nulle. Dans ce cas uniquement, l'ACK en réponse est incrémenté de 1.

Envoi des trames TCP

TCP Sequence et Acknowledgment Numbers

The client on either side of a TCP session maintains a 32-bit sequence number it uses to keep track of how much data it has sent. This sequence number is included on each transmitted packet, and acknowledged by the opposite host as an acknowledgement number to inform the sending host that the transmitted data was received successfully.Understanding TCP Sequence and Acknowledgment Numbers - PacketLife.net, Archive du 07/06/2010 le 15/10/2019, Archive capture

Délai entre le paquet de donnée et l'ACK

Souvent le délai entre le paquet et l'ACK est long, de l'ordre de plusieurs centaines de millisecondes. C'est la faute à l'algorithme de Nagle.

TCP_NODELAY: 2016 Best Practices for TCP Optimization, Archive du 29/06/2019 le 15/10/2019

Dump Wireshark avec Nagle

Source

Les trames 1, 2 et 3 et 9, 10 et 11 représente la connexion avec le serveur.

La trame 8 est la déconnexion du client du réseau.

On constate que le délai entre l'envoi de la trame et l'ACK est de 200 ms exactement (trames 5, 7, 13 et 15).

Dump Wireshark sans délai

Source

Quand l'algorithme n'est pas utilisé, moins d'ACK est envoyé (??) mais on constate bien qu'il n'y a que 0.3 ms entre la trame et l'ACK.

doc/web/tcp.txt · Dernière modification : 2020/05/11 00:29 de root