Skip site navigation (1)Skip section navigation (2)
Date:      Tue, 30 Jul 2002 15:15:55 -0500 (CDT)
From:      Mike Silbersack <silby@silby.com>
To:        freebsd-net@freebsd.org
Subject:   RFC: Updated window update algorithm
Message-ID:  <20020730141732.J3793-200000@patrocles.silby.com>

next in thread | raw e-mail | index | archive | help
  This message is in MIME format.  The first part should be readable text,
  while the remaining parts are likely unreadable without MIME-aware tools.
  Send mail to mime@docserver.cac.washington.edu for more info.

--0-934478144-1028056781=:3793
Content-Type: TEXT/PLAIN; CHARSET=US-ASCII
Content-ID: <20020730150959.D6367@patrocles.silby.com>

I'd appreciate if the tcp inclined could take a quick look over the
attached patch.  What it does is implement a simpler algorithm used to
determine whether or not to accept window updates.  Our existing algorithm
(the one in RFC793/1122) had a weakness in that it will ignore window
updates piggybacked on retransmitted packets.  In a unidirectional
transfer situation, this is not a problem.  However, in the case of a
bidirectional transfer, this could cause retransmission in one direction
to stall transmission in the other direction.

For more info on this case, see the thread at:

http://tcp-impl.grc.nasa.gov/tcp-impl/list/archive/2184.html

The algorithm I used in the attached patch is the one created by Alexey
Kuznetsov, currently used in Linux 2.4.

Any comments (on the algorithm or implementation) would be appreciated.

Thanks,

Mike "Silby" Silbersack

--0-934478144-1028056781=:3793
Content-Type: TEXT/PLAIN; CHARSET=US-ASCII; NAME="tcpwindowupdate3.patch"
Content-Transfer-Encoding: BASE64
Content-ID: <20020730141941.N3793@patrocles.silby.com>
Content-Description: 
Content-Disposition: ATTACHMENT; FILENAME="tcpwindowupdate3.patch"

LS0tIC91c3Ivc3JjL3N5cy5vbGQvbmV0aW5ldC90Y3BfaW5wdXQuYwlUdWUg
SnVsIDMwIDAwOjQxOjM4IDIwMDINCisrKyB0Y3BfaW5wdXQuYwlUdWUgSnVs
IDMwIDE0OjE1OjQwIDIwMDINCkBAIC0xOTM5LDExICsxOTM5LDE1IEBADQog
CS8qDQogCSAqIFVwZGF0ZSB3aW5kb3cgaW5mb3JtYXRpb24uDQogCSAqIERv
bid0IGxvb2sgYXQgd2luZG93IGlmIG5vIEFDSzogVEFDJ3Mgc2VuZCBnYXJi
YWdlIG9uIGZpcnN0IFNZTi4NCisJICogVXBkYXRlIHdpbmRvdyBpZjoNCisJ
ICogLSBOZXcgZGF0YSBhY2tlZA0KKwkgKiAtIE5ldyBkYXRhIHNlbnQgdG8g
dXMNCisJICogLSBEYXRhIGhhcyBub3QgYWR2YW5jZWQsIGJ1dCBsYXJnZXIg
d2luZG93IGlzIHJlcG9ydGVkDQogCSAqLw0KIAlpZiAoKHRoZmxhZ3MgJiBU
SF9BQ0spICYmDQogCSAgICAoU0VRX0xUKHRwLT5zbmRfd2wxLCB0aC0+dGhf
c2VxKSB8fA0KLQkgICAgKHRwLT5zbmRfd2wxID09IHRoLT50aF9zZXEgJiYg
KFNFUV9MVCh0cC0+c25kX3dsMiwgdGgtPnRoX2FjaykgfHwNCi0JICAgICAo
dHAtPnNuZF93bDIgPT0gdGgtPnRoX2FjayAmJiB0aXdpbiA+IHRwLT5zbmRf
d25kKSkpKSkgew0KKwkgICAgIFNFUV9MVCh0cC0+c25kX3VuYSwgdGgtPnRo
X2FjaykgfHwNCisJICAgICAoKHRoLT50aF9zZXEgPT0gdHAtPnNuZF93bDEp
ICYmICh0aXdpbiA+IHRwLT5zbmRfd25kKSkpKSB7DQogCQkvKiBrZWVwIHRy
YWNrIG9mIHB1cmUgd2luZG93IHVwZGF0ZXMgKi8NCiAJCWlmICh0bGVuID09
IDAgJiYNCiAJCSAgICB0cC0+c25kX3dsMiA9PSB0aC0+dGhfYWNrICYmIHRp
d2luID4gdHAtPnNuZF93bmQpDQo=
--0-934478144-1028056781=:3793--

To Unsubscribe: send mail to majordomo@FreeBSD.org
with "unsubscribe freebsd-net" in the body of the message




Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20020730141732.J3793-200000>