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

Joe Touch <touch@isi.edu> Thu, 30 May 2013 16:53 UTC

Return-Path: <touch@isi.edu>
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 5F1E521F8AF7 for <tcpm@ietfa.amsl.com>; Thu, 30 May 2013 09:53:42 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -103.309
X-Spam-Level:
X-Spam-Status: No, score=-103.309 tagged_above=-999 required=5 tests=[AWL=-0.710, 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 WsN67eOEvpGG for <tcpm@ietfa.amsl.com>; Thu, 30 May 2013 09:53:37 -0700 (PDT)
Received: from vapor.isi.edu (vapor.isi.edu [128.9.64.64]) by ietfa.amsl.com (Postfix) with ESMTP id 97E8721F8700 for <tcpm@ietf.org>; Thu, 30 May 2013 09:53:37 -0700 (PDT)
Received: from [128.9.160.166] (abc.isi.edu [128.9.160.166]) (authenticated bits=0) by vapor.isi.edu (8.13.8/8.13.8) with ESMTP id r4UGqHne021150 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=NOT); Thu, 30 May 2013 09:52:17 -0700 (PDT)
Message-ID: <51A783C0.6040203@isi.edu>
Date: Thu, 30 May 2013 09:52:16 -0700
From: Joe Touch <touch@isi.edu>
User-Agent: Mozilla/5.0 (Windows NT 6.1; WOW64; rv:17.0) Gecko/20130509 Thunderbird/17.0.6
MIME-Version: 1.0
To: "Scheffenegger, Richard" <rs@netapp.com>
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> <DDB1E5C2-F806-45CF-80F8-AC3774523A5C@iki.fi> <012C3117EDDB3C4781FD802A8C27DD4F24BBA3B6@SACEXCMBX02-PRD.hq.netapp.com>
In-Reply-To: <012C3117EDDB3C4781FD802A8C27DD4F24BBA3B6@SACEXCMBX02-PRD.hq.netapp.com>
Content-Type: text/plain; charset=ISO-8859-1; format=flowed
Content-Transfer-Encoding: 7bit
X-ISI-4-43-8-MailScanner: Found to be clean
X-MailScanner-From: touch@isi.edu
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 16:53:42 -0000

Hi, all,

On 5/30/2013 7:28 AM, Scheffenegger, Richard wrote:
> Thanks Pasi, Joe.
>
>> 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.
>
> My understanding is, that failing the PAWS test should be treated like receiving
> a segment that is out-of-window. The reason for failing the PAWS test (missing TSopt,
> or invalid TSval) is secondary, not?
>
> Thus an ACK for the last in-sequence segment should be sent.
>
>> 1) MAY/SHOULD/MUST send response for missing timestamp
>
> This case is not currently covered. As consensus was reached that
> TSopt should not be allowed to be sent arbitratily for some segments and
> not for others, I would think a missing timestamp in a segment means,
> that segment needs to be treated like any other out-of-window segment.

Missing a timestamp is a bit different; it not only means that the 
segment should be treated as out-of-window, but there's something else 
amiss with the connection.

I.e., out-of-window might be fixed at some point, but missing TSopt will 
never be fixed. So I don't see what the point of sending a response here 
would be - it's like sending the last-valid ACK when you get any other 
malformed packet (because malformed != expired timestamp) -- which we 
don't do.

>> 2) MAY/SHOULD/MUST send response when timestamp comparison fails (current
>> text on R1 seems to want that this is MUST)
>
> For both, I think a MUST would be a appropriate, a SHOULD may
> suffice.(as an individual contributor).

FWIW, I never like "SHOULD" unless we have an explicit reason for not 
selecting MUST - either a known exception (which we should mention), or 
a reason for wanting to keep the door open.

In this case, I'm not sure what the appropriate behavior would be - 
what's the point of sending a response (e.g., an ACK of the last 
correctly received data) when the timestamp fails?

I.e., I wouldn't send a message unless it provides a purpose. Does it here?

Joe

>
>
> Fixed the Nit, and updated section 6 as indicated.
>
> Best regards,
>
> Richard Scheffenegger
>
>
>
>> -----Original Message-----
>> From: tcpm-bounces@ietf.org [mailto:tcpm-bounces@ietf.org] On Behalf Of
>> Pasi Sarolahti
>> Sent: Donnerstag, 30. Mai 2013 10:36
>> To: Joe Touch
>> Cc: tcpm@ietf.org Extensions
>> Subject: Re: [tcpm] I-D Action: draft-ietf-tcpm-1323bis-13.txt
>>
>> 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
>>
>> _______________________________________________
>> tcpm mailing list
>> tcpm@ietf.org
>> https://www.ietf.org/mailman/listinfo/tcpm