TCP window size issues
Carl Mascott
cmascott at att.net
Fri Oct 17 11:30:54 PDT 2003
I have a few TCP window size issues.
1. In FreeBSD 4.8-R the kernel default recv window is 56 KB. This
is so large that it causes dropped packets due to queue overflow
with my V.90 link (BW 5 KB/s on compressed data).
2. The 4.4BSD TCP implementation has never had the correct precedence
rules for setting window sizes. App-set values should take
precedence over all others. Routing table values should take
precedence over kernel default values. The fix for PR 11966
alters the behavior but still doesn't implement these precedence
rules.
http://www.freebsd.org/cgi/query-pr.cgi?pr=11966
3. RFC 793 (TCP) says that shrinking the receive window after
connection is established is "strongly discouraged". I'm
currently shrinking the receive window on my default route
(PPP link) from 32 KB to 4 KB with settings in
/etc/ppp/ppp.conf. (Had to back out patch in PR 11966.)
No problems noticed yet. To avoid shrinking the window I
believe I'd have to do the following:
- set kernel default send & recv windows to smallest values
used on any route
- modify all other routes on bootup (with script in
/usr/local/etc/rc.d ?) to set desired larger window sizes
Keeping the script in sync with the routing table would be
a new maintenance headache.
How likely am I to get into trouble by shrinking the TCP
receive window? Likely enough that I should make the
changes above? The patch in PR 11966 was kicking around
for about a year before the PR was filed. Was this patch
originally intended to solve a TCP compatibility problem
caused by shrinking the TCP receive window?
Thanks!
More information about the freebsd-net
mailing list