我正在监视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 段?如果不是,那是什么意思?
该TS
值是一个 TCP 时间戳;它有助于确定数据包的发送顺序——参见https://en.wikipedia.org/wiki/Transmission_Control_Protocol#TCP_segment_structure
它没有严格区分 TCP 段;这是在.之后的序列号的工作seq
。