2010-12-02 7 views
0

未確認のデータバッファ(送信側のバッファ)をTCPに保持する最善の方法は何ですか?送信者のバッファ内の未確認データのTCP表現

私はデータ自体を保持し、パケット(ヘッダ+データ)を保持することを考えていますか?

パケットを保持するのではなくデータバイトだけを保持すれば、パケットの再送は難しいようです。

言語:C

+0

独自のTCP実装を作成していますか?野心的な...そしてクール! –

+0

それはネットワークコースの割り当てです。また、実際のTCPほど複雑ではありません。すべての最適化や処理が行われています。 – Asterisk

答えて

1

パケット境界はTCPに無意味である:それは認められるべきパケットのデータの半分が可能です(によるフラグメンテーションに言う)、その後、あなたは残りの半分を再送信する必要があります。

答えは、パケットではなく生データを保持することです。あなたが求めているはずの真の質問は、どのようなデータが承認されたかを私はどのように知るのですか?ウィンドウ内のデータの各バイトごとにビットマスクが必要であり、確認済みのデータを1に、残りを0にマークすることができます。ウィンドウの先頭から連続したデータブロックが確認されると、その部分スライドさせることができます。

関連する問題