2015-09-13 2 views
-2

Я пишу простой TCP-сервер и клиент самостоятельно. После того, как я запускаю их на локальном хосте, я всегда могу захватить «Dup ACK» Wireshark.Неожиданный TCP 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 
+0

Это обновление размера окна приема от 408224 до 408288. – EJP

+0

Извините, я не получил его. В моем понимании, 2145, 2152 и 2153 достаточно для tcp четырех волн. то почему появляются 2146 и 2147? – user3754786

+0

Я не знаю, что вы подразумеваете под «TCP four wave», но дубликаты ACK обновляют размер окна приема, как я уже сказал. – EJP

ответ

0

Duplicate ACK абсолютно нормальное поведение, поскольку приемник обрабатывает больше данных и обновляет размер своего окна. В основном приемник говорит своему сверстнику: «Эй, я знаю, что вы не прислали мне ничего нового, но когда у вас есть, у меня теперь больше свободного места, поэтому вы можете отправить мне до 408288 байт».

Смежные вопросы