I'm trying to understand the PDU sizes as it traverse the TCP/IP model.

RFC 791 says the IP protocol is required to accept datagrams of 576 octets. ( 512 octets, plus up to 64 header octets). I know the IHL (Internet Header Length) field is 4 bits long and specifies the header length in 32 bit words.

So the IP Header has a max size of 60 bytes.... Can someone explain where this 64 octet header comes from and how it differs from the 60 byte header?


  • The 512+64 bytes were likely the original driver for defining a minimum MTU of 576, but the definite answer to your question is probably lost in time. Note that historical trivia is explicitly off topic here.
    – Zac67
    Commented May 1, 2023 at 18:34
  • Has any answer solved your question? Then please accept it or your question will keep popping up here forever. Please also consider voting for useful answers.
    – Zac67
    Commented May 31, 2023 at 19:12

1 Answer 1


While there is no 64B header, RFC791's minimum datagram size allows for one. (otherwise there'd be odd power-of-two boundaries. eg. 64 = 2^6, 60 = 2^6 - 4 - not an even power)

(It's possible there was thinking that zero would equal 16, because IHL==0 would be nonsense. But that was never the case. In fact, IHL will never be less than 5.)

  • Thanks for the reply... That makes the most sense out of any answer I've gotten about the subject! Commented May 2, 2023 at 13:43

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.