W IPv4 rozmiar pojedynczego datagramu (czyli pakietu IP) jest ograniczony przez pole w nagłówku nazywane Total Length (długość całkowita). To pole ma 16 bitów, więc może reprezentować wartości od 0 do 65535.
Kluczowe jest to, że długość całkowita obejmuje cały datagram IPv4, czyli:
- nagłówek IPv4 (zwykle 20 bajtów, ale może być większy, jeśli są opcje),
- dane przenoszone przez IPv4 (payload), np. segment TCP/UDP.
Z tego powodu maksymalny rozmiar datagramu IPv4 (razem z nagłówkiem) wynosi 65535 bajtów. W zadaniach testowych często zapisuje się to w uproszczeniu jako około 64 kB.
Odpowiedzi typu "32 kB" są zbyt małe, bo nie wykorzystują pełnego zakresu 16-bitowego pola długości. Z kolei "128 kB" i "256 kB" są zbyt duże, ponieważ przekraczają maksymalną wartość możliwą do zapisania w 16 bitach (nie da się takiej długości poprawnie zakodować w nagłówku IPv4).
W praktyce warto pamiętać o różnicy między maksymalnym rozmiarem datagramu IPv4 a MTU (Maximum Transmission Unit). MTU zwykle bywa znacznie mniejsze (np. dla Ethernetu), więc duże datagramy i tak mogą wymagać fragmentacji lub dostosowania rozmiaru danych przez warstwy wyższe.