Re: [tcpm] 1323bis - preparing for WGLC
"Scharf, Michael (Michael)" <michael.scharf@alcatel-lucent.com> Thu, 21 March 2013 15:20 UTC
Return-Path: <michael.scharf@alcatel-lucent.com>
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 D119B21F90EC for <tcpm@ietfa.amsl.com>; Thu, 21 Mar 2013 08:20:35 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -6.649
X-Spam-Level:
X-Spam-Status: No, score=-6.649 tagged_above=-999 required=5 tests=[AWL=-1.600, BAYES_00=-2.599, HELO_EQ_FR=0.35, J_CHICKENPOX_22=0.6, J_CHICKENPOX_33=0.6, RCVD_IN_DNSWL_MED=-4]
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 xmGLOHa7tikA for <tcpm@ietfa.amsl.com>; Thu, 21 Mar 2013 08:20:34 -0700 (PDT)
Received: from smail3.alcatel.fr (smail3.alcatel.fr [62.23.212.56]) by ietfa.amsl.com (Postfix) with ESMTP id 7085221F8775 for <tcpm@ietf.org>; Thu, 21 Mar 2013 08:20:34 -0700 (PDT)
Received: from FRMRSSXCHHUB01.dc-m.alcatel-lucent.com (FRMRSSXCHHUB01.dc-m.alcatel-lucent.com [135.120.45.61]) by smail3.alcatel.fr (8.14.3/8.14.3/ICT) with ESMTP id r2LFKWYV020860 (version=TLSv1/SSLv3 cipher=RC4-MD5 bits=128 verify=NOT); Thu, 21 Mar 2013 16:20:32 +0100
Received: from FRMRSSXCHMBSE3.dc-m.alcatel-lucent.com ([135.120.45.56]) by FRMRSSXCHHUB01.dc-m.alcatel-lucent.com ([135.120.45.61]) with mapi; Thu, 21 Mar 2013 16:20:32 +0100
From: "Scharf, Michael (Michael)" <michael.scharf@alcatel-lucent.com>
To: "Scheffenegger, Richard" <rs@netapp.com>, David Borman <David.Borman@quantum.com>, Joe Touch <touch@ISI.EDU>
Date: Thu, 21 Mar 2013 16:20:32 +0100
Thread-Topic: [tcpm] 1323bis - preparing for WGLC
Thread-Index: Ac4lcH25jO3olS06RL+dsxE+ZG+NzgAUcmOAAC1vjIAADROhYAAZfKiA
Message-ID: <2A886F9088894347A3BE0CC5B7A85F3E9AB12A6D7E@FRMRSSXCHMBSE3.dc-m.alcatel-lucent.com>
References: <012C3117EDDB3C4781FD802A8C27DD4F24AC0025@SACEXCMBX02-PRD.hq.netapp.com> <5149E317.2080206@isi.edu> <AD01EFBA971A0A4EBB41E1AF7D81F00026B3F984@ppomsg1> <012C3117EDDB3C4781FD802A8C27DD4F24AC52A3@SACEXCMBX02-PRD.hq.netapp.com>
In-Reply-To: <012C3117EDDB3C4781FD802A8C27DD4F24AC52A3@SACEXCMBX02-PRD.hq.netapp.com>
Accept-Language: de-DE, en-US
Content-Language: de-DE
X-MS-Has-Attach:
X-MS-TNEF-Correlator:
acceptlanguage: de-DE, en-US
Content-Type: text/plain; charset="iso-8859-1"
Content-Transfer-Encoding: quoted-printable
MIME-Version: 1.0
X-Scanned-By: MIMEDefang 2.69 on 155.132.188.83
Cc: "tcpm (tcpm@ietf.org)" <tcpm@ietf.org>
Subject: Re: [tcpm] 1323bis - preparing for WGLC
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, 21 Mar 2013 15:20:36 -0000
To me, this discussion would perfectly fit into a new ID on allowing late TS enabling. It would be short and straightforward. But a separate ID could be easier than adding these kinds of thoughts to the 1323bis document, which we want to finish... I think that such a new document would be allowed by "The Timestamp option MUST be negotiated during the initial <SYN> and <SYN,ACK> unless another mechanism allows to enable it during an established session.". Michael (chair hat off) > -----Original Message----- > From: tcpm-bounces@ietf.org [mailto:tcpm-bounces@ietf.org] On > Behalf Of Scheffenegger, Richard > Sent: Thursday, March 21, 2013 4:07 PM > To: David Borman; Joe Touch > Cc: tcpm (tcpm@ietf.org) > Subject: Re: [tcpm] 1323bis - preparing for WGLC > > Thank you David! > > > You made some insightful comments, that I agree with! > > To this, I want to add some thoughts: > > > > Enabling TS midstream on the receiver is easy: if you receive any > > packet with TS, then enable TS and use it for the duration of the > > connection. On the sender, you just start sending TS in > every packet, > > and remember the seq# of the first non-retransmitted packet > that was > > sent with TS. If a TS is received in any packet, then > enable TS for > > the duration of the connection. If no TS has been received when an > > ACK that covers the initial TS seq# is received, then > disable sending > > TS for the duration of the connection. > > > It's really the middleboxes that we need to work around in > such a scenario... > > 1) In the forward path, a middlebox might start dropping > segments, that contain TSopt which wasn't negotiated for. > Thus a receiver never sees these data segments... > > 2) Or a middlebox might scrub the TSopt from the data packets > before delivery... > > > 3) In the return path, again a middle box might stop > forwarding an ACK containing TSopt, if previous segments of > that flow didn't have TSopt enabled. > > 4) Or that middlebox again scrubs the TSopt before delivery. > > > Cases 1+3 and 2+4 are virtually identical to the sender: > > In 1+3, the sender would not see any ACKs beyond the seq#, > where TSopt was stated; Eventually multiple back-to-back RTOs > would happen. > > In 2+4, the sender would see the ACKs, but without any TSopt. > However, the receiver might have started using TSopt already > on the receiver processing, thus it would be better to keep > on sending with TSopt enabled. > > Only when a RTO (or the 2nd RTO) for the data packet with the > Seq# where TSopt was enabled happens, than it would be save > to disable TSopt again... But once Snd.Fack or Snd.Una goes > beyond the Seq# of the first TSopt segment, there should be > no way to disable TSopt again... > > > Does that sound reasonable? > > > > Richard Scheffenegger > > > > > > -----Original Message----- > > From: David Borman [mailto:David.Borman@quantum.com] > > Sent: Donnerstag, 21. März 2013 15:07 > > To: Joe Touch > > Cc: Scheffenegger, Richard; tcpm (tcpm@ietf.org) > > Subject: Re: [tcpm] 1323bis - preparing for WGLC > > > > > > On Mar 20, 2013, at 11:25 AM, Joe Touch <touch@ISI.EDU> wrote: > > > > > Hi, all, > > > > > > On 3/20/2013 7:07 AM, Scheffenegger, Richard wrote: > > >> Hi group, > > >> running up to and during the IETF 86, the following points were > > >> raised w.r.t 1323bis. I hope this lengthy email makes it through > > >> your tl;dr > > filter. > > >> > > > ... > > >> 2. Guidance regarding late TS negotiation: > > >> > > >> This is a technical (semantic) change of timestamps; the > upcoming > > >> -07 version of the draft will have this text added; is the WG > > >> satisfied > > with > > >> this wording, or shall more specific (2119) wording be added: > > >> > > >> A TCP MAY send the Timestamps option (TSopt) in an > initial <SYN> > > >> segment (i.e., a segment containing a SYN bit and no > ACK bit). Once > > >> a TSopt has been sent or received in a non <SYN> > segment, it MUST be > > >> sent in all segments. Once a TSopt has been received > in a non <SYN> > > >> segment, then any successive segment that is received without > > >> the > > RST > > >> bit and without a TSopt MAY be dropped without > further processing, > > >> and an ACK of the current SND.UNA generated. > > >> Note that it is RECOMMENDED to negotiate the use of > the timestamp > > >> option during the initial handshake. Although this > document is less > > >> restrictive regarding the use of the timestamp option > when not sent > > >> initially, any guidance and discussion of potential > issues when > > >> timestamp is enabled late in a session is beyond the > scope of this > > >> document. > > > > > > >> I have received suggestions, to increase the "MAY" in the first > > sentence > > >> to a "SHOULD" (but that might indicate to implementers, that any > > >> TCP session SHOULD have TS enabled, not that TS MAY be used, and > > >> if, it SHOULD be negotiated during SYN). > > > > > > IMO, the first sentence should be a MUST. TCP needs to know about > > > all > > the options it needs to support during the initial > handshake. If you > > turn on the option later and it isn't supported, there's no > way to "handshake" > > to let the other end know. > > > > That really depends on the TCP option. > > > > Turning on timestamps midstream without it being in the initial SYN > > isn't technically that hard, as long as once you start sending and > > receiving them, you continue to send/receive them for the > rest of the > > connection. > > > > The original reason for negotiating options in the SYN was twofold: > > 1) SYNs are reliably delivered, hence no additional negotiation > > mechanism is needed. 2) At the time, all TCP implementations would > > handle unknown options in the SYN, but some implementations would > > crash if they received unknown TCP options in non-SYN packets. > > > > Hopefully reason #2 is no longer needed. > > > > Enabling TS midstream on the receiver is easy: if you receive any > > packet with TS, then enable TS and use it for the duration of the > > connection. On the sender, you just start sending TS in > every packet, > > and remember the seq# of the first non-retransmitted packet > that was > > sent with TS. If a TS is received in any packet, then > enable TS for > > the duration of the connection. If no TS has been received when an > > ACK that covers the initial TS seq# is received, then > disable sending > > TS for the duration of the connection. > > > > As long as an unexpected TS mid-stream doesn't crash the > other side, > > then you're good to go, provided you take care of using the TS for > > PAWS during the transition. > > > > Other options, like WS, have to be negotiated in the SYN; trying to > > change the WS value mid-stream using the current option > would require > > implementing additional negotiating mechanisms, since ACKs are not > > reliably transmitted. > > > > Honestly, the dictum that all TCP options have to be > negotiated in the > > SYN is to avoid sending TCP options mid stream to the other > side that > > the other side doesn't understand and isn't able to properly ignore > > without crashing. Be conservative in what you send, > liberal in what > > you receive. But maybe it's time to say that any TCP > implementation > > that can't safely ignore unknown options mid-stream is just plain > > broken and the standards shouldn't continue to try to > accommodate them > > anymore. > > > > -David Borman > > > > > > > >> Another suggestion was to add a sentence like > "Timestamps MUST be > > >> negotiated in <SYN> and <SYN,ACK> unless another > mechanism allows > > >> enabling them in during an established session. Such a > mechanism > > >> is outside the scope of this document." > > > > > > This is the one I expected, and is fine. It can either be > confirmed > > > by > > the option itself or by some other option; the overall > assumption is > > that "the set of options that MAY be used during a TCP > connection MUST > > be negotiated during the 3WHS". (that text is outside the scope of > > this doc, > > though) > > > > > >> 3. More appropriate introductory text; the following > statement will > > >> supersede very old text (that apparently addressed > WS, TS and SACK > > >> back in RFC1072); this was already presented at IETF > 86 and received > > >> no objections. > > >> > > >> The window scale option negotiates fundamental > parameters of the TCP > > >> session. Therefore, it is only sent during the > initial handshake. > > >> Furthermore, the window scale option will be sent in > a <SYN,ACK> > > >> segment only if the corresponding option was received > in the initial > > >> <SYN> segment. > > >> The timestamps option may appear in any data or ACK segment, > > >> adding > > > > > > The "*" inserted below is explained further down... > > > > > >> 12 bytes to the 20-byte TCP header. * It is recommended that > > >> this > > TCP > > > > > > Again, IMO recommended should be REQUIRED (in all caps too). > > > > > >> option will be sent on non-SYN segments only after an > exchange of > > >> options on the SYN segments has indicated that both > sides understand > > >> the extension. > > > > > > The portion below is a bit different: > > > > > >> We believe that the bandwidth saved by reducing > > >> unnecessary retransmission timeouts will more than > pay for the extra > > >> header bandwidth. > > > > > > it talks about the bandwidth of the overall connection; it's not > > specific to the SYN exchange. It might be useful to move this up to > > the "*" above. > > > > > > Joe > > > _______________________________________________ > > > tcpm mailing list > > > tcpm@ietf.org > > > https://www.ietf.org/mailman/listinfo/tcpm > > > > > ---------------------------------------------------------------------- > > The information contained in this transmission may be confidential. > > Any disclosure, copying, or further distribution of confidential > > information is not permitted unless such privilege is explicitly > > granted in writing by Quantum. Quantum reserves the right to have > > electronic communications, including email and attachments, sent > > across its networks filtered through anti virus and spam software > > programs and retain such messages in order to comply with > applicable > > data security and retention requirements. Quantum is not > responsible > > for the proper and complete transmission of the substance > of this communication or for any delay in its receipt. > _______________________________________________ > tcpm mailing list > tcpm@ietf.org > https://www.ietf.org/mailman/listinfo/tcpm >
- [tcpm] 1323bis - preparing for WGLC Scheffenegger, Richard
- Re: [tcpm] 1323bis - preparing for WGLC Joe Touch
- Re: [tcpm] 1323bis - preparing for WGLC Andre Oppermann
- Re: [tcpm] 1323bis - preparing for WGLC David Borman
- Re: [tcpm] 1323bis - preparing for WGLC Andre Oppermann
- Re: [tcpm] 1323bis - preparing for WGLC Mark Allman
- Re: [tcpm] 1323bis - preparing for WGLC Scheffenegger, Richard
- Re: [tcpm] 1323bis - preparing for WGLC Scharf, Michael (Michael)
- Re: [tcpm] 1323bis - preparing for WGLC Scheffenegger, Richard
- Re: [tcpm] 1323bis - preparing for WGLC Pasi Sarolahti
- Re: [tcpm] 1323bis - preparing for WGLC Scheffenegger, Richard
- Re: [tcpm] 1323bis - preparing for WGLC Joe Touch
- Re: [tcpm] 1323bis - preparing for WGLC Joe Touch
- Re: [tcpm] 1323bis - preparing for WGLC Joe Touch
- Re: [tcpm] 1323bis - preparing for WGLC Mark Allman
- Re: [tcpm] 1323bis - preparing for WGLC Joe Touch
- Re: [tcpm] 1323bis - preparing for WGLC Mark Allman
- Re: [tcpm] 1323bis - preparing for WGLC Joe Touch
- Re: [tcpm] 1323bis - preparing for WGLC Ilpo Järvinen
- Re: [tcpm] 1323bis - preparing for WGLC Scheffenegger, Richard
- Re: [tcpm] 1323bis - preparing for WGLC David Borman
- Re: [tcpm] 1323bis - preparing for WGLC Ilpo Järvinen
- Re: [tcpm] 1323bis - preparing for WGLC Scharf, Michael (Michael)
- Re: [tcpm] 1323bis - preparing for WGLC Scheffenegger, Richard
- Re: [tcpm] 1323bis - preparing for WGLC Scheffenegger, Richard
- [tcpm] timestamps usage (was Re: 1323bis - prepar… Mark Allman
- Re: [tcpm] timestamps usage (was Re: 1323bis - pr… Tim Shepard
- Re: [tcpm] timestamps usage (was Re: 1323bis - pr… John Leslie
- Re: [tcpm] timestamps usage (was Re: 1323bis - pr… David Borman
- Re: [tcpm] timestamps usage (was Re: 1323bis - pr… Jakob Heitz
- Re: [tcpm] timestamps usage (was Re: 1323bis - pr… Mark Allman
- Re: [tcpm] timestamps usage (was Re: 1323bis - pr… Mark Allman
- Re: [tcpm] timestamps usage (was Re: 1323bis - pr… Mark Allman
- Re: [tcpm] timestamps usage (was Re: 1323bis - pr… Mark Allman
- Re: [tcpm] timestamps usage (was Re: 1323bis - pr… Jakob Heitz
- Re: [tcpm] timestamps usage (was Re: 1323bis - pr… Mark Allman
- Re: [tcpm] timestamps usage (was Re: 1323bis - pr… Joe Touch
- Re: [tcpm] timestamps usage (was Re: 1323bis - pr… Yuchung Cheng
- Re: [tcpm] timestamps usage (was Re: 1323bis - pr… Mark Allman
- Re: [tcpm] timestamps usage (was Re: 1323bis - pr… Scheffenegger, Richard
- Re: [tcpm] timestamps usage (was Re: 1323bis - pr… Mark Allman
- Re: [tcpm] timestamps usage (was Re: 1323bis - pr… Scheffenegger, Richard
- Re: [tcpm] timestamps usage (was Re: 1323bis - pr… Mark Allman
- Re: [tcpm] timestamps usage (was Re: 1323bis - pr… John Leslie
- Re: [tcpm] timestamps usage (was Re: 1323bis - pr… David Borman
- Re: [tcpm] timestamps usage (was Re: 1323bis - pr… Scheffenegger, Richard
- Re: [tcpm] timestamps usage (was Re: 1323bis - pr… John Leslie
- Re: [tcpm] timestamps usage (was Re: 1323bis - pr… Scheffenegger, Richard
- Re: [tcpm] timestamps usage (was Re: 1323bis - pr… Yuchung Cheng
- Re: [tcpm] timestamps usage (was Re: 1323bis - pr… Scheffenegger, Richard
- Re: [tcpm] timestamps usage (was Re: 1323bis - pr… Yuchung Cheng
- Re: [tcpm] timestamps usage (was Re: 1323bis - pr… Yoshifumi Nishida
- Re: [tcpm] timestamps usage (was Re: 1323bis - pr… Scheffenegger, Richard
- Re: [tcpm] timestamps usage (was Re: 1323bis - pr… Yuchung Cheng
- Re: [tcpm] timestamps usage (was Re: 1323bis - pr… Yuchung Cheng
- Re: [tcpm] timestamps usage (was Re: 1323bis - pr… Scheffenegger, Richard
- Re: [tcpm] timestamps usage (was Re: 1323bis - pr… Yoshifumi Nishida
- Re: [tcpm] timestamps usage (was Re: 1323bis - pr… Scheffenegger, Richard
- Re: [tcpm] timestamps usage (was Re: 1323bis - pr… Yoshifumi Nishida
- Re: [tcpm] timestamps usage (was Re: 1323bis - pr… Scheffenegger, Richard
- Re: [tcpm] timestamps usage (was Re: 1323bis - pr… Scheffenegger, Richard
- Re: [tcpm] timestamps usage (was Re: 1323bis - pr… Yuchung Cheng
- Re: [tcpm] timestamps usage (was Re: 1323bis - pr… Scheffenegger, Richard
- Re: [tcpm] timestamps usage (was Re: 1323bis - pr… Yuchung Cheng
- Re: [tcpm] timestamps usage (was Re: 1323bis - pr… Matt Mathis
- Re: [tcpm] timestamps usage (was Re: 1323bis - pr… Joe Touch
- Re: [tcpm] timestamps usage (was Re: 1323bis - pr… David Borman
- Re: [tcpm] timestamps usage (was Re: 1323bis - pr… Scheffenegger, Richard
- Re: [tcpm] timestamps usage (was Re: 1323bis - pr… Scheffenegger, Richard
- Re: [tcpm] timestamps usage (was Re: 1323bis - pr… Yuchung Cheng
- Re: [tcpm] timestamps usage (was Re: 1323bis - pr… Matt Mathis
- Re: [tcpm] timestamps usage (was Re: 1323bis - pr… Scheffenegger, Richard
- Re: [tcpm] timestamps usage (was Re: 1323bis - pr… Yuchung Cheng
- Re: [tcpm] timestamps usage (was Re: 1323bis - pr… Yuchung Cheng
- Re: [tcpm] timestamps usage (was Re: 1323bis - pr… Scheffenegger, Richard
- Re: [tcpm] timestamps usage (was Re: 1323bis - pr… Yoshifumi Nishida
- Re: [tcpm] timestamps usage (was Re: 1323bis - pr… Yuchung Cheng
- Re: [tcpm] timestamps usage (was Re: 1323bis - pr… Scheffenegger, Richard
- Re: [tcpm] timestamps usage (was Re: 1323bis - pr… Scheffenegger, Richard