1 votes

Un logiciel de contrôle du trafic peut-il faire tomber des paquets tcp ?

Je teste nos applications client-serveur en utilisant NetLimiter qui est un logiciel de contrôle du trafic. J'ai constaté que, lorsque le client reçoit des fichiers du serveur et que j'utilise NetLimiter pour régler le taux de téléchargement à une valeur telle que 50K/S en cliquant continuellement sur les boutons (pour augmenter le taux de 0K/s à 50K/s, chaque clic augmente le taux de 1), le transfert s'arrête et ne reprend jamais, il semble que certains paquets de contrôle du serveur soient perdus.

Le logiciel de contrôle du trafic va-t-il intercepter des paquets et les retenir sans les envoyer à notre client pour une raison inconnue ? Le logiciel de contrôle du trafic va-t-il laisser tomber les paquets tcp qui sont censés être envoyés à notre client ?

[Le logiciel de contrôle du trafic interrompt le transfert car notre serveur envoie des paquets de contrôle au client pour contrôler le transfert, par exemple pour arrêter ou démarrer le transfert. Au cours des tests, nous avons constaté que le paquet de contrôle "Start the transfer" est arrivé à la carte d'interface réseau mais que le paquet n'a pas été reçu par notre client (il y a un socket TCP).

Merci

4voto

hookenz Points 13952

En bref, le logiciel de contrôle du trafic Oui peut en effet laisser tomber des paquets lorsqu'il façonne le trafic. Ce n'est pas grave pour les protocoles TCP, car le protocole TCP s'assure que les paquets perdus sont renvoyés.

Le site Wiki sur l'organisation du trafic décrit certaines des méthodes utilisées pour façonner le trafic. Il existe de nombreux algorithmes tels que ROUGE , chute de la queue et autres.

Est-ce que le logiciel de contrôle du trafic va intercepter des paquets et les retenir sans les envoyer à notre client pour une raison inconnue ?

Il les mettra en attente (file d'attente) pendant un certain temps avant de les envoyer afin de s'assurer que le taux spécifiquement configuré est respecté.

Le logiciel de contrôle du trafic va-t-il laisser tomber les paquets tcp qui sont censés être envoyés à notre client ?

Oui, par exemple, vous pouvez être en train de router entre deux réseaux dont l'un est façonné à 50KB/s et l'autre à 100KB/s. Si 100KB/s de données sont envoyées en continu à un hôte sur le réseau 50KB/s, les paquets doivent être retenus dans le routeur pour respecter le débit de 50KB/s. Comme la mémoire est limitée et que la taille des files d'attente est souvent fixe, il arrive un moment où vous devez commencer à abandonner des paquets. L'abandon de paquets n'est pas une mauvaise chose. Le protocole TCP est conçu pour récupérer. Si vous deviez tout mettre en file d'attente, cela pourrait être une mauvaise chose car cela peut ajouter une latence significative. L'abandon de paquets est donc raisonnable.

[Le logiciel de contrôle du trafic interrompt le transfert car car notre serveur enverra des paquets de contrôle au client pour contrôler le le transfert, par exemple pour arrêter le transfert ou le démarrer. Et pendant les tests, nous avons constaté que le paquet de contrôle "Start the transfer" est arrivé est arrivé à la carte d'interface réseau mais le paquet n'a pas été reçu par notre client par notre client (il y a un socket TCP).

Je déteste dire ça, mais on dirait que votre application client-serveur est la chose qui est cassée. Les paquets perdus sur Internet sont un comportement normal et attendu.

Ce qui est perdu, ce sont vos commandes de contrôle. On dirait qu'un bug du logiciel les a englouties !

SistemesEz.com

SystemesEZ est une communauté de sysadmins où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres sysadmins, poser vos propres questions ou résoudre celles des autres.

Powered by:

X