Catégories
Open-source Planet-libre Reseau

Calculer la gigue réseau avec des outils libres

Pour certaines applications, notamment la voix sur IP, la variation du délais de transit (aussi appelée gigue) est une des caractéristique les plus importante à étudier avant une installation et à superviser à travers le temps.

Il existe, sur le très juteux marché des outils réseaux pour le système d’informations, un grand nombre de logiciels permettant de calculer cette gigue de manière très précise. Malheureusement, la plupart sont trop chers car ils font beaucoup plus que ce que l’on veut faire.

Nous allons donc aborder dans ce billet deux techniques (mais il en existe d’autres) pour calculer simplement la gigue entre deux points de votre réseau en se basant sur des logiciels libres. Ces deux points pouvant se trouver sur le même réseau LAN ou bien séparés par des réseaux WAN (Internet, VPN dédié…).

Mesure de la gigue en utilisant IPerf

L’avantage de cette première technique est que Iperf est disponible sous Windows. Donc si votre réseau est composé de PC sous cet OS, il n’y aura pas de PC à déplacer pour faire vos tests.

Je pars sur le principe ou vous avez IPerf installé sur les deux postes (#A et B) de chaque coté dur réseau à valider.

Sur le PC #A:

iperf -s -u -i 1

Sur le PC #B:

iperf -c IP-A -u -i 1 -b 64K -t 60

PS: remplacer IP-A par l’adresse IP ou le nom d’hôte de la machine #A.

Par exemple, le résultat (à lire sur la dernière ligne, coté #B) sur ma liaison Internet donne:

[ 3] Server Report:

[ 3] 0.0-60.3 sec 464 KBytes 63.0 Kbits/sec 2.563 ms 5/ 328 (1.5%)

J’ai donc une gigue moyenne de 2.563 ms (pour 1.5% de paquets perdus).

Mesure de la gigue en utilisant SJitter

SJitter est un programme que j’ai développé il y a maintenant quelques années mais qui me sert toujours pour effectuer les mesures de gigue. Contrairement à IPerf, il n’est disponible que sous GNU/Linux.

Pour l’installation, vous avez le choix entre les sources ou un PPA pour Ubuntu.

Sur le PC #A:

sjitters -i

Sur le PC #B:

sjitterc -c IP-A -t 60 -b 64

PS: remplacer IP-A par l’adresse IP ou le nom d’hôte de la machine #A.

Par exemple, le résultat (à lire sur la dernière ligne, coté #A) sur ma liaison Internet donne:

Jitter summary (ms) : Min=0.38 / Max=5.34 / Avg=4.36

J’ai donc une gigue moyenne de 4.36 ms (la liaison était clairement plus chargée au moment de ce test).

Que faire des résultats ?

Il convient, selon vos système de ne pas avoir une gigue supérieure à 30ms (bien que les systèmes de VoIP et de codecs 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).

Catégories
Open-source Reseau

Surveiller sa latence réseau avec SmokePing

La sacro-sainte bande passante n’est pas la seule caractéristique à prendre en compte dans la performance de vos réseau. En effet, certaines applications comme la voie sur IP ou les jeux en ligne sont très sensible à la latence et à sa variation. De nombreux outils permette de faire la supervision de ces mesures (on peut citer notamment Cacti). Nous allons dans cet article parler de SmokePing, un outil libre, modulaire et léger permettant de mesurer et grapher un grand nombre de paramètres de votre réseau.

Installation de SmokePing

Il est possible de repartir des sources en suivant cette procédure. Si vous êtes sous Ubuntu, SmokePing existe dans les dépôts et l’installation se résume à la ligne de commande suivante:

[shell]

sudo aptitude install smokeping

[/shell]

Une fois installé, il faut configurer Apache (out tout autre serveur Web…) pour afficher les graphes générés par SmokePing (le logiciel se base sur un CGI).

[shell]

cd /usr/share/smokeping/www

sudo cp apache2.conf /etc/apache2/sites-available/smokeping

sudo a2ensite smokeping

sudo /etc/init.d/apache2 reload

[/shell]

Vous pouvez vérifier l’installation en visitant l’URL suivante avec votre navigateur Web favori:

http://localhost//smokeping/smokeping.cgi

Configuration de SmokePing

On va maintenant passer à la phase de configuration de SmokePing pour votre réseau. Je vais ici me focaliser sur une supervision basée sur des « ping » (la probe FPing pour être précis), mais il faut noter qu’il existe un grand nombre d’extension permettant d’utiliser d’autres protocoles que ICMP (voir la liste des probes ici).

Le fichier de configuration principal se trouve à l’emplacement /etc/smokeping/config. En regardant le contenu de ce fichier, on voit que c’est juste une coque vide qui pointe vers d’autres fichiers de configurations qui se trouvent dans le répertoire /etc/smokeping/config.d. Pour aller directement à la configuration de notre réseau, il faut éditer le fichier /etc/smokeping/config.d/Targets:

[shell]

*** Targets ***

probe = FPing

menu = Top
title = Network Latency Grapher
remark = Mon beau reseau a moi

+ monreseau
menu = monreseau
title = Mon reseau

++ firewall
host = firewall.mondomaine.com
++ routeur
host = routeur.monrouteur.com
++ internet
host = www.google.fr

[/shell]

Puis relancer SmokePing pour prendre en compte les informations:

[shell]

sudo /etc/init.d/smokeping restart

[/shell]

Après quelques minutes, les graphes devraient commencer à se mettre à jour dans votre Interface Web (http://localhost/smokeping/smokeping.cgi):

On peut voir en vert la courbe représentant le délais réseau (environ 33ms pour faire un aller/retour vers le site www.google.fr). En gris, on peut visualiser la variation de ce délais (on a donc une estimation de la gigue).