- Iperf
-
Iperf est un logiciel informatique permettant la mesure de différentes variables d'une connexion réseau IP. Iperf est développé par le National Laboratory for Applied Network Research (NLANR, États-Unis d'Amérique). Basé sur une architecture client/serveur et disponible sur différents systèmes d'exploitations (Unix, Windows, MacOS X,...), Iperf est un outil important pour les administrateurs réseaux.
Sommaire
Comment fonctionne Iperf ?
Iperf doit être lancé sur deux machines se trouvant de part et d'autre du réseau à tester. La première machine lance Iperf en "mode serveur" (avec l'option -s), la seconde en "mode client" (option -c). Par défaut le test réseau se fait en utilisant le protocole TCP (mais il est également possible d'utiliser le mode UDP avec l'option -u).
Comment l'utiliser
Nous allons prendre l'exemple d'un test réseau entre une machine A et une machine B.
Sur la machine A, il faut lancer la commande suivante:
# iperf -s
Ensuite sur la machine B, on lance la commande:
# iperf -c <adresse IP de la machine A>
Le résultat suivant va alors s'afficher:
————————————————————
Client connecting to 192.168.29.1, TCP port 5001
TCP window size: 65.0 KByte (default)
————————————————————
[ 3] local 192.168.29.157 port 50675 connected with 192.168.29.1 port 5001
[ ID] Interval Transfer Bandwidth
[ 3] 0.0-10.0 sec 110 MBytes 92.6 Mbits/secOn obtient donc le débit TCP réel entre la machine A et la machine B. En utilisant l'option -i on peut fixer le délai entre les rapports de mesure de bande passante.
Il est possible d'évaluer le débit de sa connexion à Internet via un serveur Iperf public, situé sur le réseau Internet :
Sous linux, voici 3 suggestions de ligne de commande pour le serveur :- TCP 5001 : $ iperf -s -m -w 200K -i 3
- TCP 4662 : $ iperf -s -m -w 200K -i 3 -p 4662
- UDP 5001 : $ iperf -s -i 5 -u
Sous linux, voici 5 suggestions de ligne de commande pour le client (192.168.1.2 est l'@IP du serveur) :- upload uniquement : $ iperf -c 192.168.1.2 -m -w 200K -i 3 -t 30
- upload + download : $ iperf -c 192.168.1.2 -m -w 200K -i 3 -t 30 -r
- upload + download simultané : $ iperf -c 192.168.1.2 -m -w 200K -i 3 -t 30 -d -P 2
- upload sur 15 connexions TCP : $ iperf -c 192.168.1.2 -m -w 200K -i 10 -t 240 -P 15
- upload + download sur port TCP 4662 : $ iperf -c 192.168.1.2 -m -w 200K -i 3 -t 30 -p 4662 -r
- upload + download en UDP à 80 Mb/s : $ iperf -c 192.168.1.2 -i 3 -t 30 -r -u -b 80M
Le paramètre -w est très important, il spécifie la taille mémoire du "socket buffer" (respectivement d'émission ou de réception) la valeur par défaut étant trop petite sur certains systèmes. La taille du socket buffer ne pourra de toute façon pas dépasser le maximum autorisé par le système d'exploitation.
IPERF en multicast
Iperf peut fonctionner en mode multicast (-B). Il faut le lancer de la manière suivante:
Sur le serveur:
- $ iperf -s -u -B 225.0.1.2
Sur le client:
- $ iperf -c 225.0.1.2 -u -b 3M
Cela génère un flux multicast UDP (sur l’adresse 225.0.1.2 de 3 Mb/s)
Autres sources d'informations
- Télécharger IPERF (en Français)
- Projet Iperf sur SourceForge (en Anglais)
- Fiche descriptives synthétique avec exemples d'utilisation venant d'un laboratoire de recherche, Projet PLUME (en Français)
Wikimedia Foundation. 2010.