「みんな教えて! 選手権!!」開催のお知らせ

今、WinSockを使ったパケット送信プログラムを作成しています。
Ethernetフレームで、UDPを用いて転送する予定です。

そこで、送信するパケットについて検討しています。
UDPのペイロードサイズが、1472バイトであることはわかりました。
10Base-Tと100Base-Tそれぞれの場合で、送信パケットの上限数とパケット間隔についてどのように算出すればいいのでしょうか?

どうぞよろしくお願い致します。

A 回答 (3件)

1パケットの転送レートを算出したいだけでしたら、普通に割り算すればいいだけでしょう。


何故パケット転送レートが必要なのかが分かりませんね。(あまり意味が無い)
それよりは、データ転送レートの方が意味があるでしょう。

例えば、100Mbyteのファイルを転送させるので「残り時間XX分」とか出したいのでしょうか。
それであれば、ダウンロード開始時間を取得しておき、途中で転送完了したバイト数と残りのバイト数の差分から、現在の時間と開始時間の差から割り出せばいいことでしょう。
    • good
    • 0
この回答へのお礼

回答ありがとうございます。
再度勉強します。
ありがとうございました。

お礼日時:2007/02/26 19:38

もしかしたら、メディアの最高速度に合わせてアプリケーション側が速度を調整しながら送らねばならないとお考えでしょうか?


メディアの最高速度を考えて関数呼び出しのタイミングを調整することも出来ると思いますが、単に最高速度で送出したいのであれば間を開けずに送信APIを呼べば良いです。

送信バッファがいっぱいで直ぐに送出できない場合には、関数呼び出しの復帰が遅れるか、エラーとなって復帰します。
エラーとなった場合には、同じパケットを再度送信する関数を呼び出すことになります。

送信パケットの上限数については理解しかねますので、もう少し詳しい質問をして下さい。

この回答への補足

回答ありがとうございます。
説明が下手で申し訳ございません。

100MbpsにEthernetフレーム(最小64バイト)を
送信したときにパケット転送レートが
最大パケット数と思っています。
そのパケット転送レートの求め方がわかりません。

計算式など合わせて教えていただければ助かります。
よろしくお願い致します。

補足日時:2007/02/23 10:18
    • good
    • 0

パケットを送信するのに、10Base-Tと100Base-Tを考慮する必要はありません。



送信パケットの上限数って何の事でしょうか?
UDPで送れる最大サイズは65535オクテットかと思います。

パケット間隔とは何の事でしょうか?

この回答への補足

返信遅くなり申し訳ございません。
少し、Ethernetフレームについて勉強しました。

100MbpsでEthernetフレーム最大パケット長(1518バイト)を
送信したときのパケット転送レートはいくつになるのでしょうか?
最大パケット転送レートを出したいときは、
Ethernetフレーム最小パケット長(64バイト)で
計算するといいのでしょうか?

計算式なども合わせて教えていただければ助かります。
よろしくお願いいたします。

補足日時:2007/02/23 10:13
    • good
    • 0

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!


おすすめ情報