Equitable Sharing between TCP Sockets

Dan Nelson dnelson at allantgroup.com
Sat Aug 21 11:18:52 PDT 2004


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.com


More information about the freebsd-questions mailing list