Re: [tcpm] I-D Action: draft-ietf-tcpm-1323bis-13.txt

Tim Shepard <shep@alum.mit.edu> Fri, 31 May 2013 18:47 UTC

Return-Path: <shep@xplot.org>
X-Original-To: tcpm@ietfa.amsl.com
Delivered-To: tcpm@ietfa.amsl.com
Received: from localhost (localhost [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id BBCA421F8B21 for <tcpm@ietfa.amsl.com>; Fri, 31 May 2013 11:47:59 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -1.11
X-Spam-Level:
X-Spam-Status: No, score=-1.11 tagged_above=-999 required=5 tests=[BAYES_05=-1.11]
Received: from mail.ietf.org ([12.22.58.30]) by localhost (ietfa.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id Q-ee5laJxLux for <tcpm@ietfa.amsl.com>; Fri, 31 May 2013 11:47:54 -0700 (PDT)
Received: from www.xplot.org (www.xplot.org [66.92.66.146]) by ietfa.amsl.com (Postfix) with ESMTP id 8F65321F8701 for <tcpm@ietf.org>; Fri, 31 May 2013 11:47:54 -0700 (PDT)
Received: from shep (helo=alva.home) by www.xplot.org with local-esmtp (Exim 3.36 #1 (Debian)) id 1UiUMS-00074F-00; Fri, 31 May 2013 14:47:36 -0400
From: Tim Shepard <shep@alum.mit.edu>
To: Joe Touch <touch@isi.edu>
In-reply-to: Your message of Fri, 31 May 2013 10:24:59 -0700. <51A8DCEB.2090401@isi.edu>
Date: Fri, 31 May 2013 14:47:36 -0400
Message-Id: <E1UiUMS-00074F-00@www.xplot.org>
Sender: Tim Shepard <shep@xplot.org>
Cc: Fernando Gont <fgont@si6networks.com>, "tcpm@ietf.org Extensions" <tcpm@ietf.org>
Subject: Re: [tcpm] I-D Action: draft-ietf-tcpm-1323bis-13.txt
X-BeenThere: tcpm@ietf.org
X-Mailman-Version: 2.1.12
Precedence: list
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: Fri, 31 May 2013 18:47:59 -0000

If a TCP connection has succesfully negotiated timestamp option on,
and a segment shows up with no timestamp option, I can think of only
two reasons for this:

	1.   The other TCP is buggy in some way.  (Or maybe *this*
             TCP implementation is buggy in some way and corrupted
	     the TCB block variable that remembers whether we've got
	     timestamp options on or off.  In any case, there is a
	     bug.)
	
	2.   The segment that arrived is from some old TCP connection,
	     probably to or from some previous user of a reused IP
	     address.  

	     (The MSL is a pure myth.  There's no way to guarantee any
	     upper bound for how long some packet may be delayed in
	     transit.  15+ years ago I did a trivially easy
	     demonstration that delayed several ping packets for over
	     an hour (over lunch), with no Internet routers involved,
	     on a LAN using hardware that was in widespread use at the
	     time.  E.g. Someone trips over a cable which slightly
	     dislodges it, then hours or days later, someone later
	     notices and pushes it back in.)


So, you can either accept the packet (A) or drop the packet (B).

    1. (A)     hmm... other end is buggy, *maybe* accepting the packet
	       would be the right thing.

    1. (B)     other end is buggy, dropping the packet *might* cause a
	       TCP connection to get stuck that otherwise would not
	       have gotten stuck.  (Hard to say... the other end is buggy!)


    2. (A)     data corruption (if the packet is otherwise acceptable)

    2. (B)     clearly the right thing to do.


With no reliable way to distinguish case 1 from case 2 at the
receiver, my gut is to prefer option B and live with the possible
downside of  the  1. (B)  situation.

	     
I also think letting the connection get stuck in the 1. (B) situation
has an upside... it might draw attention to the bug and cause the bug
to get fixed.  

... as long as there is no ambiguity on which of the two TCP
implementations is buggy.  (If we have this problem, then we have a
much bigger problem.)


			-Tim Shepard
			 shep@alum.mit.edu