> 백엔드 개발 > PHP 튜토리얼 > IP_datagram 的头的长度,该怎么处理

IP_datagram 的头的长度,该怎么处理

WBOY
풀어 주다: 2016-06-13 12:57:28
원래의
876명이 탐색했습니다.

IP_datagram 的头的长度

本帖最后由 TomodaMaki 于 2013-01-07 16:04:34 编辑 TCP/IP Illustrated 第一卷第三章第二小节

The header length is the number of 32-bit words in the header, including any options. Since this is a 4-bit field, it limits the header to 60 bytes

有这样一段话。按照这段话我计算下来,应该是 (2^4 * 32 )/8 = 64 bytes.

为什么作者说是 60 bytes?

还有一个问题:接下来作者说:

The normal value of this field (when no options are present) is 5.

正常值是5? 那个上方的图片那个域不是只有4位么?比较无法理解,整个的一段原文在这里:

The header length is the number of 32-bit words in the header, including any options. Since this is a 4-bit field, it limits the header to 60 bytes. In Chapter 8 we'll see that this limitation makes some of the options, such as the record route option, useless today. The normal value of this field (when no options are present) is 5.



图片在楼下补



谢谢大家

------解决方案--------------------
图不是很清楚了么,从上到下7行,通常只用前5行,也就是The normal value of this field (when no options are present) is 5.的意思。
一行32bit,也就是4个字节,4X5 = 20 byte.
他说的header length是指第一行的第二个区域。4个字节代表整个ip头长,最大是1111,就是10进制的15,因为一行是4个字节,所以最多只能有15 * 4 = 60 个字节。
------解决方案--------------------
请注意 bit 和 bytes 的区别
bit 二进制位
bytes 字节
1 bytes =  8 bit
관련 라벨:
원천:php.cn
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿