Re: [tcpm] RFC 1323: Timestamps option
Richard Wendland <richard@codeburst.co.uk> Sat, 27 January 2007 12:21 UTC
Received: from [127.0.0.1] (helo=stiedprmman1.va.neustar.com) by megatron.ietf.org with esmtp (Exim 4.43) id 1HAmZ9-0001wl-C5; Sat, 27 Jan 2007 07:21:55 -0500
Received: from [10.91.34.44] (helo=ietf-mx.ietf.org) by megatron.ietf.org with esmtp (Exim 4.43) id 1HAmZ7-0001we-Ux for tcpm@ietf.org; Sat, 27 Jan 2007 07:21:53 -0500
Received: from starburst.demon.co.uk ([80.176.229.163]) by ietf-mx.ietf.org with esmtp (Exim 4.43) id 1HAmZ6-0000q3-F6 for tcpm@ietf.org; Sat, 27 Jan 2007 07:21:53 -0500
Received: (from richard@localhost) by starburst.demon.co.uk (8.11.6/8.11.6) id l0RCLmQ25484; Sat, 27 Jan 2007 12:21:48 GMT
From: Richard Wendland <richard@codeburst.co.uk>
Message-Id: <200701271221.l0RCLmQ25484@starburst.demon.co.uk>
Subject: Re: [tcpm] RFC 1323: Timestamps option
To: david.borman@windriver.com
Date: Sat, 27 Jan 2007 12:21:47 +0000
In-Reply-To: <018977E8-C9F4-42E2-A877-95330F65E7D3@windriver.com> from "David Borman" at Jan 26, 2007 12:33:29
X-Mailer: ELM [version 2.5 PL6]
MIME-Version: 1.0
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
X-Spam-Score: 0.0 (/)
X-Scan-Signature: cab78e1e39c4b328567edb48482b6a69
Cc: TCP Maintenance and Minor Extensions WG <tcpm@ietf.org>
X-BeenThere: tcpm@ietf.org
X-Mailman-Version: 2.1.5
Precedence: list
Reply-To: richard@codeburst.co.uk
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
A difficulty with the suggested enabling mechanism for Option #2 is that a major TCP stack already (mis)behaves in a similar way for current TCP connections. > Option #2 > --------- ... > The question then is, how do you negotiate Timestamps without turning > them on? My suggestion would be to send a Timestamps option with the > special format TSval=0,TSecr=0. If you receive this in a SYN, then > the request is to negotiate knowledge of the Timestamps option. The > returning SYN,ACK would also need to contain TSval=0,TSecr=0 to > complete the negotiation. The Windows TCP stack currently replies SYN,ACK TSval=0,TSecr=0 to a regular SYN TSval=xxx,TSecr=0. So if you send SYN TSval=0,TSecr=0, and get back SYN,ACK TSval=0,TSecr=0 you may be talking to a TCP stack that understands the new enabling semantics, or a Windows TCP stack that does not. You could argue this does not really matter, as the Windows TCP stack will go on using Timestamps (I presume), immediately enabling it on the fly under the new semantics, so in the end all is fairly well (except Windows TCP may be sent a few segments with no Timestamps that it does not expect, until on the fly enabling is completed). However I don't think this confusing situation is desirable. I think Windows TCP behaves in this way because it does not create a full TCP state block until after SYN,ACK processing, so has nowhere to record the initial TSvals. If we are updating RFC1323, I wonder if this Windows behaviour should be explicitly allowed, since in practice we have to allow for it now, and it has some merit. Trying to find legitimacy for the Windows TCP behaviour, it could be said that 3.2 of RFC1323 wasn't entirely clear in this regard. It says "When TSecr is not valid, its value must be zero." - I can conceive of this being understood (out of context) as meaning: if you do not have a valid TSecr available for some reason, then send a zero; an interpretation that would permit the Windows TCP behaviour, and make the suggested enabling mechanism ambiguous. Richard -- Richard Wendland richard@codeburst.co.uk _______________________________________________ tcpm mailing list tcpm@ietf.org https://www1.ietf.org/mailman/listinfo/tcpm
- [tcpm] RFC 1323: Timestamps option David Borman
- Re: [tcpm] RFC 1323: Timestamps option Sally Floyd
- Re: [tcpm] RFC 1323: Timestamps option Mark Allman
- Re: [tcpm] RFC 1323: Timestamps option David Borman
- Re: [tcpm] RFC 1323: Timestamps option Matt Mathis
- Re: [tcpm] RFC 1323: Timestamps option Fernando Gont
- Re: [tcpm] RFC 1323: Timestamps option David Borman
- Re: [tcpm] RFC 1323: Timestamps option David Malone
- Re: [tcpm] RFC 1323: Timestamps option Mark Allman
- Re: [tcpm] RFC 1323: Timestamps option Mark Allman
- Re: [tcpm] RFC 1323: Timestamps option Richard Wendland
- [tcpm] RE: RFC 1323: Timestamps option Mahdavi, Jamshid
- Re: [tcpm] RFC 1323: Timestamps option Kacheong Poon
- Re: [tcpm] RFC 1323: Timestamps option Gavin McCullagh
- [tcpm] Re: RFC 1323: Timestamps option David Borman
- Re: [tcpm] Re: RFC 1323: Timestamps option Joe Touch
- Re: [tcpm] Re: RFC 1323: Timestamps option David Borman
- Re: [tcpm] Re: RFC 1323: Timestamps option Matt Mathis
- Re: [tcpm] Re: RFC 1323: Timestamps option Joe Touch
- Re: [tcpm] Re: RFC 1323: Timestamps option David Borman
- Re: [tcpm] Re: RFC 1323: Timestamps option David Borman
- Re: [tcpm] Re: RFC 1323: Timestamps option Matt Mathis
- Re: [tcpm] Re: RFC 1323: Timestamps option Joe Touch