[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Equitable Sharing between TCP Sockets



In the last episode (Aug 21), R. W. said:
> I'm using 5.21 on a desktop computer with a dial-up modem. I tend to
> have several applications simultaneously sharing the connection, and
> I'm finding that this aspect isn't working as well as it does under
> windows 98.
> 
> Under windows each tcp socket would tend to receive at about the same
> rate, and intermittent, interactive applications would quickly gain
> their fair share. Under FreeBSD a couple of sockets at a time tend to
> hog most of the bandwidth, and interactive applications get frozen
> out.  I don't know what Windows is doing right, but I'm guessing it
> has some kind collective management of tcp window sizes, probably
> tied-in with the slow-start algorithm.

It's more likely that Windows 98's 8k TCP window size is the main
factor.  FreeBSD defaults to 32768 which is way too high for a modem. 
5.2.1 does have a dynamic window-scaling algorithm to improve latency,
but it only applies to outgoing streams.  Try putting these in
/etc/sysctl.conf and see if they help:

net.inet.tcp.rcvspace=8192
net.inet.tcp.sendspace=8192

-- 
	Dan Nelson
	dnelson_(_at_)_allantgroup_(_dot_)_com

Visit your host, monkey.org