TCP Timestamps Option 由四部分构成:类别(kind)、长度(Length)、发送方时间戳(TS value)、回显时间戳(TS Echo Reply)。时间戳选项类别(kind)的值等于 8,用来与其它类型的选项区分。长度(length)等于 10。两个时间戳相关的选项都是 4 字节。
A TCP must implement all options.
Currently defined options include (kind indicated in octal):
Kind Length Meaning
---- ------ -------
0 - End of option list.
1 - No-Operation.
2 4 Maximum Segment Size.
每个选项的开始是1字节的kind字段,说明选项的类型。
Kind=0:选项表结束(1字节)
Kind=1:无操作(1字节)
Kind=2:最大报文段长度(4字节)
Kind=3:窗口扩大因子(4字节)
Kind=8:时间戳(10字节)
②. No-Operation (NOP):kind = 1,no operation,设计该字段主要是用来明确不同可选项之间的分割点,假设有多个可选项的情况下,一般用该可选项来分割下,因此在一个数据包中出现多个nop 也不奇怪的。注意 No-Operation 可选项没有长度和值,只有一个类型占一个字节,也就是有涉及到该可选项解析只需解析一个字节,后面可能是另一个可选项的类型