home *** CD-ROM | disk | FTP | other *** search
- Path: sparky!uunet!sun-barr!cs.utexas.edu!wupost!uwm.edu!rutgers!igor.rutgers.edu!athos.rutgers.edu!hedrick
- From: hedrick@athos.rutgers.edu (Charles Hedrick)
- Newsgroups: comp.os.linux
- Subject: Re: Linux-Activists Digest #86
- Message-ID: <Sep.3.15.59.08.1992.12430@athos.rutgers.edu>
- Date: 3 Sep 92 19:59:10 GMT
- References: <1992Sep3.171836.4151@athena.mit.edu>
- Organization: Rutgers Univ., New Brunswick, N.J.
- Lines: 41
-
- allredkl@choc01.dnet.dupont.com (Kevin L. Allred, 615-875-7167) writes:
-
- >1% packet loss. I exchanged mail with Ross Biro about the problem,
- >and he told me that current linux TCP/IP code doesn't slow down the
- >rate at which it send packets even when it receives a signal from the
- >router to do so. He says that the linux host is probably overloading
- >the router with packets, thus producing hung connections. He
- >suggested a temporary solution that works by cripling the server so it
- >can't send packets too fast, but I am reluctant to try this approach.
-
- >A better approach would be to fix the server so it payes attention to
- >router signals to slow down. I looked at the net source code for a
- >a little while, but it was clear that it is going to take deep
- >understanding to add this type capability.
-
- Actually, the current feeling among TCP/IP experts is that it's a
- mistake to pay attention to ICMP source quench, which I assume is what
- you're referring to. Instead, you want to keep track of round trip
- times and packet loss rates, and set your retransmission times and
- local window based on them. There's a fairly simple set of code from
- Van Jacobson to do this. These algorithms are now used in most TCP
- implementations. Currently it looks like the Linux TCP doesn't
- compute round trip times at all. I assume it's got a hardwired RTT
- that is appropriate for Ethernet. The SLIP implementation that people
- are working on is going to have to fix this, or they're going to get
- very odd results.
-
- The necessary algorithms are listed in the TCP section of RFC 1122.
- Those point to other references that document them in detail. Note
- that these algorithms are specified with a MUST, so implementation of
- them is not optional. I assume the current situation with Linux TCP
- is due to the fact that it's still a pre-release version, and that no
- one intends to release it without appropriate congestion avoidance and
- slow start code. Fortunately, the code is fairly easy. It should not
- require any restructuring of the current implementation, though it
- will require some additional variables. Certainly any new TCP/IP
- implementations should conform to RFC's 1122 and 1123 before official
- release. I believe it would be highly unfriendly to use any
- implementation not having these algorithms on any network beyond a
- local Ethernet or a set of Ethernets connected via links that at
- least T1.
-