熟悉“IP数据包格式”的朋友帮我解释下这个问题

里面有个16 Bytes的总IP包长度,那么指明Ip包最大长度是65535字节(2^16-1);包头里还有个字段是包头长度,占了4 Bytes,为什么包头允许的长度不是15(2^4-1)字节呢?这连规定IP包头长度最小20字节都不够,最大60字节又怎么来的,书上说是因为在IP包头有个变长的选项部分,还人说“头长度是以4字节为单位”,这都怎么理解,20字节,60字节都怎么来的,求解答!别粘贴一些没用的,谢谢!

包头长度(IHL):4位,IP协议包头的长度,指明IPv4协议包头长度的字节数包含多少个32位。由于IPv4的包头可能包含可变数量的可选项,所以这个字段可以用来确定IPv4数据报中数据部分的偏移位置。IPv4包头的最小长度是20个字节,因此IHL这个字段的最小值用十进制表示就是5 (5x4 = 20字节)。就是说,它表示的是包头的总字节数是4字节的倍数,最大也就是1111=15*4=60字节。至于为啥0111是最小的我也搞不清楚,看的书上都没有这个介绍。。
温馨提示:答案为网友推荐,仅供参考