[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
2000/11/27 17:09 from Shinra
Title: [teenbbs:896] Re:882)TCP送受信の機構

No.   : 896
Sender: Shinra
URL   : 
Title : Re:882)TCP送受信の機構


TCP送信時には2つのバッファが使用されます。
 1. アプリケーションから提供されるバッファ(TCPPRMのsbufに指定する)
 2. TEEN内部バッファ

tcp_send に与えられたデータはまず sbuf にコピーされます。
その後、実際にネットワークインタフェースから送信されるときにEthernet パケットまたは
PPPパケットを作成しますが、これらのパケットはTEEN内部バッファに作成されるため、送信
データはそこへコピーされます。

再送が必要なときは、sbufに保存されているデータを元に再度パケットを作成します。

受信処理は2段階に分かれています。

1段目:RS232C割り込み,パケットドライバからのコールバックにより受信データを受け取り
TEEN内部バッファに保存します。

2段目:タイマー割り込みにより実行が開始されます。TEEN内部バッファに保存しておいた
パケットを処理します。それがTCPのデータであれば rbuf へコピーし、ACKを送信します。

いまTEENEの転送速度が遅いのは、このタイマー割り込みの間隔が0.1秒と長すぎ、1段目で
保存しきれないデータが大量に発生するためです。ACKが0.1秒後に返るのもこのためです。

すぐに直しますとはお約束できないのですが、どうかご容赦ください。
 

[レスを書く]