IPペイロード>MTUの場合、ルーターは通常IPパケットをフラグメント化します。最後に、すべてのフラグメント化されたパケットは、フィールドIP-ID、IPフラグメントオフセット、およびフラグメンテーションフラグを使用して宛先でアセンブルされます。IPペイロードの最大長は64Kです。したがって、L4が64Kのペイロードを引き渡すのは非常に妥当です。L2プロトコルがイーサネットの場合(これはよくあることですが)、MTUは約1600バイトになります。したがって、IPパケットは送信元ホスト自体でフラグメント化されます。ただし、LinuxでのIP実装について簡単に検索すると、最近のカーネルでは、L4プロトコルはフラグメントに対応していることがわかります。つまり、MTUに近いサイズのバッファーを渡すことで、IPのフラグメント化作業を節約しようとします。
これらの2つの事実を考慮すると、IPパケットが送信元ホスト自体でフラグメント化される頻度について疑問に思っています。それは時々/まれに/決して起こりませんか?Linuxカーネルの断片化のルールに例外があるかどうか(つまり、L4プロトコルが断片に対応していない状況があるかどうか)を知っている人はいますか?これは、Windowsなどの他の一般的なOSでどのように処理されますか?一般に、IPパケットはどのくらいの頻度で断片化されますか?