Re: [tcpm] Comments on draft-blanton-tcpm-3517bis-01

Matt Mathis <mattmathis@google.com> Fri, 15 April 2011 17:25 UTC

Return-Path: <mattmathis@google.com>
X-Original-To: tcpm@ietfc.amsl.com
Delivered-To: tcpm@ietfc.amsl.com
Received: from localhost (localhost [127.0.0.1]) by ietfc.amsl.com (Postfix) with ESMTP id 9052413003B for <tcpm@ietfc.amsl.com>; Fri, 15 Apr 2011 10:25:33 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -105.677
X-Spam-Level:
X-Spam-Status: No, score=-105.677 tagged_above=-999 required=5 tests=[AWL=0.300, BAYES_00=-2.599, FM_FORGED_GMAIL=0.622, RCVD_IN_DNSWL_MED=-4, USER_IN_WHITELIST=-100]
Received: from mail.ietf.org ([208.66.40.236]) by localhost (ietfc.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id T1LAy6o+pv6a for <tcpm@ietfc.amsl.com>; Fri, 15 Apr 2011 10:25:32 -0700 (PDT)
Received: from smtp-out.google.com (smtp-out.google.com [74.125.121.67]) by ietfc.amsl.com (Postfix) with ESMTP id 619BE13002E for <tcpm@ietf.org>; Fri, 15 Apr 2011 10:25:32 -0700 (PDT)
Received: from hpaq13.eem.corp.google.com (hpaq13.eem.corp.google.com [172.25.149.13]) by smtp-out.google.com with ESMTP id p3FHPVbS001431 for <tcpm@ietf.org>; Fri, 15 Apr 2011 10:25:31 -0700
DKIM-Signature: v=1; a=rsa-sha1; c=relaxed/relaxed; d=google.com; s=beta; t=1302888331; bh=PbP/ecE9yy1GhX80wbvU9cXtqqM=; h=MIME-Version:In-Reply-To:References:Date:Message-ID:Subject:From: To:Cc:Content-Type:Content-Transfer-Encoding; b=NkhSx++4WdOeVdBbNHhKOHZVTEQ7VgTb8ZS085Zx3uQvMrDKKYtra053Y3kzwxwbQ qHuzzoUvixLN0Q2zxQnag==
Received: from eyx24 (eyx24.prod.google.com [10.208.24.24]) by hpaq13.eem.corp.google.com with ESMTP id p3FHP4Ge008250 (version=TLSv1/SSLv3 cipher=RC4-SHA bits=128 verify=NOT) for <tcpm@ietf.org>; Fri, 15 Apr 2011 10:25:30 -0700
Received: by eyx24 with SMTP id 24so1062796eyx.5 for <tcpm@ietf.org>; Fri, 15 Apr 2011 10:25:30 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=beta; h=domainkey-signature:mime-version:in-reply-to:references:date :message-id:subject:from:to:cc:content-type :content-transfer-encoding; bh=jmB8LNbFDvYRS1cUzcMtYwxnWBB3SAfdvfYMw+77iw4=; b=b+2E3Uv2lKPkg/Iy2SBYszC07tbq9k8Eq8WnzoG2uJgXu8qQZS/8+Bsitb90T0Bz2I w4QwoOOSJJn8jpDi3bAA==
DomainKey-Signature: a=rsa-sha1; c=nofws; d=google.com; s=beta; h=mime-version:in-reply-to:references:date:message-id:subject:from:to :cc:content-type:content-transfer-encoding; b=lAf4DhYeyNh4gHwFyo2DgTaHDrDtNz9mOwjPwMhsYcpZI04cv58BmUvSVTntCnouhT ELUsi3dQbPf3HBTrSb9A==
MIME-Version: 1.0
Received: by 10.213.34.207 with SMTP id m15mr3002604ebd.89.1302888329893; Fri, 15 Apr 2011 10:25:29 -0700 (PDT)
Received: by 10.213.104.139 with HTTP; Fri, 15 Apr 2011 10:25:29 -0700 (PDT)
In-Reply-To: <20110415155759.C581639DB25D@lawyers.icir.org>
References: <BANLkTimwY_rqC9McwwwYrvjn1YK7ix4ozg@mail.gmail.com> <20110415155759.C581639DB25D@lawyers.icir.org>
Date: Fri, 15 Apr 2011 13:25:29 -0400
Message-ID: <BANLkTimbx2CsC1_jEDwB4yG-KZ0eQdvt5g@mail.gmail.com>
From: Matt Mathis <mattmathis@google.com>
To: TCP Maintenance and Minor Extensions WG <tcpm@ietf.org>
Content-Type: text/plain; charset="ISO-8859-1"
Content-Transfer-Encoding: quoted-printable
X-System-Of-Record: true
Cc: mallman@icir.org
Subject: Re: [tcpm] Comments on draft-blanton-tcpm-3517bis-01
X-BeenThere: tcpm@ietf.org
X-Mailman-Version: 2.1.12
Precedence: list
List-Id: TCP Maintenance and Minor Extensions Working Group <tcpm.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/options/tcpm>, <mailto:tcpm-request@ietf.org?subject=unsubscribe>
List-Archive: <http://www.ietf.org/mail-archive/web/tcpm>
List-Post: <mailto:tcpm@ietf.org>
List-Help: <mailto:tcpm-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/tcpm>, <mailto:tcpm-request@ietf.org?subject=subscribe>
X-List-Received-Date: Fri, 15 Apr 2011 17:25:33 -0000

(back on tcpm)
Well, ok, keep your words.  However please at least remove or change
the first sentence.

Reneging is not really about memory, we only used that as an excuse.
We allowed the receivers to renege to force implementers think about
and actually test their code with inconsistent SACK updates.

At the time there was a strong track record for the following oft
repeated ugly scenario: the first implementer has a bug that does not
effect self-interoperability, and goes on to capture a significant
market share.  The second and subsequent implementer do not have the
bug and get punished by having interoperability problems.  Everybody
switches to "implemented but off by default".  Several years go by
waiting for the deployed bugs to vanish (w/o any market pressure)
before the new feature gets turned on....

We wanted to guarantee that SACK could not cause interoperability
problems and that the worst case impact of SACK bugs would be reduced
performance.  The last resort was to use Tahoe style go-back-n timeout
behavior.   Considering how may truly weird traces that we all have
looked at, this worked: as far as I know SACK bugs have never caused
connection hangs or aborts.

At the time 2018 was in draft there was a lot of pressure to take
reneging out.  We knew that it implicitly forbid many useful
optimizations.   It stayed in only because of the robustness argument.

Note that if you ever free queued data because it has been SACKed,
SACK bugs become fatal.

</soapbox>
Now that SACK is well established, it might be a feature to have bugs
cause interoperability problems.

Thanks,
--MM--
The best way to predict the future is to create it.  - Alan Kay




On Fri, Apr 15, 2011 at 11:57 AM, Mark Allman <mallman@icir.org> wrote:
>
> Hi Matt!
>
> Question: do erratas formally update a spec?  I have forgotten.
>
> In any case, I like our words a lot better than your words.  I (1) think
> we're more precise in laying out the current state, (2) don't think it
> is this document's place to get into reneging detection in any sort of
> detail and (3) the detail you do provide in your text is fuzzy and
> non-actionable anyway ("eh, you could use DSACKs, perhaps!").
>
> What we tried to do is to say 3517bis is not normative on this subject
> and so please go look at the current normative stuff and of course use
> all SACK information available at all times.  That seems enough to me.
> Its all a minor point in this document.
>
> (I hate working .bis documents.  Everyone wants something.  That said,
> you should update 2018.)
>
> allman
>
>
>
>