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

" Ilpo Järvinen " <ilpo.jarvinen@helsinki.fi> Thu, 14 April 2011 14:10 UTC

Return-Path: <ilpo.jarvinen@helsinki.fi>
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 1A871E077A for <tcpm@ietfc.amsl.com>; Thu, 14 Apr 2011 07:10:55 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -6.299
X-Spam-Level:
X-Spam-Status: No, score=-6.299 tagged_above=-999 required=5 tests=[AWL=0.000, BAYES_00=-2.599, MIME_8BIT_HEADER=0.3, RCVD_IN_DNSWL_MED=-4]
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 qpH7NA+huxAI for <tcpm@ietfc.amsl.com>; Thu, 14 Apr 2011 07:10:53 -0700 (PDT)
Received: from mail.cs.helsinki.fi (courier.cs.helsinki.fi [128.214.9.1]) by ietfc.amsl.com (Postfix) with ESMTP id 843C9E0760 for <tcpm@ietf.org>; Thu, 14 Apr 2011 07:10:52 -0700 (PDT)
Received: from wel-95.cs.helsinki.fi (wel-95.cs.helsinki.fi [128.214.10.211]) (TLS: TLSv1/SSLv3,256bits,AES256-SHA) by mail.cs.helsinki.fi with esmtp; Thu, 14 Apr 2011 17:10:52 +0300 id 00093E7A.4DA7006C.0000363D
Date: Thu, 14 Apr 2011 17:10:51 +0300
From: Ilpo Järvinen <ilpo.jarvinen@helsinki.fi>
X-X-Sender: ijjarvin@wel-95.cs.helsinki.fi
To: Mark Allman <mallman@icir.org>
In-Reply-To: <20110414123339.A6DE239993D2@lawyers.icir.org>
Message-ID: <alpine.DEB.2.00.1104141649000.17529@wel-95.cs.helsinki.fi>
References: <20110414123339.A6DE239993D2@lawyers.icir.org>
User-Agent: Alpine 2.00 (DEB 1167 2008-08-23)
Mime-Version: 1.0
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Cc: "tcpm@ietf.org Extensions" <tcpm@ietf.org>, Ethan Blanton <eblanton@cs.ohiou.edu>, Markku Kojo <kojo@cs.helsinki.fi>
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: Thu, 14 Apr 2011 14:10:55 -0000

On Thu, 14 Apr 2011, Mark Allman wrote:

> 
> > AFAIK you and Ilpo pointed out in your draft that in a case of a
> > segment-based stack the dupthresh counter is not necessary anymore and
> > we can handle everything with IsLost(). So, I recommend that this
> > should be included in 3517bis (as a big side note or in an appendix
> > section)
> 
> We do note in the document ...
> 
>    Finally, note that the algorithm in this document assumes a
>    sender that is not keeping track of segment boundaries after
>    transmitting a segment.  It is possible that a sender that did
>    keep this extra state may be able to use a more refined and
>    precise algorithm than the one presented herein, however, we
>    leave this as future work.
> 
> ... which seems reasonable to me.  The document **does not** seek to
> offer both byte- and packet-based variants.  It is perfectly fine for a
> stack to use a packet-based variant and this document could still form
> the basis of such a beast.  But, such an implementation could likely
> hone a number of things that are approximations in the current document,
> or get by without particular counters or whatnot.  Tracking packets may
> in fact be a good tradeoff in some cases. 

I think there are multiple shades of gray there. 

...In the one end there's fully packet based algorithm and in the other 
fully seqno based one.  The first one is certainly a problem that isn't 
even specified outside of recovery fully afaik, and shouldn't be tried 
here (in 3517bis).  But on the middle ground there's such a version where 
the only the heuristics to detect that dupThresh segments above another 
are SACKed is replaced with an accurate version (it actually doesn't even 
have to be a "packet based" implementation although this information is  
naturally always available in case of packet based implementaion which is 
why it gets mentioned usually as "if TCP is packet based blah blah..."). 

Such refined IsLost just does more accurately what the heuristics 
version of IsLost tried to do. I find it unlikely that there's a can of 
worms in such refining because then the goal of the original heuristics is 
just met more often than in the original. Unless there's something flawed 
in the not-always-met goal of the original heuristics?

-- 
 i.