Subject: TCP non-ack problem after window opens
To: None <tech-net@netbsd.org>
From: Curt Sampson <cjs@cynic.net>
List: tech-net
Date: 12/30/1999 14:07:49
I'm having a bit of a strange problem with TCP connections across
a modem today. One of the more bizarre things about it is that I
wasn't having it yesterday on the same system, and I haven't done
so much as rebooted since then. I have fiddled with the rfc1323
setting, but I get the problem with it turned off (and as bad or
perhaps worse when it's on), so I don't think it's that problem.

Basically, I'm often not acking full size segments (even with the
push bit set) until after a long delay and/or a few retries.  After
a few retries it does eventually, ack and the transfer staggers
along a bit.

Here's a typical example, in all its glory. It's from a tcpdump on
`me' on the ppp interface.

14:02:07.639631 me > remote: S [tcp sum ok] 438627232:438627232(0) win 16384 <mss 1460> (ttl 63, id 14678)
14:02:07.759229 remote > me: S [tcp sum ok] 1233910559:1233910559(0) ack 438627233 win 64240 <mss 1460> (DF) (ttl 246, id 22593)
14:02:07.759808 me > remote: . [tcp sum ok] ack 1 win 17520 (ttl 63, id 14679)
14:02:07.760873 me > remote: P 1:115(114) ack 1 win 17520 (ttl 63, id 14680)
14:02:07.942217 remote > me: . [tcp sum ok] ack 115 win 64240 (DF) (ttl 246, id 22594)
14:02:08.361847 remote > me: P 1:1461(1460) ack 115 win 64240 (DF) (ttl 246, id 22595)
14:02:11.872368 remote > me: . 1:1461(1460) ack 115 win 64240 (DF) (ttl 246, id 22596)
14:02:18.287393 remote > me: . 1:1461(1460) ack 115 win 64240 (DF) (ttl 246, id 22597)
14:02:18.472772 me > remote: . [tcp sum ok] ack 1461 win 17520 (ttl 63, id 14684)
14:02:18.962560 remote > me: . 1461:2921(1460) ack 115 win 64240 (DF) (ttl 246, id 22598)
14:02:19.072770 me > remote: . [tcp sum ok] ack 2921 win 17520 (ttl 63, id 14685)
14:02:19.345351 remote > me: . 2921:4381(1460) ack 115 win 64240 (DF) (ttl 246, id 22599)
14:02:19.727893 remote > me: . 4381:5841(1460) ack 115 win 64240 (DF) (ttl 246, id 22600)
14:02:19.952608 remote > me: F 5841:6656(815) ack 115 win 64240 (DF) (ttl 246, id 22601)
14:02:19.953912 me > remote: . [tcp sum ok] ack 2921 win 17520 (ttl 63, id 14687)
14:02:23.181322 remote > me: P 2921:4381(1460) ack 115 win 64240 (DF) (ttl 246, id 22602)
14:02:30.427781 remote > me: P 2921:4381(1460) ack 115 win 64240 (DF) (ttl 246, id 22603)
14:02:30.429870 me > remote: . [tcp sum ok] ack 4381 win 16060 (ttl 63, id 14690)
14:02:30.917734 remote > me: P 4381:5841(1460) ack 115 win 64240 (DF) (ttl 246, id 22604)
14:02:31.142186 remote > me: FP 5841:6656(815) ack 115 win 64240 (DF) (ttl 246, id 22605)
14:02:31.143494 me > remote: . [tcp sum ok] ack 4381 win 17520 (ttl 63, id 14691)
14:02:45.409448 remote > me: P 4381:5841(1460) ack 115 win 64240 (DF) (ttl 246, id 22606)
14:02:45.411444 me > remote: . [tcp sum ok] ack 6657 win 15245 (ttl 63, id 14693)
14:02:45.411982 me > remote: F [tcp sum ok] 115:115(0) ack 6657 win 17520 (ttl 63, id 14694)
14:02:45.525863 remote > me: . [tcp sum ok] ack 116 win 64240 (DF) (ttl 246, id 22607)

Thoughts?

cjs 
-- 
Curt Sampson  <cjs@cynic.net>   917 532 4208   De gustibus, aut bene aut nihil.
The most widely ported operating system in the world: http://www.netbsd.org