8 décembre 2010

Iperf


Comment fonctionne Iperf ? [modifier]

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]

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

Iperf4662.png

IPERF en multicast [modifier]

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

CisconfGen : Un générateur automatique de configurations pour des centaines d'équipements Cisco

Tu t'es levé et tu dois déployer  2000  équipements !?  Et ces équipements, ce sont des routeurs qui sont complètement identiques. Ils ont tous la même configuration puisque la topologie de ton réseau est en étoile.  Seuls 7 ou 8 paramètres diffèrent à chaque fois ( tels que des adresses IP d'interface, les noms d'équipements et les mots de passe ).
La question du jour est mais combien de temps ça va me prendre pour écrire une configuration pour chaque machine.
Alors tu te dis, ce serait bien si j'avais un outil qui me gènère en un clique de souris les 2000 configurations, simplement à partir d'un modèle de configuration CLI et d'une petite base de données de paramètres de personalisation pour chaque machine.
Tu te dis ça ?  He bien CisconfGen est pour Toi.
Je te vois venir, maintenant. La question devient mais comment je déploie mes 2000 configurations dans les 2000 équipements.  A suivre ....

Remarque : Ca marche bien entendu avec n'importe quel fichier texte. Donc CisconfGen n'est pas seulement utile que pour des configurations CLI.