从客户端收到SYN后,为什么不切断发送SYN / ACK?

时间:2017-08-25 08:07:07

标签: tcp

我有时会发现来自客户端超时的请求。我使用tcpdump来捕获一些特殊的tcp包,如下所示。似乎没有丢失包裹。为什么服务器在收到第一个SYN后没有回复客户端?

No.    Time     Src  Dst  Protocol Length   Info
 1   0.000000    C    S     TCP      66     46767→10660 [SYN] Seq=0 Win=14600 Len=0 MSS=1460 SACK_PERM=1 WS=128
 2   0.996822    C    S     TCP      66     [TCP Retransmission] 46767→10660 [SYN] Seq=0 Win=14600 Len=0 MSS=1460 SACK_PERM=1 WS=128
 3   0.996836    S    C     TCP      66     10660→46767 [SYN, ACK] Seq=0 Ack=1 Win=14600 Len=0 MSS=1460 SACK_PERM=1 WS=128
 4   0.997117    C    S     TCP      54     46767→10660 [ACK] Seq=1 Ack=1 Win=14720 Len=0
 5   0.997127    C    S     TCP      500    46767→10660 [PSH, ACK] Seq=1 Ack=1 Win=14720 Len=446
 6   0.997130    S    C     TCP      54     10660→46767 [ACK] Seq=1 Ack=447 Win=15744 Len=0
 7   1.017421    S    C     TCP      230    10660→46767 [PSH, ACK] Seq=1 Ack=447 Win=15744 Len=176
 8   1.017681    C    S     TCP      54     46767→10660 [ACK] Seq=447 Ack=177 Win=15744 Len=0
 9   1.017686    C    S     TCP      54     46767→10660 [FIN, ACK] Seq=447 Ack=177 Win=15744 Len=0
10   1.020762    S    C     TCP      54     10660→46767 [FIN, ACK] Seq=177 Ack=448 Win=15744 Len=0
11   1.021486    C    S     TCP      54     46767→10660 [ACK] Seq=448 Ack=178 Win=15744 Len=0

客户端软件包不会记录任何tcp时间戳,因此服务器无需将tcp_timestamp设置为0。

这是在服务器上捕获的。

1 个答案:

答案 0 :(得分:0)

如果服务器的连接积压已满,SYN将不会收到SYN / ACK回复。