トラフィックジェネレーターが欲しい - iperf3 調査編1
高性能じゃなくてもいいので、IPの試験トラフィック流してくれるちょっとしたトラフィックジェネレーターが欲しい!
日常生活の中で度々そんな場面に遭遇しませんか?
僕は度々遭遇します。
ちょっと調べてみたところ、IPネットワークにおけるTCP/UDP/SCTPの速度試験ツールで、iperfというフリーソフトがあるらしいので試してみました。
現在の最新版はiperf3です。
ユーザマニュアルは以下のサイトに掲載されております。
https://iperf.fr/iperf-doc.php
なお、今回は以下の図内のように、clientとserverというUbuntu 18.04のlinuxマシンにiperf3をインストールして動かしてみました。
事前準備
サーバ間の疎通確認
ubuntu@client:~$ ping 192.168.1.20 PING 192.168.1.20 (192.168.1.20) 56(84) bytes of data. 64 bytes from 192.168.1.20: icmp_seq=1 ttl=64 time=0.475 ms 64 bytes from 192.168.1.20: icmp_seq=2 ttl=64 time=0.473 ms ^C --- 192.168.1.20 ping statistics --- 2 packets transmitted, 2 received, 0% packet loss, time 1007ms rtt min/avg/max/mdev = 0.473/0.474/0.475/0.001 ms
iperf3のインストール ※両サーバに対してインストールを行う
ubuntu@client:~$ sudo apt install iperf3 ubuntu@client:~$ iperf3 -v iperf 3.1.3 Linux client 4.15.0-72-generic #81-Ubuntu SMP Tue Nov 26 12:20:02 UTC 2019 x86_64 Optional features available: CPU affinity setting, IPv6 flow label, TCP congestion algorithm setting, sendfile / zerocopy, socket pacing
TCPトラフィック送信
まずserver側でiperf3をサーバモードで起動します。
ubuntu@server:~$ iperf3 -s
次にclient側でiperf3をクライアントモードで起動し、疎通先にserverのIPを指定します。
ubuntu@client:~$ iperf3 -c 192.168.1.20
すると、下図のような感じでclient側とserver側にログが流れました。
UDPトラフィック送信
先ほどと同様、まずserver側でiperf3をサーバモードで起動し、client側で以下コマンドを実行します。
ubuntu@client:~$ iperf3 -c 192.168.1.20 --udp
すると、下図のような感じでclient側とserver側にログが流れました。
SCTPトラフィック送信
続いて、SCTPです。
server側でiperf3をサーバモードで起動し、client側で以下コマンドを実行します。
ubuntu@client:~$ iperf3 -c 192.168.1.20 --sctp
すると、、、おや、エラーになりましたね。
google先生にエラー内容を聞いてみましたが、以下サイトのように、バグっぽいです。
https://stackoverflow.com/questions/34180801/iperf3-unrecognized-option-sctp
https://access.redhat.com/solutions/3482281
今後、改修されるか注目してみます