に非常に良いビデオチュートリアルがない、あなたがそれを行うことができない - ので、少なくともではないと予想結果
とこれがある:TCPはストリームベースである
- パケットベースではありません。
- TCPシーケンス番号は、パケットではなく、バイトのです。
- TCPレイヤーは、あなたのためにセグメント化を行います。
- TCPウィンドウサイズ/パケットサイズを使用すると、「パケット」の末尾にシーケンス番号を持つ「パケット」を送信することがありますこれらの手段
動的です。基本的な魔法はあなたのパケットを再分割します。
あなたが欲しい:
1 2 3 4
+---+---+---+---+
| A | B | C |"1"| packet 1, seq=1, len=4
+---+---+---+---+
5 6 7 8
+---+---+---+---+
| A | B | C |"5"| packet 2, seq=5, len=4
+---+---+---+---+
あなたが得るかもしれないもの:
1 2 3 4
+---+---+---+---+
| A | B | C |"1"| packet 1 (seq=1, len=4)
+---+---+---+---+
(packet 1 got lost)
1 2 3 4 5 6
+---+---+---+---+---+---+
| A | B | C |"1"| A | B | packet 1, resent, seq=1, len=6
+---+---+---+---+---+---+
7 8
+---+---+
| C |"5"| packet 2, seq=7, len=2
+---+---+
なぜ地球上であなたがこれを行うにしたいですか? – Omnifarious
@Omnifarious:セキュリティプロトコルで「シーケンス番号」が必要でした。それらを実装するには(TCPのように)ウィンドウを保持する必要があるため、多くのコーディングが必要になるため、ホイールを再作成しないようにし、基礎となるTCPシーケンス番号を使用する方が簡単かもしれないと考えました。下の答えから、この考え方は不可能と思われます。 「シーケンス番号」の実装を簡単にするアイデアはありますか? –
セキュリティプロトコルは、TCPデータストリームの基礎となるパケット化に依存してはいけません。 TLSと他のストリームベースの暗号化プロトコルがこれを処理する方法は、データをチャンクアップすることです。データの各部分には、長さの接頭辞が付けられ、MACの後ろに接尾辞が付けられます。したがって、ストリーム内にレコード構造を提供します。 – Omnifarious