Skip site navigation (1)Skip section navigation (2)
Date:      Wed, 07 Oct 1998 14:36:02 +0100
From:      Brian Somers <brian@Awfulhak.org>
To:        Kris Kennaway <kkennawa@physics.adelaide.edu.au>
Cc:        current@FreeBSD.ORG
Subject:   Re: Improper sharing of modem bandwidth 
Message-ID:  <199810071336.OAA01091@woof.lan.awfulhak.org>
In-Reply-To: Your message of "Wed, 07 Oct 1998 01:31:46 %2B0930." <Pine.OSF.4.03.9810070120160.32491-100000@mercury.physics.adelaide.edu.au> 

next in thread | previous in thread | raw e-mail | index | archive | help
> Recently I've noticed my system behaving differently during downloads; when I
> initiate a file download it tends to consume all available modem bandwidth, to
> the exclusion of all other things like open telnet sessions. Once the download
> has started, my telnet sessions will usually freeze (during a download of a
> 1.5MB file just then over my 14.4k modem I didnt get a single character back
> from one of my telnets open for more than 10 minutes, and another one was
> giving me huge delays (a minute or more, to a host which is ~400ms away under
> normal usage). I could also not manage to talk to the DNS (the modem dialin
> server) to initiate any new connections during the download; the requests were
> timing out.
> 
> Until recently, I was not experiencing anywhere near this kind of lag during a
> single file transfer.

The only change in this area lately was a ``fix'' that stops ppp from 
reading too many packets from the tun device - in case it ends up not 
being able to send them anywhere.  Without this fix, it was possible 
to feed ppp packets 'till it explodes (ever seen those experiments 
with the ``full'' sensor in a flys stomach ?).

Ppp now stops reading packets from the tun device when it's got 20 
buffered packets (this number is dynamic in multilink mode) and won't 
read any more 'till one of two things happen; either a packet is 
successfully sent somewhere, or the ``choked timer'' expires.  The 
``choked timer'' defaults to 2 minutes.

Once ppp has read a packet, anything that's considered interactive 
will skip ahead of non-interactive packets - thus prioritising 
interactive traffic.

<disclaimer>
I know very little about tcp
</disclaimer>

I would think that some protocols such as rcp that take full 
advantage of TCP sliding windows would have a harmful effect on the 
interactive traffic where it didn't previously.  If they queue up 
(say) 50 packets before waiting for an ACK, ppp will read 20 and 
start sending the first.  When a telnet (or whatever) session tries 
to send a packet, it sits behind the 30 packets that are still queued 
in the tun device, and will only get into ppp 30 packets later - it 
will then skip to the head of the queue and get sent immediately.... 
but you've already waited a long time at this point.

If you're interested, you could try doing a ``s/20/100/'' in bundle.c 
in src/usr.sbin/ppp and rebuilding & installing ppp.  Perhaps the 
``20'' is a bit light.

Opinions ?

[.....]
> Kris

-- 
Brian <brian@Awfulhak.org>, <brian@FreeBSD.org>, <brian@OpenBSD.org>
      <http://www.Awfulhak.org>;
Don't _EVER_ lose your sense of humour....



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



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