|
From: | east3 |
Subject: | Re: [lwip-users] Slow ACK for TCP data |
Date: | Sat, 1 Feb 2014 12:03:26 +0800 |
Maybe you need to check your tcp_fast_tmr and tcp_slow_tmr. They should be
executed once every 250ms and 500ms, respectively.
east3
From: Mark
Dowdy
Date: 2014-01-30 09:02
To: address@hidden
Subject: [lwip-users] Slow ACK for TCP data We’re using lwIP in raw mode on a MicroBlaze and are seeing
instances of very slow ACK’s. Other than disabling UDP, our configuration
parameters were unchanged from the ‘standard’ installation. Grasping at straws
we tried setting TCP_WND to 8192 and TCP_MSS to 1450 but it didn’t help. Any
idea what could be going on or how we could tune the stack to speed things up? A
WireShark trace is shown below. 192.168.81.1 is our client, 192.168.86.1 is the MicroBlaze
device running lwIP. Data is sent from the client to the server in frame 10 and
the corresponding ACK arrives over a second later in frame 12. No.
Time
Source
Destination Protocol
Info 7 5.557890
192.168.81.1
192.168.86.1
TCP 65463 > 11002 [SYN] Seq=0 Win=32768 Len=0
MSS=1460 WS=0 SACK_PERM=1 TSV=0 TSER=0 8 5.560238
192.168.86.1
192.168.81.1
TCP 11002 > 65463 [SYN, ACK] Seq=0 Ack=1
Win=8192 Len=0 MSS=1450 9 5.560241
192.168.81.1
192.168.86.1
TCP 65463 > 11002 [ACK] Seq=1 Ack=1 Win=33580
Len=0 10 5.560244
192.168.81.1
192.168.86.1
TCP 65463 > 11002 [PSH, ACK] Seq=1 Ack=1
Win=33580 Len=1 11 6.579581
192.168.81.1
192.168.86.1
TCP [TCP Keep-Alive] 65463 > 11002 [PSH, ACK]
Seq=1 Ack=1 12 6.581536
192.168.86.1
192.168.81.1
TCP 11002 > 65463 [ACK] Seq=1 Ack=2 Win=8192
Len=0 13 6.636343
192.168.86.1
192.168.81.1
TCP 11002 > 65463 [PSH, ACK] Seq=1 Ack=2
Win=8192 Len=2 14 6.638403
192.168.86.1
192.168.81.1
TCP [TCP Keep-Alive ACK] 11002 > 65463 [ACK]
Seq=3 Ack=2 Win=8192 Len=0 15 6.829526
192.168.81.1
192.168.86.1
TCP 65463 > 11002 [ACK] Seq=2 Ack=3 Win=33580
Len=0 16 7.637363
192.168.81.1
192.168.86.1
TCP 65463 > 11002 [FIN, ACK] Seq=2 Ack=3
Win=33580 Len=0 17 7.639507
192.168.86.1
192.168.81.1
TCP 11002 > 65463 [FIN, ACK] Seq=3 Ack=3
Win=8191 Len=0 18 7.639511
192.168.81.1
192.168.86.1
TCP 65463 > 11002 [ACK] Seq=3 Ack=4 Win=33580
Len=0 Interestingly, at least for us, if we do back-to-back server
accesses without closing the connection, the slow ACK is only there for the
first exchange. Here’s the WireShark trace for that scenario. Slow ACK for frame
304, ‘fast’ ACK for frame 310. No.
Time
Source
Destination Protocol
Info 301 1237.342429
192.168.81.1
192.168.86.1
TCP 65451 > 11002 [SYN] Seq=0 Win=32768 Len=0
MSS=1460 WS=0 SACK_PERM=1 TSV=0 TSER=0 302 1237.344687
192.168.86.1
192.168.81.1
TCP 11002 > 65451 [SYN, ACK] Seq=0 Ack=1
Win=8192 Len=0 MSS=1450 303 1237.344691
192.168.81.1
192.168.86.1
TCP 65451 > 11002 [ACK] Seq=1 Ack=1 Win=33580
Len=0 304 1237.344694
192.168.81.1
192.168.86.1
TCP 65451 > 11002 [PSH, ACK] Seq=1 Ack=1
Win=33580 Len=1 305 1238.361179
192.168.81.1
192.168.86.1
TCP [TCP Keep-Alive] 65451 > 11002 [PSH, ACK]
Seq=1 Ack=1 Win=33580 Len=1 306 1238.363151
192.168.86.1
192.168.81.1
TCP 11002 > 65451 [ACK] Seq=1 Ack=2 Win=8192
Len=0 307 1238.417927
192.168.86.1
192.168.81.1
TCP
11002 > 65451 [PSH, ACK] Seq=1 Ack=2 Win=8192 Len=2 308 1238.419985
192.168.86.1
192.168.81.1
TCP [TCP Keep-Alive ACK] 11002 > 65451 [ACK]
Seq=3 Ack=2 Win=8192 Len=0 309 1238.611125
192.168.81.1
192.168.86.1
TCP 65451 > 11002 [ACK] Seq=2 Ack=3 Win=33580
Len=0 310 1239.418975
192.168.81.1
192.168.86.1
TCP 65451 > 11002 [PSH, ACK] Seq=2 Ack=3
Win=33580 Len=1 311 1239.420951
192.168.86.1
192.168.81.1
TCP 11002 > 65451 [ACK] Seq=3 Ack=3 Win=8192
Len=0 312 1239.475760
192.168.86.1
192.168.81.1
TCP 11002 > 65451 [PSH, ACK] Seq=3 Ack=3
Win=8192 Len=2 313 1239.710900
192.168.81.1
192.168.86.1
TCP 65451 > 11002 [ACK] Seq=3 Ack=5 Win=33580
Len=0 314 1240.476744
192.168.81.1
192.168.86.1
TCP 65451 > 11002 [FIN, ACK] Seq=3 Ack=5
Win=33580 Len=0 315 1240.478900
192.168.86.1
192.168.81.1
TCP 11002 > 65451 [FIN, ACK] Seq=5 Ack=4
Win=8191 Len=0 316 1240.478904
192.168.81.1
192.168.86.1
TCP 65451 > 11002 [ACK] Seq=4 Ack=6 Win=33580
Len=0 Any insights would be greatly appreciated.
Thanks. |
[Prev in Thread] | Current Thread | [Next in Thread] |