試しに使ってみる
まずは、試しに使ってみましょう。
PCが1台でもだいじょうぶです。
自分宛てにパケットを送ることで、基本的な動作を試すことができます。
まず、UDPmaker140.exeを起動してください。
基本的には実行ファイルだけあれば動作しますが、詳細はこちらをご覧ください。
画面には、3枚のウインドウが生成されます。
3枚のウインドウの役割は、それぞれ・・・
- UDPmaker
- このプログラムのメインウインドウです。
といっても、メニューバーしかありません。
各種オプションの設定などで使用しますが、基本的なパケット送受信だけであれば、メニューバーの機能は必要ありません。
プログラムを終了したい時は、このウインドウの×ボタンで終了できます。
- UDPsend
- UDPパケットの送信を制御するウインドウです。
ウインドウの中には、
送信先IPアドレス、送信に使用するインターフェースのID、
パケット長、送信速度などを設定する場所と、ポート番号を設定する場所、送信を開始するためのボタンなどがあります
さしあたりは、そのままにしておいて、UDPreceiveを見てみましょう。
- UDPreceive
- UDPパケットの受信を制御するウインドウです。
UDPsendと比べ、ウインドウは大きいものの、設定可能な内容は少ないです。
パケット長とプロトコル(IPv4/IPv6)、ポート番号を設定する場所があります。
それでは、パケットを送信してみましょう。
UDPsendを表に出して、縦に8つ並んでいる「Start」ボタンの、一番上のもの(Port 8000)を押してください。
ボタンの右のStatus表示が「Running」に変わり、送信を開始してからの時間とパケット数(1秒あたりと、積算)が1秒おきに更新されるようになります。
この状態で、IPアドレス127.0.0.1(ループバックアドレスです)に、UDPのペイロード長1000byteで、128,000bpsで送信を行っています。
次に、送信されているパケットを受信してみます。
送信先IPアドレスがループバックアドレスになっているので、同じPCでパケットの受信も可能です。
UDPreceiveを表に出して、先程と同様に、縦に8つ並んでいる「Start」ボタンの一番上のもの(Port 8000)を押してください。
ボタンの右のStatus表示が「Running」に変わり、受信開始からの時間とパケット数、受信速度が更新されていきます。
「1 second Rate」のところに、送信側で設定した128,000bps前後の値が受信速度として表示されていることが確認できると思います。
この状態で、先程、UDPsendでパケットを送信するために押したボタン(表示が「Stop」に変わっています)を押してみましょう。
Status表示が「Stopped」に変わり、パケットの送信が止まります。
UDPreceiveを見ると、「1 second Rate」が0になり、パケットの受信も止まっていることが確認できます。
基本的な操作は、これでおしまいです。
2台のPCを使ってパケットの送受信をする際には、送信先IPアドレスをもう1台のPCのものにすればよいだけです。
パケット長や送信速度、ポート番号は、実施したい検証等の内容に応じて適切な値を設定してください。送信に使用するインターフェースIDは、IPv4のユニキャストパケットの送受信であれば、初期値の0のまま変更する必要はありません。
最後に、注意が必要な点をいくつか
- UDPsendとUDPreceiveで、パケット長の値は必ず同じ値にする
- 同じになっていないと、正常にパケットを受信できません。
実際にパケットが到着していても、受信できていないように見えたり、受信速度の表示がおかしくなったりします。
- あまり高速な送信速度を設定しない
- どれくらいが「高速」なのかは、使用するPCの性能やOS、Ethernetの速度などによります。
10Mbpsのシェアード・ハブに接続した場合は、コリジョンの程度によります。
場合によっては、数Mbps程度で限界になります。
100M/1GでLANスイッチに接続した場合は、もっぱらPCの性能によって限界が決まってきます。
試験に使用したPC(i7-6700とi5-7200U)では、200Mbpsの送受信(パケット長:1000byte)でも安定して動作しました。
処理が追いつかなくなると、途中のネットワークに異常がなくとも受信側でパケットロスが報告されるようになります。
実際の検証等に使用する前に、ネットワークの帯域等の制約がない状態で必要なパケット送受信能力が満たせるかを事前に確認した上でお使いください。
PCの処理能力不足が疑われる場合は、UDPmakerのプロセスの優先順位を高くすることで改善できる場合があります。(Option-Change Process Priority)
パケットの送信は1ms間隔で実行されます。そのため、パケットを高速で送信する場合、送信間隔が均一になりません。送信間隔に高い精度が求められる場合は、別のツールの使用をご検討ください。
UDPmakerがみなさまのお役に立ちますように!
トップページへ
Last modified: Mon Aug 20 22:35:00 +0900 2018