PPP and 1.3.83 - even WORSE!

David Monro (davidm@gh.cs.usyd.edu.au)
Thu, 4 Apr 1996 02:50:03 +1000 (EST)


I just tried upgrading to 1.3.83, and tried a couple of transfers. On a
14.4k link I should (and used to) get 1.5 kB/s. With 1.3.82 I get 0.9,
with 1.3.83 I get 0.23! (This is on a 68Kb file). I think we are going
to see a storm of complaints about this one ;-(

Looking with tcpdump again, it looks really bizzare - seems that there
are all these extra copies and acks for packets very early in the ftp
transfers I tried. Strange.

Atatched at the bottom are the outputs _from both ends_ for typing 'df'
into a shell on the solaris box, which produces 75 lines of output.
Looking at these, something has changed. Instead of getting duplicate
packets, the solaris box seems to back off and try again after a little
while. For example, note the first large packet from staff to fuzzbox.
This one covers data in the range 1241212962:1241214405. Several packets
later, it sends one covering from 1241212962:1241214422, which starts at
the same place, but finishes slightly later. Very strange. Anyway its
nearly 3am and I am not a tcp wizard, so I will leave the parsing of the
output of tcpdump/snoop to someone better qualified.

Enjoy,
David

Fuzzbox is the local linux box, staff the remote Solaris box. Packets
flow as follows:
ethernet
modem rlogin ethernet
fuzzbox<--------->cisco<-------->famine<---------->staff
linux terminal NetBSD/sun3 Solaris
1.3.83 sever remote pppd 2.5

(actually there are a couple of ethernet switches in the ethernet
links, but that shouldn't make any difference)

With older kernels this does get 1.5+Kb/s, so don't blame the NetBSD box :-)

>From the fuzzbox end:

03:16:00.909029 fuzzbox.1023 > staff.login: P 4112434173:4112434174(1) ack 1241212961 win 29471 (DF) [tos 0x10]
03:16:01.199029 staff.login > fuzzbox.1023: P 1241212961:1241212962(1) ack 4112434174 win 8760 (DF)
03:16:01.199029 fuzzbox.1023 > staff.login: P 4112434174:4112434176(2) ack 1241212961 win 29471 (DF) [tos 0x10]
03:16:01.679029 fuzzbox.1023 > staff.login: . ack 1241212962 win 29470 [tos 0x10]
03:16:02.249029 fuzzbox.1023 > staff.login: P 4112434174:4112434176(2) ack 1241212962 win 29470 (DF) [tos 0x10]
03:16:03.279029 staff.login > fuzzbox.1023: . 1241212962:1241214405(1443) ack 4112434176 win 8760 (DF)
03:16:03.359029 staff.login > fuzzbox.1023: P 1241214405:1241214477(72) ack 4112434176 win 8760 (DF)
03:16:03.659029 fuzzbox.1023 > staff.login: . ack 1241214477 win 29415 [tos 0x10]
03:16:04.859029 staff.login > fuzzbox.1023: . 1241214477:1241215926(1449) ack 4112434176 win 8760 (DF)
03:16:04.949029 staff.login > fuzzbox.1023: P 1241215926:1241215998(72) ack 4112434176 win 8760 (DF)
03:16:05.259029 fuzzbox.1023 > staff.login: . ack 1241215998 win 29354 [tos 0x10]
03:16:06.459029 staff.login > fuzzbox.1023: . 1241215998:1241217452(1454) ack 4112434176 win 8760 (DF)
03:16:06.539029 staff.login > fuzzbox.1023: P 1241217452:1241217524(72) ack 4112434176 win 8760 (DF)
03:16:06.559029 staff.login > fuzzbox.1023: . ack 4112434176 win 8760 (DF)
03:16:08.119029 staff.login > fuzzbox.1023: . 1241212962:1241214422(1460) ack 4112434176 win 8760 (DF)
03:16:08.119029 fuzzbox.1023 > staff.login: . ack 1241217524 win 29288 [tos 0x10]
03:16:09.629029 staff.login > fuzzbox.1023: . 1241214477:1241215937(1460) ack 4112434176 win 8760 (DF)
03:16:09.629029 fuzzbox.1023 > staff.login: . ack 1241217524 win 29288 [tos 0x10]
03:16:11.189029 staff.login > fuzzbox.1023: . 1241214477:1241215937(1460) ack 4112434176 win 8760 (DF)
03:16:11.189029 fuzzbox.1023 > staff.login: . ack 1241217524 win 29288 [tos 0x10]
03:16:12.789006 staff.login > fuzzbox.1023: . 1241215998:1241217458(1460) ack 4112434176 win 8760 (DF)
03:16:12.789006 fuzzbox.1023 > staff.login: . ack 1241217524 win 29288 [tos 0x10]
03:16:14.348960 staff.login > fuzzbox.1023: . 1241215998:1241217458(1460) ack 4112434176 win 8760 (DF)
03:16:14.348960 fuzzbox.1023 > staff.login: . ack 1241217524 win 29288 [tos 0x10]
03:16:15.288933 staff.login > fuzzbox.1023: P 1241217524:1241218414(890) ack 4112434176 win 8760 (DF)
03:16:15.748920 fuzzbox.1023 > staff.login: . ack 1241218414 win 28398 [tos 0x10]
03:16:16.248905 staff.login > fuzzbox.1023: P 1241217524:1241218414(890) ack 4112434176 win 8760 (DF)
03:16:16.248905 fuzzbox.1023 > staff.login: . ack 1241218414 win 28398 [tos 0x10]
03:16:16.708892 fuzzbox.1023 > staff.login: . ack 1241218414 win 28398 [tos 0x10]
03:16:17.208877 staff.login > fuzzbox.1023: P 1241217524:1241218414(890) ack 4112434176 win 8760 (DF)
03:16:17.208877 fuzzbox.1023 > staff.login: . ack 1241218414 win 28398 [tos 0x10]
03:16:17.668864 fuzzbox.1023 > staff.login: . ack 1241218414 win 28398 [tos 0x10]
03:16:18.198849 staff.login > fuzzbox.1023: P 1241217524:1241218414(890) ack 4112434176 win 8760 (DF)
03:16:18.198849 fuzzbox.1023 > staff.login: . ack 1241218414 win 28398 [tos 0x10]
03:16:18.658836 fuzzbox.1023 > staff.login: . ack 1241218414 win 28398 [tos 0x10]
03:16:19.158821 staff.login > fuzzbox.1023: P 1241217524:1241218414(890) ack 4112434176 win 8760 (DF)
03:16:19.158821 fuzzbox.1023 > staff.login: . ack 1241218414 win 28398 [tos 0x10]
03:16:19.618808 fuzzbox.1023 > staff.login: . ack 1241218414 win 28398 [tos 0x10]

>From the remote end:
________________________________
fuzzbox -> staff ETHER Type=0800 (IP), size = 60 bytes
fuzzbox -> staff IP D=129.78.8.1 S=129.78.97.193 LEN=41, ID=18257
fuzzbox -> staff TCP D=513 S=1023 Ack=1241212961 Seq=4112434173 Len=1 Win=29471
fuzzbox -> staff RLOGIN C port=1023 d
________________________________
staff -> fuzzbox ETHER Type=0800 (IP), size = 55 bytes
staff -> fuzzbox IP D=129.78.97.193 S=129.78.8.1 LEN=41, ID=40072
staff -> fuzzbox TCP D=1023 S=513 Ack=4112434174 Seq=1241212961 Len=1 Win=8760
staff -> fuzzbox RLOGIN R port=1023 d
________________________________
fuzzbox -> staff ETHER Type=0800 (IP), size = 60 bytes
fuzzbox -> staff IP D=129.78.8.1 S=129.78.97.193 LEN=42, ID=18263
fuzzbox -> staff TCP D=513 S=1023 Ack=1241212961 Seq=4112434174 Len=2 Win=29471
fuzzbox -> staff RLOGIN C port=1023
________________________________
staff -> fuzzbox ETHER Type=0800 (IP), size = 1497 bytes
staff -> fuzzbox IP D=129.78.97.193 S=129.78.8.1 LEN=1483, ID=40073
staff -> fuzzbox TCP D=1023 S=513 Ack=4112434176 Seq=1241212962 Len=1443 Win=8760
staff -> fuzzbox RLOGIN R port=1023 f\r\n/
________________________________
staff -> fuzzbox ETHER Type=0800 (IP), size = 126 bytes
staff -> fuzzbox IP D=129.78.97.193 S=129.78.8.1 LEN=112, ID=40074
staff -> fuzzbox TCP D=1023 S=513 Ack=4112434176 Seq=1241214405 Len=72 Win=8760
staff -> fuzzbox RLOGIN R port=1023 /u7 (
________________________________
staff -> fuzzbox ETHER Type=0800 (IP), size = 1503 bytes
staff -> fuzzbox IP D=129.78.97.193 S=129.78.8.1 LEN=1489, ID=40075
staff -> fuzzbox TCP D=1023 S=513 Ack=4112434176 Seq=1241214477 Len=1449 Win=8760
staff -> fuzzbox RLOGIN R port=1023 /u8 (
________________________________
staff -> fuzzbox ETHER Type=0800 (IP), size = 126 bytes
staff -> fuzzbox IP D=129.78.97.193 S=129.78.8.1 LEN=112, ID=40076
staff -> fuzzbox TCP D=1023 S=513 Ack=4112434176 Seq=1241215926 Len=72 Win=8760
staff -> fuzzbox RLOGIN R port=1023 /n/milawa/u1 (
________________________________
staff -> fuzzbox ETHER Type=0800 (IP), size = 1508 bytes
staff -> fuzzbox IP D=129.78.97.193 S=129.78.8.1 LEN=1494, ID=40077
staff -> fuzzbox TCP D=1023 S=513 Ack=4112434176 Seq=1241215998 Len=1454 Win=8760
staff -> fuzzbox RLOGIN R port=1023 /n/milawa/u2 (
________________________________
staff -> fuzzbox ETHER Type=0800 (IP), size = 126 bytes
staff -> fuzzbox IP D=129.78.97.193 S=129.78.8.1 LEN=112, ID=40078
staff -> fuzzbox TCP D=1023 S=513 Ack=4112434176 Seq=1241217452 Len=72 Win=8760
staff -> fuzzbox RLOGIN R port=1023 /n/ml3 (
________________________________
fuzzbox -> staff ETHER Type=0800 (IP), size = 60 bytes
fuzzbox -> staff IP D=129.78.8.1 S=129.78.97.193 LEN=40, ID=18265
fuzzbox -> staff TCP D=513 S=1023 Ack=1241212962 Seq=4112434176 Len=0 Win=29470
fuzzbox -> staff RLOGIN C port=1023
________________________________
fuzzbox -> staff ETHER Type=0800 (IP), size = 60 bytes
fuzzbox -> staff IP D=129.78.8.1 S=129.78.97.193 LEN=42, ID=18266
fuzzbox -> staff TCP D=513 S=1023 Ack=1241212962 Seq=4112434174 Len=2 Win=29470
fuzzbox -> staff RLOGIN C port=1023
________________________________
staff -> fuzzbox ETHER Type=0800 (IP), size = 54 bytes
staff -> fuzzbox IP D=129.78.97.193 S=129.78.8.1 LEN=40, ID=40079
staff -> fuzzbox TCP D=1023 S=513 Ack=4112434176 Seq=1241217524 Len=0 Win=8760
staff -> fuzzbox RLOGIN R port=1023
________________________________
staff -> fuzzbox ETHER Type=0800 (IP), size = 1514 bytes
staff -> fuzzbox IP D=129.78.97.193 S=129.78.8.1 LEN=1500, ID=40080
staff -> fuzzbox TCP D=1023 S=513 Ack=4112434176 Seq=1241212962 Len=1460 Win=8760
staff -> fuzzbox RLOGIN R port=1023 f\r\n/
________________________________
fuzzbox -> staff ETHER Type=0800 (IP), size = 60 bytes
fuzzbox -> staff IP D=129.78.8.1 S=129.78.97.193 LEN=40, ID=18277
fuzzbox -> staff TCP D=513 S=1023 Ack=1241214477 Seq=4112434176 Len=0 Win=29415
fuzzbox -> staff RLOGIN C port=1023
________________________________
staff -> fuzzbox ETHER Type=0800 (IP), size = 1514 bytes
staff -> fuzzbox IP D=129.78.97.193 S=129.78.8.1 LEN=1500, ID=40081
staff -> fuzzbox TCP D=1023 S=513 Ack=4112434176 Seq=1241214477 Len=1460 Win=8760
staff -> fuzzbox RLOGIN R port=1023 /u8 (
________________________________
staff -> fuzzbox ETHER Type=0800 (IP), size = 1514 bytes
staff -> fuzzbox IP D=129.78.97.193 S=129.78.8.1 LEN=1500, ID=40082
staff -> fuzzbox TCP D=1023 S=513 Ack=4112434176 Seq=1241214477 Len=1460 Win=8760
staff -> fuzzbox RLOGIN R port=1023 /u8 (
________________________________
fuzzbox -> staff ETHER Type=0800 (IP), size = 60 bytes
fuzzbox -> staff IP D=129.78.8.1 S=129.78.97.193 LEN=40, ID=18288
fuzzbox -> staff TCP D=513 S=1023 Ack=1241215998 Seq=4112434176 Len=0 Win=29354
fuzzbox -> staff RLOGIN C port=1023
________________________________
staff -> fuzzbox ETHER Type=0800 (IP), size = 1514 bytes
staff -> fuzzbox IP D=129.78.97.193 S=129.78.8.1 LEN=1500, ID=40084
staff -> fuzzbox TCP D=1023 S=513 Ack=4112434176 Seq=1241215998 Len=1460 Win=8760
staff -> fuzzbox RLOGIN R port=1023 /n/milawa/u2 (
________________________________
staff -> fuzzbox ETHER Type=0800 (IP), size = 1514 bytes
staff -> fuzzbox IP D=129.78.97.193 S=129.78.8.1 LEN=1500, ID=40085
staff -> fuzzbox TCP D=1023 S=513 Ack=4112434176 Seq=1241215998 Len=1460 Win=8760
staff -> fuzzbox RLOGIN R port=1023 /n/milawa/u2 (
________________________________
fuzzbox -> staff ETHER Type=0800 (IP), size = 60 bytes
fuzzbox -> staff IP D=129.78.8.1 S=129.78.97.193 LEN=40, ID=18298
fuzzbox -> staff TCP D=513 S=1023 Ack=1241217524 Seq=4112434176 Len=0 Win=29288
fuzzbox -> staff RLOGIN C port=1023
________________________________
staff -> fuzzbox ETHER Type=0800 (IP), size = 944 bytes
staff -> fuzzbox IP D=129.78.97.193 S=129.78.8.1 LEN=930, ID=40086
staff -> fuzzbox TCP D=1023 S=513 Ack=4112434176 Seq=1241217524 Len=890 Win=8760
staff -> fuzzbox RLOGIN R port=1023 /n/ml3/usr (
________________________________
staff -> fuzzbox ETHER Type=0800 (IP), size = 944 bytes
staff -> fuzzbox IP D=129.78.97.193 S=129.78.8.1 LEN=930, ID=40087
staff -> fuzzbox TCP D=1023 S=513 Ack=4112434176 Seq=1241217524 Len=890 Win=8760
staff -> fuzzbox RLOGIN R port=1023 /n/ml3/usr (
________________________________
fuzzbox -> staff ETHER Type=0800 (IP), size = 60 bytes
fuzzbox -> staff IP D=129.78.8.1 S=129.78.97.193 LEN=40, ID=18299
fuzzbox -> staff TCP D=513 S=1023 Ack=1241217524 Seq=4112434176 Len=0 Win=29288
fuzzbox -> staff RLOGIN C port=1023
________________________________
staff -> fuzzbox ETHER Type=0800 (IP), size = 944 bytes
staff -> fuzzbox IP D=129.78.97.193 S=129.78.8.1 LEN=930, ID=40088
staff -> fuzzbox TCP D=1023 S=513 Ack=4112434176 Seq=1241217524 Len=890 Win=8760
staff -> fuzzbox RLOGIN R port=1023 /n/ml3/usr (
________________________________
fuzzbox -> staff ETHER Type=0800 (IP), size = 60 bytes
fuzzbox -> staff IP D=129.78.8.1 S=129.78.97.193 LEN=40, ID=18302
fuzzbox -> staff TCP D=513 S=1023 Ack=1241217524 Seq=4112434176 Len=0 Win=29288
fuzzbox -> staff RLOGIN C port=1023
________________________________
fuzzbox -> staff ETHER Type=0800 (IP), size = 60 bytes
fuzzbox -> staff IP D=129.78.8.1 S=129.78.97.193 LEN=40, ID=18303
fuzzbox -> staff TCP D=513 S=1023 Ack=1241217524 Seq=4112434176 Len=0 Win=29288
fuzzbox -> staff RLOGIN C port=1023
________________________________
staff -> fuzzbox ETHER Type=0800 (IP), size = 944 bytes
staff -> fuzzbox IP D=129.78.97.193 S=129.78.8.1 LEN=930, ID=40089
staff -> fuzzbox TCP D=1023 S=513 Ack=4112434176 Seq=1241217524 Len=890 Win=8760
staff -> fuzzbox RLOGIN R port=1023 /n/ml3/usr (
________________________________
fuzzbox -> staff ETHER Type=0800 (IP), size = 60 bytes
fuzzbox -> staff IP D=129.78.8.1 S=129.78.97.193 LEN=40, ID=18304
fuzzbox -> staff TCP D=513 S=1023 Ack=1241217524 Seq=4112434176 Len=0 Win=29288
fuzzbox -> staff RLOGIN C port=1023
________________________________
staff -> fuzzbox ETHER Type=0800 (IP), size = 944 bytes
staff -> fuzzbox IP D=129.78.97.193 S=129.78.8.1 LEN=930, ID=40090
staff -> fuzzbox TCP D=1023 S=513 Ack=4112434176 Seq=1241217524 Len=890 Win=8760
staff -> fuzzbox RLOGIN R port=1023 /n/ml3/usr (
________________________________
fuzzbox -> staff ETHER Type=0800 (IP), size = 60 bytes
fuzzbox -> staff IP D=129.78.8.1 S=129.78.97.193 LEN=40, ID=18310
fuzzbox -> staff TCP D=513 S=1023 Ack=1241218414 Seq=4112434176 Len=0 Win=28398
fuzzbox -> staff RLOGIN C port=1023
________________________________
fuzzbox -> staff ETHER Type=0800 (IP), size = 60 bytes
fuzzbox -> staff IP D=129.78.8.1 S=129.78.97.193 LEN=40, ID=18311
fuzzbox -> staff TCP D=513 S=1023 Ack=1241218414 Seq=4112434176 Len=0 Win=28398
fuzzbox -> staff RLOGIN C port=1023
________________________________
fuzzbox -> staff ETHER Type=0800 (IP), size = 60 bytes
fuzzbox -> staff IP D=129.78.8.1 S=129.78.97.193 LEN=40, ID=18312
fuzzbox -> staff TCP D=513 S=1023 Ack=1241218414 Seq=4112434176 Len=0 Win=28398
fuzzbox -> staff RLOGIN C port=1023
________________________________
fuzzbox -> staff ETHER Type=0800 (IP), size = 60 bytes
fuzzbox -> staff IP D=129.78.8.1 S=129.78.97.193 LEN=40, ID=18313
fuzzbox -> staff TCP D=513 S=1023 Ack=1241218414 Seq=4112434176 Len=0 Win=28398
fuzzbox -> staff RLOGIN C port=1023
________________________________
fuzzbox -> staff ETHER Type=0800 (IP), size = 60 bytes
fuzzbox -> staff IP D=129.78.8.1 S=129.78.97.193 LEN=40, ID=18314
fuzzbox -> staff TCP D=513 S=1023 Ack=1241218414 Seq=4112434176 Len=0 Win=28398
fuzzbox -> staff RLOGIN C port=1023
________________________________
fuzzbox -> staff ETHER Type=0800 (IP), size = 60 bytes
fuzzbox -> staff IP D=129.78.8.1 S=129.78.97.193 LEN=40, ID=18315
fuzzbox -> staff TCP D=513 S=1023 Ack=1241218414 Seq=4112434176 Len=0 Win=28398
fuzzbox -> staff RLOGIN C port=1023
________________________________
fuzzbox -> staff ETHER Type=0800 (IP), size = 60 bytes
fuzzbox -> staff IP D=129.78.8.1 S=129.78.97.193 LEN=40, ID=18316
fuzzbox -> staff TCP D=513 S=1023 Ack=1241218414 Seq=4112434176 Len=0 Win=28398
fuzzbox -> staff RLOGIN C port=1023
________________________________
fuzzbox -> staff ETHER Type=0800 (IP), size = 60 bytes
fuzzbox -> staff IP D=129.78.8.1 S=129.78.97.193 LEN=40, ID=18317
fuzzbox -> staff TCP D=513 S=1023 Ack=1241218414 Seq=4112434176 Len=0 Win=28398
fuzzbox -> staff RLOGIN C port=1023
________________________________
fuzzbox -> staff ETHER Type=0800 (IP), size = 60 bytes
fuzzbox -> staff IP D=129.78.8.1 S=129.78.97.193 LEN=40, ID=18320
fuzzbox -> staff TCP D=513 S=1023 Ack=1241218414 Seq=4112434176 Len=0 Win=28398
fuzzbox -> staff RLOGIN C port=1023