意外的TCP Dup ACK

时间:2015-09-13 11:48:19

标签: tcp

我自己写了一个简单的TCP服务器和客户端。在localhost上运行它们之后,我总能通过Wireshark捕获“Dup ACK”。

2147是Dup ACK。服务器端口是12093。

有谁能告诉我为什么这个Dup Ack会发生?

690 54.831381000    127.0.0.1   127.0.0.1   TCP 68  62301→12093 [SYN] Seq=0 Win=65535 Len=0 MSS=16344 WS=32 TSval=418815085 TSecr=0 SACK_PERM=1
691 54.831549000    127.0.0.1   127.0.0.1   TCP 68  12093→62301 [SYN, ACK] Seq=0 Ack=1 Win=65535 Len=0 MSS=16344 WS=32 TSval=418815085 TSecr=418815085 SACK_PERM=1
692 54.831558000    127.0.0.1   127.0.0.1   TCP 56  62301→12093 [ACK] Seq=1 Ack=1 Win=408288 Len=0 TSval=418815085 TSecr=418815085
693 54.831564000    127.0.0.1   127.0.0.1   TCP 56  [TCP Window Update] 12093→62301 [ACK] Seq=1 Ack=1 Win=408288 Len=0 TSval=418815085 TSecr=418815085
694 54.831652000    127.0.0.1   127.0.0.1   TCP 112 62301→12093 [PSH, ACK] Seq=1 Ack=1 Win=408288 Len=56 TSval=418815085 TSecr=418815085
695 54.831663000    127.0.0.1   127.0.0.1   TCP 56  12093→62301 [ACK] Seq=1 Ack=57 Win=408224 Len=0 TSval=418815085 TSecr=418815085
2140    60.517240000    127.0.0.1   127.0.0.1   TCP 59  12093→62301 [PSH, ACK] Seq=1 Ack=57 Win=408224 Len=3 TSval=418820717 TSecr=418815085
2142    60.517260000    127.0.0.1   127.0.0.1   TCP 56  62301→12093 [ACK] Seq=57 Ack=4 Win=408288 Len=0 TSval=418820717 TSecr=418820717
2145    60.517377000    127.0.0.1   127.0.0.1   TCP 56  62301→12093 [FIN, ACK] Seq=57 Ack=4 Win=408288 Len=0 TSval=418820717 TSecr=418820717
"2146","60.517394000","127.0.0.1","127.0.0.1","TCP","56","12093→62301 [ACK] Seq=4 Ack=58 Win=408224 Len=0 TSval=418820717 TSecr=418820717"
2147    60.517401000    127.0.0.1   127.0.0.1   TCP 56  [TCP Dup ACK 2145#1] 62301→12093 [ACK] Seq=58 Ack=4 Win=408288 Len=0 TSval=418820717 TSecr=418820717
2152    60.517682000    127.0.0.1   127.0.0.1   TCP 56  12093→62301 [FIN, ACK] Seq=4 Ack=58 Win=408224 Len=0 TSval=418820717 TSecr=418820717
2153    60.517704000    127.0.0.1   127.0.0.1   TCP 56  62301→12093 [ACK] Seq=58 Ack=5 Win=408288 Len=0 TSval=418820717 TSecr=418820717

1 个答案:

答案 0 :(得分:0)

重复的ACK是完全正常的行为,因为接收器处理更多数据并更新其窗口大小。基本上接收器对同行说:“嘿,我知道你没有给我发新的东西,但是当你这么做的时候我现在有更多的空间,所以请随意发送给我408288字节。”