Skip to content

RouterBoard のトラフィックジェネレータ機能を利用するには

RouterBoard のトラフィックジェネレータ機能を使うと、トラフィックの負荷試験を簡単に行うことが出来ます。RouterBoard はスペックと比較して価格が非常に安い為、安価にトラフィック試験環境を作ることが出来ます。今回は「トラフィックを印加する側」「受信する側」の両方に RouterBoard を使い、トラフィック試験環境を構築してみます。

前半は Web ブラウザ(WebFig)から、後半はコマンドラインから設定します。

今回の試験環境

今回は以下の環境を用いました。

  1. 印加側
    • RouterBoard 951Ui 2HnD
    • RouterOS 6.22
  2. 受信側
    • RouterBoard 951Ui 2HnD
    • RouterOS 6.22

設定の流れ

トラフィックジェネレータ機能を利用するには以下の流れを辿ります。

  1. 送信するパケットを定義(Packet Templete の設定)
  2. パラメータを指定し、トラフィックの印加開始(Start)
  3. トラフィックの印加停止(Stop)

まずは Web ブラウザ(WebFig)から設定してみます。

1. 送信するパケットを定義(Packet Templete の設定)

最初に印加するパケットの定義を行います。「Tool → Traffic Generator」をクリックし、Traffic Generator の設定画面に遷移します。

file

「Packet Templete」をクリックし、Packet Templete の一覧画面に遷移します。

file

まだ Packet Templete を設定していない為、一覧画面には何も表示されません。「Add New」をクリックし、Packet Templete の設定画面に遷移します。

file

ここでは印加するパケットのパラメータを定義します。今回は以下を設定してみます。

項目
テンプレート名 packet-templete1
ヘッダースタック mac / ip / udp
出力インターフェイス ether1-gateway
宛先 IP アドレス 172.16.1.222

ヘッダースタックには生成したいパケットのスタックを積み重ねます。今回は UDP パケットで印加を行うつもりなので、「mac / ip / udp」とし、UDP パケットを定義しました。パラメータの指定が完了したら OK をクリックします。尚、UDP ポート番号を省略すると「送信元ポートは UDP/100、宛先ポートは UDP/200」になるようでした。

file

定義一覧の画面に戻ります。先ほど、設定した定義が追加されていることを確認したら Close をクリックします。

file

パラメータを指定し、トラフィックの印加開始(Start)

次はいよいよトラフィックの印加を開始します。Start をクリックし、印加するトラフィックのパラメータ指定画面へ遷移します。

file

以下のようにパラメータ設定画面が表示されます。

file

ここでは以下のパラメータを指定します。

項目
出力インターフェイス ether1-gateway
パケットサイズ (byte) 100
帯域幅 (Mbps) 15
送信するパケットテンプレート packet-templete1

必要なパラメータを指定したら Start をクリックし、トラフィックの印加を開始します。

file

トラフィックの確認

Traffic Generator のトップ画面に戻ると Running 状態が「yes」になっているのでトラフィック印加中であることが分かります。トラフィック印加の統計情報画面に遷移する為、Stats をクリックします。

file

Traffic Generator Stats 画面が表示されます。トラフィック印加中だと送信したパケットの分だけ、リアルタイムで表示行が増えていきます。確認が完了したら Close をクリックします。

file

トラフィックを受信している対向側 RouterBoard のインターフェイスで状態を確認します。RouterBoard はトラフィック量をリアルタイムでグラフ表示出来るので、試験の際は非常に便利です。今回は 15Mbps のトラフィックを印加していますが、確かにグラフ上で「約 15Mbps」を受信しているのが分かります。

file

トラフィックの印加停止(Stop)

トラフィックを印加している側の RouterBoard に戻り、Traffic Generator のトップ画面から Stop をクリックして印加を停止します。

file

Running 状態が「no」になり、トラフィックの印加が停止されました。

file

再度、対向側 RouterBoard のインターフェイス状態を確認すると、トラフィックの受信が止まっていることが分かります。

file

コマンドラインからトラフィックを印加する

次は同じ設定をコマンドラインから行ってみます。まずは Packet templete を定義します。

1
2
/tool traffic-generator packet-template
add header-stack=mac,ip,udp interface=ether1-gateway ip-dst=172.16.1.222 name=packet-template1

設定を確認します。

1
2
3
4
5
> /tool traffic-generator packet-template print
 0 name="packet-template1" header-stack=mac,ip,udp interface=ether1-gateway assumed-mac-src=D4:CA:6D:C8:78:C2 assumed-mac-dst=FF:FF:FF:FF:FF:FF
   assumed-mac-protocol=ip assumed-ip-dscp=0 assumed-ip-id=0 assumed-ip-frag-off=0 assumed-ip-ttl=64 ip-dst=172.16.1.222
   assumed-ip-src=172.16.1.221 assumed-ip-protocol=udp assumed-udp-src-port=100 assumed-udp-dst-port=200 data=uninitialized data-byte=0
   special-footer=yes

トラフィックの印加を開始します。

1
> /tool traffic-generator start interface=ether1-gateway packet-size=100 mbps=15 tx-template=packet-template1

Running 状態を確認すると「yes」になっていることが分かります。

1
2
3
4
5
6
7
8
> /tool traffic-generator print
                                running: yes
                                test-id: 0
                   measure-out-of-order: yes
               latency-distribution-max: 100us
                  stats-samples-to-keep: 100
           latency-distribution-samples: 64
  latency-distribution-measure-interval: 0-109us

トラフィックの印加を停止します。

1
> /tool traffic-generator stop

Running 状態が「no」になり、印加が停止されました。

1
2
3
4
5
6
7
8
> /tool traffic-generator print
                                running: no
                                test-id: 0
                   measure-out-of-order: yes
               latency-distribution-max: 100us
                  stats-samples-to-keep: 100
           latency-distribution-samples: 64
  latency-distribution-measure-interval: 0-109us