Re: [tcpm] Re: draft-ietf-tcpm-ecnsyn-03.txt backwards compatibility
Sally Floyd <sallyfloyd@mac.com> Wed, 09 January 2008 00:50 UTC
Return-path: <tcpm-bounces@ietf.org>
Received: from [127.0.0.1] (helo=stiedprmman1.va.neustar.com) by megatron.ietf.org with esmtp (Exim 4.43) id 1JCP9E-0002Zl-Qc; Tue, 08 Jan 2008 19:50:24 -0500
Received: from tcpm by megatron.ietf.org with local (Exim 4.43) id 1JCP9E-0002Zg-7M for tcpm-confirm+ok@megatron.ietf.org; Tue, 08 Jan 2008 19:50:24 -0500
Received: from [10.90.34.44] (helo=chiedprmail1.ietf.org) by megatron.ietf.org with esmtp (Exim 4.43) id 1JCP9D-0002YZ-PL for tcpm@ietf.org; Tue, 08 Jan 2008 19:50:23 -0500
Received: from smtpoutm.mac.com ([17.148.16.70]) by chiedprmail1.ietf.org with esmtp (Exim 4.43) id 1JCP9C-0003LV-OD for tcpm@ietf.org; Tue, 08 Jan 2008 19:50:23 -0500
Received: from mac.com (asmtp004-s [10.150.69.67]) by smtpoutm.mac.com (Xserve/smtpout007/MantshX 4.0) with ESMTP id m090oBvs000831; Tue, 8 Jan 2008 16:50:16 -0800 (PST)
Received: from [192.168.1.101] (adsl-70-132-0-53.dsl.snfc21.sbcglobal.net [70.132.0.53]) (authenticated bits=0) by mac.com (Xserve/asmtp004/MantshX 4.0) with ESMTP id m090o8tl005023; Tue, 8 Jan 2008 16:50:08 -0800 (PST)
In-Reply-To: <200801090007.m09079NU032330@bagheera.jungle.bt.co.uk>
References: <9ee77c9bed4cf392d49f6aeff4774470@mac.com> <20080104140011.B80A7328DFE@lawyers.icir.org> <200801041804.m04I4O2L008832@bagheera.jungle.bt.co.uk> <d5e6611a4ea0c4c0c54718e4b6310bab@mac.com> <200801060012.m060Bc8e031128@bagheera.jungle.bt.co.uk> <1bb51f3f2858e4828998faf9afb6a745@mac.com> <200801090007.m09079NU032330@bagheera.jungle.bt.co.uk>
Mime-Version: 1.0 (Apple Message framework v624)
Content-Type: text/plain; charset="US-ASCII"; delsp="yes"; format="flowed"
Message-Id: <e99a136e5319a70a6d91db90de6a9cd6@mac.com>
Content-Transfer-Encoding: 7bit
From: Sally Floyd <sallyfloyd@mac.com>
Subject: Re: [tcpm] Re: draft-ietf-tcpm-ecnsyn-03.txt backwards compatibility
Date: Tue, 08 Jan 2008 16:50:07 -0800
To: Bob Briscoe <rbriscoe@jungle.bt.co.uk>
X-Mailer: Apple Mail (2.624)
X-Spam-Score: 0.0 (/)
X-Scan-Signature: 7268a2980febc47a9fa732aba2b737ba
Cc: tcpm@ietf.org, Aleksandar Kuzmanovic <akuzma@northwestern.edu>, "K. K. Ramakrishnan" <kkrama@research.att.com>, Amit Mondal <a-mondal@northwestern.edu>, mallman@icir.org
X-BeenThere: tcpm@ietf.org
X-Mailman-Version: 2.1.5
Precedence: list
List-Id: TCP Maintenance and Minor Extensions Working Group <tcpm.ietf.org>
List-Unsubscribe: <https://www1.ietf.org/mailman/listinfo/tcpm>, <mailto:tcpm-request@ietf.org?subject=unsubscribe>
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>
Errors-To: tcpm-bounces@ietf.org
Bob - > I'll accept all your responses... > > Except, I probably didn't explain well why I didn't like: > "This would not be a problem in an environment with mostly long-lived > TCP connections..." > > This is ambiguous as to whether it means the competing flows are long > lived or the ECN+ server's flows are long lived. The problem is short > flows from the ECN+server. The problem hits both short and long > competing flows. Great, I will add a clarification. Mark, is it time for me to submit the revised internet-draft? - Sally > At 05:21 08/01/2008, Sally Floyd wrote: >> Bob - >> >>> The new text outlines the issues well (I've suggested some minor >>> changes inline - all in the para below Fig 2). >>> >>> But I'm not a great fan of writing long complicated text in standards >>> track documents that describes a problem, when it's sort of hinting >>> that implementers don't actually need to do anything about it. One >>> way >>> round this would be to move this text about incremental deployment to >>> an appendix. >> >> Yep, I will do that. >>> >>> Point (3) is a good one that I hadn't thought of. >>> >>> Here's strawman text for a solution that could be put in the body. >>> I've used the terms 'TCP clients' and 'TCP servers' for machines used >>> mostly as initiators or responders respectively: >>> >>> /\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/ >>> \/ \/\ >>> "There is a potential incremental deployment problem in circumstances >>> we believe will be unlikely, described in (Appendix X). In monitoring >>> the deployment of ECN and ECN+, if significant numbers of queues have >>> ECN turned on and if we find that large numbers of TCP clients still >>> have legacy ECN enabled while significant numbers of TCP servers have >>> upgraded to ECN+, the management application described below could be >>> deployed on ECN+ servers, particularly if most of the flows served >>> fit >>> within an initial window. >>> >>> The management application could monitor the average fraction of ACKs >>> with ECE set in response to: >>> 1. a SYN/ACK >>> 2. the segments in the initial window. >>> If the former fraction was significantly lower than the latter, the >>> management application could switch ECN+ back to ECN, perhaps >>> requiring manual intervention rather than automatic switching. >>> >>> Once the community deemed that the deployment situation had become >>> safer for ECN+, server administrators could switch ECN+ back on, >>> either leaving the managment application running, or eventually >>> removing the management application. >>> >>> Therefore, all ECN+ TCP implementations SHOULD provide the following >>> management interfaces, in order to ease installation of such a >>> management application after the TCP has been upgraded to ECN+: >>> o An interface to turn ECN+ on or off; >>> o An interface to read a count of only those ACKs with ECE >>> set >>> that were responses to SYN/ACKs." >>> /\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/ >>> \/ \/\ >>> >>> I said this is strawman text, because I'm not sure I even support it >>> myself. I'm just trying to work through the minimum implementers >>> would >>> need to do about incremental deployment other than 'nothing'. >> >> I am inclined to leave that out, for now. >> Unless others have other opinions. >> >> But I did add a moderated version as follows: >> >> "The TCP implementation using ECN-Capable SYN/ACK packets SHOULD >> include a management interface to allow the use of ECN to be turned >> off for SYN/ACK packets. This is to deal with possible backwards >> compatibility problems such as those discussed in Appendix B." >> >>> The alternative of doing absolutely nothing about incremental >>> deployment right now is still possible. The above required management >>> interfaces can be added by upgrading the kernel any time. I just >>> figured the above might be worthwhile to ease installation of a >>> little >>> monitoring application, so at least sysadmins can simply test whether >>> there is a problem if they choose to. >>> >>> [BTW, there are cases where the approach in (3) wouldn't work (e.g. >>> if >>> SYN/ACKs had a significantly lower probability of ECN marking than >>> data packets). But I really don't think we should start down that >>> rat-hole in this I-D - it would be like describing a pimple on a spot >>> on a flea.] >>> >>> A little more inline... >>> >>> At 19:50 04/01/2008, Sally Floyd wrote: >>>> Bob - >>>> >>>> ... >>>>> I've noted a general lack of concern/interest here about >>>>> standardising a congestion control that doesn't respond to >>>>> congestion in a set of circumstances that might happen or might >>>>> not. >>>>> I assume this is because of the glacial deployment of ECN so far. >>>>> >>>>> If the world turns out differently to the above assumptions, we >>>>> will >>>>> have to think of a plan B pretty snappish. >>>>> >>>>> But I'm not going to hold this up further, as ECN+ is generally a >>>>> good idea, and the other alternatives for incremental deployment >>>>> are >>>>> cumbersome. >>>> >>>> I think it is safe not to use a flag for ECN-Capable SYN/ACK >>>> packets, >>>> but I wouldn't have any problems with using a flag either. >>>> >>>> The revised text for draft-ietf-tcpm-ecnsyn is attached below. >>>> >>>> - Sally >>>> http://www.icir.org/floyd/ >>>> >>>> >>>> Backwards compatibility: >>> >>> \/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/ >>> \/ \/ >>> >>> /\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/ >>> \/ \/\ >>> >>>> Figure 2: SYN exchange with the SYN/ACK packet marked, >>>> but with the ECN mark ignored by the TCP initiator. >>>> >>>> Thus, to be explicit, when a TCP connection includes an initiator >>>> that supports ECN but *does not* support ECN-Capability for >>>> SYN/ACK >>>> packets, in combination with a responder that *does* support ECN- >>>> Capabililty for SYN/ACK packets, it is possible that the >>>> ECN-Capable >>>> SYN/ACK packets will be marked rather than dropped in the >>>> network, >>>> and that the responder will not learn about the ECN mark on the >>>> SYN/ACK packet. This would not be a problem >>> >>> s/ in a scenario with/ with machines serving / >> >> I changed "scenario" to "environment" >> >>>> mostly long-lived TCP connections, but it would be more >>>> problematic >>> >>> s/in a scenario where all /with an ECN+ TCP responder where most / >> >> I changed "scenario" to "environment" here also, and changed >> "all" to "much". >> >>>> TCP connections consisted of >>> >>> at most >> >> I left it as it. If all TCP connections used an initial window of >> one data packet, or had only one data packet to send, for example, >> then ECN+ wouldn't have as large backwards compatibility problems. >> (That is, the congestion control situation would be pretty bad with >> or without backwards compatibility problems with ECN+.) >> >>>> four data >>>> packets, and the TCP responder was ready to send its data packets >>>> immediately after the SYN/ACK exchange. >>> >>> If correctly responding ECN-capable traffic shared a bottleneck with >>> traffic from such an ECN+ machine, its rate would be continually >>> beaten down by the ECN+ machine's reduced congestion response. >> >> Yep. >> >>>> Of course, with *severe* >>>> congestion, the SYN/ACK packets would likely be dropped rather >>>> than >>>> ECN-marked at the congested router, preventing the TCP responder >>>> from >>>> adding to the congestion by sending its initial window of four >>>> data >>>> packets. >>> >>> /\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/ >>> \/ \/\ >> >> - Sally >> http://www.icir.org/floyd/ > > _______________________________________________________________________ > _____ > Bob Briscoe, <bob.briscoe@bt.com> Networks Research Centre, BT > Research > B54/77 Adastral Park,Martlesham Heath,Ipswich,IP5 3RE,UK. +44 1473 > 645196 > - Sally http://www.icir.org/floyd/ _______________________________________________ tcpm mailing list tcpm@ietf.org https://www1.ietf.org/mailman/listinfo/tcpm
- [tcpm] Re: draft-ietf-tcpm-ecnsyn-03.txt backward… Bob Briscoe
- [tcpm] Re: draft-ietf-tcpm-ecnsyn-03.txt backward… Sally Floyd
- Re: [tcpm] Re: draft-ietf-tcpm-ecnsyn-03.txt back… Mark Allman
- Re: [tcpm] Re: draft-ietf-tcpm-ecnsyn-03.txt back… Bob Briscoe
- Fwd: Re: [tcpm] Re: draft-ietf-tcpm-ecnsyn-03.txt… Bob Briscoe
- Re: Fwd: Re: [tcpm] Re: draft-ietf-tcpm-ecnsyn-03… Mark Allman
- Re: [tcpm] Re: draft-ietf-tcpm-ecnsyn-03.txt back… Sally Floyd
- Re: [tcpm] Re: draft-ietf-tcpm-ecnsyn-03.txt back… Sally Floyd
- Re: [tcpm] Re: draft-ietf-tcpm-ecnsyn-03.txt back… Bob Briscoe
- Re: [tcpm] Re: draft-ietf-tcpm-ecnsyn-03.txt back… Sally Floyd
- Re: [tcpm] Re: draft-ietf-tcpm-ecnsyn-03.txt back… Bob Briscoe
- Re: [tcpm] Re: draft-ietf-tcpm-ecnsyn-03.txt back… Sally Floyd
- Re: [tcpm] Re: draft-ietf-tcpm-ecnsyn-03.txt back… Mark Allman
- Re: [tcpm] Re: draft-ietf-tcpm-ecnsyn-03.txt back… Sally Floyd