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