[tcpm] Re: draft-ietf-tcpm-ecnsyn-03.txt backwards compatibility
Sally Floyd <sallyfloyd@mac.com> Sun, 02 December 2007 21:37 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 1IywVf-0006dC-GR; Sun, 02 Dec 2007 16:37:55 -0500
Received: from tcpm by megatron.ietf.org with local (Exim 4.43) id 1IywVe-0006cw-7g for tcpm-confirm+ok@megatron.ietf.org; Sun, 02 Dec 2007 16:37:54 -0500
Received: from [10.90.34.44] (helo=chiedprmail1.ietf.org) by megatron.ietf.org with esmtp (Exim 4.43) id 1IywVd-0006cf-TA for tcpm@ietf.org; Sun, 02 Dec 2007 16:37:53 -0500
Received: from smtpoutm.mac.com ([17.148.16.78]) by chiedprmail1.ietf.org with esmtp (Exim 4.43) id 1IywVd-0002mi-72 for tcpm@ietf.org; Sun, 02 Dec 2007 16:37:53 -0500
Received: from mac.com (asmtp009-s [10.150.69.72]) by smtpoutm.mac.com (Xserve/smtpout015/MantshX 4.0) with ESMTP id lB2Lbqwh008782; Sun, 2 Dec 2007 13:37:52 -0800 (PST)
Received: from [192.168.1.101] (adsl-70-132-20-192.dsl.snfc21.sbcglobal.net [70.132.20.192]) (authenticated bits=0) by mac.com (Xserve/asmtp009/MantshX 4.0) with ESMTP id lB2LbnZH016986; Sun, 2 Dec 2007 13:37:49 -0800 (PST)
In-Reply-To: <5.2.1.1.2.20071129221357.04986008@pop3.jungle.bt.co.uk>
References: <5.2.1.1.2.20071128164030.03e1aa48@pop3.jungle.bt.co.uk> <5.2.1.1.2.20071128164030.03e1aa48@pop3.jungle.bt.co.uk> <5.2.1.1.2.20071129221357.04986008@pop3.jungle.bt.co.uk>
Mime-Version: 1.0 (Apple Message framework v624)
Content-Type: text/plain; charset="US-ASCII"; format="flowed"
Message-Id: <9ee77c9bed4cf392d49f6aeff4774470@mac.com>
Content-Transfer-Encoding: 7bit
From: Sally Floyd <sallyfloyd@mac.com>
Date: Sun, 02 Dec 2007 13:37:59 -0800
To: Bob Briscoe <rbriscoe@jungle.bt.co.uk>
X-Mailer: Apple Mail (2.624)
X-Spam-Score: 0.0 (/)
X-Scan-Signature: d185fa790257f526fedfd5d01ed9c976
Cc: Aleksandar Kuzmanovic <akuzma@northwestern.edu>, "K. K. Ramakrishnan" <kkrama@research.att.com>, tcpm@ietf.org, Amit Mondal <a-mondal@northwestern.edu>
Subject: [tcpm] Re: draft-ietf-tcpm-ecnsyn-03.txt backwards compatibility
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
To Bob and the working group: The discussion with Bob Briscoe concerns the following paragraph in the ECN/SYN draft: The discussion with Bob Briscoe concerns the following paragraph in Section 4 of the ECN/SYN draft: Backwards compatibility: In order for TCP node B to send a SYN/ACK packet as ECN-Capable, node B must have received an ECN-setup SYN packet from node A. However, it is possible that node A supports ECN, but either ignores the CE codepoint on received SYN/ACK packets, or ignores SYN/ACK packets with the ECT or CE codepoint set. If the TCP initiator ignores the CE codepoint on received SYN/ACK packets, this would mean that the TCP responder would not respond to this congestion indication. However, this seems to us an acceptable cost to pay in the incremental deployment of ECN-Capability for TCP's SYN/ACK packets. It would mean that the responder would not reduce the initial congestion window from two, three, or four segments down to one segment, as it should. However, the TCP end nodes would still respond correctly to any subsequent CE indications on data packets later on in the connection. 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 quite 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. There are three choices: (1) Leave it as it is, and accept it that sometimes, as a cost of incemental deployment, a SYN/ACK packet would be ECN-marked, and the originator, with an older TCP implementation (ECN-capable, but not understanding ECN-marked SYN/ACK packets), would ignore the ECN mark on the SYN/ACK packet. (I don't know what the Microsoft, Max OS X, and Linux ECN implementations do about ECN-marked SYN/ACK packets, but I would assume that they ignore the ECN marks on SYN/ACK packets...) (2) Use one of the four remaining TCP header flags. On a SYN packet, the flag would mean ECN-SYN ("I want to use ECN, and I understand ECN-marked SYN/ACK packets"). On a packet other than a SYN packet, the TCP flag could be used for something else. The responder already has to look at the TCP header flags to learn that the originator is ECN-capable, so looking at one more flag should not be a problem. (3) Use a two-byte ECN-SYN TCP option on SYN packets, meaning "I understand ECN-marked SYN/ACK packets." There is at most 40 bytes for TCP options, and other options that might be carried by SYN packets include Sack Permitted (2 bytes), MSS (4 bytes), Window Scale (3 bytes), Timestamp (10 bytes). The downside of (1) is that during congestion, SYN-ACK packets could be ECN-marked rather than dropped, and the TCP response might never find out about the ECN-mark on the SYN-ACK packet. This could happen if the TCP originator uses an old ECN-Capable TCP implementation that doesn't response to ECN marks on incoming SYN/ACK packets, and the congested link has ECN enabled. The downside of (2) and (3) is that the TCP flag or TCP option would have to be used in perpetuity, long after all ECN-capable TCP implementations were updated to respond to incoming ECN-marked SYN/ACK packets. This would be a drag for (3), but less of a drag for (2) - the cost of using one of the four remaining header flags might be an acceptable cost. So would the working group like us to use a TCP header flag for this, or not? This is scheduled for a 5-minute slot at TCMP on Tuesday, so we can discuss it then. - 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