Ce tutoriel décrit comment générer un trafic IPv4 ou IPv6 à un débit stable (le protocole et le débit sont passés en argument du script). L'objectif étant de mesurer la consommation électrique d'une box internet ou d'un répéteur Wi-Fi dans les conditions décrites par le protocole de mesure de la consommation électrique des box publié par l'Arcep.
Étape N°1 : Créer une clef USB avec la dernière version d’Ubuntu
L’Arcep a publié un tutoriel pour créer la clef USB bootable Ubuntu et démarrer l’ordinateur dessus : Création d’une clef USB bootable pour réaliser un test de débit fiable
Une fois démarré, choisir « Français » puis « Essayer Ubuntu » :
Dans ce tutoriel, on utilise la clef USB en mode « Live USB » sans installer le système d’exploitation sur le disque dur (cela ne va donc pas impacter ce qui est déjà sur votre PC).
Nous n’installons pas Ubuntu sur le disque dur, car des services en arrière-plan pourraient faire des requêtes sur internet pour faire des mises à jour : ce trafic pourrait perturber les mesures.
Étape N°2 : Désactiver la vérification de connectivité
La vérification de connectivité peut générer du trafic en arrière-plan pour vérifier que l’ordinateur est connecté à internet. Nous allons en conséquence la désactiver.
Il faut se rendre dans les « Paramètres » accessibles dans le menu situé dans le coin en haut à droite :
Dans « Paramètres », cliquer sur l’onglet vertical « Confidentialité », puis dans « Connectivité », décocher la « Vérification de la connectivité » :
Optionnel : Il peut être intéressant désactiver l’écran noir pour permettre de vérifier que le PC continue de générer du trafic. Dans « Paramètres », cliquer sur l’onglet vertical « Énergie » et sélectionner « Jamais » dans la liste déroulante située en face de « Écran noir » :
Étape N°3 : Connexion au réseau
Réseau Ethernet filaire
Il est demandé de vérifier sur le PC que la connexion se fait bien au débit le plus élevé supporté par le couple formé par la box et la carte Ethernet du PC. Dans « Paramètres », cliquer sur l’onglet vertical « Réseau ». Le débit négocié par la connexion Ethernet apparait sous le titre « Filaire » :
Réseau Wi-Fi
Dans « Paramètres », cliquer sur l’onglet vertical « Wi-Fi ». Cliquer sur le réseau souhaité pour se connecter. Le mot de passe Wi-Fi est alors demandé.
Important : Le RSSI (Received Signal Strength Indication) doit être compris ente -45 dBm et -55 dBm, correspondant à un signal de bonne qualité. Cet intervalle du RSSI utilisé pour les deux PC de tests connectés en Wi-Fi.
Pour vérifier le RSSI, il faut utiliser la commande « iwconfig » en ligne de commande. Il faut donc lancer un terminal, cela se fait simplement par le raccourci clavier « Ctrl » + « Alt » + « t » et taper « iwconfig ». Le RSSI apparait au niveau du « Signal level ».
La box peut émettre sur plusieurs bandes de fréquences sur un même SSID. Il est demandé de vérifier sur le PC que la connexion se fait bien sur la bande de fréquence la plus élevée supportée par la box et le client. Cette vérification se fait également via la commande « iwconfig ». La fréquence apparait au niveau de « Frequency ». Si la fréquence n’est pas la bonne, il faut tenter une seconde connexion. Pour ce faire, il faut éteindre le Wi-Fi au niveau des paramètres, le réactiver et vérifier de nouveau la fréquence en relançant « iwconfig ».
Exemple : Sur cette box qui gère le 2,4 GHz et le 5GHz, on est bien sur la fréquence la plus élevée (5 GHz).
Par contre, le RSSI de -43 dBm n’est pas dans l’intervalle demandé : le signal a un RSSI trop élevé, il faut éloigner la PC de quelques dizaines de centimètres de la box, afin que le RSSI soit compris ente -45 dBm et -55 dBm.
Forcer le réseau Wi-Fi à utiliser le répéteur Wi-Fi et non la box
Afin de forcer les clients à passer par le répéteur Wi-Fi et non la box, le BSSID (Basic Service Set IDentifier) du répéteur Wi-Fi est spécifié dans les paramètres Wi-Fi des deux PC de tests.
L’adresse MAC du répéteur Wi-Fi peut être récupérée par exemple via l’application « WiFi Analyzer (open-source) » disponible sur Android. Avec le BSSID spécifié, le client utilise uniquement l’émetteur spécifié.
Note pour les outils Wi-Fi Analyzer sous Android : Android 9 a introduit une limitation de l'analyse Wi-Fi (il peut y être nécessaire d'attendre deux minutes pour avoir un rafraichissement des données Wi-Fi). Android 10 et les versions suivantes disposent d'une option pour permettre aux applications de scanner fréquemment le Wi-Fi. Marche à suivre pour lever cette limitation :
- Accéder aux paramètres de l'appareil Android ;
- Aller dans « À propos du téléphone » (cela peut se situer dans les paramètres « Système ») ;
- Tapoter 7 fois sur « Numéro de build » pour devenir développeur ;
- Accéder aux « Options pour les développeurs » dans les paramètres « Système » ;
- Décocher le paramètre « Limiter la recherche Wi-Fi ».
Forcer le BSSID sous Ubuntu : dans « Paramètres », cliquer sur l’onglet vertical « Wi-Fi », puis sur l’icône paramétrage (roue crantée) situé face au réseau Wi-Fi utilisé.
Dans l’onglet « Identité », cliquer sur le bouton à droite du champ « BSSID » pour faire apparaitre la liste déroulante, listant les différents points d’accès qui sont à portée. Il faut sélectionner l’adresse mac qui correspond au répéteur Wi-Fi.
Ci-dessous, un exemple de client situé à portée de 4 équipements émettant le même SSID :
Étape N°4 : Installation de script de génération du trafic
Téléchargement du script
Télécharger le script sur gen-trafic.sh. Le plus simple pour ne pas recopier l’URL est d’ouvrir cette page depuis le navigateur web Firefox de la clef USB. Le fichier est alors téléchargé dans le dossier « Téléchargements ».
Note : Rien n’est inscrit sur le disque dur. Dans un live-USB, les données modifiées sont inscrites en mémoire et sont donc perdues lors d’un redémarrage du PC. Il faut limiter les écritures de fichiers, car la place en mémoire vive est limitée (on demande un PC équipé de 8 Go de mémoire vive minimum).
Modification du serveur par défaut
Il est possible de modifier le serveur par défaut en ouvrant le script avec l’éditeur de texte. Modifier le serveur par défaut permet d’utiliser un serveur interne à l’opérateur.
Le serveur mis en place doit alors se conformer à ces exigences :
- Latence < 20 ms entre le client et le serveur ;
- Serveur non limitant en termes de bande passante ;
- Configuration double pile (protocole IPv4 + protocole IPv6) de bout en bout ;
- Protocole de congestion Cubic, aujourd’hui majoritaire sur internet ;
- HTTP/2 proposé par le serveur ;
- HTTPS sur le port 443, aujourd’hui majoritaire sur internet avec un certificat TLS valide ;
- TLS 1.3, aujourd’hui majoritaire sur internet.
Le tutoriel utilisé pour installer le serveur par défaut (respectant ces exigences) est disponible ici.
Rendre le script exécutable
Dans le dossier « Téléchargements », cliquer avec le bouton droit de la souris sur le script gen-trafic.sh. Sélectionner « Propriétés » :
Dans l’onglet « Permissions », cocher la case « Autoriser l’exécution du fichier comme un programme » et fermer la fenêtre.
Étape N°5 : Lancer le script
Lancer un terminal, cela se fait simplement par le raccourci clavier « Ctrl » + « Alt » + « t », et taper « cd Téléchargements » pour aller dans le dossier « Téléchargements ».
La commande « ./gen-trafic.sh -h » permet d’afficher l’aide.
Exemple : pour générer un trafic de 2500 Kbit/s en IPv4, il faut exécuter la commande « ./gen-trafic.sh -4 2500k ».
Étape N°6 : Monitorer le trafic généré
Nous allons utiliser le « Moniteur système » d’Ubuntu. Cliquer sur « Afficher les applications » (icone située tout en bas à gauche) et taper « mo » pour que l’application « Moniteur système » apparaisse. Cliquer dessus.
Configuration pour afficher les débits en Mbit/s et non en Mio/s : cliquer sur le « menu latéral » (icône avec trois lignes horizontales parallèles) situé en haut à droite, puis sur « Préférences ».
Dans l’onglet « Ressources », cocher la case « Afficher la vitesse du réseau en bits » :
Le moniteur système permet de suivre le débit généré.
Il faut veiller à ce que :
- Le débit soit approximativement celui demandé. Note : le débit relevé par le moniteur système étant dans la couche basse du modèle OSI, il est normal que le débit relevé par le moniteur système soit supérieur de quelques pourcents au débit de la couche application, fixé dans le script ;
- Le transfert ne soit pas interrompu pendant la mesure de consommation électrique.
Ci-dessous un exemple d’un débit de 2500 Kbit/s. Il n’est pas anormal d’avoir des petites variations dans le temps du débit comme affiché ci-dessous.
Annexe : Récupérer les informations sur le matériel et le logiciel
Dans « Paramètres », cliquer sur l’onglet vertical « À propos » situé tout en bas.
Le modèle de carte Ethernet / Wi-Fi est affiché via la commande « lspci » lancé dans un terminal.
Ce contenu est mis à disposition selon les termes de la Licence Creative Commons Attribution - Partage dans les Mêmes Conditions 4.0 International.