来自“TCP / IP Illustrated,第1卷协议”17.TCP:传输控制协议
标头长度以32位字给出标头的长度。这个 是必需的,因为options字段的长度是可变的。同 在4位字段中,TCP限制为60字节的标头。没有选择, 但是,正常大小是20个字节。
为什么TCP仅限于60字节的黑客?
在我看来
1)标题长度以32位字给出标题的长度。 32位表示4字节。
2)4位字段可以得到16(2 ^ 4)。
然后是4 * 16,我们得到64而不是60字节。 我错了吗?
答案 0 :(得分:1)
在this TCP RFC中,"数据偏移"部分指定" TCP标头中32位字的数量。"这部分有4位。就像@Damien_The_Unbeliever所说的那样,4位存储的最高数字是15而不是16。
最高数字是1111 = 2 ^ 0 + 2 ^ 1 + 2 ^ 2 + 2 ^ 3 = 15.
15 * 32位= TCP标头中最大480位
480比特/ 8 = TCP报头中最多60个字节