Iperf

Un article de Wikipédia, l'encyclopédie libre.
Aller à : navigation, rechercher

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[1]. Basé sur une architecture client/serveur et disponible sur différents systèmes d'exploitation (Unix, Windows, Mac OS X, ...).

Comment fonctionne Iperf ?[modifier | modifier le code]

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[modifier | modifier le code]

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/sec

On 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 :

Iperf.png


Sous Linux, voici trois 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 cinq suggestions de ligne de commande pour le client (192.168.1.2 est l'adresse 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.


Iperf4662.png

IPERF en multicast[modifier | modifier le code]

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).

Notes et références[modifier | modifier le code]

Liens externes[modifier | modifier le code]