Iperf permet de mesurer la bande passante et d'évaluer la qualité du lien entre deux noeuds du réseau. La bande passante pourra être mesurée à l'aide de tests TCP. La qualité du lien sera déterminée par des test UDP.
On évalue la qualité d'un lien par mesure des caractéristiques suivantes:
Iperf fonctionne en mode client/serveur. Il doit être installé sur les deux noeuds. Le serveur écoute, le client se connecte et les tests sont effectués entre les deux instances.
Iperf est disponible dans le gestionnaire de paquetages
yoann@janus:~$ sudo apt-get install iperf
Executer Iperf en tant que serveur sur l'une des deux machines
sophos:~# iperf -s
Sur la seconde, invoquer Iperf en mode client en spécifiant l'adresse du serveur auquel se connecter (adresse de la première machine).
yoann@janus:~$ iperf -c 192.9.200.9 ------------------------------------------------------------ Client connecting to 192.9.200.9, TCP port 5001 TCP window size: 16.0 KByte (default) ------------------------------------------------------------ [ 3] local 192.9.200.14 port 55406 connected with 192.9.200.9 port 5001 [ ID] Interval Transfer Bandwidth [ 3] 0.0-10.0 sec 1.09 GBytes 938 Mbits/sec yoann@janus:~$
Ici la bande passante est évaluée via transfert de données dans le sens client → serveur. Par défaut le test dure 10 secondes puis le résultat est affiché. Dans le cas présenté ci-dessus 1.09 Giga Octets ont été transmis en 10 secondes du client vers le serveur, ce qui correspond à un débit de 938 Mbits/sec.
Remarque: pour modifier la durée du test utiliser l'option -t suivie du temps en secondes.
Les options -r et -d permettent d'effectuer respectivement des tests de bande passante sur des transferts bidirectionnels séquentiels et des transferts bidirectionnels simultanés.
La gigue (jitter) est une caractéristique importante du système notamment pour des applications telles que la VoIP.
Le serveur écoute en UDP
$ iperf -s -u -i 1
Le client se connecte sur le serveur en spécifiant son adresse IP. Le test durera ici 60 secondes:
$ iperf -c 192.168.1.110 -u -i 1 -b 64K -t 60
Il n'est pas recommandé d'avoir une gigue supérieure à 30ms (bien que les systèmes de VoIP dernières générations accepte des gigue pouvant aller jusqu'à 50ms).
Une bonne idée est également de surveiller cette gigue tout au long de l'année (par exemple en écrivant un petit script pour votre serveur Nagios).
L'option -w permet de forcer la taille de la fenêtre TCP sur le test courant. La fenêre TCP est un buffer, la taille indiquée ici correspond à la quantité de données pouvant être transmise sans retour d'accusé de réception de la part du destinataire. Lorsque la fenêtre TCP a une valeur trop faible la bande passante est affectée.