2.0 a lot better than 2.2 on high-latency links.

Rogier Wolff (R.E.Wolff@BitWizard.nl)
Mon, 12 Apr 1999 10:07:03 +0200 (MEST)


Hi,

I've just tested copying a 0.5Mb file over a 2000ms latency link:

2000 ms net-latency 1ms net-latency.
from OS:
2.0.33 2.2.1

to OS: 2.0.36 84.9 182.7
2.2.5 70.8 197.4 1.0

Time, in seconds to transfer file.

As you can see, the "to-OS" doesn't really matter that much, but the
"from OS" does make a very significant difference.

2.0.33 quickly fills up the whole 16k window, waits two seconds for
the acks to come back and sends another burst. 2.2.x is a bit less
bursty, but there is almost never more than 8k in the pipeline.

When "2.2" is the source, the windows are 32k compared to 16k with
2.0. A friend told me "window scaling" would help a lot, but as far as
I can see, it is already turned on, moreover, the window is never
filled with 2.2 on the sending side.

opt-5 is "selective ack"?

A possible cause is that the network DOES deliver lots of packets
out-of-order, but in reality no packets are really lost.

Roger.

Here is the first part of the tcpdump, in plain-text. Next is a bit larger
gzipped/uuencoded tcpdump.

These were taken near the "sending" side.

08:57:06.712612 ozon.1023 > asterix.shell: S 441165407:441165407(0) win 32120 <mss 1460,sackOK,timestamp 392982 0,nop,wscale 0> (DF)
08:57:08.702664 asterix.shell > ozon.1023: S 319240584:319240584(0) ack 441165408 win 32120 <mss 1460,sackOK,timestamp 368730 392982,nop,wscale 0> (DF)
08:57:08.702664 ozon.1023 > asterix.shell: . ack 1 win 32120 <nop,nop,timestamp 393182 368730> (DF)
08:57:08.702664 ozon.1023 > asterix.shell: P 1:2(1) ack 1 win 32120 <nop,nop,timestamp 393182 368730> (DF)
08:57:10.702716 asterix.shell > ozon.1023: . ack 2 win 32120 <nop,nop,timestamp 368930 393182> (DF)
08:57:10.702716 asterix.shell > ozon.1023: . ack 2 win 32120 <nop,nop,timestamp 368930 393182> (DF)
08:57:10.702716 ozon.1023 > asterix.shell: P 2:23(21) ack 1 win 32120 <nop,nop,timestamp 393382 368930> (DF)
08:57:10.712717 asterix.1051 > ozon.auth: S 319477419:319477419(0) win 32120 <mss 1460,sackOK,timestamp 368930 0,nop,wscale 0> (DF)
08:57:10.712717 ozon.auth > asterix.1051: S 449129438:449129438(0) ack 319477420 win 32120 <mss 1460,sackOK,timestamp 393382 0,nop,wscale 0> (DF)
08:57:10.712717 asterix.1051 > ozon.auth: . ack 1 win 32120 <nop,nop,timestamp 368930 393382> (DF)
08:57:10.712717 asterix.1051 > ozon.auth: P 1:11(10) ack 1 win 32120 <nop,nop,timestamp 368931 393382> (DF)
08:57:10.712717 ozon.auth > asterix.1051: P 1:36(35) ack 11 win 32120 <nop,nop,timestamp 393383 368931> (DF)
08:57:10.722717 asterix.1051 > ozon.auth: . ack 36 win 32120 <nop,nop,timestamp 368931 393383> (DF)
08:57:10.722717 ozon.auth > asterix.1051: F 36:36(0) ack 11 win 32120 <nop,nop,timestamp 393383 368931> (DF)
08:57:10.722717 asterix.1051 > ozon.auth: F 11:11(0) ack 36 win 32120 <nop,nop,timestamp 368931 393383> (DF)
08:57:10.722717 ozon.auth > asterix.1051: . ack 12 win 32120 <nop,nop,timestamp 393383 368931> (DF)
08:57:10.722717 asterix.1051 > ozon.auth: . ack 37 win 32120 <nop,nop,timestamp 368931 393383> (DF)
08:57:12.702769 asterix.shell > ozon.1023: P 1:2(1) ack 23 win 32120 <nop,nop,timestamp 369130 393382> (DF)
08:57:12.722769 ozon.1023 > asterix.shell: . ack 2 win 32120 <nop,nop,timestamp 393584 369130> (DF) [tos 0x8]
08:57:14.722821 asterix.shell > ozon.1023: P 2:3(1) ack 23 win 32120 <nop,nop,timestamp 369332 393584> (DF)
08:57:14.722821 ozon.1023 > asterix.shell: P 23:44(21) ack 3 win 32120 <nop,nop,timestamp 393784 369332> (DF) [tos 0x8]
08:57:16.722873 asterix.shell > ozon.1023: P 3:4(1) ack 44 win 32120 <nop,nop,timestamp 369532 393784> (DF)
08:57:16.732874 ozon.1023 > asterix.shell: . 44:1492(1448) ack 4 win 32120 <nop,nop,timestamp 393984 369532> (DF) [tos 0x8]
08:57:16.732874 ozon.1023 > asterix.shell: . 1492:2940(1448) ack 4 win 32120 <nop,nop,timestamp 393984 369532> (DF) [tos 0x8]
08:57:16.732874 ozon.1023 > asterix.shell: P 2940:4140(1200) ack 4 win 32120 <nop,nop,timestamp 393984 369532> (DF) [tos 0x8]
08:57:16.732874 ozon.1023 > asterix.shell: . 4140:5588(1448) ack 4 win 32120 <nop,nop,timestamp 393984 369532> (DF) [tos 0x8]
08:57:18.722926 asterix.shell > ozon.1023: . ack 44 win 32120 <nop,nop,timestamp 369732 393984,nop,nop,opt-5:1a4bb68b1a4bbc33> (DF)
08:57:18.722926 asterix.shell > ozon.1023: . ack 44 win 32120 <nop,nop,timestamp 369732 393984,nop,nop,opt-5:1a4bb1db1a4bbc33> (DF)
08:57:18.722926 asterix.shell > ozon.1023: . ack 44 win 32120 <nop,nop,timestamp 369732 393984,nop,nop,opt-5:1a4bac331a4bbc33> (DF)
08:57:18.722926 asterix.shell > ozon.1023: . ack 5588 win 28960 <nop,nop,timestamp 369732 393984> (DF)
08:57:18.732926 ozon.1023 > asterix.shell: . 44:1492(1448) ack 4 win 32120 <nop,nop,timestamp 394184 369732> (DF) [tos 0x8]
08:57:18.732926 ozon.1023 > asterix.shell: . 1492:2940(1448) ack 4 win 32120 <nop,nop,timestamp 394184 369732> (DF) [tos 0x8]
08:57:18.732926 ozon.1023 > asterix.shell: P 2940:4140(1200) ack 4 win 32120 <nop,nop,timestamp 394184 369732> (DF) [tos 0x8]
08:57:18.732926 ozon.1023 > asterix.shell: . 5588:7036(1448) ack 4 win 32120 <nop,nop,timestamp 394184 369732> (DF) [tos 0x8]
08:57:18.732926 ozon.1023 > asterix.shell: P 7036:8484(1448) ack 4 win 32120 <nop,nop,timestamp 394184 369732> (DF) [tos 0x8]
08:57:18.732926 ozon.1023 > asterix.shell: . 8484:9932(1448) ack 4 win 32120 <nop,nop,timestamp 394184 369732> (DF) [tos 0x8]
08:57:18.732926 ozon.1023 > asterix.shell: . 9932:11380(1448) ack 4 win 32120 <nop,nop,timestamp 394184 369732> (DF) [tos 0x8]
08:57:18.732926 ozon.1023 > asterix.shell: P 11380:12828(1448) ack 4 win 32120 <nop,nop,timestamp 394184 369732> (DF) [tos 0x8]
08:57:20.722978 asterix.shell > ozon.1023: . ack 5588 win 31856 <nop,nop,timestamp 369932 394184,nop,nop,opt-5:1a4bc1db1a4bc783> (DF)
08:57:20.722978 asterix.shell > ozon.1023: . ack 8484 win 30408 <nop,nop,timestamp 369932 394184> (DF)
08:57:20.722978 asterix.shell > ozon.1023: . ack 8484 win 30408 <nop,nop,timestamp 369932 394184> (DF)
08:57:20.722978 asterix.shell > ozon.1023: . ack 8484 win 30408 <nop,nop,timestamp 369932 394184> (DF)
08:57:20.722978 asterix.shell > ozon.1023: . ack 8484 win 30408 <nop,nop,timestamp 369932 394184> (DF)

begin 644 tcpdump.out.gz
M'XL(`'ZH$3<"`^V=36\;R1&&[_X5/-J`(W1W]3>"/05[R2$+Y!CDP"$IK!'O
M>A$IV$5^?:JJAY0HS?0'U9RA`QE86("U>MZJ>JMZV-VD/GSX\$'X:%P4]LY)
M9:7:?/OOMU_OI%"P^6&S?7@\_/O+'W<//Q^^?HV;OV^TEM(:+5P\??51?-K\
M_N77#2BIQ.;/OSP\;*2VXO/#=O>OO_WU\^.77PX/C]M??MM`4,&KC?C\Z[??
M/O_^L-M^/6S$#YN/?_GQTU&$OW-"6:O/P2CD)(I$@`Q*"^-U/'U%(I!WTN<K
M)5GO0(S*:G1EDG/'`N1S,/U`^N]Y#D!B#A*WG?'31D;U47YZ&TH*0CEI<VE.
MX:@"P_K`^2/4BHQLRE14\%%5)PU2TL)$TB3"W`D@A9''>+;_>?QYM*9V3LL0
M3U_5]T<*--,?3QI.T&<!DY[4HT&JH,''TU?']AA%H8[*CN5L5"F:STI=8YRJ
M#!-5+B&H+Z3\*,6G:I;,L^833"RP'\&,K!I'P<A\!5-5N0-;'Q#,,.8#^A'_
M?XI(+!'0C_CSJ51'0UXULM%Y:H$*N8OC4#S$;,@-RK.YCU.NP`IRII44QX.L
MXCI6SAFNNB,J,3;_>/SVL!%_^'\>:9IH7LE\9"I"0V0`:H2?1W9BY9<"P)EX
M6@N@&*-+,2)T+D;+7`?Y&!%[C%'K8HPFQ>A>QH@L0%;A*41KS$9`MVCM1V0Q
MSI#B--DX*]@$CKCBB!7H6%T$1RV)KH18.G8"1V.\[QR[)X<%5?$@56$MEZR%
MU,_'?__VV^.?3)1;/0S6#_SW#E[,J`4UR/WJ&K;(?JL&,@*K4#[8LHI7&&!,
M[T;7,MG-9>U6P;ZHT3O1+VST;K%3::,3^,2T1NP$CE[C2]XUZD[@&`*LXSH"
MX\,C^'5LQV1\B/+*]^4K?LX,SC?,%7PU;.S,7`D\5X@[,=UVXX3=N1=/H@TJ
MR`9)A:"]EI**=TP_3'XLDS=Q5<!G_":'0G)HR#H4*OA$CM(XI5?A7S:>&N@-
M1<[V)\SWYU[M^>EC[]WPR@.+J=CMU?!6%>S&"L?#G.,K*G[AD@#>C.Q,R74)
MCTL"63U*)YU:@8\-1V1<OZP2Z_`O'C@E/FU5@`#19+-9MSLATV"%ES:['F>J
MMP^*>_L`N^%B&62Y0E=5A)LO*QD*/2!LVY,.[PDQ/%-6*/'Q`9_(44DC[;7X
M+7G.EAM&/[_*\Y4X$[8ZX+,E_WTOAXME4,DK;/7F<)\XEZ55E^W+QL%O#E8W
MVL>,\#G[:&X?KWK%F;8SR;<39;W7.R[K_=:^*&N]#$Y%L:Q/,F8X^713HO&;
MM6Q;!%WJUOG=5>)#B8_3@LA1&6]%9[ZY4\@/IB+/E(-RN3V,/CO/\XF3SS-%
M&)7#C#3%Z4&/\+DX:1<;).A><:8=;$KP:UOOA!D&_GNP+UZ`-LB@5!1M_21C
MAI.W%24Z*N],VR(4DJWFMW2)#R4^EIO($802>A4^DR-(:U1GOF.^K5@MN`9%
MN]FT6J#/S^M\XF3KS!%&_$;1-#Z,2'':^=7"L\^\[15GVB_6D[O6.[DSW%9*
MB1=MM:P,.\!;97!%BMW])&.&DW<WU3N"-KIIF!J9JI[9S//L.N\*?")',"'8
M%?CH>B)'<%KKOGP0=TJ!4A6+)M>@:#=/%W*XW<[J_,3)YYDBC.!]VTF)`9HI
M#)^/$WVFP/>*,VW]F<G]F!VH>^YN\%MXF88%9:B]@3?+H(H4N_M)Q@PG7W6J
M=]0"VDZH#"1WAYR[L;L4A'QW,3EJZ=J.@SOQZ3`:R5'C-]K.?-Y`4$%6U)EJ
M4+*;3!L5U&[G=3YQ\G%2A%%KVW8>9@P]B#.\&&>^SD2.VLJV+><6?N<\3[:U
M#H&GB[[7<V581`;<PUMEL"-*T^69C(M<1_6.VIFV76>3MJ<*58<*/I&C#J+M
M(+(3'UU/Y&B$;MOUK>#SA@-HJ+GD88MG'$ZFC0TSN;^RL^;`=K.#/]]?65B&
M@.$&9)AM@.]#1OYV!KDR&GIC0),WTV:0A*PWH<3_:</DB.M9VXE0)S[&3^2(
MKRW:3H3Z\8D<C55M1P?]\D]D_'[7=G30C7_I$T&9S[M64+,96=>&:7?,3&_2
MN9WG-O2*SX&Y+>_'/^=MN:PLRY=7;DZ6A%O,UG&6DJP9&5>9I6D'4)JLEZ'$
MOWR6]N%?/DN[\6F*11.DU>OPB1RML%*M4G\F1ZN$72?_3(X63-N!2PN_?.&/
MUK-TDQC3H6?'`(QCX%6?ZXH^NW#-#'Q>2O#Y.#V.QN`JXB1Z>=QI.1DG[_EJ
MW8V3]I;-]!:WWSN>\@%?:EXJ@ZU=?)GZ)..=TXD#S,FW/35\M#JT'?S9M#4N
M,UOC-?R+QUX_/D4>K=5M!X\M_)8Z9]L4QCDT4^?_'XY&3F'3FRL6K?-M![98
M-S/",W6KX1,YV@!"].5KWO37(?3*<SI<L--G'%LM>;QOP^Y\O+?(H.8MCJGO
M048X\-VRG(QK/$/9=!(AYT\B-)^$E/D7#O,^?!RFU`[1":?7B9_)T2D9[#I\
M(D<'MNV<N5O^F1R=$6WGORW\;FT(XS2<F@;WEJ?!8"0<VW)RAV%96<?I0+)F
M9%QER3I5)[=D:&S]PDU1]D5T])$QC7S3@8_N)')T+GC?F<\G6<;(3C90Z<3,
M3A_<[81E&^RL&/+N7%36L$TW#6],UK%I2-9W+H.G:VEWXIF,5QQ`3N%Z,7='
M=$&WW66PIC@C:OB7K^")K^9/.VOCOW`%[\:GS$<O?-L=BT[\GS9,CEY!VXE*
MM_B9'#VXMM/^%GY#GV5>UJCTK@D[^2:1W5ZF^Z%[]^)BYK(R=D.Z'_HNHU+&
M59YNTSM=U/P[732?MEL!O=*0#OWM]*'_0:5KA0>7;CE26J87ZD5E[7?;X5W6
M=R[KV&(DZY4,0!GZ.H\?Z4!?S1_HU_(O7'Y[\7GAB_@"K>VR62<^+O]$CMY:
MMT[^F1R]EVJE_!,Y^F#:#L%;^.7/$^`6X\=\9Z2:;4,8UY:9/EN*<Y7'.9>6
M3)A?,OE2A36V)<[<6$MW.^STW8Y[G^[*WA_"B[&VK`S0PPW(..RW\"ZC2@:P
MC*N,_'3O0<W?>ZCB7S[RN_%IV,:`_RQ6X-]MF!R#TM:OPR=R#!#D.OEG<@P&
MVNX]M?#+;4C+;N$3_`@%X]HPTV=+<?+UI$S&8'W;/:Z*?+H[^MG>7^41QDGA
MQN#G^'QQQ`G?DN?<6$T71^SDO9^]"(>!_[X/+UZL+RM#:WB7424#^LJ`>1ER
MR^\EV2OAAZ.LZ1>_R\HR_-Z2%EG76!E<NAJD7+:3ETO+T324EO,T!!IH3E=\
M-`&/T^)K%6_,.,EF./ET$R,&K]IN@CD0=H3/I1OYML3'A9C(,037=GD#^2[/
M-WP\[&Q3GG/E3J?4[N7;A8WD/`?5B0,BU1,#G+"5LI!L->R'VY91^$P]K'>4
M0LJV.S/.L.U(W%S9)=LN%':U$QH5H/MTHP)74`!W_+9/W:L2*E7"3%8"_T>N
M!!IT.%9F<OS>O*RKC"F7_**RU;(5_$L-ZY)=WBP@.145:-%VD:6C`D*C`F.$
M6$$!-2VA48$-;0?E%0H,VS#87MVA4W>XR>[0BJ_W[[57<.R68W<(^K,3IS_G
MW;*H3-CQY\3>O,QQUAQESL^:164=UTB2=:LRL.F"N];@":GI=+;IJA1<.GCZ
M*:")@PH\M-V0Z:B`T*@`7VWH%130\"5TE%*JL)(/&(T*E-,K^8#1J$#+MMN4
M%0IXGPM=UFLHV#04PO0"M-_Q`H2/ZH61N:BLXZPB6>\R*F1<9VKYM"M*ZC)N
MM?3)>*5?9T&-$NFA&=900!U+:%2`C^_Z6@JZF<'.F\$<^)-Z]U;;H=BQ"\H*
M_!:B6Y-U;!V2-2/C.HO=DVULQC:NQK@7+G:HP'=20#V#"KP!M8("&A^$1@4A
M^+5R0.@HE=1M!]45"OP="`C&7V7CPZ/@`I_VA[40LE=#IGUH:H")AK1;F1KR
M?BC,B45EG>8$RKI5&;:O##NZ<T*&&_A-+'LO!B@6:4%9AM_Z<VNRCD4C6>\R
MLC(<R[C2:@-ITOJ92>>C$'?T#B99]0M8:-`S$A]<E9[+1!#CC'T6ZG-0X3?:
M$`07%>7;;A]YH,\F87PF5%E2@`LKHU&!AK8KIZA`%11(=IV!IF1G;(<_RXYE
M/D^VXF1;U0^4JHHA3OC;6Y-FX^[L;12WJ*-@/JHYEMZXMJLRGC\8A]7-E5ZQ
M^6SIZ(W1J,"IMLMOJ$`5%&C*`;[J[%8+E6IA)FL1)+\=81^<@6-M)A:F[T'7
ME0:62YY1V8K)&@67NM8ESW100':E7\UIVZY,=E1`Z"A!2&E74("=RVA4($W;
.M<F<@O\!4Y#U)"&&````
`
end

-- 
** R.E.Wolff@BitWizard.nl ** http://www.BitWizard.nl/ ** +31-15-2137555 **
*-- BitWizard writes Linux device drivers for any device you may have! --*
------ Microsoft SELLS you Windows, Linux GIVES you the whole house ------

- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.rutgers.edu Please read the FAQ at http://www.tux.org/lkml/