Re: [tcpm] timestamp options (was Re: New Version Notification for draft-touch-tcpm-tcp-edo-01.txt)

Mark Allman <mallman@icir.org> Mon, 02 June 2014 17:51 UTC

Return-Path: <mallman@icir.org>
X-Original-To: tcpm@ietfa.amsl.com
Delivered-To: tcpm@ietfa.amsl.com
Received: from localhost (ietfa.amsl.com [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id 221B91A03A3 for <tcpm@ietfa.amsl.com>; Mon, 2 Jun 2014 10:51:53 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -4.202
X-Spam-Level:
X-Spam-Status: No, score=-4.202 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, RCVD_IN_DNSWL_MED=-2.3, SPF_HELO_PASS=-0.001, SPF_PASS=-0.001] autolearn=ham
Received: from mail.ietf.org ([4.31.198.44]) by localhost (ietfa.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id JTIQYzuYI4V5 for <tcpm@ietfa.amsl.com>; Mon, 2 Jun 2014 10:51:44 -0700 (PDT)
Received: from fruitcake.ICSI.Berkeley.EDU (fruitcake.ICSI.Berkeley.EDU [192.150.186.11]) (using TLSv1 with cipher DHE-RSA-AES256-SHA (256/256 bits)) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id 6E4E31A03D2 for <tcpm@ietf.org>; Mon, 2 Jun 2014 10:51:42 -0700 (PDT)
Received: from lawyers.icir.org (envoy.icir.org [192.150.187.30]) by fruitcake.ICSI.Berkeley.EDU (8.12.11.20060614/8.12.11) with ESMTP id s52HouD2028992; Mon, 2 Jun 2014 10:50:56 -0700 (PDT)
Received: from lawyers.icir.org (localhost [127.0.0.1]) by lawyers.icir.org (Postfix) with ESMTP id 1216F780B80; Mon, 2 Jun 2014 13:50:57 -0400 (EDT)
To: Joe Touch <touch@isi.edu>
From: Mark Allman <mallman@icir.org>
In-Reply-To: <5384EFC3.50803@isi.edu>
Organization: International Computer Science Institute (ICSI)
Song-of-the-Day: Blow Up the Outside World
X-URL-0: http://www.icir.org/mallman-files/Document1388.pdf
X-URL-1: http://www.icir.org/mallman-files/Document22155.xlsx
MIME-Version: 1.0
Content-Type: multipart/signed; boundary="--------ma47489-1"; micalg="pgp-sha1"; protocol="application/pgp-signature"
Date: Mon, 02 Jun 2014 13:50:57 -0400
Sender: mallman@icir.org
Message-Id: <20140602175057.1216F780B80@lawyers.icir.org>
Archived-At: http://mailarchive.ietf.org/arch/msg/tcpm/YZ-nL2Tqfr-sPC3JpV3I_u21Srw
Cc: "tcpm@ietf.org" <tcpm@ietf.org>
Subject: Re: [tcpm] timestamp options (was Re: New Version Notification for draft-touch-tcpm-tcp-edo-01.txt)
X-BeenThere: tcpm@ietf.org
X-Mailman-Version: 2.1.15
Precedence: list
Reply-To: mallman@icir.org
List-Id: TCP Maintenance and Minor Extensions Working Group <tcpm.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/options/tcpm>, <mailto:tcpm-request@ietf.org?subject=unsubscribe>
List-Archive: <http://www.ietf.org/mail-archive/web/tcpm/>
List-Post: <mailto:tcpm@ietf.org>
List-Help: <mailto:tcpm-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/tcpm>, <mailto:tcpm-request@ietf.org?subject=subscribe>
X-List-Received-Date: Mon, 02 Jun 2014 17:51:53 -0000

> Late negotiation has too many problems, as have been repeatedly
> raised on this list:
> 
> 	- prevents use of the timestamp to help address PAWS for
> 	the initial SYN

In the limit you're right that it is better to have a stronger
indication that the arriving SYN / SYN+ACK is not way old.  It is hard
to argue against such an ideal.  But, we run a whole bunch of
connections without timestamps today and it doesn't seem to have caused
us a whole bunch of problems.  So, while I can see your point I think it
is pretty esoteric.

Also, I'd like to know if OSes actually do consult the TS value in the
3WHS to try to hunt for old packets.  I have no idea.  Does anyone know?
(Either answer wouldn't surprise me, actually.)

> 	- a new connection that either avoids TS in SYN or
> 	uses just "use TS" (two-byte) flag can't know when
> 	to engage the timestamp and what initial value to use

This is just bogus.  On both counts.

(1) A TCP can in fact know when it should engage because it can in fact
    gauge its sending rate and relate that to the MSL.  And, if that is
    too complicated for a TCP to do---and it strikes me as such---then
    the TCP can turn it on when it approaches sequence wrap for the
    first time (i.e., sending 4GB of data).

(2) I don't see how the initial value we use here is different from the
    initial value we use at the beginning of a connection.  

Do we have to account for sending a TS mid-stream and it not being
supported by the other end?  Sure.  It seems the answer is to ensure the
sending rate is less than 4GB/MSL.  Is that extra work?  Sure.  Is it
worth it to save a wad of useless bytes in lots of packets on the
Internet?  That is a judgment call where reasonable people could
disagree, I guess.

allman