tcpdump 输出中的“TS val”是什么意思?

xyw*_*ang 7 tcpdump

我正在监视compute:42967和 controller:5672上的两个进程之间的网络活动(controller.amqp)。它compute.42967用三个 SYN(它们具有相同的序列号)捕获,而接收器只确认第三个。

这是我得到的:

18:53:46.777127 IP compute.42967 > controller.amqp: Flags [S], seq 3580103820, win 14600, options [mss 1460,sackOK,TS val 101569289 ecr 0,nop,wscale 7], length 0
18:53:47.779406 IP compute.42967 > controller.amqp: Flags [S], seq 3580103820, win 14600, options [mss 1460,sackOK,TS val 101570292 ecr 0,nop,wscale 7], length 0
18:53:49.783411 IP compute.42967 > controller.amqp: Flags [S], seq 3580103820, win 14600, options [mss 1460,sackOK,TS val 101572296 ecr 0,nop,wscale 7], length 0
18:53:52.786097 IP controller.amqp > compute.42967: Flags [S.], seq 796283360, ack 3580103821, win 14480, options [mss 1460,sackOK,TS val 97164912 ecr 101572296,nop,wscale 7], length 0
18:53:52.786139 IP compute.42967 > controller.amqp: Flags [.], ack 1, win 115, options [nop,nop,TS val 101575298 ecr 97164912], length 0
18:54:02.788808 IP controller.amqp > compute.42967: Flags [R.], seq 1, ack 1, win 114, options [nop,nop,TS val 97174914 ecr 101575298], length 0
Run Code Online (Sandbox Code Playgroud)

三个SYN的区别在于val XXXXX,在括号中,如

[mss 1460,sackOK,TS val 101569289 ecr 0,nop,wscale 7]
Run Code Online (Sandbox Code Playgroud)

是否val区分不同的 TCP 段?如果不是,那是什么意思?

Jef*_*ler 7

TS值是一个 TCP 时间戳;它有助于确定数据包的发送顺序——参见https://en.wikipedia.org/wiki/Transmission_Control_Protocol#TCP_segment_structure

它没有严格区分 TCP 段;这是在.之后的序列号的工作seq