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

"Scheffenegger, Richard" <rs@netapp.com> Wed, 28 May 2014 08:17 UTC

Return-Path: <rs@netapp.com>
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 86C0B1A01F2 for <tcpm@ietfa.amsl.com>; Wed, 28 May 2014 01:17:35 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -7.553
X-Spam-Level:
X-Spam-Status: No, score=-7.553 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, RCVD_IN_DNSWL_HI=-5, RP_MATCHES_RCVD=-0.651, 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 xGYYyV8aPVdb for <tcpm@ietfa.amsl.com>; Wed, 28 May 2014 01:17:33 -0700 (PDT)
Received: from mx12.netapp.com (mx12.netapp.com [216.240.18.77]) (using TLSv1 with cipher RC4-SHA (128/128 bits)) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id D4B851A01D2 for <tcpm@ietf.org>; Wed, 28 May 2014 01:17:33 -0700 (PDT)
X-IronPort-AV: E=Sophos;i="4.98,926,1392192000"; d="scan'208";a="166894260"
Received: from vmwexceht04-prd.hq.netapp.com ([10.106.77.34]) by mx12-out.netapp.com with ESMTP; 28 May 2014 01:17:30 -0700
Received: from SACEXCMBX02-PRD.hq.netapp.com ([169.254.1.81]) by vmwexceht04-prd.hq.netapp.com ([10.106.77.34]) with mapi id 14.03.0123.003; Wed, 28 May 2014 01:17:30 -0700
From: "Scheffenegger, Richard" <rs@netapp.com>
To: Joe Touch <touch@isi.edu>, Yoshifumi Nishida <nishida@sfc.wide.ad.jp>, "Scharf, Michael (Michael)" <michael.scharf@alcatel-lucent.com>
Thread-Topic: [tcpm] timestamp options (was Re: New Version Notification for draft-touch-tcpm-tcp-edo-01.txt)
Thread-Index: AQHPeMY0X7ehqD8HfkGAXfnNjG9NiZtTGBYAgAExuVCAAH0rgP//i9XQgAB6yoCAAGtvAIAAGHSAgABT3wA=
Date: Wed, 28 May 2014 08:17:29 +0000
Message-ID: <012C3117EDDB3C4781FD802A8C27DD4F6F4B7BB9@SACEXCMBX02-PRD.hq.netapp.com>
References: <20140425221257.12559.43206.idtracker@ietfa.amsl.com> <655C07320163294895BBADA28372AF5D2CFE36@FR712WXCHMBA15.zeu.alcatel-lucent.com> <20140503122950.GM44329@verdi> <655C07320163294895BBADA28372AF5D2D009E@FR712WXCHMBA15.zeu.alcatel-lucent.com> <201405221710.s4MHAY4S002037@bagheera.jungle.bt.co.uk> <537E3ACD.5000308@isi.edu> <537E48CE.8040704@mti-systems.com> <537E66A7.4080907@isi.edu> <201405231003.s4NA3PAB005137@bagheera.jungle.bt.co.uk> <537F7D91.10802@isi.edu> <F4BCB99F-6133-4F3C-BD5E-3369B979EB33@netapp.com> <655C07320163294895BBADA28372AF5D305E00@FR712WXCHMBA15.zeu.alcatel-lucent.com> <012C3117EDDB3C4781FD802A8C27DD4F6F3DD808@SACEXCMBX06-PRD.hq.netapp.com> <655C07320163294895BBADA28372AF5D309C5D@FR712WXCHMBA15.zeu.alcatel-lucent.com> <012C3117EDDB3C4781FD802A8C27DD4F6F3E09CF@SACEXCMBX06-PRD.hq.netapp.com> <655C07320163294895BBADA28372AF5D309CC7@FR712WXCHMBA15.zeu.alcatel-lucent.com> <CAO249ycpc6BzxCQv=zhJzL3BQwmvNH68ec7UGN_5MD7U1_FeUw@mail.gmail.com> <5384EFC3.50803@isi.edu>
In-Reply-To: <5384EFC3.50803@isi.edu>
Accept-Language: de-AT, en-US
Content-Language: en-US
X-MS-Has-Attach:
X-MS-TNEF-Correlator:
x-originating-ip: [10.122.105.19]
Content-Type: text/plain; charset="utf-8"
Content-Transfer-Encoding: base64
MIME-Version: 1.0
Archived-At: http://mailarchive.ietf.org/arch/msg/tcpm/RiDDcMNNbXb6HXK5uQkjdYcIbKc
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
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: Wed, 28 May 2014 08:17:35 -0000

Hi Joe,

> 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

This one is genuine. However, given the prevalence of non-TS TCP sesssions and no wide-spread havoc caused by NOT having PAWS on the SYN, it appears to me that the impact is manageable. (Of course it would be nicer to have PAWS on SYN, but as long as SYN option space is limited...)

> 	- 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

Well, as this would be a new mechanism, there should be some broad guidance given; I would assume that the latest onset - if late TS is negotiated for - would be when either direction has sent at most 2^31 - (2^16 << Window.scale) bytes; and a receiver that sees the full TS must then start to reflect TS as usual, independent of its own relative offset into the session. And never relinquish from sending TS even when some packets - ie. retransmissions, or due to middleboxes on a changed path - not contain a TS from the other side.

As for the semantic change, I propose that when the session has SACK enabled as well as late TS, then the TS should reflect the TS of the segment triggering the ACK (we can discuss what should happen during in-sequence delayed ACK processing though; the relevant aspect for me is during loss - SACK recovery - to not mask the timestamps of retransmitted packets as per 1323bis; For legacy RTTM processing, the presence of a SACK option is indicative enough to NOT do normal RTTM processing - although a sender could choose to do so particularly for the loss recovery episodes. Having the (unique) Timestamp/SACK block combinations during loss recovery would allow more efficient, faster and also packet conserving recovery of lost retransmissions - unlike the current method of last resort, RTO.


Best regards,

Richard Scheffenegger


> -----Original Message-----
> From: Joe Touch [mailto:touch@isi.edu]
> Sent: Dienstag, 27. Mai 2014 22:04
> To: Yoshifumi Nishida; Scharf, Michael (Michael)
> Cc: Scheffenegger, Richard; Eggert, Lars; tcpm@ietf.org
> Subject: Re: [tcpm] timestamp options (was Re: New Version Notification
> for draft-touch-tcpm-tcp-edo-01.txt)
> 
> Hi, all,
> 
> 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
> 
> 	- 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
> 
> Joe
> 
> On 5/27/2014 11:36 AM, Yoshifumi Nishida wrote:
> > Hi folks,
> >
> > I've submitted a proposal for this a while ago:
> > http://tools.ietf.org/html/draft-nishida-tcpm-apaws-00
> > Although it's expired now, I will submit a new version within a couple
> > of weeks or so.
> > The late negotiation is also discussed in the draft.
> > As it will change the semantics of TS, it presumes to use new code
> > point (or use timestamp field in SYN). But, I'm happy to discuss on this
> point.
> >
> > One tricky thing for RFC1323 is that it uses TS for two purposes:
> > timestamping and PAWS and one purpose of the draft is to separate them.
> > I appreciate any feedback on the draft.
> >
> > Thanks,
> > --
> > Yoshi
> >
> > On Tue, May 27, 2014 at 5:12 AM, Scharf, Michael (Michael)
> > <michael.scharf@alcatel-lucent.com
> > <mailto:michael.scharf@alcatel-lucent.com>> wrote:
> >
> >      > Well, if it's just for Timestamps, just use an "invalid" length
> >     of 2 as
> >      > a "Late TS permitted".
> >      >
> >      > Maintaining the same option value and this would be rather
> straight
> >      > forward.
> >
> >     Interesting proposal. But actually we are not really short of option
> >     numbers. If we get e.g. 8 bytes in a significant number of SYNs
> >     (which is our real bottleneck), I think we could also spend a new
> >     option codepoint.
> >
> >      > Personally, I'd like to combine this with a change in semantics,
> if
> >      > SACK is negotiated on the same session as well, to allow more
> >     efficient
> >      > loss recovery (lost retransmission detection during a loss
> recovery
> >      > episode). I should have a unpublished draft sitting around here
> about
> >      > that aspect.
> >
> >     A change in semantics would also be a reason for a new codepoint,
> imho.
> >
> >     Michael
> >
> >
> >      > The TS option handling seems to be rather generous by
> middleboxes, in
> >      > general.
> >      >
> >      > Richard Scheffenegger
> >      >
> >      > > -----Original Message-----
> >      > > From: tcpm [mailto:tcpm-bounces@ietf.org
> >     <mailto:tcpm-bounces@ietf.org>] On Behalf Of Scharf,
> >      > Michael
> >      > > (Michael)
> >      > > Sent: Dienstag, 27. Mai 2014 13:49
> >      > > To: Scheffenegger, Richard; Eggert, Lars; Joe Touch
> >      > > Cc: tcpm@ietf.org <mailto:tcpm@ietf.org>
> >      > > Subject: Re: [tcpm] timestamp options (was Re: New Version
> >      > Notification
> >      > > for draft-touch-tcpm-tcp-edo-01.txt)
> >      > >
> >      > > > For late TS, we would still need at least 2 Bytes during
> >      > > > <SYN>/<SYN,ACK> to allow that capability.
> >      > > >
> >      > > > However, as the useful values of Window Scale only cover
> >     0..14 [1],
> >      > > > one approach to save SYN option space would be to negotiate
> >     up to 4
> >      > > > binary
> >      > > > (on/off) plus WS in a new single 3-byte option.
> >      > >
> >      > > I might be wrong, but I've thought so far that "replacing" the
> >     window
> >      > > scale option would be pretty difficult. We already had reports
> of
> >      > > middleboxes that parse this option because they try to
> understand
> >      > rwnd (or
> >      > > they do not parse the option even if they should, or they have
> >      > entirely
> >      > > broken logic to mess up TCP...). I think one example are
> firewalls
> >      > that
> >      > > try to detect whether segments are in-window. Another example
> could
> >      > be
> >      > > PEPs that try to tune rwnd (if they still exist in the wild).
> >      > >
> >      > > My understanding so far was that a solution only for timestamps
> >     would
> >      > be
> >      > > the most low-hanging fruit.
> >      > >
> >      > > Michael
> >      > >
> >      > > _______________________________________________
> >      > > tcpm mailing list
> >      > > tcpm@ietf.org <mailto:tcpm@ietf.org>
> >      > > https://www.ietf.org/mailman/listinfo/tcpm
> >
> >     _______________________________________________
> >     tcpm mailing list
> >     tcpm@ietf.org <mailto:tcpm@ietf.org>
> >     https://www.ietf.org/mailman/listinfo/tcpm
> >
> >