2012-01-22 2 views
0

これはもっと理論的な質問です。無限のデータソースがあり、毎秒データをプッシュし続けるとします。 「太陽イベント」を監視し、イベントをバックエンドシステムに連続的に、ナノ秒ごとに(連続ストリームを意味する)送信するデバイス。そして、バックエンドシステムは、ライブデータをTCPを介して別のリモートシステムに送信する必要があります。 TCPは単一のTCP接続で無限のデータストリームを処理できますか?TCPは、一度も終了しないストリームを扱うことができますか?

私はシーケンス番号の制限について認識していますが、TCPタイムスタンプでは、シーケンス番号が正しくラップアラウンドされ、問題は発生しません。また、システムに数テラバイトのメモリ(無限のメモリモデルに近いと考えられる)があるとします。私はちょうどストリームが開始する場所のベースアドレスを与えれば、データが終了するかどうかを気にせずに、TCPが単一のTCP接続で連続的に(セグメント化、送信、再送など)続けることができるでしょうか?

私の推測では、TCPはストリーム長パラメータを期待しないので、可能であるはずです。私は正しい?

答えて

1

基本的にはいです。データがバイト( 'オクテット')であれば、TCPストリームのデータはどこにでもパイプすることができます(ルーターを参照)。 TCP通信はバイトストリームです。メッセージ境界には関係ありません。ウィンドウ付きプロトコルにはフロー制御が組み込まれているので、すべて動作するはずです。

関連する問題