Ping of death
RFC 791で定義されているように、IPヘッダを含むIPv4パケットの最大パケット長は65,535(=2 − 1)バイトである。これは、IPヘッダにおけるパケット長を格納するフィールドが16ビット幅であることによる制限である。
IPの基礎となるデータリンク層では、ほとんどの場合に、MTU(Maximum Transmission Unit)として最大フレームサイズに制限が設けられている。イーサネットでは、MTUは通常1500バイトである。この場合、MTUを超える大きなIPパケットは、MTU以下のサイズの複数のIPパケットに分割される(これをフラグメントという)。受信側では、分割されたパケットから元のIPパケットを再構成する。
フラグメントが実行されるとき、それぞれの分割されたパケットは、元のIPパケットのどの部分であるかの情報を運ぶ必要がある。この情報は、IPヘッダのFragment Offsetフィールドに保持されている。このフィールドは13ビット長で、元のIPパケット内の現在のIPフラグメント内のデータのオフセットを含む。オフセットは8バイト単位で与えられる。これにより、最大オフセットは65,528(=(2-1)×8)まで可能になる。これに20バイトのIPヘッダを追加すると、最大長は65,548バイトになり、最大パケット長を超える。これは、最大のオフセット値を持つIPフラグメントパケットに含まれるデータが7バイト以下でなければ、最大パケット長の制限を超えてしまうことを意味する。