Re: [tsvwg] draft-stewart-tsvwg-sctpecn

"Scheffenegger, Richard" <rs@netapp.com> Fri, 03 August 2012 17:44 UTC

Return-Path: <rs@netapp.com>
X-Original-To: tsvwg@ietfa.amsl.com
Delivered-To: tsvwg@ietfa.amsl.com
Received: from localhost (localhost [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id 4135721F8DE8 for <tsvwg@ietfa.amsl.com>; Fri, 3 Aug 2012 10:44:35 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -10.211
X-Spam-Level:
X-Spam-Status: No, score=-10.211 tagged_above=-999 required=5 tests=[AWL=0.388, BAYES_00=-2.599, RCVD_IN_DNSWL_HI=-8]
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 NrXea8ppR9NN for <tsvwg@ietfa.amsl.com>; Fri, 3 Aug 2012 10:44:34 -0700 (PDT)
Received: from mx2.netapp.com (mx2.netapp.com [216.240.18.37]) by ietfa.amsl.com (Postfix) with ESMTP id 2FD3821F8DE5 for <tsvwg@ietf.org>; Fri, 3 Aug 2012 10:44:34 -0700 (PDT)
X-IronPort-AV: E=Sophos;i="4.77,707,1336374000"; d="scan'208";a="672925340"
Received: from smtp1.corp.netapp.com ([10.57.156.124]) by mx2-out.netapp.com with ESMTP; 03 Aug 2012 10:44:33 -0700
Received: from vmwexceht04-prd.hq.netapp.com (vmwexceht04-prd.hq.netapp.com [10.106.77.34]) by smtp1.corp.netapp.com (8.13.1/8.13.1/NTAP-1.6) with ESMTP id q73HiXU3013865; Fri, 3 Aug 2012 10:44:33 -0700 (PDT)
Received: from SACEXCMBX02-PRD.hq.netapp.com ([169.254.1.34]) by vmwexceht04-prd.hq.netapp.com ([10.106.77.34]) with mapi id 14.02.0298.004; Fri, 3 Aug 2012 10:44:33 -0700
From: "Scheffenegger, Richard" <rs@netapp.com>
To: Randy Stewart <randall@lakerest.net>
Thread-Topic: [tsvwg] draft-stewart-tsvwg-sctpecn
Thread-Index: Ac1xCpQnt7Qi4CRkRDaO8iAwZyWYDAAwBnUAAA5sUDD//6cggIAAcueQ
Date: Fri, 03 Aug 2012 17:44:32 +0000
Message-ID: <012C3117EDDB3C4781FD802A8C27DD4F0D4E3C80@SACEXCMBX02-PRD.hq.netapp.com>
References: <012C3117EDDB3C4781FD802A8C27DD4F0D4E24FC@SACEXCMBX02-PRD.hq.netapp.com> <955ED31B-9201-43FA-8C8C-13B622DB2D80@lakerest.net> <012C3117EDDB3C4781FD802A8C27DD4F0D4E3811@SACEXCMBX02-PRD.hq.netapp.com> <C824EAB0-BA4D-4D81-9EC9-980D589C2E9E@lakerest.net>
In-Reply-To: <C824EAB0-BA4D-4D81-9EC9-980D589C2E9E@lakerest.net>
Accept-Language: de-AT, en-US
Content-Language: en-US
X-MS-Has-Attach:
X-MS-TNEF-Correlator:
x-originating-ip: [10.104.60.115]
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: quoted-printable
MIME-Version: 1.0
Cc: "gorry@erg.abdn.ac.uk" <gorry@erg.abdn.ac.uk>, "stevedong@huawei.com" <stevedong@huawei.com>, "tuexen@fh-muenster.de" <tuexen@fh-muenster.de>, "tsvwg@ietf.org" <tsvwg@ietf.org>, "Matthew Mathis (mattmathis@google.com)" <mattmathis@google.com>
Subject: Re: [tsvwg] draft-stewart-tsvwg-sctpecn
X-BeenThere: tsvwg@ietf.org
X-Mailman-Version: 2.1.12
Precedence: list
List-Id: Transport Area Working Group <tsvwg.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/options/tsvwg>, <mailto:tsvwg-request@ietf.org?subject=unsubscribe>
List-Archive: <http://www.ietf.org/mail-archive/web/tsvwg>
List-Post: <mailto:tsvwg@ietf.org>
List-Help: <mailto:tsvwg-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/tsvwg>, <mailto:tsvwg-request@ietf.org?subject=subscribe>
X-List-Received-Date: Fri, 03 Aug 2012 17:44:35 -0000

Hi Randy,

you have elegantly avoided to answer my question around the conceptual behavior :)

So let me rephrase my question a little bit differently:

Suppose you are restricted on bits available to signal the congestion back to the sender, would you implement a continuously increasing counter (that eventually wraps), or a gauge that only increases up to a certain point before requiring an explicit reset.

Independently from this, do you see value in letting the receiver (and implicitly, the network) explicitly know that the sender (supposedly) did perform a congestion control reaction?

Think of this scenario as when the send window (# packets) is larger than the largest value that the counter could hold; With TCP, that happens with windows > 1 packet; with this draft, when the window grows beyond 2^32 packets (purely hypothetical).

Thanks for your help!


Richard Scheffenegger




> -----Original Message-----
> From: Randy Stewart [mailto:randall@lakerest.net]
> Sent: Freitag, 03. August 2012 10:28
> To: Scheffenegger, Richard
> Cc: gorry@erg.abdn.ac.uk; tsvwg@ietf.org; tuexen@fh-muenster.de; Matthew
> Mathis (mattmathis@google.com); stevedong@huawei.com
> Subject: Re: [tsvwg] draft-stewart-tsvwg-sctpecn
> 
> Richard:
> 
> Ok so this is not a case where you are not seeing the ECN/CWR are
> reliable. Thats good ;-)
> 
> On Aug 3, 2012, at 12:17 PM, Scheffenegger, Richard wrote:
> 
> > Hi Randy,
> >
> > My point being, that it is not clear, architecturally, if the mechanism
> implements a reliable feedback, or not.
> >
> > The way TCP (3168) signals ECN is, that you have a counter that counts
> up to a specific maximum value, and remains at that value until reset. In
> TCP, that counter is only 1 bit (ECE), and CWR is the reset signal.
> >
> > Now, when the counter is large enough (5+ bits), the resiliency no
> longer requires a reset signal (statistically), as the counter is
> increasingly unlikely to wrap over unnoticed. So with a 32 bit counter,
> you can do away with the CWR signal entirely. Or is there any use to the
> receiver to know when the sender has reacted to congestion (by an unknown
> extent)? (Historically, SCTP implemented the same one-bit counter/reset
> scheme that TCP did, IIRC; so CWR is really only relevant for legacy
> compatibility, correct?).
> >
> > Since the receiver resets the ECN counter only if it receives a CWR
> > with the appropriate TSN, that means that you implicitly require at
> > least one RTT without a CE mark, for that to happen...
> 
> Correct.
> 
> >
> > Assume a pretty congested network, where you'll get one CE mark per
> > RTT (and the source doesn't react traditionally with halving the
> > sending rate),
> 
> ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
> 
> and here is the heart of the problem. If you follow the RFC and 1/2 your
> rate, eventually you *would* reach a state where you could get (possibly
> just 1) packet though without a mark. So first and for most I see the
> question phrased as "If I do things wrong and violate the spec, what
> happens when this counter over here wraps?".
> 
> 
> > then the counter can increase continuously. Understanding the concept
> > (counter with reset, pure counter) would answer what the receiver is
> > to do when the counter hits 2^32-1...
> 
> The CE counter in the ECN-Echo was never reset, this is because when the
> TSN actually does cover the value then the ECN-E it is discarded so the
> next set of events will start at 1 all over again with a higher TSN. This
> means that the ECN-E receiver, if the sender wants to track the actual
> number of packets CE marked,  then when sending a CWR it needs to note
> down (in the TCB) the last counter/TSN. If it receives another ECN-E with
> a larger TSN and a larger counter in the next window of data, then this is
> a continuing episode. If it receives a smaller counter value (nominally 1)
> then it can be assured the past CWR was processed and we have entered a
> new congestion event. Note that the last counter/TSN needs to be held for
> one new window of data, after which it can be discarded as well (unless of
> course another ECN-E arrives.. then it has to be updated and held another
> window of data aka RTT).
> 
> Of course if you are not reducing your cwnd, you could stay in this for
> 2billion packets, but if so then I guess you probably don't care about how
> many CE marks are there anyway since you are not doing anything to slow
> down ... ;-)
> 
> R
> 
> >
> > I am bringing this up because for TCP, a single bit counter is
> insufficient for the requirements of Conex; and I want to understand if
> the signaling scheme was given thorough thought that I could leverage for
> a redesign in the TCP space...
> >
> >
> > I do agree, that when one excludes misbehaving implementations, this
> question is more of academic interest rather than a true issue of a
> deployment following the draft, owed to the large counter.
> >
> > Richard Scheffenegger
> >
> >> -----Original Message-----
> >> From: Randy Stewart [mailto:randall@lakerest.net]
> >> Sent: Freitag, 03. August 2012 08:53
> >> To: Scheffenegger, Richard
> >> Cc: tuexen@fh-muenster.de; stevedong@huawei.com;
> >> gorry@erg.abdn.ac.uk; Matthew Mathis (mattmathis@google.com);
> >> tsvwg@ietf.org
> >> Subject: Re: [tsvwg] draft-stewart-tsvwg-sctpecn
> >>
> >> Richard:
> >>
> >> Hmm
> >>
> >> Re-reading the document a bit, I don't see that it does not tell you
> >> to retransmit the chunk in the receiver side (5.3) we state:
> >>
> >> "
> >> After transmission of the ECN Echo chunk, usually bundled with the
> >>   SACK, the receiver does NOT discard the ECN Echo chunk.  Instead it
> >>   keeps the chunk in its queue and continues to send this chunk bundled
> >>   with at least a SACK chunk on each outgoing packet, updating it as
> >>   described above if other CE codepoint data packets arrive.  The ECN
> >>   Echo chunk should only be discarded when a CWR Chunk arrives holding
> >>   a TSN value that is greater than or equal to the value inside the ECN
> >>   Echo Chunk.
> >> "
> >>
> >> If this is not clear enough please let me know a wording that would
> >> make it clearer.
> >>
> >> Note that the ECN echo continues to be received until a CWR shows up
> >> with a TSN number at least as big as the TSN sent in the ECN Echo.
> >>
> >> R
> >>
> >> On Aug 2, 2012, at 7:58 PM, Scheffenegger, Richard wrote:
> >>
> >>> Hi,
> >>>
> >>>
> >>> While looking as to how other protocol do ECN feedback signaling, I
> >> found that this draft is missing (at least not mentioning) an
> >> interesting detail.
> >>>
> >>> The existence of a CWR Chunk indicates, that the feedback signal is
> >> supposed to be reliable.
> >>>
> >>> However, the ECN Echo chunk defines the Number of CE marked Packets
> >>> as
> >> 32-bit unsigned int, and does not specify how a receiver should
> >> behave it never received a CWR chunk...
> >>>
> >>> The sheer size of the ECN Echo chunk would lend itself to be a
> >>> simple
> >> feedback signal, without any explicit signal from the sender.
> >>>
> >>> Historically, in RFC4960, it appears that this chunk effectively
> >> contained only a single bit (no counter; only the presence of the
> chunk).
> >> In order to establish a reliable feedback for at most one ECN signal
> >> per RTT, a handshake mechanism (CWR chunk) is required. That
> >> mechanism was very much alike what TCP does with ECE / CWR.
> >>>
> >>>
> >>>
> >>> IMHO, this draft should be more clear around the mechanism:
> >>>
> >>> If a handshake is required, the 32-bit counter MUST NOT roll over at
> >> 2^32-1, but remain at that value until CWR is received.
> >>>
> >>> The sheer size of the counter however makes it highly unlikely that
> >>> the
> >> sender will not receive a signal (before the session collapses for
> >> lack of feedback from the receiver). So a handshake-less (CWR chunk
> >> optional on the sender?) is also feasible, but then the ECN counter
> MUST roll over...
> >>>
> >>>
> >>> As it stands now, the counter rolls over, and is reset via CWR...
> >>>
> >>> Are there any specific reasons for this chimera mechanism?
> >>>
> >>> Does it allow for special use cases, which cannot be addressed by
> >>> either
> >> handshake or simple counter alone?
> >>>
> >>> I'm very interested in the answers to the last two questions, as I
> >>> am
> >> one of the authors of an Accurate ECN feedback draft for TCP, and
> >> TCPM has a milestone to define an appropriate (accurate) feedback
> >> mechanism that allows more than 1 bit per RTT...
> >>>
> >>> Best regards,
> >>>
> >>> Richard Scheffenegger
> >>>
> >>>> draft-stewart-tsvwg-sctpecn-02
> >>>> Partially replaces (draft-stewart-tsvwg-sctp-nonce)
> >>>> IETF-78 suggested there was interest in this topic.
> >>>> Discussed at IETF-83, Paris.
> >>>> DUE: ECN is within the TSVWG Charter, will call for adoption on the
> >>>> list.
> >>>> Please comment on list.
> >>>
> >>>
> >>
> >> -----
> >> Randall Stewart
> >> randall@lakerest.net
> >>
> >>
> >>
> >
> >
> 
> -----
> Randall Stewart
> randall@lakerest.net
> 
> 
>