Tester son réseau

Indice NDT

(N)iveau requis: utilisateur à expert.
(D)ifficulté : Simple, Moyenne, Complexe.
(T)emps estimé pour faire.

Utilisateur Technicien Expert
Niveau
Simple Moyenne Complexe
Difficulté
– d’une heure + de 5 heures 12 heures et +
Temps

OcM

Objectif de l’article.
Contexte de la réalisation.
Modalité de l’éxécution.

Mesurer le débit de son réseau

Avec iPerf et un NAS Synology

Marche à suivre

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


  1. Installation Docker
  2. Installation Iperf sir ordinateur
  3. Installation sur NAS
  4. Exécution sur NAS
  5. Exécution sur ordinateur
  6. Arrêt / relance sur NAS

1 – Installation Docker


  1. Connexion au NAs en tant qu’utilisateur du groupe Administrator,
  2. Centre de paquets
  3. 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/)

  1. Activation du mode SSH du NAS
  2. Connexion au NAS en tant qu’utilisateur du groupe administrator.
  3. Panneau de Configuration
  4. Terminal Snmp
  5. 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

COPIER

On confirme à nouveau son mot de passe.

On saisie la ligne de commande comme indiqué sur le hub docker pour iperf3.

COPIER

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 :

COPIER

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 :

COPIER

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 :

Copy to Clipboard

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.

  1. connexion au NAS
  2. Application Docker
  3. 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 :

COPIER

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