[Tsvwg] Eifel Detection & Loss of all ACKs
Reiner Ludwig <Reiner.Ludwig@ericsson.com> Thu, 29 August 2002 15:03 UTC
Received: from www1.ietf.org (ietf.org [132.151.1.19] (may be forged)) by ietf.org (8.9.1a/8.9.1a) with ESMTP id LAA25528 for <tsvwg-archive@odin.ietf.org>; Thu, 29 Aug 2002 11:03:48 -0400 (EDT)
Received: (from mailnull@localhost) by www1.ietf.org (8.11.6/8.11.6) id g7TF4pB19154 for tsvwg-archive@odin.ietf.org; Thu, 29 Aug 2002 11:04:51 -0400
Received: from www1.ietf.org (localhost.localdomain [127.0.0.1]) by www1.ietf.org (8.11.6/8.11.6) with ESMTP id g7TF4ao19132; Thu, 29 Aug 2002 11:04:36 -0400
Received: from ietf.org (odin.ietf.org [132.151.1.176]) by www1.ietf.org (8.11.6/8.11.6) with ESMTP id g7TBfPo07134 for <tsvwg@optimus.ietf.org>; Thu, 29 Aug 2002 07:41:25 -0400
Received: from penguin.wise.edt.ericsson.se (penguin-ext.wise.edt.ericsson.se [193.180.251.47]) by ietf.org (8.9.1a/8.9.1a) with ESMTP id HAA16213 for <tsvwg@ietf.org>; Thu, 29 Aug 2002 07:39:54 -0400 (EDT)
Received: from eed.ericsson.se (mailhost.eed.ericsson.se [164.48.133.33]) by penguin.wise.edt.ericsson.se (8.12.1/8.12.1/WIREfire-1.4) with ESMTP id g7TBfMRb012375; Thu, 29 Aug 2002 13:41:22 +0200 (MEST)
Received: from res0010384da36.ericsson.com (dhcp5-197 [164.48.135.197]) by eed.ericsson.se (8.8.8+Sun/1.1.mit) with ESMTP id NAA05480; Thu, 29 Aug 2002 13:41:21 +0200 (MET DST)
Message-Id: <5.1.0.14.0.20020829114522.00b02598@mailhost.eed.ericsson.se>
X-Sender: eedrel@mailhost.eed.ericsson.se
X-Mailer: QUALCOMM Windows Eudora Version 5.1
Date: Thu, 29 Aug 2002 13:43:27 +0200
To: Sally Floyd <floyd@icir.org>
From: Reiner Ludwig <Reiner.Ludwig@ericsson.com>
Cc: tsvwg@ietf.org
In-Reply-To: <200208280002.g7S02mG4051022@cougar.icir.org>
Mime-Version: 1.0
Content-Type: text/plain; charset="us-ascii"; format="flowed"
Subject: [Tsvwg] Eifel Detection & Loss of all ACKs
Sender: tsvwg-admin@ietf.org
Errors-To: tsvwg-admin@ietf.org
X-BeenThere: tsvwg@ietf.org
X-Mailman-Version: 2.0.12
Precedence: bulk
List-Unsubscribe: <https://www1.ietf.org/mailman/listinfo/tsvwg>, <mailto:tsvwg-request@ietf.org?subject=unsubscribe>
List-Id: Transport Area Working Group <tsvwg.ietf.org>
List-Post: <mailto:tsvwg@ietf.org>
List-Help: <mailto:tsvwg-request@ietf.org?subject=help>
List-Subscribe: <https://www1.ietf.org/mailman/listinfo/tsvwg>, <mailto:tsvwg-request@ietf.org?subject=subscribe>
Sally, I have given this thread a separate subject line to make it easier to keep track ... At 02:02 28.08.2002, Sally Floyd wrote: >Chiming in about the case of an RTO due to the loss of ACKs: > >Given the absence of any separate form of congestion control on >reverse-path ACK-only traffic, it seems to me that the ideal behavior >would be to interpret the loss of all of the ACKs for a window of >data as an instance of congestion, and as a consequence to reduce >the sending rate. So it seems to me that the *ideal* behavior would >be to interpret such an event as a valid retransmit timeout. My >vote would be for the draft to say that: e.g., "while some >would argue that the ideal behavior would be to interpret such an >event as a valid retransmit timeout, the Eifel detection algorithm >interprets it as a spurious timeout." Fine. That sounds reasonable, and I'll include that in the next revision. I would like to explain why we ended up with the current definition of a spurious timeout given in the -04 version of the draft: I admit that it sounds odd to call a timeout that occured because an entire window of ACKs got lost *while (at least) the oldest outstanding segment was not lost* a spurious timeout. This is even more so since such a timeout is unavoidable. However, also in this situation does the standard TCP sender "misbehave" since it does a go-back-N in slow start, potentially breaking packet conservation. I.e., it retransmits all outstanding segments at double ACK-clock speed without knowing whether those segments were lost or not. It was our intention to have Eifel detection detect this case to give response schemes, e.g., Eifel response, the chance to avoid the go-back-N. Also, we didn't find it worth to distinguish that case from the common case of a spurious timeout where the retransmission timer simply fired to quick (usually because of a sudden delay spike on the path). This is because we believe that "loss of all ACKs while (at least) the oldest outstanding segment was not lost" must be a pretty rare corner case. If we really wanted to make this a special case that the TCP sender could detect as such, I see no other alternative but to use the DSACK option. But that would only make things more complicated, and I don't think that effort is worth the benefit. >It would not seem a big danger to end-to-end congestion control if >the overall Eifel algorithm occasionally failed to halve its >congestion window in the rare case when all of the ACKs in a window >of data were lost ... one needs to add: "... while (at least) the oldest outstanding segment was not lost". Only in that case does Eifel detection announce that loss recovery was entered unnecessarily, and the Eifel response reacts by avoiding the go-back-N, reversing congestion control state, and re-initializing SRTT and RTTVAR. If all ACKs were lost but also the oldest outstanding segment, Eifel detection/response does nothing. >On the other hand, if the overall Eifel algorithm >caused the TCP sender to repeatedly fail to halve its congestion >window in an environment with heavy losses on the return path, when >all of the ACKs in window of data were frequently lost, then that >would seem like a problem to me. I don't have any idea if such a >scenario is realistic or even theoretically possible. So, the scenario in which Eifel would repeatedly reverse to the previous congestion control state would be: never a loss of the segment for which the timeout occured & loss of all ACKs in that case. (Sounds pretty pathological to me.) >However, it >does illustrate one danger of trying to evaluate a detection algorithm >without considering at the same time the corresponding mechanism >for using the detection algorithm. That's why I suggested to Scott Bradner to consider http://www.ietf.org/internet-drafts/draft-ietf-tsvwg-tcp-eifel-alg-04.txt and http://www.ietf.org/internet-drafts/draft-ietf-tsvwg-tcp-eifel-response-00.txt together. >I agree with Reiner that "go-back-N loss >recovery" is not good, but it doesn't seem helpful to me to define >any "go-back-N loss recovery" as a "spurious timeout". This probably >just requires being somewhat more precise in terminology. (It >doesn't seem helpful to me to refer to a timeout from the loss of >a window of acks as a "spurious timeout".) See above. Unless we also mandate the use of DSACK, the TCP sender has no way to distinguish between the two cases of what have defined as a spurious timeout. Please, also note that standard TCP inevitably goes into go-back-N loss recovery in either case. So, both terms, "go-back-N loss recovery" and "spurious timeout", are somewhat tied together. ///Reiner _______________________________________________ tsvwg mailing list tsvwg@ietf.org https://www1.ietf.org/mailman/listinfo/tsvwg
- [Tsvwg] WG last call on draft-ietf-tsvwg-tcp-eife… Scott Bradner
- Re: [Tsvwg] WG last call on draft-ietf-tsvwg-tcp-… Pasi Sarolahti
- Re: [Tsvwg] WG last call on draft-ietf-tsvwg-tcp-… Pasi Sarolahti
- Fwd: Re: [Tsvwg] WG last call on draft-ietf-tsvwg… Reiner Ludwig
- Re: [Tsvwg] WG last call on draft-ietf-tsvwg-tcp-… Reiner Ludwig
- Re: [Tsvwg] WG last call on draft-ietf-tsvwg-tcp-… Pasi Sarolahti
- Re: [Tsvwg] WG last call on draft-ietf-tsvwg-tcp-… Reiner Ludwig
- Fwd: Re: [Tsvwg] WG last call on draft-ietf-tsvwg… Reiner Ludwig
- Re: [Tsvwg] WG last call on draft-ietf-tsvwg-tcp-… Reiner Ludwig
- Re: [Tsvwg] WG last call on draft-ietf-tsvwg-tcp-… Pasi Sarolahti
- Re: [Tsvwg] WG last call on draft-ietf-tsvwg-tcp-… Reiner Ludwig
- Re: [Tsvwg] WG last call on draft-ietf-tsvwg-tcp-… Scott Bradner
- Re: [Tsvwg] WG last call on draft-ietf-tsvwg-tcp-… Sally Floyd
- Re: [Tsvwg] WG last call on draft-ietf-tsvwg-tcp-… Pasi Sarolahti
- Re: [Tsvwg] WG last call on draft-ietf-tsvwg-tcp-… Reiner Ludwig
- [Tsvwg] Eifel Detection & Loss of all ACKs Reiner Ludwig
- Re: [Tsvwg] Eifel Detection & Loss of all ACKs Pasi Sarolahti
- Re: [Tsvwg] Eifel Detection & Loss of all ACKs Reiner Ludwig
- RE: [Tsvwg] WG last call on draft-ietf-tsvwg-tcp-… Yogesh.Swami
- Re: [Tsvwg] WG last call on draft-ietf-tsvwg-tcp-… Sally Floyd
- [Tsvwg] F-RTO Pasi Sarolahti