Tester son réseau
Indice NDT
(D)ifficulté : Simple, Moyenne, Complexe.
(T)emps estimé pour faire.
Utilisateur | Technicien | Expert |
Simple | Moyenne | Complexe |
– d’une heure | + de 5 heures | 12 heures et + |
OcM
Contexte de la réalisation.
Modalité de l’éxécution.
Tester la vitesse de son réseau peut se faire avec une simple copie de fichier entre deux postes… Mais si on veut disposer de valeurs précises, il existe différents outils. Le principe est d’avoir un client d’un côté (ordinateur, tablette, etc..) et un serveur de l’autre (ordinateur, NAS, etc…)
L’outil retenu dans cet article est iperf disponible en open source il est opérationnel sur différents systèmes.
De nombreux paramétrages sont possibles, seule la configuration client/serveur avec un NAS Synology est abordée dans cet article.
Prérequis
Quelques conditions avant de poursuivre…
Notions Techniques
Une sale histoire de bit…
Le bit (binary digit) élément de base en informatique, l’ordinateur comptant en base 2 (0 & 1). L’ordinateur compte par série de 8 bits soit un octet (o). Pour éviter de confondre avec le 0 (zéro) on parle de Byte au niveau international.
1 Byte = 1 octet = 8 bits
Pour le transfert d’informations on parle en bits, Ainsi, pour un taux de 8 Mb/s (petit b) , on transfert 8 000 bits par seconde.
Soit en divisant par 8 : 1 MB/s. (1 Mega Byte).
Iperf
toutes versions
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. Conçu pour des architectures client-serveur, et disponible sur différents systèmes d’exploitation (Unix, Windows, MacOS…). [ Wikipédia]
Toutes les versions sont disponibles ici :
https://iperf.fr/.
DSM
Docker & SSH
Le logiciel des NAS Synology ne contient par défaut Iperf.
On pallie ce manque via l’application Docker (application légère de virtualisation qui permet d’exécuter des conteneurs). Cette capacité est disponible pour la plupart des NAS de la gamme DSxx+ entre autres. (cf modèles compatibles)
L’accès au NAS en SSH (via un terminal linux/macOS ou Putty sous Windows) est aussi requis.
Sans NAS il est possible de faire l’évaluation en installant Iperf sur 2 points du réseau et en exécutant l’un en serveur l’autre en client.
Démarche
- Installation Docker
- Installation Iperf sir ordinateur
- Installation sur NAS
- Exécution sur NAS
- Exécution sur ordinateur
- Arrêt / relance sur NAS
1 – Installation Docker
- Connexion au NAs en tant qu’utilisateur du groupe Administrator,
- Centre de paquets
- Installer Docker
2- Installation Iperf sur ordinateur
Depuis le site https://iperf.fr/. on télécharge la dernière version selon son OS, pour la partie cliente.
3 – Installation Iperf sur NAS
Pour la partie serveur, on procède à une installation du docker complet en ligne de commande. (inspiré du site https://hub.docker.com/r/networkstatic/iperf3/)
- Activation du mode SSH du NAS
- Connexion au NAS en tant qu’utilisateur du groupe administrator.
- Panneau de Configuration
- Terminal Snmp
- activer SSH
On se connecte au NAS via le protocole SSH, comme dans cet exemple sous Terminal.
exemple : ssh yann@192.168.1.100
A noter : l’utilisateur doit appartenir au groupe administrator pour disposer de cet accès.
Une fois connecté et identifié on passe en root via la commande sudo
On confirme à nouveau son mot de passe.
On saisie la ligne de commande comme indiqué sur le hub docker pour iperf3.
Provoque l’installation. (Le message d’erreur est normal la première fois, puisque l’image n’est pas installée…)
4 – Exécution sur NAS
On saisie la commande suivante :
Le serveur est ainsi lancé sur le port d’écoute par défaut d’Iperf (5201).
5 – Exécution sur poste client
Avec Terminal ou en ligne de commande Windows, on saisie la ligne de commande suivante :
A adapter selon le dossier est présent le programme téléchargé Iperf ainsi que l’adresse IP du NAS visé.
A noter en l’absence de NAS sur un PC client on peut faire la commande d’écoute comme suit :
A adapter selon le dossier est présent le programme téléchargé Iperf
Sur la partie cliente s’affiche le résultat :
6 – Arrêt / Relance sur NAS
Pour stopper le serveur sur le NAS
Si la fenêtre terminal Putty accès SSH est ouverte, faire la combinaison CTRL +C .
Autre possibilité stopper la machine virtuelle lancée sur le NAS.
- connexion au NAS
- Application Docker
- Mettre fin au serveur.
Dans le cas d’un redémarrage ou si on ferme le conteneur , il faut relancer le serveur iperf avec la commande identique à la première, sans téléchargement dans ce cas.
A noter : Docker garde dans ses journaux les différents tests des machines clientes que l’on peut exporter pour une consolidation à des fins statistiques.
Test en externe sur serveurs publics
Pour une vérification de vitesse de connexion il existe des services en ligne… Mais souvent perfectible puis qu’exécutés dans un navigateur Internet (nPerf Speedtest).
Ici on utilise iperf vers des serveurs publics dédiés à cette évaluation.
Démarche
Depuis la machine (ordinateur macOS, Windows, Linux) du réseau local, disposant de l’application cliente iperf, on lance la ligne de commande suivante par exemple :
Test vers le serveur scaleway en utilisant le port 9215 et en précisant -R, pour tester aussi le débit descendant
Les options les plus utilisées
- -c bouygues.testdebit.info : Exécutez iperf3 en mode client. Connexion au serveur iPerf3 bouygues.testdebit.info.
- -p 9210 : spécifie d’utiliser le port 9210. Par défaut c’est le port 5201 qui est utilisé. Attention: de nombreux serveurs ne sont pas sur le port par défaut.
- -R : Test de débit descendant (par défaut, c’est un test de débit montant qui est effectué).
- -P 5 : Utiliser 5 connexions simultanées. Par défaut, une seule connexion TCP/UDP est utilisée.
- -t 20 : Faire un test de 20 secondes, du test. Par défaut, le test dure 10 secondes.
- -i 0.5 : Définit un intervalle de temps de 0,5 secondes pour afficher un rapport sur la bande passante, la gigue, et les pertes. Par défaut, la valeur est de 1 seconde.
- -u : Utiliser UDP plutôt que TCP. Il faut alors spécifier un débit avec l’option -b : exemple -i -b 500m pour 500 Mbit/s.
- -4 : Réaliser le test en IPv4 uniquement. Par défaut IPv6 est utilisé s’il est disponible sur le client et le serveur.
- -6 : Réaliser le test en IPv6 uniquement.
- –omit 4 : Omettre les 4 premières secondes du test pour ignorer la période de TCP slowstart*.
- –congestion=bbr : Configurer l’algorithme de congestion TCP BBR (il doit être supporté par le serveur).
- –congestion=cubic : Configurer l’algorithme de congestion TCP Cubic.
- -V : Résultats des tests plus détaillés qu’auparavant (ex: indique le protocole de congestion TCP utilisé).
- -v : Afficher les informations de version et quitter.
Les serveurs possibles et ports connus
- scaleway.testdebit.info (ports 9200 à 9222, BBR est l’algo par défaut et Cubic est disponible en option)
- ping.online.net (IPv4) ping6.online.net (IPv6) (ports 5200 à 5209, Cubic est le seul algo disponible)
- bouygues.testdebit.info (ports 9200 à 9222, Cubic est l’algo par défaut et BBR est disponible en option)
- paris-bbr.testdebit.info (ports 9200 à 9222, BBR est l’algo par défaut et Cubic est disponible en option)