Re: [tcpm] Review: draft-ietf-tcpm-early-rexmt-01
Joe Touch <touch@ISI.EDU> Wed, 23 September 2009 15:11 UTC
Return-Path: <touch@ISI.EDU>
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 A5FB43A6967 for <tcpm@core3.amsl.com>; Wed, 23 Sep 2009 08:11:36 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -2.599
X-Spam-Level:
X-Spam-Status: No, score=-2.599 tagged_above=-999 required=5 tests=[AWL=0.000, BAYES_00=-2.599]
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 fNOqR6WoG4QO for <tcpm@core3.amsl.com>; Wed, 23 Sep 2009 08:11:35 -0700 (PDT)
Received: from nitro.isi.edu (nitro.isi.edu [128.9.208.207]) by core3.amsl.com (Postfix) with ESMTP id B7E5C3A68AA for <tcpm@ietf.org>; Wed, 23 Sep 2009 08:11:35 -0700 (PDT)
Received: from [70.208.68.126] (126.sub-70-208-68.myvzw.com [70.208.68.126]) (authenticated bits=0) by nitro.isi.edu (8.13.8/8.13.8) with ESMTP id n8NFBCx9012187 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=NOT); Wed, 23 Sep 2009 08:11:18 -0700 (PDT)
Message-ID: <4ABA3A90.30901@isi.edu>
Date: Wed, 23 Sep 2009 08:11:12 -0700
From: Joe Touch <touch@ISI.EDU>
User-Agent: Thunderbird 2.0.0.23 (Windows/20090812)
MIME-Version: 1.0
To: mallman@icir.org
References: <20090923150132.B2B3B4AF55C@lawyers.icir.org>
In-Reply-To: <20090923150132.B2B3B4AF55C@lawyers.icir.org>
X-Enigmail-Version: 0.96.0
Content-Type: text/plain; charset="ISO-8859-1"
Content-Transfer-Encoding: 7bit
X-MailScanner-ID: n8NFBCx9012187
X-ISI-4-69-MailScanner: Found to be clean
X-MailScanner-From: touch@isi.edu
Cc: tcpm@ietf.org
Subject: Re: [tcpm] Review: draft-ietf-tcpm-early-rexmt-01
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, 23 Sep 2009 15:11:36 -0000
-----BEGIN PGP SIGNED MESSAGE----- Hash: SHA1 Mark Allman wrote: > Joe- > > Thanks for the followup. I am taking most of this as "Joe would have > done it differently" and not as show-stoppers. Please yell if this is > not the case. Just suggestions on clarifications that might be useful. No show-stoppers. I think most of these can be addressed with brief bits of text. see below... > But, in particular, > >>> There is no "FR_thresh" sort of variable defined in RFC5681. So, while >>> I understand sort of what you are saying I think this ... >>> >>> When the above two conditions hold and a TCP connection does not >>> support SACK the duplicate ACK threshold used to trigger a >>> retransmission MUST be reduced to: >>> >>> is clear about how one goes about using the threshold. (This is an >>> example ... there are other places with the same text.) >> It's simpler than that - you have a variable called ER_thresh. You don't >> define it. You explain what values to set it to, but you never use it to >> do anything. >> >> I.e., you have an undefined variable that you set, but don't declare and >> never use. > > ...in a *program* we didn't write. :-) Well, you wrote the lines that *set* the variable ;-)) > I think it is clear from the text what is going on here. I.e., that > "the duplicate ACK threshold used to trigger a retransmission MUST be > reduced to: ER_thresh" is perfectly clear. OK, so I missed this. It might be useful to make it more clear, e.g., dupack_thresh = ER_thresh (or whatever the dupack threshold variable name is) > (ER_thresh is used in the text and so removing it as spurious is not the > simple answer.) I don't want to remove it. I just want to be more clear about using it. >> Nagle is on by default. Your example should be very clear about the >> fact that you expect the default to be overridden, or should include >> Nagle IMO. >> >> I don't think you need many different cases, but if this works much >> better with Nagle off, then the doc needs a bit of explanation on >> this. > > It's not a question or working better or worse with Nagle on or off. > The examples are *illustrations* (advertised as such) of how a trivial > estimation of the number of outstanding segments based on the number of > bytes outstanding can be wrong (in both directions). It is not meant to > be any deeper than that. It does not need to be complicated by > extraneous details. Can you just state that, i.e., "Nagle is off to simplify the example"? > >>>> Other considerations: seems like you're making TCP send more >>>> segments into the net when data is being lost, vs. the existing >>>> mechanisms. If that's the case, and if loss is due to buffer >>>> overload, are you making things potentially worse? If not, please >>>> explain. >>> I don't understand this point. Is it relative to ER or [Bal98]? > >> Relative to not doing ER. > > In that case I think you're wrong. In the case of actual loss that loss > is going to be repaired with a retransmit. We send that retransmit at a > different point than the existing mechanism (which would wait for the > RTO to resend the exact same packet). So, we are not sending more > segments into the network. I'm just suggesting it would be useful to include that answer. I didn't know what it was, just that it wasn't addressed. > I suppose that one could argue that by sending the segment sooner than > the RTO we are perhaps not giving the congestion as much of a chance to > clear from the router buffers. But, that's a pretty thin argument given > that fast retransmit does roughly the same thing and the network has not > melted down because of it. I'd rather just leave this as part of the > experiment that would need to be done to put this on the standards track" OK to also say "and this is expected to be confirmed by experiments". > In the case of reordering (no actual loss; not the case you bring up > above) then, yes, ER does inject more segments than necessary into the > network. That is shown in the appendix. Also, that doesn't worry me as > much because we are not sending those extra segments into obviously > congested networks. I'm not particularly worried, just asking that the issue be addressed - even briefly. Joe -----BEGIN PGP SIGNATURE----- Version: GnuPG v1.4.9 (MingW32) iEYEARECAAYFAkq6OpAACgkQE5f5cImnZrvh9ACfa8z7QrPBMH78F777fkTG0gLE 5TkAnR15ZEeVOUNimtSW+drjqTL/UUeL =/uXV -----END PGP SIGNATURE-----
- Re: [tcpm] Review: draft-ietf-tcpm-early-rexmt-01 Mark Allman
- [tcpm] Review: draft-ietf-tcpm-early-rexmt-01 Alexander Zimmermann
- Re: [tcpm] Review: draft-ietf-tcpm-early-rexmt-01 Joe Touch
- Re: [tcpm] Review: draft-ietf-tcpm-early-rexmt-01 Mark Allman
- Re: [tcpm] Review: draft-ietf-tcpm-early-rexmt-01 Joe Touch
- [tcpm] delayed ACKs (was Re: Review: draft-ietf-t… Mark Allman
- Re: [tcpm] delayed ACKs (was Re: Review: draft-ie… Joe Touch
- Re: [tcpm] Review: draft-ietf-tcpm-early-rexmt-01 Mark Allman
- Re: [tcpm] Review: draft-ietf-tcpm-early-rexmt-01 Joe Touch
- Re: [tcpm] Review: draft-ietf-tcpm-early-rexmt-01 Alexander Zimmermann
- Re: [tcpm] Review: draft-ietf-tcpm-early-rexmt-01 Joe Touch