返信

匿名希望さん、
返事遅くなりました。

フラグメンテーションの機能で分割されたパケットは
分割された姿で受信側まで中継されていきます。
そして、受信する際に、受信側のIPが、
分割された断片を結合して元のパケットに復元します。
そして、その復元したパケットを上位の階層(TCPが代表例)に渡します。

つまり、IPの上位にいるプロトコルが受信するのは、
復元したパケットであって、分割したパケットAとかパケットBではありませんから、
パケットBにTCPヘッダがないから困った、というような事態は起こりません。

それから、フラグメンテーションで分割したパケット断片を元に戻す際に参照するヘッダ情報は
IPヘッダにあるフラグとフラグメントオフセットというフィールドです。
TCPのシーケンス番号ではありません。

質問内容から察するに、
IPのフラグメンテーションと、TCPのデータ分割を混同しているのでは?

両者は全然違うもので、
TCPのデータ分割はIPパケットを作成する前に行うのに対して、
IPフラグメンテーションはIPパケットを作成した後、
それをIPの下位のパケットシステムを使って運ぶ際に発生します。

その違いを整理すれば、疑問は解けるように思います。

<code>Only

  • 使用できるHTMLタグ: <code>
  • 文字で図を描く場合に<code>と</code>で囲んでください
画像認証
機械的なスパムメッセージ送信を防止するために画像認証を設けています。ご協力ください。
Image CAPTCHA
Enter the characters shown in the image.