Re: [tcpm] 1323bis - PAWS check's problem with reodering on the reverse path

David Borman <david.borman@windriver.com> Mon, 13 July 2009 23:12 UTC

Return-Path: <david.borman@windriver.com>
X-Original-To: tcpm@core3.amsl.com
Delivered-To: tcpm@core3.amsl.com
Received: from localhost (localhost [127.0.0.1]) by core3.amsl.com (Postfix) with ESMTP id F1EC028C3BA for <tcpm@core3.amsl.com>; Mon, 13 Jul 2009 16:12:02 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -2.699
X-Spam-Level:
X-Spam-Status: No, score=-2.699 tagged_above=-999 required=5 tests=[AWL=-0.900, BAYES_00=-2.599, J_CHICKENPOX_26=0.6, J_CHICKENPOX_33=0.6, J_CHICKENPOX_35=0.6, RCVD_IN_DNSWL_LOW=-1]
Received: from mail.ietf.org ([64.170.98.32]) by localhost (core3.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id lLYRpkoFKoQv for <tcpm@core3.amsl.com>; Mon, 13 Jul 2009 16:12:02 -0700 (PDT)
Received: from mail.wrs.com (mail.windriver.com [147.11.1.11]) by core3.amsl.com (Postfix) with ESMTP id 29A683A69A8 for <tcpm@ietf.org>; Mon, 13 Jul 2009 16:12:01 -0700 (PDT)
Received: from ALA-MAIL03.corp.ad.wrs.com (ala-mail03 [147.11.57.144]) by mail.wrs.com (8.13.6/8.13.6) with ESMTP id n6DNCW2U010831; Mon, 13 Jul 2009 16:12:32 -0700 (PDT)
Received: from ala-mail06.corp.ad.wrs.com ([147.11.57.147]) by ALA-MAIL03.corp.ad.wrs.com with Microsoft SMTPSVC(6.0.3790.1830); Mon, 13 Jul 2009 16:12:32 -0700
Received: from [172.25.44.6] ([172.25.44.6]) by ala-mail06.corp.ad.wrs.com with Microsoft SMTPSVC(6.0.3790.1830); Mon, 13 Jul 2009 16:12:32 -0700
Message-Id: <79C12B51-C0CE-47F9-A6EF-F61239D661B0@windriver.com>
From: David Borman <david.borman@windriver.com>
To: Alexander Zimmermann <Alexander.Zimmermann@nets.rwth-aachen.de>
In-Reply-To: <1E6B7C58-4AE4-4B82-B110-F26D8F76F71B@nets.rwth-aachen.de>
Content-Type: text/plain; charset="US-ASCII"; format="flowed"; delsp="yes"
Content-Transfer-Encoding: 7bit
Mime-Version: 1.0 (Apple Message framework v935.3)
Date: Mon, 13 Jul 2009 18:12:30 -0500
References: <1E6B7C58-4AE4-4B82-B110-F26D8F76F71B@nets.rwth-aachen.de>
X-Mailer: Apple Mail (2.935.3)
X-OriginalArrivalTime: 13 Jul 2009 23:12:32.0947 (UTC) FILETIME=[66D0F030:01CA040F]
Cc: tcpm@ietf.org
Subject: Re: [tcpm] 1323bis - PAWS check's problem with reodering on the reverse path
X-BeenThere: tcpm@ietf.org
X-Mailman-Version: 2.1.9
Precedence: list
List-Id: TCP Maintenance and Minor Extensions Working Group <tcpm.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/listinfo/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, 13 Jul 2009 23:12:03 -0000

I've been thinking about this recently, and I think that while it may  
be a real issue, it's not one that we need to worry about.  I believe  
that the problem that the change fixes is a more likely scenario, so  
if you have to choose between the two, that's the one to pick.

Also, for this issue that Alexander brings up, the timestamp has to be  
changing between ACKs.  If the timestamp hasn't changed between the re- 
ordered ACKs, then the "SEG.TSval >= TS.recent" check will succeed.   
Generally, the TS clock shouldn't be ticking that often, if it is  
changing with every ACK then it might be going faster than it needs to.

So, this issue only occurs when ACKs are re-ordered, *and* the  
Timestamp clock has ticked between the reordered ACKs.  I'm thinking  
that 1323bis should just note that this situation does exist.

What does everyone else think?  Shall we leave the text as is and just  
document this edge case, or do people disagree with me and feel that  
this is a real problem that needs to be addressed, and is more  
important than the problems that the original change fixes?

			-David

On Mar 26, 2009, at 6:10 PM, Alexander Zimmermann wrote:

> Hi David, hi TCPM Folks,
>
> in the 1323bis draft the PAWS check has a problem (discarding ACKs)  
> if reordering is present on the
> reverse path and no data is piggybacked. Actually, it's not the PAWS  
> check itself, it's the modification
> of section 3.4: "Which Timestamp to Echo".
>
> The important parts of the RFC1323 and the draft (in this order) are
>
> ---
> (2) If Last.ACK.sent falls within the range of sequence numbers
>      of an incoming segment:
>
>         SEG.SEQ <= Last.ACK.sent < SEG.SEQ + SEG.LEN
>
>      then the TSval from the segment is copied to TS.Recent;
>      otherwise, the TSval is ignored.
>
> ---
>
> (2) If:
>
>       SEG.TSval >= TS.recent and SEG.SEQ <= Last.ACK.sent
>
>       then SEG.TSval is copied to TS.Recent; otherwise, it is
>       ignored.
> ---
>
> The addition of "SEG.TSval >= TS.recent" is not important for us at  
> moment. As the appendix said,
> this check is included for consistency with the PAWS test only.
>
> The relevant paragraph is the change from "SEG.SEQ <= Last.ACK.sent  
> < SEG.SEQ + SEG.LEN" to the
> reduced form "SEG.SEQ <= Last.ACK.sent". Again, the appendix said  
> that this change was made
> since the original algorithm to control which timestamp is echoed  
> was incorrect in two regards:
>
> (1) It failed to update TSrecent for a retransmitted segment that  
> resulted from a lost ACK.
>
> (2) It failed if SEG.LEN = 0.
>
> It's right that the 1323bis algo fix these two problems, however,  
> it's introduced the new problem mentioned
> already above.
>
> Following situation:
> - One-way flow from TCP A to TCP B
> - Reordering on the reverse path
>
> Consequence
> - TCP A will discard all ACKs with were delayed
> - Harmful in the case ABC (RFC 3465) is off, since we count ACKs for  
> slow-start and congestion avoidance
>
> Examples are attached.
>
> Alex
>
> <PAWS 1323.txt><PAWS 1323bis.txt>
> //
> // Dipl.-Inform. Alexander Zimmermann
> // Department of Computer Science, Informatik 4
> // RWTH Aachen University
> // Ahornstr. 55, 52056 Aachen, Germany
> // phone: (49-241) 80-21422, fax: (49-241) 80-22220
> // email: zimmermann@cs.rwth-aachen.de
> // web: http://www.umic-mesh.net
> //
>