我有时会发现来自客户端超时的请求。我使用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。
这是在服务器上捕获的。
答案 0 :(得分:0)
如果服务器的连接积压已满,SYN将不会收到SYN / ACK回复。