2 edited tags
| link
source | link

Why is the minimum MTU of a IPv4 packet 68 bytes?

According to RFC791:

Every internet module must be able to forward a datagram of 68 octets without further fragmentation. This is because an internet header may be up to 60 octets, and the minimum fragment is 8 octets.

I'm a bit confused about the "an internet header may be up to 60 octets" part. The minimum size of a IPv4 header is 20 bytes and not 60. So shouldn't the minimum MTU be 20 bytes for the IPv4 header plus the minimum fragment which is 8 bytes? And shouldn't we consider the upper layer header lengths as well?

The RFC also mentions:

Every internet destination must be able to receive a datagram of 576 octets either in one piece or in fragments to be reassembled.

So is the MTU 68 bytes or 576 bytes?