Re: Window Scale option

Matt Mathis <mathis@psc.edu> Tue, 05 May 1998 18:56 UTC

Delivery-Date: Tue, 05 May 1998 14:56:39 -0400
Return-Path: tcplw-relay@services.BSDI.COM
Received: from cnri.reston.va.us (ns.cnri.reston.va.us [132.151.1.1]) by ietf.org (8.8.5/8.8.7a) with ESMTP id OAA12112 for <ietf-archive@ietf.org>; Tue, 5 May 1998 14:56:38 -0400 (EDT)
Received: from services.BSDI.COM (services.BSDI.COM [205.230.225.19]) by cnri.reston.va.us (8.8.5/8.8.7a) with ESMTP id OAA09331 for <IETF-archive@cnri.reston.va.us>; Tue, 5 May 1998 14:59:05 -0400 (EDT)
Received: (from daemon@localhost) by services.BSDI.COM (8.8.7/8.8.8) id MAA07075 for tcplw-list@bsdi.com; Tue, 5 May 1998 12:54:04 -0600 (MDT)
Received: from mailfilter.bsdi.com (mailfilter.BSDI.COM [205.230.225.21]) by services.BSDI.COM (8.8.7/8.8.8) with ESMTP id MAA07072 for <tcplw@bsdi.com>; Tue, 5 May 1998 12:54:03 -0600 (MDT)
Received: from zippy.psc.edu (zippy.psc.edu [128.182.61.149]) by mailfilter.bsdi.com (BSDI-MF 1.0) with ESMTP id MAA27907 for <tcplw@bsdi.com> env-from (mathis@psc.edu); Tue, 5 May 1998 12:52:52 -0600 (MDT)
Received: (from mathis@localhost) by zippy.psc.edu (8.8.5/8.8.2) id OAA09661; Tue, 5 May 1998 14:53:47 -0400 (EDT)
To: tcplw@bsdi.com
Subject: Re: Window Scale option
References: <199805042134.OAA05330@gecko.nas.nasa.gov>
From: Matt Mathis <mathis@psc.edu>
Date: Tue, 05 May 1998 14:53:46 -0400
In-Reply-To: "Kevin M. Lahey"'s message of Mon, 04 May 1998 14:34:50 -0700
Message-ID: <9jaf8wk0qt.fsf@zippy.psc.edu>
Lines: 41
X-Mailer: Gnus v5.3/Emacs 19.34

The SYN only restriction is far more problematic for the timestamp
option than it is for than the window scale option.

For example, if you have a laptop with a radio modem and a 100bT
interface, you are likely to find that you are either wasting the
skinny link with uncompressible timestamps, or underfilling the LAN
because you didn't negotiate timestamps.  Although you could implement
per-route or per-interface flags to control TCPLW features, the real
problem is the pervasive 1323 mindset that new options must never
appear after the SYN-ACK.

If this mindset is relaxed, I believe it is a 1 line code change to
allow timestamps to be turned on at any point.  Thus all TCP
connections could start without timestamps, and once they enter a
regime where timestamps help (due to either PAWS or RTTM) timestamps
could be turned on.

Unfortunately, RFC1323 is structured such that relaxing this
specification requires almost a complete rewrite.  I tried it at one
point, and had to abandon the project.

Is this worth revisiting?

About window scale option:

The cost of negotiating an excessive window shift is very small - it
increases the quantization in the flow control for applications which
are receiver limited.  This might be an issue to an application that
*depends* on being able to advance (or control) the window in tiny
increments, but I know of none.

In our autotuning TCP the window shift defaults to the smallest value
needed to support the largest socket buffer allowed on the system.
(As specified by sb_max on most systems).  The actual receiver window
can then default to some small value, to be updated by the application
or other mechanisms as needed.  See
ftp://ftp.psc.edu/pub/networking/papers/autotune_sigcomm98.ps

Thanks,
--MM--