J'ai l'intention d'écrire une application dans laquelle je devrai calculer la bande passante du réseau ainsi que la latence et le taux de perte de paquets. L'une des contraintes est de mesurer passivement la bande passante (en utilisant les données d'application elles-mêmes). Ce que j'ai lu en ligne et compris de quelques applications existantes, c'est que presque toutes utilisent des techniques de sondage actives (c'est-à-dire générer un flux de paquets de sondes) et utilisent le décalage horaire entre l'arrivée des premiers et derniers paquets pour calculer la bande passante.Mesure de bande passante par transfert de données minimum
Les principaux problèmes avec une telle technique sont qu'elle inonde le réseau avec des paquets de sonde, ce qui dure plus longtemps et n'est pas évolutif (puisque nous devons exécuter l'application aux deux extrémités).
L'une des suggestions était de calculer la RTT d'un paquet en faisant écho à nouveau à l'expéditeur et le calcul de la bande passante en utilisant l'équation suivante:
Bandwidth <= (Receive Buffer size)/RTT.
Je ne sais pas comment précise cela pourrait être comme le récepteur peut ne pas toujours renvoyer le paquet à temps pour obtenir le bon RTT. L'utilisation d'ICMP seul peut ne pas toujours fonctionner car de nombreux serveurs le désactivent.
Mon application principale s'exécute sur une connexion TCP, donc je suis intéressé à utiliser la connexion TCP pour mesurer la bande passante réelle offerte sur une période de temps donnée. J'apprécierais vraiment que quelqu'un puisse suggérer une technique simple (formule fiable) pour mesurer la bande passante d'une connexion TCP.
Vous avez déjà posé 7 questions et jusqu'à présent, pas accepté l'un d'entre eux. – glglgl