[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
2000/11/24 16:41 from Shinra
Title: [teenbbs:880] Re:teene

No.   : 880
Sender: Shinra
URL   : 
Title : Re:teene


>teene を tcpdumpで少し調べてみたので、参考になればと

ありがとうございます。
時間がとれないので暫く修正することができませんが
もしそのときのtcpdumpのログが残っていれば頂ければ幸いです。

すでにうろ覚えなので間違っているかも知れませんが、

>tcpパケットを送るとき、mssより小さくなることがある。
> 512, 425, 512, ack受信, 90 , ack受信
> という具合のパターンが繰り返されます。 425, 90 はまちまちですが、
> 少し欠けて、残りが送信されることは同じです。

tcp_send で n バイト送ろうとすると、まず nバイト送るので、nが512の倍数でない
ときはそれより小さいパケットが最後に1個発生します。
tcpデータの送信はまだバックグラウンドで制御されていません。tcp_sendが呼び出
された時に一気に送信しようとします。ある意味手抜きです。

> また、他のソフトでは、データパケットは終わりでなくとも PUSH フラグ
> がついていますが、 teene ではついてません。これはどちらが妥当なのか
> 良く解りません。

そのように作っていますが、どちらがいいかは私も解りません(^^;

>受信するとき、読み出しが間に合ってないとは思えないにも関らず、
>tcp window が減ってゆきます。ある程度になれば戻るので、読みだし

ためておいたn個のパケットを一気に処理する上、そのn個それぞれにackを返すので
返されるn個のackに書き込むwindowサイズはどんどん減っていきます。
n個のパケットを処理している間に tcp_recv が割り込むことはできません。

>tcp のパフォーマンスに影響大と言われているので、遅さになにか関係があ
>るかもしれません。

考えていませんでしたが、その可能性はありそうですね。

[レスを書く]