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

Pasi Sarolahti <pasi.sarolahti@iki.fi> Thu, 30 May 2013 08:36 UTC

Return-Path: <pasi.sarolahti@iki.fi>
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 C369621F8F0C for <tcpm@ietfa.amsl.com>; Thu, 30 May 2013 01:36:38 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -102.599
X-Spam-Level:
X-Spam-Status: No, score=-102.599 tagged_above=-999 required=5 tests=[BAYES_00=-2.599, USER_IN_WHITELIST=-100]
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 7Jquo6K5lf9C for <tcpm@ietfa.amsl.com>; Thu, 30 May 2013 01:36:32 -0700 (PDT)
Received: from jenni2.inet.fi (mta-out.inet.fi [195.156.147.13]) by ietfa.amsl.com (Postfix) with ESMTP id EA67721F8EAF for <tcpm@ietf.org>; Thu, 30 May 2013 01:36:31 -0700 (PDT)
Received: from pc116.tct.hut.fi (130.233.154.116) by jenni2.inet.fi (8.5.140.03) (authenticated as saropa-1) id 5163F0F203505B78; Thu, 30 May 2013 11:36:10 +0300
Content-Type: text/plain; charset="iso-8859-1"
Mime-Version: 1.0 (Mac OS X Mail 6.3 \(1503\))
From: Pasi Sarolahti <pasi.sarolahti@iki.fi>
In-Reply-To: <51A66002.7050401@isi.edu>
Date: Thu, 30 May 2013 11:36:13 +0300
Content-Transfer-Encoding: quoted-printable
Message-Id: <DDB1E5C2-F806-45CF-80F8-AC3774523A5C@iki.fi>
References: <20130518155753.17946.96581.idtracker@ietfa.amsl.com> <CAK6E8=d_LTZgnGAncdWDAi+7ebd3Lo5aevPeGG0=KSbBMeBhcg@mail.gmail.com> <519A8322.6030405@isi.edu> <26034_1369382276_519F1D83_26034_1735_1_519F1D68.604@uclouvain.be> <E220F4B0-EE27-431C-BCBE-0A0C01C8B0EF@iki.fi> <51A38F9F.4000407@isi.edu> <39EDB63B-7FCB-43F5-9355-474D50976005@iki.fi> <51A3A684.5020400@isi.edu> <B3F294F6-8866-4155-98F6-0927B90346E4@iki.fi> <51A3D24F.7050300@isi.edu> <62F28CBC-271E-42C4-9D06-1331CE25DC0E@iki.fi> <51A66002.7050401@isi.edu>
To: Joe Touch <touch@ISI.EDU>
X-Mailer: Apple Mail (2.1503)
Cc: "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: Thu, 30 May 2013 08:36:38 -0000

On May 29, 2013, at 11:07 PM, Joe Touch <touch@ISI.EDU> wrote:

>> * PAWS algorithm tells to send acknowledgment if the check fails.
>> Shouldn't we then, for consistency, require sending acknowledgment also
>> if TSopt is missing? Current MAY in Sec. 3.2. is not very informative in
>> my mind.
> 
> I don't think it's useful to send the ACK in that case. The point of PAWS is to ignore segments that are not protected. Even sending an ACK defeats that. At best, send a dup ack for last segment received correctly, but I still think that doing *anything* other than silent-drop isn't what PAWS protection intends.

The PAWS algorithm motivates sending ACK with recovering from half-open connections (referring to fig. 10 in RFC 793), when one side crashes and re-opens the connection. Wouldn't this same reasoning apply also for missing timestamps case? It is possible that after a reboot the system timestamps setting is reset from enabled to disabled, if that happens to be the boot-time default. In such case the newly opening connection would have its segments discarded by the other side that still remains in established state, because of lack of timestamps, isn't that right?

Admittedly this is not the most likely scenario, but just trying to dig up the reasoning for choosing one way or the other.

Since we are on the path of clarifying the text with normative language, why not do the same also for Section 4.3? We should decide

1) MAY/SHOULD/MUST send response for missing timestamp

2) MAY/SHOULD/MUST send response when timestamp comparison fails (current text on R1 seems to want that this is MUST)

It would be good to provide these with some reasoning, too. For (2) this reasoning already seems to be in place.

Nit: start of section 4.3 uses "REQUIRES" that should not be capitalized because it is not a RFC 2119 keyword. How about just saying something like "if PAWS algorithm is enabled, the following steps MUST be followed", or something. Sorry about splitting hairs, but I think we should be pedantic about the keywords.

>> " *  If the Timestamps option is removed from the <SYN> or <SYN,ACK>
>>          segment, high speed connections that need PAWS would not have
>> that protection. Successful negotiation of Timestamps option
>> enforces a stricter verification of incoming segments at receiver. If
>> the Timestamps option was removed from a subsequent data segment
>> after a successful negotiation (for example, as part of
>> re-segmentation), the segment is discarded by the receiver without
>> further processing. Middleboxes should not remove the Timestamps
>> option. One study found that 6% of measured HTTP connections had the
>> Timestamps option removed from data segments [Honda11]."
> 
> The last sentence seems out of place; why are you including that? If there are implications to the 6% drop then you should mention that, but I would expect that elsewhere than the security considerations section.

Because that paragraph talks about removal of timestamps option. But I agree that the proposed sentence doesn't sit there very well. How about including the reference in the beginning of the Middleboxes section of the text:

"Some middleboxes have been known to remove the TCP options
      described in this document from the TCP segments [Honda11]." (changed <SYN> segment to TCP segments)

The main point is that the current text only talks about dropping options from SYN segments, but this happens also for data segments, as the paper shows. Since we have fairly recent quantified data about this, why not include the reference?

- Pasi