Aller au contenu

Elina Traffic Generator (Elina-TG)

Introduction

Elina Traffic Generator (elina-tg) est un puissant outil de génération de trafic en ligne de commande utilisé pour simuler une grande variété de comportements d'application et de réseau. Il peut générer plusieurs flux simultanés de trafic TCP, UDP et RTP avec des paramètres hautement configurables, y compris la taille des paquets, les taux variables, IPv4/IPv6, les marquages QoS (DSCP) et des charges utiles sophistiquées et personnalisables.

Tableau de bord

Elina-TG peut être utilisé comme un outil autonome pour les tests réseau et la validation QoS ou intégré avec la plateforme QoS-Agent et Analyzer de LatenceTech. Cela vous permet de générer un trafic d'application réaliste tout en mesurant simultanément ses performances et sa qualité en temps réel.

Tableau de bord

Comment ça fonctionne

Elina-TG fonctionne selon un modèle client/serveur. Une instance "client" lit un fichier de configuration de flux et envoie du trafic, tandis qu'une instance "serveur" écoute ce trafic, mesure des métriques clés comme la perte de paquets et le jitter, et enregistre les résultats. L'outil peut fonctionner en modes client, server ou both (pour de simples tests en boucle locale sur une seule machine). Il inclut également un puissant mode schedule pour orchestrer des séquences de test complexes basées sur le temps.

Configuration (v2.7.5 et versions ultérieures)

Elina-TG est une application Python et nécessite Python 3.7+.

1. Prérequis :

Assurez-vous d'avoir les packages système nécessaires installés. Sur Debian/Ubuntu, cela peut être fait avec :

sudo apt-get update && sudo apt-get install -y python3-pip python3-venv iproute2

2. Télécharger et décompresser l'outil :

wget https://api.latence.ca/software/elina-tg.zip
unzip elina-tg-release.zip
cd elina-tg

3. Configurer un environnement virtuel (Recommandé) :

# Créer et activer un environnement virtuel
python3 -m venv venv
source venv/bin/activate

Modes de fonctionnement (Interface en ligne de commande)

Une fois installé, Elina-TG est exécuté à l'aide de la commande elina-tg.

1. Un test en boucle locale simple (Premiers pas) C'est la meilleure façon de vérifier votre installation. Il exécute à la fois un client et un serveur sur votre machine locale pendant 15 secondes.

# Exécuter le test en mode verbeux et enregistrer les résultats
elina-tg both --duration 15 -v --stats_file mes_premiers_resultats_test.json

Après l'exécution, un résumé lisible par l'homme est imprimé sur la console, et des statistiques JSON détaillées sont enregistrées dans le fichier spécifié.

2. Un test Client/Serveur (Deux machines) Cela simule le trafic sur une liaison réseau réelle.

  • Sur la machine serveur (par exemple, IP 192.168.1.101) : Démarrez le serveur pour écouter le trafic défini dans le fichier de configuration de base.
elina-tg server --config configs/basic/flows_config_basic.json --listen_ip 0.0.0.0 -v
  • Sur la machine cliente : Envoyez du trafic au serveur pendant 60 secondes.
elina-tg client --config configs/basic/flows_config_basic.json --dest_ip 192.168.1.101 --duration 60 -v

3. Mode planificateur (Séquences de test automatisées) Ce mode exécute une série d'actions client/serveur définies dans un fichier de planification. Il est idéal pour émuler des modèles de trafic complexes et variables dans le temps.

# Exécuter la simulation e-Gaming ITU-T G.1051 prédéfinie
elina-tg schedule --schedule_config configs/itu_g1051_egaming/schedule_config_egaming_g1051.json -v

La bibliothèque de profils prédéfinis

Elina-TG est livré avec une riche bibliothèque de profils de simulation conçus par des experts située dans le répertoire configs/. Ceux-ci sont organisés par catégorie :

  • /basic : Configurations simples "pour commencer".
  • /feature-examples : Fichiers qui démontrent des fonctionnalités avancées spécifiques d'Elina-TG.
  • /teams & /zoom : Profils qui émulent les modèles de trafic des appels vidéo Microsoft Teams et Zoom, y compris des marquages QoS réalistes.
  • /itu_g1051_egaming : Une simulation basée sur un planificateur pour la norme ITU-T G.1051 e-Gaming.
  • /itu_g1051_dronecontrol : Un profil simulant le trafic hautement asymétrique d'un drone télécommandé.

Pour des instructions détaillées sur l'utilisation de ces profils avancés, veuillez vous référer aux guides simulating-*.md situés dans chaque répertoire respectif.

Visualisation des résultats dans les tableaux de bord LatenceTech

Lorsqu'il est utilisé conjointement avec le QoS-Agent LatenceTech, le trafic généré par Elina-TG peut être surveillé en temps réel sur les tableaux de bord Analyzer. Cela vous permet de générer des charges d'application spécifiques (comme un appel Zoom ou une session de jeu) et d'observer immédiatement l'impact sur les indicateurs de performance clés tels que la latence, le jitter et la perte de paquets, fournissant une puissante analyse de cause à effet des performances de votre réseau.

Notes importantes

  • Permissions pour DSCP/QoS : Sur certains systèmes, la définition des valeurs DSCP peut nécessiter l'exécution du script avec des privilèges élevés (par exemple, sudo elina-tg ...).
  • Chemins du planificateur : Lors de l'utilisation du planificateur, assurez-vous que les chemins flow_config_file à l'intérieur de votre fichier de planification sont corrects et relatifs au répertoire racine du projet.
  • Documentation détaillée : Pour un aperçu complet de toutes les fonctionnalités, arguments de ligne de commande et structure du fichier de statistiques JSON, veuillez vous référer aux fichiers README.md et documentation/Statistics_Logs.md inclus dans le package.