Re: [tcpm] I-D Action: draft-ietf-tcpm-1323bis-13.txt

Joe Touch <touch@isi.edu> Mon, 03 June 2013 16:48 UTC

Return-Path: <touch@isi.edu>
X-Original-To: tcpm@ietfa.amsl.com
Delivered-To: tcpm@ietfa.amsl.com
Received: from localhost (localhost [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id BD1A521F95DD for <tcpm@ietfa.amsl.com>; Mon, 3 Jun 2013 09:48:00 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -106.599
X-Spam-Level:
X-Spam-Status: No, score=-106.599 tagged_above=-999 required=5 tests=[BAYES_00=-2.599, RCVD_IN_DNSWL_MED=-4, USER_IN_WHITELIST=-100]
Received: from mail.ietf.org ([12.22.58.30]) by localhost (ietfa.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id GBvgoos3l86n for <tcpm@ietfa.amsl.com>; Mon, 3 Jun 2013 09:47:54 -0700 (PDT)
Received: from boreas.isi.edu (boreas.isi.edu [128.9.160.161]) by ietfa.amsl.com (Postfix) with ESMTP id AD0F821F918F for <tcpm@ietf.org>; Mon, 3 Jun 2013 09:47:54 -0700 (PDT)
Received: from [128.9.160.166] (abc.isi.edu [128.9.160.166]) (authenticated bits=0) by boreas.isi.edu (8.13.8/8.13.8) with ESMTP id r53Gl96t015038 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=NOT); Mon, 3 Jun 2013 09:47:09 -0700 (PDT)
Message-ID: <51ACC889.1080807@isi.edu>
Date: Mon, 03 Jun 2013 09:47:05 -0700
From: Joe Touch <touch@isi.edu>
User-Agent: Mozilla/5.0 (Windows NT 6.1; WOW64; rv:17.0) Gecko/20130509 Thunderbird/17.0.6
MIME-Version: 1.0
To: Yuchung Cheng <ycheng@google.com>
References: <51A8DCEB.2090401@isi.edu> <E1UiUMS-00074F-00@www.xplot.org> <012C3117EDDB3C4781FD802A8C27DD4F24BBF87A@SACEXCMBX02-PRD.hq.netapp.com> <CAK6E8=fEOTXiapceg+QX0Q7x37-DHHDAhZ7drfoXP6CzCrxbDQ@mail.gmail.com>
In-Reply-To: <CAK6E8=fEOTXiapceg+QX0Q7x37-DHHDAhZ7drfoXP6CzCrxbDQ@mail.gmail.com>
Content-Type: text/plain; charset="ISO-8859-1"; format="flowed"
Content-Transfer-Encoding: 7bit
X-ISI-4-43-8-MailScanner: Found to be clean
X-MailScanner-From: touch@isi.edu
Cc: "tcpm@ietf.org Extensions" <tcpm@ietf.org>, Tim Shepard <shep@alum.mit.edu>, Fernando Gont <fgont@si6networks.com>
Subject: Re: [tcpm] I-D Action: draft-ietf-tcpm-1323bis-13.txt
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: Mon, 03 Jun 2013 16:48:01 -0000

On 6/1/2013 9:54 AM, Yuchung Cheng wrote:
> On Sat, Jun 1, 2013 at 6:57 AM, Scheffenegger, Richard <rs@netapp.com> wrote:
>> Hi Tim,
>>
>> I agree with your reasoning, and think that IF Tsopt was established, under the current semantics, subsequent segments without Tsopt MUST not be accepted.
>>
>> Sending an ACK for the last in-sequence segment MAY be allowed (but a receiver should not keep sending such an ACK excessively - if it would, and the reason for the non-TSopt segments is a path change where TSopt is being stripped, it could result in a permanent exchange of data/ack, without any forward progress... Although the sender would continuously shrink the cwnd, and limit the wasted bandwidth.)
>>
>> Olivier remarked, that sometimes a sender might push out the TSopt in favor of other options (MPTCP, SACK). While I believe that even then a segment should not be accepted, if it lacks TSopt, I was wondering if there is any benefit to be had, to allow a fully in-sequence packet to be accepted then (shinking the acceptance window basically to one particular sequence number).
>>
>> OTOH, the point of SACK is that it being sent during reorder / loss events, so a rule like above wouldn't be all that helpful really...
>>
>> Does anyone know why Linux does accept non TSopt segments at any time?
>
> quoting Olivier
> """
> Dropping segments that do not contain the TSopt is excessive. There
> are on the Internet middleboxes that coalesce or split segments. While
> doing that, they may remove options. Dropping a segment because it
> does not contain the TSopt which is only informative appears overkill
> to me. Dropping a segment that does not contain the negotiated TCP-AO
> option makes sens, but not for the TSopt.
> """
>
> Real implementations need to handle things that purists don't like.

I completely agree. However, what you describe is a middlebox that 
allowed the TSopt in a SYN and then blocked it later.

The middlebox made a decision that broke what the endpoints asked for. 
So whose intentions do we honor?

Given this is the Internet, it seems clear to me that the endpoints are 
in control, and if the middlebox does something that breaks the 
negotiated connection semantics, then it is a real implementation that 
is broken.

If you let the "real implementation" of the middlebox drive the solution 
here, you have just told all the endpoints that PAWS is no longer available.

You cannot have it both ways. There are real implementations at the 
endpoints who care.

Joe