[tcpm] Re: frto

Reiner Ludwig <Reiner.Ludwig@ericsson.com> Tue, 13 April 2004 11:24 UTC

Received: from optimus.ietf.org (optimus.ietf.org [132.151.1.19]) by ietf.org (8.9.1a/8.9.1a) with ESMTP id HAA06165 for <tcpm-archive@odin.ietf.org>; Tue, 13 Apr 2004 07:24:51 -0400 (EDT)
Received: from localhost.localdomain ([127.0.0.1] helo=www1.ietf.org) by optimus.ietf.org with esmtp (Exim 4.20) id 1BDM1e-0008IG-0q for tcpm-archive@odin.ietf.org; Tue, 13 Apr 2004 07:24:22 -0400
Received: (from exim@localhost) by www1.ietf.org (8.12.8/8.12.8/Submit) id i3DBOMO6031880 for tcpm-archive@odin.ietf.org; Tue, 13 Apr 2004 07:24:22 -0400
Received: from odin.ietf.org ([132.151.1.176] helo=ietf.org) by optimus.ietf.org with esmtp (Exim 4.20) id 1BDM1d-0008I7-RK for tcpm-web-archive@optimus.ietf.org; Tue, 13 Apr 2004 07:24:21 -0400
Received: from ietf-mx (ietf-mx.ietf.org [132.151.6.1]) by ietf.org (8.9.1a/8.9.1a) with ESMTP id HAA06133 for <tcpm-web-archive@ietf.org>; Tue, 13 Apr 2004 07:24:21 -0400 (EDT)
Received: from ietf-mx ([132.151.6.1]) by ietf-mx with esmtp (Exim 4.12) id 1BDM1c-0000uh-00 for tcpm-web-archive@ietf.org; Tue, 13 Apr 2004 07:24:20 -0400
Received: from exim by ietf-mx with spam-scanned (Exim 4.12) id 1BDLwb-0000bm-00 for tcpm-web-archive@ietf.org; Tue, 13 Apr 2004 07:19:10 -0400
Received: from optimus.ietf.org ([132.151.1.19]) by ietf-mx with esmtp (Exim 4.12) id 1BDLte-0000DC-00 for tcpm-web-archive@ietf.org; Tue, 13 Apr 2004 07:16:06 -0400
Received: from localhost.localdomain ([127.0.0.1] helo=www1.ietf.org) by optimus.ietf.org with esmtp (Exim 4.20) id 1BDLtY-0007cH-2Z; Tue, 13 Apr 2004 07:16:00 -0400
Received: from odin.ietf.org ([132.151.1.176] helo=ietf.org) by optimus.ietf.org with esmtp (Exim 4.20) id 1BDLsi-0007Vw-9u for tcpm@optimus.ietf.org; Tue, 13 Apr 2004 07:15:08 -0400
Received: from ietf-mx (ietf-mx.ietf.org [132.151.6.1]) by ietf.org (8.9.1a/8.9.1a) with ESMTP id HAA05522 for <tcpm@ietf.org>; Tue, 13 Apr 2004 07:15:07 -0400 (EDT)
Received: from ietf-mx ([132.151.6.1]) by ietf-mx with esmtp (Exim 4.12) id 1BDLsh-00007a-00 for tcpm@ietf.org; Tue, 13 Apr 2004 07:15:07 -0400
Received: from exim by ietf-mx with spam-scanned (Exim 4.12) id 1BDLnd-0007ac-00 for tcpm@ietf.org; Tue, 13 Apr 2004 07:09:54 -0400
Received: from albatross.ericsson.se ([193.180.251.49]) by ietf-mx with esmtp (Exim 4.12) id 1BDLhe-00072k-00 for tcpm@ietf.org; Tue, 13 Apr 2004 07:03:42 -0400
Received: from esealmw141.al.sw.ericsson.se ([153.88.254.120]) by albatross.ericsson.se (8.12.10/8.12.10/WIREfire-1.8b) with ESMTP id i3DB3YWR019362 for <tcpm@ietf.org>; Tue, 13 Apr 2004 13:03:34 +0200 (MEST)
Received: from esealnt610.al.sw.ericsson.se ([153.88.254.120]) by esealmw141.al.sw.ericsson.se with Microsoft SMTPSVC(6.0.3790.0); Tue, 13 Apr 2004 13:03:33 +0200
Received: from eed.ericsson.se (mailhost.eed.ericsson.se [164.48.133.33]) by esealnt610.al.sw.ericsson.se with SMTP (Microsoft Exchange Internet Mail Service Version 5.5.2657.72) id 25RJM6TF; Tue, 13 Apr 2004 13:03:34 +0200
Received: from EFT1701K2P109AD.ericsson.com (dhcp5-141.eed.ericsson.se [164.48.135.141]) by eed.ericsson.se (8.8.8p2+Sun/1.1.mit) with ESMTP id NAA08468 for <tcpm@ietf.org>; Tue, 13 Apr 2004 13:03:31 +0200 (MET DST)
Message-Id: <6.0.3.0.1.20040413092017.024d4720@imap.eed.ericsson.se>
X-Sender: eedrel@imap.eed.ericsson.se
X-Mailer: QUALCOMM Windows Eudora Version 6.0.3.0
Date: Tue, 13 Apr 2004 11:02:19 +0200
To: tcpm@ietf.org
From: Reiner Ludwig <Reiner.Ludwig@ericsson.com>
In-Reply-To: <20040312141734.B64DD77AA17@guns.icir.org>
References: <20040312141734.B64DD77AA17@guns.icir.org>
Mime-Version: 1.0
Content-Type: text/plain; charset="us-ascii"
X-OriginalArrivalTime: 13 Apr 2004 11:03:33.0942 (UTC) FILETIME=[F673AD60:01C42146]
Subject: [tcpm] Re: frto
Sender: tcpm-admin@ietf.org
Errors-To: tcpm-admin@ietf.org
X-BeenThere: tcpm@ietf.org
X-Mailman-Version: 2.0.12
Precedence: bulk
List-Unsubscribe: <https://www1.ietf.org/mailman/listinfo/tcpm>, <mailto:tcpm-request@ietf.org?subject=unsubscribe>
List-Id: TCP Maintenance and Minor Extensions Working Group <tcpm.ietf.org>
List-Post: <mailto:tcpm@ietf.org>
List-Help: <mailto:tcpm-request@ietf.org?subject=help>
List-Subscribe: <https://www1.ietf.org/mailman/listinfo/tcpm>, <mailto:tcpm-request@ietf.org?subject=subscribe>
X-Spam-Checker-Version: SpamAssassin 2.60 (1.212-2003-09-23-exp) on ietf-mx.ietf.org
X-Spam-Status: No, hits=0.0 required=5.0 tests=none autolearn=no version=2.60

I have finally read the -01 draft, and here are some comments. Editing stuff I will sent directly to the authors.

Main comments
-------------

- For SCTP, the specification of the F-RTO algorithm seems too vague. We have a paper in one of the upcoming CCR journals where we developed a version of Eifel for SCTP. Although SCTP is very similar to TCP in many ways, we still found a number of subtleties that required special treatment. So, I'm not convinced when you simply write "... the algorithms and other discussion should be applicable also to SCTP."
Thus, I would like to see a more detailed specification + discussion for SCTP, or else the SCTP stuff removed.

- You explicitly allow F-RTO to be triggered during an ongoing loss recovery, i.e., upon multiple timeouts for the same segment or upon a timeout during fast recovery. Are you sure this works? What if RFC3517 is triggered upon the 3rd DUPACK, the fast retransmit is sent + other segments are retransmitted, and the sender times out again? The fast retransmit could be lost or excessively delayed, or ... 
I haven't thought this through, but it seems to be a tricky situation. If you can't be 100 percent sure F-RTO works in all these cases, I suggest to only allow the triggering of F-RTO at the very beginning of loss recovery. The same comment applies to the SACK-version of F-RTO.

- Algorithm 2b:
"If the TCP sender does not have any new data to send, the TCP sender SHOULD transmit a segment from the retransmission queue."
You don't say whether it should transmit one or two segments, and you also don't specify which segments. Later in this section you discuss various options. Some of those you do not encourage and some you leave unqualified. I think this is too vague. Implementors will have a hard time to make a choice. I suggest you settle for one option that gets specified and recommended. You can still discuss in some section why you have settled for that option and not for others - if you think that adds to the doc.

- The SACK-version of F-RTO seems vague and is hard to follow. For example, ...
  * in step 2) you say "If duplicate ACKs arrive, ... but stay in step 2." What does 'staying in step 2' mean: continue waiting for ACKs or proceed to step 2a)?
  * "..., it MAY follow one of the [many] options presented in Section 2."
  * there are no explanations / motivations presented for the steps of SACK-verion of the algorithm. 

- Section 4 
  * Why don't you explicitly recommend using F-RTO with the Eifel response algorithm (a soon to be RFC) instead of outlining alternatives that have been proposed outside of the IETF? 
  * Why do you consider the response to spurious timeouts a subject of further research when we have already reached consensus in the IETF about how to do this response?


Minor comments
--------------

- The 'RTO' is the retransmission timeout value. It's a value not an event. If you talk about a timeout (event), I think, you should say 'timeout' or '... when the retransmission timer expires ...'. Mixing everything up causes unnecessary double meanings, and potential confusion, especially for those who are not so familiar with the TCP-lingu. 

- Aligning terminology across RFCs: 
  * "first unacknowledged segment" > "oldest outstanding segment" 
  * "delay peak" > "delay spike"
  * "high_data" > "RecoveryPoint" [RFC3517]
  * "new ACK" > "acceptable ACK" [RFC793]

- 2nd para in Intro: you should add that standard TCP usually breaks packet conservation after a spurious timeout.

- I suggest to structure Section 2 into subsections:
  * one that contains nothing but the pure algorithm
  * a subsection for each step where you explain and motivate
  * a subsection for general discussion: the last three paragraphs of the 
    current Section 2.

- Your definition of a spurious timeout is not very precise. We had a lengthy discussion on this related to the Eifel detection algorithm, remember :-) This has resulted in the definition we give in Section 2 of RFC3522 (see 2nd para + the note).

- Algorithm 2a: 
  "If ... it [the ACK] is acknowleding a sequence number equal to (or above) the value of send_high [...] continue by retransmitting unacknowledged data in slow start" Really?
I suggest to simply say "If the acknowledgement ... in step 1, the TCP sender MUST exit the F-RTO algorithm." (same in the the SACK version)

- Algorithm 2b:
  "If the acknowledgement ... of send_high, ..." > "Else, ..."

- Algorithm 3a:
How about setting CWND to the loss window (LW) + 2 * MSS. Or instead of (2 * MSS) the ABC equivalent of that?

- You talk about "bugfix" and RFC2582. This should be made consistent with the update to RFC2582.

- You say that one benefit of F-RTO is that it allows the sender to take RTT sample sooner, and that this leads to larger RTOs. I don't think so because without timestamps and without F-RTO the RTO will stay backed off, i.e., rather large, until a previously unsent segment is sent and acknowledged due to Karn's algorithm [RFC2988].

I hope this helps.

///Reiner

At 16:17 12.03.2004, Mark Allman wrote:

>Hello!
>
>As discussed at the meeting last week we'd like to encourage folks to
>read and comment on the F-RTO draft: draft-ietf-tsvwg-tcp-frto-01.txt.
>Based on the feedback we've received so far it seems like all the large
>issues have been working out of this draft and it is near ready to be
>forwarded.  We'd like folks to read the document and send any remaining
>issues to the list.
>
>Thanks!
>
>allman
>
>
>--
>Mark Allman -- ICIR -- http://www.icir.org/mallman/


_______________________________________________
tcpm mailing list
tcpm@ietf.org
https://www1.ietf.org/mailman/listinfo/tcpm