Re: [Tsvwg] TCP Question: Reuse of TCB's in time-wait state:
Joe Touch <touch@ISI.EDU> Wed, 24 October 2001 18:11 UTC
Received: from optimus.ietf.org (ietf.org [132.151.1.19] (may be forged)) by ietf.org (8.9.1a/8.9.1a) with ESMTP id OAA09869 for <tsvwg-archive@odin.ietf.org>; Wed, 24 Oct 2001 14:11:36 -0400 (EDT)
Received: (from daemon@localhost) by optimus.ietf.org (8.9.1a/8.9.1) id OAA21973 for tsvwg-archive@odin.ietf.org; Wed, 24 Oct 2001 14:11:37 -0400 (EDT)
Received: from optimus.ietf.org (localhost [127.0.0.1]) by optimus.ietf.org (8.9.1a/8.9.1) with ESMTP id NAA11841; Wed, 24 Oct 2001 13:53:37 -0400 (EDT)
Received: from ietf.org (odin [132.151.1.176]) by optimus.ietf.org (8.9.1a/8.9.1) with ESMTP id NAA11736 for <tsvwg@optimus.ietf.org>; Wed, 24 Oct 2001 13:53:34 -0400 (EDT)
Received: from boreas.isi.edu (boreas.isi.edu [128.9.160.161]) by ietf.org (8.9.1a/8.9.1a) with ESMTP id NAA08910 for <tsvwg@ietf.org>; Wed, 24 Oct 2001 13:53:31 -0400 (EDT)
Received: from isi.edu (sci.isi.edu [128.9.160.93]) by boreas.isi.edu (8.11.6/8.11.2) with ESMTP id f9OHrTO19930; Wed, 24 Oct 2001 10:53:29 -0700 (PDT)
Message-ID: <3BD70019.10609@isi.edu>
Date: Wed, 24 Oct 2001 10:53:29 -0700
From: Joe Touch <touch@ISI.EDU>
User-Agent: Mozilla/5.0 (Windows; U; Windows NT 5.0; en-US; rv:0.9.2) Gecko/20010726 Netscape6/6.1
X-Accept-Language: en-us
MIME-Version: 1.0
To: sanjay kaniyar <skaniyar@hotmail.com>
CC: tsvwg@ietf.org, touch@ISI.EDU
Subject: Re: [Tsvwg] TCP Question: Reuse of TCB's in time-wait state:
References: <F86D8afbvidc8CADAiK0001108f@hotmail.com>
Content-Type: text/plain; charset="us-ascii"; format="flowed"
Content-Transfer-Encoding: 7bit
Content-Transfer-Encoding: 7bit
Sender: tsvwg-admin@ietf.org
Errors-To: tsvwg-admin@ietf.org
X-Mailman-Version: 1.0
Precedence: bulk
List-Id: Transport Area Working Group <tsvwg.ietf.org>
X-BeenThere: tsvwg@ietf.org
Content-Transfer-Encoding: 7bit
sanjay kaniyar wrote: > 1. I went through the paper you pointed out, it does not seem to address > the question I have. It basically describes alternatives of how to move > a TW-TCB from the server to the client, which I don't see as related to > reusing a TW-TCB in active open. Can you elaborate on this? (In a > broader sense, yes, it also deals with the problems caused by Time-wait > TCBs. But, I don't see it addess the reuse of Time-wait TCB issue). It deals with the same problem - accumulation of the TIME_WAIT states, and provides a set of alternate solutions. > 2. RFC 1337 primarily talks about the problems that could occur when 'a > new incarnation of a connection is established' without any reference to > the 'previous incarnation' (which could result if a TW-TCB is > 'removed'). I am not proposing to do that. It also addresses, as does the first reference, the purpose of the TIME_WAIT itself. > 3. In the example you have given, the old duplicate could result in data > corruption even for the same connection, it makes no difference whether > the conenction was re-established or not. Basically, without using > options (timestamp), there is no way to guarantee that data corruption > does not occur for a fast TCP connection. Any connection that wraps > around within 2MSL could face data corruption; If TCP avoids this using timestamps, how is this handled in your variant? First, TCP keeps only IP and port numbers in TIME_WAIT; second, while there is a requirement of monotonicity for timestamps within a connection, there is no requirement that timestamps be monotonic across multiple connections. Further, the entire mechanism you propose was examined before - see the following text from the appendix of RFC1185 (PAWS): . A different approach was suggested by Garlick, Rom, and Postel . [Garlick77]. Rather than using clock-driven ISN selection, they . proposed to maintain connection records containing the last ISN used . on every connection. To immediately open a new incarnation of a . connection, the ISN is taken to be greater than the last sequence . number of the previous incarnation, so that the new incarnation will . have unique sequence numbers. That appendix later explains why this introduces a hazard that even PAWS cannot protect: . However, the connection is still vulnerable to old duplicates in the . other direction. Mechanism (A) prevents trouble in mode F1, but . failures can arise in F2, F3, or F4; of these, F2, on short, fast . connections, is the most dangerous. > 4. In some commonly seen implementations, a TCB is moved from Time-Wait > to Syn-Rcvd upon receiving a SYN, if the Sequence number on the SYN is > greater than the one received last on the earlier incarnation of the > connection. This assumes that the ISN generator on the remote end does > not wrap around within 2MSL. If it does, then there is no way to protect > the conneciton from data corruption; If it does not, then there is no > way the connection could end up with corrupted data. (I am ignoring the > 128K addition to ISN for now). Common implementation != correct implementation :-) There were implementations that did this in 1990 when RFC1185 was written as well; they are addressed in the paragraph just before the above quote, which describes their failure mode. Joe _______________________________________________ tsvwg mailing list tsvwg@ietf.org http://www1.ietf.org/mailman/listinfo/tsvwg
- [Tsvwg] TCP Question: Reuse of TCB's in time-wait… sanjay kaniyar
- Re: [Tsvwg] TCP Question: Reuse of TCB's in time-… Allison Mankin
- RE: [Tsvwg] TCP Question: Reuse of TCB's in time-… Lars Eggert
- RE: [Tsvwg] TCP Question: Reuse of TCB's in time-… sanjay kaniyar
- Re: [Tsvwg] TCP Question: Reuse of TCB's in time-… Joe Touch
- Re: [Tsvwg] TCP Question: Reuse of TCB's in time-… sanjay kaniyar
- Re: [Tsvwg] TCP Question: Reuse of TCB's in time-… Brian F. G. Bidulock
- Re: [Tsvwg] TCP Question: Reuse of TCB's in time-… Joe Touch
- Re: [Tsvwg] TCP Question: Reuse of TCB's in time-… sanjay kaniyar
- Re: [Tsvwg] TCP Question: Reuse of TCB's in time-… sanjay kaniyar
- Re: [Tsvwg] TCP Question: Reuse of TCB's in time-… Joe Touch
- Re: [Tsvwg] TCP Question: Reuse of TCB's in time-… Kevin Lahey
- Re: [Tsvwg] TCP Question: Reuse of TCB's in time-… Joe Touch
- Re: [Tsvwg] TCP Question: Reuse of TCB's in time-… sanjay kaniyar
- Re: [Tsvwg] TCP Question: Reuse of TCB's in time-… Joe Touch