Re: [tcpm] initial RTO (was Re: Tuning TCP parameters for the 21st century)
Jerry Chu <hkchu@google.com> Wed, 29 July 2009 14:56 UTC
Return-Path: <hkchu@google.com>
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 A1EC33A6F27 for <tcpm@core3.amsl.com>; Wed, 29 Jul 2009 07:56:06 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -101.677
X-Spam-Level:
X-Spam-Status: No, score=-101.677 tagged_above=-999 required=5 tests=[AWL=-0.301, BAYES_00=-2.599, FM_FORGED_GMAIL=0.622, HTML_MESSAGE=0.001, J_CHICKENPOX_34=0.6, USER_IN_WHITELIST=-100]
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 pE3XFCUifJ9M for <tcpm@core3.amsl.com>; Wed, 29 Jul 2009 07:56:05 -0700 (PDT)
Received: from smtp-out.google.com (smtp-out.google.com [216.239.33.17]) by core3.amsl.com (Postfix) with ESMTP id 27AF33A6D3D for <tcpm@ietf.org>; Wed, 29 Jul 2009 07:56:05 -0700 (PDT)
Received: from wpaz29.hot.corp.google.com (wpaz29.hot.corp.google.com [172.24.198.93]) by smtp-out.google.com with ESMTP id n6TEu4eD016982 for <tcpm@ietf.org>; Wed, 29 Jul 2009 15:56:05 +0100
DKIM-Signature: v=1; a=rsa-sha1; c=relaxed/relaxed; d=google.com; s=beta; t=1248879365; bh=wJqF5U8T8Tnnm3KA1cBq1edfo3s=; h=DomainKey-Signature:MIME-Version:In-Reply-To:References:Date: Message-ID:Subject:From:To:Cc:Content-Type:X-System-Of-Record; b=h pyiMDhyx1xi2wJza9z03INdYRHXJIlpqWPNC5ppklTm2faNHjWOY63jk6zPlaDcMp3F fcDG7Envlo4dhdUziQ==
DomainKey-Signature: a=rsa-sha1; s=beta; d=google.com; c=nofws; q=dns; h=mime-version:in-reply-to:references:date:message-id:subject:from:to: cc:content-type:x-system-of-record; b=Qbt3KDEWHY1/bfVG0a35dFLQMdN68pfuIH7bO1LILj+PWWLlOYQSnJa8wTxQOq/qM y9EIsqsfuRLX9J1Tl+DZg==
Received: from an-out-0708.google.com (anac3.prod.google.com [10.100.54.3]) by wpaz29.hot.corp.google.com with ESMTP id n6TEu24a031353 for <tcpm@ietf.org>; Wed, 29 Jul 2009 07:56:02 -0700
Received: by an-out-0708.google.com with SMTP id c3so405418ana.17 for <tcpm@ietf.org>; Wed, 29 Jul 2009 07:56:02 -0700 (PDT)
MIME-Version: 1.0
Received: by 10.100.105.4 with SMTP id d4mr12045650anc.39.1248879361876; Wed, 29 Jul 2009 07:56:01 -0700 (PDT)
In-Reply-To: <20090728183556.A5820385088@lawyers.icir.org>
References: <d1c2719f0907280832u199cbaa7p10a977b3a2cef244@mail.gmail.com> <20090728183556.A5820385088@lawyers.icir.org>
Date: Wed, 29 Jul 2009 07:56:01 -0700
Message-ID: <d1c2719f0907290756h6f4990afu8fe4a573c5669d79@mail.gmail.com>
From: Jerry Chu <hkchu@google.com>
To: mallman@icir.org
Content-Type: multipart/alternative; boundary="0016e64135dcbb6531046fd9623c"
X-System-Of-Record: true
Cc: "tcpm@ietf.org" <tcpm@ietf.org>
Subject: Re: [tcpm] initial RTO (was Re: Tuning TCP parameters for the 21st century)
X-BeenThere: tcpm@ietf.org
X-Mailman-Version: 2.1.9
Precedence: list
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, 29 Jul 2009 14:56:06 -0000
Mark, On Tue, Jul 28, 2009 at 11:35 AM, Mark Allman <mallman@icir.org> wrote: > > Jerry- > > > So the active open side has retransmitted SYN, assuming initRTO of > > 1sec, and eventually received a SYN-ACK but the TS option was > > denied so no good RTT sample can be taken. It will continue to send > > the init data with the initRTO. > > > > If the SYN retransmission has been unnecessary because the initRTO has > > been too aggressive, more SYN-ACK will be triggered. Assuming these > > dup SYN-ACKs are not lost, could they be used as a hint to the active > > open side that the initRTO has been too short, so that the RTO timer > > can be reverted back to 3secs immediately, in time to avoid further > > RTO hell? > > So, you're saying that if you send N SYNs (N>1) and you get N SYN+ACKs > then you take that to mean the initRTO was too short. > > Yeah, perhaps ... > > Are you suggesting something like this ... > > (1) Use an initRTO of 1sec. > > (2) If the RTO fires and you retransmit the SYN back the RTO to 3sec. > (And, if necessary you exponential backoff even more.) > > (3) After the 3WHS you will either (a) have a good RTT sample from the > timestamp option and can therefore set the RTO reasonably or (b) > you retain the 3sec RTO until you get a good RTT sample. > > ?? > > That means that if 1sec is not enough in the 3WHS you have to use 3sec > until you have some idea about the network. However, you also get a > shot [*one shot*] to retransmit sooner based on the notion that most > RTTs are less than 1sec. > > I think I buy that notion ... that both allows for more aggressiveness > for the common case while also protecting against RTO Hell for the long > path cases. Is that the right walking of the line? I can think of a number of variations. The one-shot 1-sec-initRTO idea you described above also came through my mind but the drawback is you only get one-shot even though we know statistically > 98% of connections have RTT < 1 sec so most likely the continuous use of 1-sec-initRTO will turn out to be better. (A counter argument might be one-shot is "good enough", benefitting > 90% of the cases statistically...) The advantage of it is its simplicity, restricting the max # of spurious retransmissions caused by the reduced initRTO to 1, and obviously avoiding the RTO hell problem. A different variation that is slightly more complex but allowing the reduced initRTO to be used more than one-time (hence potentially providing more benefit to those > 98% connections) is to only terminate its use upon the detection of spurious retransmission. Specifically - 1. initRTO = 1sec 2. if a valid pkt with the SYN bit on is received (so it could be either SYN or SYN-ACK) and the following two conditions are met: 2a. the connection state is neither SYN-SENT nor SYN-RCVD 2b. RTO == 1sec (or no good RTT sample has been taken) Simply reset the RTO to 3secs. On a second look it doesn't seem much more complex, although it may be slightly more work to analyze its thoroughness (e.g., what if all the dup SYN/SYN-ACK were lost, or all come back late...) Also it does incur more spurious pkts for those connections with RTT > 2sec. What do you think? Jerry > > allman > > > >
- [tcpm] Tuning TCP parameters for the 21st century Jerry Chu
- Re: [tcpm] Tuning TCP parameters for the 21st cen… Erik Nordmark
- Re: [tcpm] Tuning TCP parameters for the 21st cen… Joe Touch
- Re: [tcpm] Tuning TCP parameters for the 21st cen… Jerry Chu
- Re: [tcpm] Tuning TCP parameters for the 21st cen… Joe Touch
- Re: [tcpm] Tuning TCP parameters for the 21st cen… Jerry Chu
- Re: [tcpm] Tuning TCP parameters for the 21st cen… Jerry Chu
- Re: [tcpm] Tuning TCP parameters for the 21st cen… Joe Touch
- Re: [tcpm] Tuning TCP parameters for the 21st cen… Michael Scharf
- Re: [tcpm] Tuning TCP parameters for the 21st cen… Joe Touch
- Re: [tcpm] Tuning TCP parameters for the 21st cen… michawe
- Re: [tcpm] Tuning TCP parameters for the 21st cen… Joe Touch
- Re: [tcpm] Tuning TCP parameters for the 21st cen… Jerry Chu
- Re: [tcpm] Tuning TCP parameters for the 21st cen… Rui Paulo
- Re: [tcpm] Tuning TCP parameters for the 21st cen… Jerry Chu
- Re: [tcpm] Tuning TCP parameters for the 21st cen… Jerry Chu
- Re: [tcpm] Tuning TCP parameters for the 21st cen… Joe Touch
- Re: [tcpm] Tuning TCP parameters for the 21st cen… Michael Welzl
- Re: [tcpm] Tuning TCP parameters for the 21st cen… Jerry Chu
- Re: [tcpm] Tuning TCP parameters for the 21st cen… Jerry Chu
- Re: [tcpm] Tuning TCP parameters for the 21st cen… Michael Welzl
- [tcpm] initial RTO (was Re: Tuning TCP parameters… Mark Allman
- Re: [tcpm] initial RTO (was Re: Tuning TCP parame… Jerry Chu
- Re: [tcpm] initial RTO (was Re: Tuning TCP parame… Mark Allman
- Re: [tcpm] initial RTO (was Re: Tuning TCP parame… Jerry Chu
- Re: [tcpm] initial RTO (was Re: Tuning TCP parame… Mark Allman
- Re: [tcpm] initial RTO (was Re: Tuning TCP parame… L.Wood
- Re: [tcpm] initial RTO (was Re: Tuning TCP parame… Mark Allman
- Re: [tcpm] initial RTO (was Re: Tuning TCP parame… L.Wood
- Re: [tcpm] initial RTO (was Re: Tuning TCP parame… Jerry Chu
- Re: [tcpm] initial RTO (was Re: Tuning TCP parame… Jerry Chu
- Re: [tcpm] initial RTO (was Re: Tuning TCP parame… Mark Allman
- Re: [tcpm] initial RTO (was Re: Tuning TCP parame… Jerry Chu
- Re: [tcpm] initial RTO (was Re: Tuning TCP parame… Mark Allman
- Re: [tcpm] initial RTO (was Re: Tuning TCP parame… Jerry Chu