Mesurer le débit dans son réseau avec NutTCP
NutTCP est un outil de plus pour les administrateurs réseaux afin de mesurer simplement les liaisons entre deux machines (ou vers votre serveur dédié ou VPS sous GNU/Linux|BSD).
Installation de NutTCP
Rien de plus simple sous Debian ou Ubuntu:
sudo aptitude install nuttcp
Le logiciel se présente sous la forme d'un unique exécutable (nuttcp) qui fait office de client et de serveur selon les options qui lui sont accolés.
Un premier test basée sur TCP
Nous allons donc tester le réseau se trouvant entre deux machines (A et B soyons originaux). Nous utiliserons dans ce premier exemple un test basé sur le protocole TCP.
Sur la machine A, on lance le "serveur":
A# nuttcp -S --nofork
Puis sur la machine client on va générer un flux TCP dans le sens B vers A (l'équivalent d'un upload). NutTCP va utiliser les ports TCP/5000 (pour le contrôle) et TCP/5001 (pour le transfert proprement dit des données). Il faut donc bien vérifier que ces deux ports sont ouverts entre vos deux machines.
B# nuttcp -b -t @IP_A
0.5068 MB / 10.59 sec = 0.4013 Mbps 0 %TX 0 %RX 0 retrans 33.81 msRTT
Dans mon test, on obtient donc un débit de 401 Kbps (0.4013 Mbps).
Pour faire le même test mais dans le sens A vers B (c'est à dire un download):
B# nuttcp -b -r @IP_A
Il est possible d'ajouter certaines options:
-l : taille du buffer de lecture et d'écriture
-w : taille du buffer permettant de définir la taile de la fenêtre TCP
Un autre test basée sur UDP
Contrairement à TCP qui utilise la totalité de la bande passante disponible, le débit des flux UDP doit être fixé au niveau de l'application. On doit donc ajouter deux options:
-u : pour forcer NutTCP à travailler en UDP
-R <debit> : pour fixer le débit du flux UDP à <debit> Kbps
Sur la machine A, on lance le "serveur" comme pour le mode TCP:
A# nuttcp -S --nofork
Puis on lance la commande suivante:
B# nuttcp -b -u -R 256 -t @IP_A
0.3057 MB / 10.02 sec = 0.2560 Mbps 96 %TX 0 %RX 0 / 313 drop/pkt 0.00 %loss
Conclusion
Un outil bien pratique à comparer à Iperf, NetPerf ou NtTCP !