Date: Fri, 17 Oct 2003 14:30:49 -0400 (EDT) From: Carl Mascott <cmascott@att.net> To: freebsd-net@freebsd.org Subject: TCP window size issues Message-ID: <200310171830.h9HIUnSr000572@callisto.local>
next in thread | raw e-mail | index | archive | help
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!
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?200310171830.h9HIUnSr000572>