破損したパケットに対処するネットワーク デバイス ドライバーの機能をテストしています。私がテストしたい特定のケースは、途中の MTU が小さいために、大きな TCP パケットがパスに沿ってフラグメント化される場合です。
大きな TCP パケットの IP フラグメンテーションについて私が最も興味を持っているのは、各パケットの IP フラグメント パケットのプロトコル属性が TCP に設定されているのか、それとも最初のフラグメントだけなのかということです。
破損したパケットに対処するネットワーク デバイス ドライバーの機能をテストしています。私がテストしたい特定のケースは、途中の MTU が小さいために、大きな TCP パケットがパスに沿ってフラグメント化される場合です。
大きな TCP パケットの IP フラグメンテーションについて私が最も興味を持っているのは、各パケットの IP フラグメント パケットのプロトコル属性が TCP に設定されているのか、それとも最初のフラグメントだけなのかということです。
プロトコル フィールドは、フラグメントごとに TCP (6) に設定されます。
RFC 791から- インターネット プロトコル
長いインターネット データグラムをフラグメント化するために、インターネット プロトコル モジュール (ゲートウェイなど) は 2 つの新しいインターネット データグラムを作成し、インターネット ヘッダー フィールドの内容を長いデータグラムから両方の新しいインターネット ヘッダーにコピーします。... この手順は、説明した 2 方向分割ではなく、n 方向分割に一般化できます。
プロトコルはヘッダーの一部であり、その結果、各フラグメントにコピーされます。
IP フラグメンテーションはレイヤ 3 アクティビティであり、パケットは TCP とマークされますが、中間フラグメントは TCP で使用できません。TCP 層は、実際の IP パケット (フラグメント化されていない) が再構成されるまで待機してから、処理する必要があります。
ウィキペディアのIP フラグメンテーションリファレンス。
Path MTU-Discoveryは通常、送信元 MTU を更新し、TCP パケット (実際にはセグメント) は、途中で断片化が発生しないように制限されたサイズで送信されます