J'ai une application où deux ordinateurs sont très proches - généralement à quelques pieds l'un de l'autre.Comment réduire le nombre de TCP ACK lors d'un transfert de masse hautement fiable
J'ai une connexion TCP entre les applications sur les deux ordinateurs. Le serveur a été écrit en C sous Linux, le client sous Windows utilisant C# avec TCPClient.
Sur cette socket, je transfère de très grandes charges utiles, souvent des gigaoctets à la fois. Lorsque j'utilise Wireshark pour surveiller la communication, je constate qu'environ 66% des paquets transmis sont des ACK. Chacun des paquets de charge utile tend à être d'environ 5k. Ainsi, le pourcentage de données dans ACK est très faible, juste un pour cent ou deux.
Dois-je me préoccuper du nombre d'ACK? Je ne suis pas préoccupé par la perte de paquets, je m'attends à ce que la connexion soit de haute qualité en termes de perte de paquets.
Y at-il quelque chose que je peux (ou devrais?) Faire pour réduire le nombre d'ACK?
Comment voyez-vous des paquets de 5 Ko de longueur? Comme c'est bien au-dessus de la taille habituelle de MTU et de la taille de segment de TCP? Je suppose également que les ACK sont envoyés dans une direction (du côté recevant les données)? Droite? – selbie
@selbie - peut-être que ce n'est pas ethernet phy? Peut-être que c'est un lien de fibre étrange? –