Salut,

l'algorithme de Nagle et les "Delayed ACKs" permettent d'optimiser les flux TCP. Ces "facilités" sont contrôlables au travers de l'activation/désactivation de TCP_NODELAY et TCP_CORK.

D'après ce que j'ai pu comprendre :

- lorsque TCP_NODELAY est activé, le host stocke les petits segments TCP ("tinygrams") dans ses buffers jusqu'à ce qu'il reçoive un ACK du client (dans la limite de la TCP MSS) , ce qui déclenche l'envoi de tous les tinygrams bufférisés en un seul paquet (c'est donc l'ACK du client qui provoque l'envoi).

- lorsque TCP_CORK est activé: le host bufférise des données TCP (éventuellement collectées depuis différentes zones mémoire) puis l'application signale à l'OS quand le paquet est complet pour être envoyé (c'est donc l'application qui signale à l'OS que l'envoi est prêt).

J'ai lu quelques discussions sur la désactivation de ces paramètres qui permettrait d'améliorer la performance de certaines applications. En particulier les applis temps réel, très interactives et qui souffrent de latence (en cas d'utilisation de liens satellites par exemple).

Quelqu'un aurait-il déjà expérimenté ce genre de réglages ?

Steph