2010-07-26 8 views
8

Je travaille sur l'obtention des paramètres de performance d'une connexion tcp et l'un de ces paramètres est la bande passante. J'ai l'intention d'utiliser la structure tcp_info supportée à partir de Linux 2.6, qui contient les méta-données sur une connexion tcp. Les informations peuvent être récupérées en utilisant l'appel de fonction getsockopt() au tcp_info. J'ai passé beaucoup de temps à trouver une bonne documentation qui explique tous les paramètres de cette structure, mais je n'en ai pas trouvé un.Bonne documentation sur la structure tcp_info

J'ai également testé un petit programme pour récupérer les valeurs de tcp_info pour une connexion tcp où j'ai trouvé que les valeurs mesurées MSS pour la plupart du temps comme zéro.Pour faire long histoire courte-Y at-il un lien à suivre pour qui a tous les détails sur tcp_info et est-il également fiable d'utiliser ces valeurs.

Répondre

10

Voici une fairly comprehensive write-up de la structure et l'utilisation du tcp_info linux par René Pfeiffer, mais il y a deux ou trois choses à noter:

  • L'auteur nécessaire pour examiner ces données répétées au fil du temps, car il y a pas de statistiques agrégées dans cette structure.
  • L'auteur vous dirige vers la source tcp.c en tant qu'autorité finale sur la signification de l'une de ces données.
  • Je ne suis pas sûr de ce que vous espériez obtenir de la taille de segment maximale, mais attendez-vous à ce que vous pensiez que cela signifiait autre chose.

Si vous êtes vraiment intéressé par les mesures exactes de la bande passante dont vous avez besoin d'utiliser un dispositif de mesure qui est en dehors du système testé en même tirant le ioctls aura une incidence sur le phénomène que vous êtes intéressé à connaître. Un renifleur de fil passif est le seul moyen d'obtenir des résultats vraiment précis. Enfin, en fonction de votre application, la "bande passante" est un parapluie très large qui aplatit de nombreuses mesures (par exemple la latence, le temps d'aller-retour, la variabilité, la gigue, etc.) en une seule catégorie.

Questions connexes