Re: [tcpm] Review of draft-ietf-tcpm-rtorestart-02.txt

Per Hurtig <per.hurtig@kau.se> Thu, 15 May 2014 10:00 UTC

Return-Path: <prvs=0212a1c614=per.hurtig@kau.se>
X-Original-To: tcpm@ietfa.amsl.com
Delivered-To: tcpm@ietfa.amsl.com
Received: from localhost (ietfa.amsl.com [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id 918581A0492 for <tcpm@ietfa.amsl.com>; Thu, 15 May 2014 03:00:46 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -2.25
X-Spam-Level:
X-Spam-Status: No, score=-2.25 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, HELO_EQ_SE=0.35, RCVD_IN_DNSWL_LOW=-0.7] autolearn=ham
Received: from mail.ietf.org ([4.31.198.44]) by localhost (ietfa.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id hG4oViEQ-Q_S for <tcpm@ietfa.amsl.com>; Thu, 15 May 2014 03:00:44 -0700 (PDT)
Received: from nasse.dc.kau.se (smtp.kau.se [193.10.220.39]) (using TLSv1 with cipher ADH-AES256-SHA (256/256 bits)) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id 585271A0471 for <tcpm@ietf.org>; Thu, 15 May 2014 03:00:44 -0700 (PDT)
X-Spam-Processed: mail.kau.se, Thu, 15 May 2014 12:00:17 +0200 (not processed: spam filter heuristic analysis disabled)
X-Authenticated-Sender: perhurt@kau.se
X-MDRemoteIP: 130.243.26.112
X-Return-Path: per.hurtig@kau.se
X-Envelope-From: per.hurtig@kau.se
Content-Type: text/plain; charset="windows-1252"
Mime-Version: 1.0 (Mac OS X Mail 7.2 \(1874\))
From: Per Hurtig <per.hurtig@kau.se>
In-Reply-To: <38DA60FD-7629-4FCB-BD19-830FC7F5232C@netapp.com>
Date: Thu, 15 May 2014 12:00:18 +0200
Content-Transfer-Encoding: quoted-printable
Message-Id: <8CEBB7AD-88F3-45CA-A1C6-D5306EEE02B3@kau.se>
References: <38DA60FD-7629-4FCB-BD19-830FC7F5232C@netapp.com>
To: "Zimmermann, Alexander" <Alexander.Zimmermann@netapp.com>
X-Mailer: Apple Mail (2.1874)
Archived-At: http://mailarchive.ietf.org/arch/msg/tcpm/KKN2FUad0z1IMS5XAguTRJsoNQQ
Cc: "draft-ietf-tcpm-rtorestart@tools.ietf.org" <draft-ietf-tcpm-rtorestart@tools.ietf.org>, "tcpm@ietf.org Extensions" <tcpm@ietf.org>
Subject: Re: [tcpm] Review of draft-ietf-tcpm-rtorestart-02.txt
X-BeenThere: tcpm@ietf.org
X-Mailman-Version: 2.1.15
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, 15 May 2014 10:00:46 -0000

Hi Alexander

thanks for the review, please see my comments inline…


On 13 May 2014, at 11:57, Zimmermann, Alexander <Alexander.Zimmermann@netapp.com> wrote:

> Hi folks,
> 
> first of all thank you for writing this draft. The draft is clearly written: the
> problem is well described, the doc is self-contained (it’s not necessary to read
> dozens of other RFCs to understand the problem), and the authors state why the
> doc is experimental and what further experiments are needed for being a STD.
> However, on the technical side I see some open points. In detail:
> 
> * Sec 1, 4. para: „a considerable number of flows have such properties“
>  Can you backup this with some numbers? This is exactly the point I raised at the
>  (last?) IETF. I would like to see some data on how severe the problem is we would
>  like to fix.
> 

For short flows (e.g. web) there are a number of references in the draft. These are
the primary target for the mechanism. We’ll elaborate some more on the importance
for other types of traffic. 


> * Sec 1.1: please change this subsection to a section (1.1 => 2) and also
>  introduce your new state variable rrthresh here
> 

I don’t get why the section should be renumbered. The “terminology” is often the
last subsection of the introduction of most drafts and RFCs. Furthermore, it seems 
slightly overkill to introduce the variable there. RFCs that manages many more 
variables, e.g. RFC6298 does not explicitly introduce any variable in this section.

> * Sec 1, 5. para: „Spurious timeouts typically degrade the performance of flows
>  with multiple bursts of data, as a burst following a spurious timeout might
>  not fit within the reduced congestion window (cwnd)“
> 
>  This is (only) true with respect to your algo, not in general. The general
>  problem of a spurious timeout is the cwnd reduction, the go-back-N
>  retransmissions, … See RFC 3522. After reading section 4.2 of your draft I
>  understand what you want to see here. Please rephrase the section and maybe
>  add the spurious RTO RFC as reference.
> 
What is meant is the actual cwnd reduction. We should clarify this.


> * Sec 3: Suppose FlightSize is 2 and you have exactly one segment to send,
>  your algo doesn’t trigger since step 2.b isn’t true. Bug? I would say yes.
> 
Good catch! The question is if it’s worth fixing since the algorithm will
become more complex and the situation you mention is really a corner case that
requires either (i) the cwnd to be exactly 3 segments large; or (ii) having a
packet written to the socket just between previous data transmission and the
arrival of the acknowledgment.

Furthermore, this mechanism is only an optimization to the standard timer. So
if it doesn’t work in this particular scenario it won’t break anything. It will
just not be triggered. 

> * Sec 3: Why the condition 2.b is different from the early retransmission
>  condition 2.b or 3.b? Is there any specific reason why we exclude the
>  advertised receive window part from the condition?
> 
Because the advertised window can be small in situations where it’s not
preferable to use RTO restart. For instance, in the middle of a transfer where
it’s better to wait for fast/early retransmit to kick in.

> * Sec 3: IMO the algo/doc is too much Linux driven. I would like to see a
>  segment-based *and* byte-based version of the algo, like RFC 5827.
> 
Yes, this comment was given by several people at the last IETF. We will update
the draft to address this.

> * General: IMO I would be a little bit easier to read the doc if you give the
>  algo a proper name. By reading „RTO restart“ I had sometimes trouble to
>  know if mean your algo or the „action“ of restarting the RTO.
> 
Agreed, this will be fixed.



Thank you,
Per Hurtig

> 
> Alex
> 
> 
>