Elinaトラフィックジェネレーター(Elina-TG)
はじめに
Elinaトラフィックジェネレーター(elina-tg)は、幅広いアプリケーションとネットワークの動作をシミュレートするために使用される強力なコマンドラインのトラフィック生成ツールです。パケットサイズ、可変レート、IPv4/IPv6、QoSマーキング(DSCP)、洗練されたカスタマイズ可能なペイロードなど、高度に設定可能なパラメータを持つ、複数の同時TCP、UDP、RTPトラフィックストリームを生成できます。

Elina-TGは、ネットワークテストとQoS検証のためのスタンドアロンツールとして使用することも、LatenceTechのQoSエージェントとアナライザープラットフォームと統合することもできます。これにより、リアルタイムでパフォーマンスと品質を測定しながら、現実的なアプリケーショントラフィックを生成できます。

仕組み
Elina-TGは、クライアント/サーバーモデルで動作します。「クライアント」インスタンスはフロー設定ファイルを読み取ってトラフィックを送信し、「サーバー」インスタンスはそのトラフィックをリッスンし、パケットロスやジッターなどの主要なメトリクスを測定し、結果をログに記録します。このツールは、client、server、またはbothモード(単一マシンでのシンプルなループバックテスト用)で実行できます。また、複雑な時間ベースのテストシーケンスを調整するための強力なscheduleモードも含まれています。
セットアップ(v2.7.5以降)
Elina-TGはPythonアプリケーションであり、Python 3.7+が必要です。
1. 前提条件:
必要なシステムパッケージがインストールされていることを確認してください。Debian/Ubuntuでは、次のコマンドで実行できます:
sudo apt-get update && sudo apt-get install -y python3-pip python3-venv iproute2
2. ツールのダウンロードと解凍:
wget https://api.latence.ca/software/elina-tg.zip
unzip elina-tg-release.zip
cd elina-tg
3. 仮想環境のセットアップ(推奨):
# 仮想環境を作成してアクティブ化
python3 -m venv venv
source venv/bin/activate
動作モード(コマンドラインインターフェース)
インストール後、Elina-TGはelina-tgコマンドを使用して実行されます。
1. シンプルなループバックテスト(最初のステップ) これは、インストールを確認するための最良の方法です。ローカルマシンでクライアントとサーバーの両方を15秒間実行します。
# 詳細モードでテストを実行し、結果を保存
elina-tg both --duration 15 -v --stats_file my_first_test_results.json
実行後、人間が読める形式のサマリーがコンソールに表示され、詳細なJSON統計が指定されたファイルに保存されます。
2. クライアント/サーバーテスト(2台のマシン) これは、実際のネットワークリンク上のトラフィックをシミュレートします。
- サーバーマシン上(例:IP 192.168.1.101): 基本設定ファイルで定義されたトラフィックをリッスンするサーバーを起動します。
elina-tg server --config configs/basic/flows_config_basic.json --listen_ip 0.0.0.0 -v
- クライアントマシン上: 60秒間サーバーにトラフィックを送信します。
elina-tg client --config configs/basic/flows_config_basic.json --dest_ip 192.168.1.101 --duration 60 -v
3. スケジューラーモード(自動テストシーケンス) このモードは、スケジュールファイルで定義された一連のクライアント/サーバーアクションを実行します。複雑で時間変動するトラフィックパターンをエミュレートするのに理想的です。
# 事前定義されたITU-T G.1051 eゲーミングシミュレーションを実行
elina-tg schedule --schedule_config configs/itu_g1051_egaming/schedule_config_egaming_g1051.json -v
事前定義されたプロファイルライブラリ
Elina-TGには、configs/ディレクトリにある、専門的に作成されたシミュレーションプロファイルの豊富なライブラリが付属しています。これらはカテゴリ別に整理されています:
/basic:シンプルな「はじめに」設定。/feature-examples:Elina-TGの特定の高度な機能を示すファイル。/teams&/zoom:現実的なQoSマーキングを含む、Microsoft TeamsとZoomビデオ通話のトラフィックパターンをエミュレートするプロファイル。/itu_g1051_egaming:ITU-T G.1051 eゲーミング標準のスケジューラーベースのシミュレーション。/itu_g1051_dronecontrol:リモートコントロールドローンの非常に非対称なトラフィックをシミュレートするプロファイル。
これらの高度なプロファイルの使用方法の詳細については、各ディレクトリ内にあるsimulating-*.mdガイドを参照してください。
LatenceTechダッシュボードでの結果の可視化
LatenceTech QoSエージェントと組み合わせて使用すると、Elina-TGによって生成されたトラフィックをアナライザーダッシュボードでリアルタイムに監視できます。これにより、特定のアプリケーション負荷(Zoom通話やゲームセッションなど)を生成し、レイテンシー、ジッター、パケットロスなどの主要なパフォーマンス指標への影響を即座に観察でき、ネットワークのパフォーマンスの強力な因果関係分析を提供します。
重要な注意事項
- DSCP/QoSの権限: 一部のシステムでは、DSCP値を設定するには、昇格した権限でスクリプトを実行する必要がある場合があります(例:
sudo elina-tg ...)。 - スケジューラーパス: スケジューラーを使用する場合は、スケジュールファイル内の
flow_config_fileパスが正しく、プロジェクトのルートディレクトリからの相対パスであることを確認してください。 - 詳細なドキュメント: すべての機能、コマンドライン引数、JSON統計ファイルの構造の完全な概要については、パッケージに含まれる
README.mdおよびdocumentation/Statistics_Logs.mdファイルを参照してください。