はじめに
ローカル環境やCML
を使用した試験では、あまり遅延が無い状態で行うこととなりますが、実際のネットワークは距離や回線品質によりパケットが欠けたり、遅延があったり様々となります。
CML2
ではそのような回線遅延を再現できるWAN Emulator
がデフォルトで実装されているので、今回はWAN Emulator
を試してみようと思います。
WAN Emulatorの設定
WAN Emulator
は機器間の通信で疑似的に遅延を発生させる機器であるため、機器の間に配置して使用します。
WAN Emulator
を操作するためには、ルータ等の操作と同様、コンソールでログインして操作を行います。
設定方法としては簡単で、ログインすると以下の様なプロファイル選択画面が表示されるため、テストしようとしている環境に近いプロファイルを選択して、通信を発生させるだけになります。
画面左下に表示されている値は左からLatency
(遅延時間)、Bandwidth
(帯域幅)、Loss
(パケットロス率)となっており、プロファイルの値を任意の値に変更することも可能です。
また、画面左下の値には表示されていませんが、Main Menu
画面の以下Port Settings
よりJitter
(ゆらぎ)も設定することができ、デフォルトではすべて0ms(ゆらぎ無し)となっております。
以下各プロファイルのデフォルト設定。
No. | プロファイル名 | Latency | Bandwidth | Loss | Jitter |
---|---|---|---|---|---|
0 | GPRS (good) | 500ms | 50kbit | 2% | 0ms |
1 | EDGE (good) | 300ms | 250kbit | 1.5% | 0ms |
2 | 3G/HSDPA (good) | 250ms | 750kbit | 1.5% | 0ms |
3 | Dial-up (good) | 185ms | 40kbit | 2% | 0ms |
4 | DSL (poor) | 70ms | 2000kbit | 2% | 0ms |
5 | DSL (good) | 40ms | 8000kbit | 0.5% | 0ms |
6 | WIFI (good) | 40ms | 30000kbit | 0.2% | 0ms |
7 | Satellite | 1500ms | 1mbit | 0.2% | 0ms |
8 | WAN (limited) | 80ms | 256kbit | 0% | 0ms |
9 | WAN (unlimited) | 80ms | 100mbit | 0% | 0ms |
WAN Emulatorのメニュー構成
コンソールから操作できるWAN Emulatorのメニュー画面は以下の様な画面構成となっております。
No. | メニュー | 説明 |
---|---|---|
1 | Select Profile | 上述のプロファイル選択画面 |
2 | Port Settings | プロファイルの各種値を変更する |
3 | Current Settings | 現在の設定をtcコマンドの形式で確認できる |
4 | iptraf | iptrafによるトラフィック表示 |
5 | Shell | WAN EmulatorのOS操作 |
WAN Emulator
はAlpine Linux
にtr
コマンドによるトラフィック制御とiptraf
コマンドによるトラフィック表示機能を実装したノードとなっています。
そのため、tr
コマンド、iptraf
コマンドの扱いを知っていれば、メニュー画面から設定できること以上の設定なども可能です。
例えば、メニュー画面からだとiptraf
は基本の統計情報しか表示できませんが、Shell
からシェルを起動し、以下の様にコマンドを実行すれば各インタフェースの詳細な統計情報も表示させることが可能となっています。
iptraf-ng
WAN Emulatorを使用した遅延確認
WAN Emulator
による遅延を確認するため、以下の様にルータ2台を接続し、一方はルータ間直接、もう一方は間にWAN Emulator
を挟んだ構成としてみます。
WAN Emulator
の設定プロファイルはGPRS
にしてルータ間でそれぞれPingを実行してみた結果が以下となります。
Type escape sequence to abort.
Sending 5, 100-byte ICMP Echos to 192.168.0.2, timeout is 2 seconds:
!!!!!
Success rate is 100 percent (5/5), round-trip min/avg/max = 2/2/3 ms
Type escape sequence to abort.
Sending 5, 100-byte ICMP Echos to 10.0.0.2, timeout is 2 seconds:
!!!!!
Success rate is 100 percent (5/5), round-trip min/avg/max = 1003/1003/1004 ms
WAN Emulator
を挟んだ構成のほうが明らかに応答時間がかかっているのが確認できるかと思います。
また、GPRS
のLatency
は500msなのに1000ms程度で表示されているのはパケットの往復分となるので、遅延を設定する際には注意しましょう。
おわりに
中々WAN Emulator
を使う機会は少ないかもしれませんが、数千キロ離れた拠点間や全国からの通信を想定したネットワークをテストする際に役立つものとなります。
WAN Emulator
の操作自体は簡単なので、何かの機会に使えるよう頭の片隅にしまっておけばどこかで役に立つかもしれません。