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