iperfはこれに最適で、ほとんどのLinuxディストリビューションとWindowsですぐに使用できます。
リスナー側で:
% iperf -s -u -B 224.1.1.1 -i 1
------------------------------------------------------------
Server listening on UDP port 5001
Binding to local address 224.1.1.1
Joining multicast group 224.1.1.1
Receiving 1470 byte datagrams
UDP buffer size: 110 KByte (default)
------------------------------------------------------------
...そしてソースからの連絡を待ちます。送信元で、送信を開始します。
% iperf -c 224.1.1.1 -u -T 32 -t 3 -i 1
------------------------------------------------------------
Client connecting to 224.1.1.1, UDP port 5001
Sending 1470 byte datagrams
Setting multicast TTL to 32
UDP buffer size: 110 KByte (default)
------------------------------------------------------------
[ 3] local 192.168.220.20 port 59347 connected with 224.1.1.1 port 5001
[ ID] Interval Transfer Bandwidth
[ 3] 0.0- 1.0 sec 129 KBytes 1.06 Mbits/sec
[ 3] 1.0- 2.0 sec 128 KBytes 1.05 Mbits/sec
[ 3] 2.0- 3.0 sec 128 KBytes 1.05 Mbits/sec
[ 3] 0.0- 3.0 sec 386 KBytes 1.05 Mbits/sec
[ 3] Sent 269 datagrams
同時に、リスナーがトラフィックを受信するのがわかります。
...
[ 3] local 224.1.1.1 port 5001 connected with 192.168.220.20 port 59347
[ ID] Interval Transfer Bandwidth Jitter Lost/Total Datagrams
[ 3] 0.0- 1.0 sec 128 KBytes 1.05 Mbits/sec 0.035 ms 0/ 89 (0%)
[ 3] 1.0- 2.0 sec 128 KBytes 1.05 Mbits/sec 0.015 ms 0/ 89 (0%)
[ 3] 2.0- 3.0 sec 128 KBytes 1.05 Mbits/sec 0.025 ms 0/ 89 (0%)
[ 3] 0.0- 3.0 sec 386 KBytes 1.05 Mbits/sec 0.068 ms 0/ 269 (0%)
-T 32
送信者でオプションを指定することにより、TTLを32に設定します。これにより、トラフィックをルーティングできるようになります(ルーターのIGMP、PIM、その他が適切に構成されていると仮定)
ところで、このシナリオで最後にVLCを使用しようとしたとき、VLCがTTL設定を無視し、TTLが1に設定されたパケットを常に送信するという問題に遭遇しました。回避策についてはバグレポートを読んでください。