[tcpm] New I-D posted : draft-moncaster-tcpm-rcv-cheat-00
<toby.moncaster@bt.com> Tue, 20 February 2007 17:33 UTC
Received: from [127.0.0.1] (helo=stiedprmman1.va.neustar.com) by megatron.ietf.org with esmtp (Exim 4.43) id 1HJYrX-0004YI-3e; Tue, 20 Feb 2007 12:33:11 -0500
Received: from [10.91.34.44] (helo=ietf-mx.ietf.org) by megatron.ietf.org with esmtp (Exim 4.43) id 1HJYrW-0004XE-5e for tcpm@ietf.org; Tue, 20 Feb 2007 12:33:10 -0500
Received: from smtp2.smtp.bt.com ([217.32.164.150]) by ietf-mx.ietf.org with esmtp (Exim 4.43) id 1HJYrQ-0001pA-MH for tcpm@ietf.org; Tue, 20 Feb 2007 12:33:10 -0500
Received: from i2kc08-ukbr.domain1.systemhost.net ([193.113.197.71]) by smtp2.smtp.bt.com with Microsoft SMTPSVC(6.0.3790.1830); Tue, 20 Feb 2007 17:33:01 +0000
Received: from E03MVZ4-UKDY.domain1.systemhost.net ([193.113.30.64]) by i2kc08-ukbr.domain1.systemhost.net with Microsoft SMTPSVC(6.0.3790.1830); Tue, 20 Feb 2007 17:27:02 +0000
X-MimeOLE: Produced By Microsoft Exchange V6.5
Content-class: urn:content-classes:message
MIME-Version: 1.0
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: quoted-printable
Date: Tue, 20 Feb 2007 17:27:03 -0000
Message-ID: <BAB4DC0CD5148948A86BD047A85CE2A7022D8F94@E03MVZ4-UKDY.domain1.systemhost.net>
X-MS-Has-Attach:
X-MS-TNEF-Correlator:
Thread-Topic: New I-D posted : draft-moncaster-tcpm-rcv-cheat-00
Thread-Index: AcdUM1p48JkJlkW1QDC5NeLHuwq6tgAABe+wADfFPnA=
From: toby.moncaster@bt.com
To: tcpm@ietf.org
X-OriginalArrivalTime: 20 Feb 2007 17:27:02.0726 (UTC) FILETIME=[559ABE60:01C75514]
X-Spam-Score: 0.2 (/)
X-Scan-Signature: 0fa76816851382eb71b0a882ccdc29ac
Subject: [tcpm] New I-D posted : draft-moncaster-tcpm-rcv-cheat-00
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
All, As you will shortly see we have just posted a new ID called "A TCP Test To Allow Senders to Identify Receiver Cheating" draft-moncaster-tcpm-rcv-cheat-00. This draft was written as a result of a request made to Bob Briscoe at IETF 67. There he mentioned to TVWG that we would be happy to produce a transport layer nonce to protect against receivers concealing lost packets. This suggestion was broadly welcomed by the WG and this draft is our response. Initially we intended to submit this to TSVWG as they requested it. However after checking with the co-chairs of both TCPM and TSVWG it was agreed that TCPM would be the best forum for the draft. The draft is available in various formats at http://www.cs.ucl.ac.uk/staff/B.Briscoe/pubs.html#tcp-rcv-cheat. After some background research we decided that an actual nonce would probably be impractical since it would require modifications to both sender and receiver. This would make it very hard to enforce as the receiver could simply pretend to be a legacy one that didn't support the new nonce. We were keen that our system should be robust and should require the receiver simply to behave as mandated by the existing TCP protocols. Indeed the idea was that the solution should actually leverage the existing TCP behaviours in order to test the honesty of the receiver. We decided to base our new solution on a solution by Rob Sherwood et al presented in "Misbehaving TCP receivers can cause Internet-wide congestion collapse". Their solution, called the randomly skipped segments solution, suggests purposely removing a segment from the transmitted data stream and only transmitting it after the receiver sends a NACK for that segment. If in the meantime the receiver sends an ACK for a later segment then they are deemed to be behaving dishonestly. A recent thread on the TCPM mailing list (starting 11th January 2007 "DoS attack from misbehaving receivers") has been discussing the randomly skipped segments solution in some detail and reveals that there is a lot of unease about such a test. Our solution is hopefully more palatable and consists of 2 stages. In the first stage we probabilistically test the honesty of a receiver. To do this we select a segment N and a displacement D. Instead of transmitting segments N-1, N, N+1, N+2, etc we transmit N-1, N+1, N+2, ..., N+D, N, ... An honest TCP receiver should respond to this missing data by generating a stream of duplicate ACKs for segment N-1. Any receiver that doesn't do so is probably behaving dishonestly but, because TCP doesn't guarantee reliable delivery of ACKs we can't state this for certain. We therefore state that any receiver that fails this test should be subjected to a further test that is essentially the same as the Sherwood test. It is felt that the first test causes minimal damage to an honest receiver and is essentially compliant with the TCP protocol. The second test is then reserved for those receivers that we are pretty certain are behaving dishonestly. We have currently left it up to the community to decide how to sanction any receiver that fails the second test. We suggest the appropriate response might be to terminate the connection but others might instead feel that other sanctions such as reducing the congestion window and slow start threshold to 1 would be more appropriate. Both our tests force accurate reporting of losses which was our initial aim. They also both make it much harder for a receiver to optimistically ACK data which is an added benefit given the possible harm such optimistic ACKs might cause. We will be presenting this at IETF 68 in Prague and would welcome any comments from people as to the utility of our solution and any improvements that could be made. Toby Moncaster Future Communications Architecture Networks Research Centre BT Group Chief Technology Office _________________________________________________ t: (+44) (0) 1473 648734 m: (+44) (0) 7764 185416 ________________________________________________________________________ ___ Notice: This contribution is the personal view of the author and does not necessarily reflect the technical nor commercial direction of BT plc. _______________________________________________ tcpm mailing list tcpm@ietf.org https://www1.ietf.org/mailman/listinfo/tcpm
- [tcpm] New I-D posted : draft-moncaster-tcpm-rcv-… toby.moncaster
- Re: [tcpm] New I-D posted : draft-moncaster-tcpm-… Rob Sherwood
- Re: [tcpm] New I-D posted : draft-moncaster-tcpm-… Michael Welzl
- Re: [tcpm] New I-D posted : draft-moncaster-tcpm-… Gavin McCullagh
- RE: [tcpm] New I-D posted : draft-moncaster-tcpm-… toby.moncaster
- RE: [tcpm] New I-D posted : draft-moncaster-tcpm-… toby.moncaster
- RE: [tcpm] New I-D posted : draft-moncaster-tcpm-… Michael Welzl
- RE: [tcpm] New I-D posted : draft-moncaster-tcpm-… Anantha Ramaiah (ananth)
- Re: [tcpm] New I-D posted : draft-moncaster-tcpm-… Rob Sherwood
- RE: [tcpm] New I-D posted : draft-moncaster-tcpm-… Caitlin Bestler
- Re: [tcpm] New I-D posted : draft-moncaster-tcpm-… Rob Sherwood
- Re: [tcpm] New I-D posted : draft-moncaster-tcpm-… John Heffner
- RE: [tcpm] New I-D posted : draft-moncaster-tcpm-… Anantha Ramaiah (ananth)
- RE: [tcpm] New I-D posted : draft-moncaster-tcpm-… Michael Welzl
- RE: [tcpm] New I-D posted : draft-moncaster-tcpm-… toby.moncaster
- Re: [tcpm] New I-D posted : draft-moncaster-tcpm-… John Heffner
- AW: [tcpm] New I-D posted : draft-moncaster-tcpm-… Michael Welzl
- Re: [tcpm] New I-D posted : draft-moncaster-tcpm-… Gorry Fairhurst