ログインしてさらにmixiを楽しもう

コメントを投稿して情報交換!
更新通知を受け取って、最新情報をゲット!

SCTPコミュの送信時のデータバンドリング

  • mixiチェック
  • このエントリーをはてなブックマークに追加
いま、実装しているSCTP。
通常のデータ送信の時はデータのバンドリングをしないのですが。
(再送時はバンドリングする)
実際データ送信時にバンドリングするのってどうやるべきなんでしょうね。なかなかアルゴリズムが浮かばないんですが(^^;;
ひとつ考えられるのは、アソシエーションに対して、張った段階で一定期間ごとにデータを送信するタイマーを設けて、それで周期的にデータを送るとか。。なんですかね。
データが送信される度に一定期間末というのも、まぁいいと思いますが。待ち時間とかどのように決定したらいいでしょうか。
この辺は、だいたいエイヤーで決めることがほとんどなんでしょうえけど。。

なんかありましたら意見お願いします。

コメント(2)

うーん、あまり考えたことがありませんが、
on demand にデータを送信するときはDATA chunk1つだけでバンドリングしない
(もちろん、MTUに収まらない場合は分割してバンドリング)で
いいのではないでしょうか?

あ、でも、BSDソケットなAPIだと、sendmsg(2)でデータを送れば
複数のデータグラムをカーネルに渡せるのかな。
その場合はそのデータグラムをバンドリングして送信してもいい気もしますね。

というわけで、SCTPを利用するAPIやら上位レイヤーが
複数データグラムを送る仕組みを持っていてそれを
使ってきたらバンドリングしてやって、それ以外の場合は
再送以外は1つだけ、でいいんじゃないですかね。
>>まーくんさん

ん〜、一時的に輻輳状態にあり、それが回復したときに
Queueに詰まれたデータを送る。このときのバンドリングも
ありかなと思います。

今考えてみると、一定時間データが来ることを期待するよりも
渡されたもの全部をバンドリングのがうれしいですよね(^^;;

でもRFCには一定時間まって投げることを匂わせることも
かいてありましたよね。

えっとたしか、上位レイヤとのインターフェース規定のところで
データ送信時でしたっけか。バンドリングをさせないフラグが
会ったとおもいますが、それを使う理由が、バンドリングのために
まつ送信遅延を回避するためだとか。。

ログインすると、みんなのコメントがもっと見れるよ

mixiユーザー
ログインしてコメントしよう!

SCTP 更新情報

SCTPのメンバーはこんなコミュニティにも参加しています

星印の数は、共通して参加しているメンバーが多いほど増えます。