Re: [tcpm] SYN retransmission with draft-paxson-tcpm-rfc2988bis-00

Gorry Fairhurst <gorry@erg.abdn.ac.uk> Wed, 24 March 2010 14:52 UTC

Return-Path: <gorry@erg.abdn.ac.uk>
X-Original-To: tcpm@core3.amsl.com
Delivered-To: tcpm@core3.amsl.com
Received: from localhost (localhost [127.0.0.1]) by core3.amsl.com (Postfix) with ESMTP id 2EA373A684B for <tcpm@core3.amsl.com>; Wed, 24 Mar 2010 07:52:59 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: 0.13
X-Spam-Level:
X-Spam-Status: No, score=0.13 tagged_above=-999 required=5 tests=[AWL=1.000, BAYES_00=-2.599, DNS_FROM_OPENWHOIS=1.13, J_CHICKENPOX_33=0.6, NO_RELAYS=-0.001]
Received: from mail.ietf.org ([64.170.98.32]) by localhost (core3.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id cXWAtPiwJv54 for <tcpm@core3.amsl.com>; Wed, 24 Mar 2010 07:52:58 -0700 (PDT)
Received: from erg.abdn.ac.uk (dee.erg.abdn.ac.uk [IPv6:2001:630:241:204:203:baff:fe9a:8c9b]) by core3.amsl.com (Postfix) with ESMTP id DB3F03A6835 for <tcpm@ietf.org>; Wed, 24 Mar 2010 07:52:57 -0700 (PDT)
Received: from ra-gorry.erg.abdn.ac.uk ([IPv6:2001:df8:0:24:21e:c2ff:febe:4c73]) (authenticated bits=0) by erg.abdn.ac.uk (8.13.4/8.13.4) with ESMTP id o2OEr2qf004283 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES128-SHA bits=128 verify=NOT); Wed, 24 Mar 2010 14:53:04 GMT
Message-ID: <4BAA274E.6050603@erg.abdn.ac.uk>
Date: Wed, 24 Mar 2010 07:53:02 -0700
From: Gorry Fairhurst <gorry@erg.abdn.ac.uk>
Organization: The University of Aberdeen is a charity registered in Scotland, No SC013683.
User-Agent: Mozilla/5.0 (Macintosh; U; Intel Mac OS X 10.6; en-US; rv:1.9.1.7) Gecko/20100111 Thunderbird/3.0.1
MIME-Version: 1.0
To: mallman@icir.org
References: <20100324133205.95CFDBB8831@lawyers.icir.org>
In-Reply-To: <20100324133205.95CFDBB8831@lawyers.icir.org>
Content-Type: text/plain; charset="ISO-8859-1"; format="flowed"
Content-Transfer-Encoding: 7bit
X-ERG-MailScanner: Found to be clean
X-ERG-MailScanner-From: gorry@erg.abdn.ac.uk
Cc: tcpm@ietf.org
Subject: Re: [tcpm] SYN retransmission with draft-paxson-tcpm-rfc2988bis-00
X-BeenThere: tcpm@ietf.org
X-Mailman-Version: 2.1.9
Precedence: list
Reply-To: gorry@erg.abdn.ac.uk
List-Id: TCP Maintenance and Minor Extensions Working Group <tcpm.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/listinfo/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: Wed, 24 Mar 2010 14:52:59 -0000

On 24/03/2010 06:32, Mark Allman wrote:
>
>> My rationale is that there are transport methods that use
>> retransmission of a SYN as the indication that there may be something
>> problematic with the path, and then modify their behaviour.
>
> I wasn't in the meeting so perhaps I don't have the right context here.
> But, I guess I don't quite see the concern.  Presumably these methods
> actually help the cause---not hurt it.
>
> I.e., if I send a SYN-with-ECN and then spuriously RTO because I am
> traversing a long path I will send a SYN-w/o-ECN.  When I see a SYN-ACK
> I'll be able to tell which SYN triggered it and therefore do the right
> thing (i.e., get an RTT sample, tell if the retransmit was likely
> spurious or not, etc.).
>
> Am I missing something here?
>
> allman
>
Thanks Mark,

I wasn't saying the method broke ECN negotiation, and other things that 
work in this way. I wanted to be sure that implementors would realise 
that this MUST be handled correctly, and avoid finding that people 
over-focused on short paths, without realising that the 1st RTO expiry 
on a 1-3 sec path did NOT necessarily indicate a path problem.

I could imagine a (bad) implementation that sent a SYN+ECN and the RTO 
expired, it then concluded that ECN (or whatever) wasn't supported, 
cleared the internal flag that indicates ECN would be used, and then 
sends a simple SYN.

Whereas, what you outline seems good practice and I think says that the 
sender should take the received SYN-ACK+ECN as indication that ECN can 
be used (even if the sender knows the last SYN did not include this 
option, and the next SYN-ACK does not).

I think this detail was not clear when ECN, QuickStart, etc was 
standardised. If this approach was called-out in the document this would 
seem to be good.

Gorry