Re: [rtcweb] Meaning of SHOULD support/use interleaving

Harald Alvestrand <harald@alvestrand.no> Mon, 27 October 2014 22:03 UTC

Return-Path: <harald@alvestrand.no>
X-Original-To: rtcweb@ietfa.amsl.com
Delivered-To: rtcweb@ietfa.amsl.com
Received: from localhost (ietfa.amsl.com [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id A0EF11A016D for <rtcweb@ietfa.amsl.com>; Mon, 27 Oct 2014 15:03:10 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -1.909
X-Spam-Level:
X-Spam-Status: No, score=-1.909 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, HTML_MESSAGE=0.001, T_RP_MATCHES_RCVD=-0.01] 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 3d8Wy2caigh4 for <rtcweb@ietfa.amsl.com>; Mon, 27 Oct 2014 15:03:01 -0700 (PDT)
Received: from mork.alvestrand.no (mork.alvestrand.no [IPv6:2001:700:1:2::117]) by ietfa.amsl.com (Postfix) with ESMTP id 550E81A0123 for <rtcweb@ietf.org>; Mon, 27 Oct 2014 15:03:01 -0700 (PDT)
Received: from localhost (localhost [127.0.0.1]) by mork.alvestrand.no (Postfix) with ESMTP id 96D5D7C5B5A; Mon, 27 Oct 2014 23:03:00 +0100 (CET)
X-Virus-Scanned: Debian amavisd-new at alvestrand.no
Received: from mork.alvestrand.no ([127.0.0.1]) by localhost (mork.alvestrand.no [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id fq1xastoO9XT; Mon, 27 Oct 2014 23:02:56 +0100 (CET)
Received: from [172.26.53.1] (unknown [216.239.45.130]) by mork.alvestrand.no (Postfix) with ESMTPSA id 952417C5B41; Mon, 27 Oct 2014 23:02:54 +0100 (CET)
Message-ID: <544EC109.4030600@alvestrand.no>
Date: Mon, 27 Oct 2014 15:02:49 -0700
From: Harald Alvestrand <harald@alvestrand.no>
User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:31.0) Gecko/20100101 Thunderbird/31.2.0
MIME-Version: 1.0
To: "Makaraju, Maridi Raju (Raju)" <Raju.Makaraju@alcatel-lucent.com>, Christer Holmberg <christer.holmberg@ericsson.com>, "rtcweb@ietf.org" <rtcweb@ietf.org>
References: <7594FB04B1934943A5C02806D1A2204B1D4CCEEF@ESESSMB209.ericsson.se> <EA00639E-2008-4BD2-88F2-27AAEE9DA213@lurchi.franken.de> <7594FB04B1934943A5C02806D1A2204B1D4CD241@ESESSMB209.ericsson.se> <544E8D92.8010401@alvestrand.no> <7594FB04B1934943A5C02806D1A2204B1D4CE9DA@ESESSMB209.ericsson.se>, <544EA473.6040700@alvestrand.no> <7594FB04B1934943A5C02806D1A2204B1D4CEBED@ESESSMB209.ericsson.se> <E1FE4C082A89A246A11D7F32A95A17828E5F2ED0@US70UWXCHMBA02.zam.alcatel-lucent.com>
In-Reply-To: <E1FE4C082A89A246A11D7F32A95A17828E5F2ED0@US70UWXCHMBA02.zam.alcatel-lucent.com>
Content-Type: multipart/alternative; boundary="------------000200080709040002030806"
Archived-At: http://mailarchive.ietf.org/arch/msg/rtcweb/JnaVsd8-S0XI_VHPsKWMCM_5338
Subject: Re: [rtcweb] Meaning of SHOULD support/use interleaving
X-BeenThere: rtcweb@ietf.org
X-Mailman-Version: 2.1.15
Precedence: list
List-Id: Real-Time Communication in WEB-browsers working group list <rtcweb.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/options/rtcweb>, <mailto:rtcweb-request@ietf.org?subject=unsubscribe>
List-Archive: <http://www.ietf.org/mail-archive/web/rtcweb/>
List-Post: <mailto:rtcweb@ietf.org>
List-Help: <mailto:rtcweb-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/rtcweb>, <mailto:rtcweb-request@ietf.org?subject=subscribe>
X-List-Received-Date: Mon, 27 Oct 2014 22:03:10 -0000

On 10/27/2014 01:31 PM, Makaraju, Maridi Raju (Raju) wrote:
>
> +1 to make N-DATA optional.
>
>  
>
> Data channel provides a robust generic peer to peer communication
> channel. So, one can see that data channel may be used under
> non-webrtc contexts (like as in CLUE) as a general transport or as a
> replacement of native to SCTP to traverse firewalls. IMHO, majority of
> these use cases:
>
> a. May just involve a single data channel (with possible multiplexing
> on top of it)
>
> b. And may not use the DCEP either (both ends could assume same data
> channel stream id, this is similar to SCTP PPIDs).
>
> We already made DCEP(b) as optional.
>
>  
>
> If an app is using just a single data channel then there is no real
> benefit in using N-DATA. Then why not make it optional? Also, as
> already pointed out, making it optional won’t break interop as it is
> still negotiated during SCTP setup time anyway.
>

Negotiation means that transport initiator gets to choose whether to use
it or not.
This means that a responder has no choice in the matter.

In the situation where the responder knows better than the initiator
what the usage is going to be, this is problematic.

>  
>
> I would like to point out that there will be some webrtc applications
> which might just use one webrtc data channel for simplicity (and may
> use some multiplexing of different types of msgs/objects on top of it)
> or one is just sufficient as the app does not send/recv huge chunks of
> data. So, N-DATA isn’t needed for such webrtc clients either. Then why
> add burden to such webrtc implementations!?
>

You're confusing the webrtc application (what runs in the browser) with
the webrtc implementation (the browser itself). Optional NDATA makes the
browser *more* complex, since it has to expose API surface to let the
application choose whether or not to offer NDATA, and it has to have
code to decide whether or not to offer NDATA.

If you're arguing that we should make NDATA optional to implement for
browsers ..... that is an issue that I thought we had already settled.

>  
>
> BR
>
> Raju
>
>  
>
>  
>
> *From:*rtcweb [mailto:rtcweb-bounces@ietf.org] *On Behalf Of *Christer
> Holmberg
> *Sent:* Monday, October 27, 2014 3:11 PM
> *To:* Harald Alvestrand; rtcweb@ietf.org
> *Subject:* Re: [rtcweb] Meaning of SHOULD support/use interleaving
>
>  
>
> Hi,
>
> We shall not add burden just because there are bad programmers out
> there - they will anyway always manage to use our specs in a wrong way :)
>
> Regards,
>
> Christer
>
> Sent from my Windows Phone
>
> ------------------------------------------------------------------------
>
> *From: *Harald Alvestrand <mailto:harald@alvestrand.no>
> *Sent: *‎27/‎10/‎2014 22:00
> *To: *Christer Holmberg <mailto:christer.holmberg@ericsson.com>;
> rtcweb@ietf.org <mailto:rtcweb@ietf.org>
> *Subject: *Re: [rtcweb] Meaning of SHOULD support/use interleaving
>
> On 10/27/2014 11:41 AM, Christer Holmberg wrote:
> > Hi,
> >
> >>>>> Within the CLUE WG, we had a discussion regarding the following
> statement in section 6.1 of draft-ietf-rtcweb-data-channel-12.txt:
> >>>>> 
> >>>>> "The support for message interleaving as defined in
> >>>>>                 [I-D.ietf-tsvwg-sctp-ndata] SHOULD be used."
> >>>>> 
> >>>>> First, it is a little unclear what "the support SHOULD be used"
> means.
> >>>> My understanding is that SCTP implementations supporting the
> extension will use it.
> >>>> This is negotiated during the setup of the SCTP association.
> >>> If it's done on SCTP level, why do we need to talk about it in the
> data channel draft?
> >>>
> >>> Is there a reason why it is important to use it for data channels?
> If so, does it apply to data channels in general?
> >> NDATA was added in order to avoid head-of-line blocking on the
> transport (if I understand this correctly, until
> >> this was added, sending a huge message would block the delivery of
> small messages on all channels until the huge message was fully
> delivered).
> >>
> >> Unlike Michael, I see no reason to make this a SHOULD; I think it
> should be a MUST, and the older
> >> implementations in browsers should just be called out as
> non-conformant.
> >>
> >> That said, I think that data channels ought to interoperate
> successfully with implementations that don't support the
> >> extension - but data channel implementations in WebRTC endpoints
> should be under a "MUST implement, MUST offer" ruleset.
> > First, keep in mind that I am NOT talking about WebRTC endpoints
> (which is one reason we shouldn't call it webrtc data channel to begin
> with, but that's another story...), but ANY type of endpoint that
> wants to use a data channel.
>
> I'm a bit self-centric on behalf of WebRTC, but I feel the other way -
> that it might have been a mistake to float the option of saying "other
> things can use these features", and that we should admit only arguments
> that bear upon their usage in WebRTC.
>
> I'm not sure I have WG consensus (even rough consensus) on this point,
> however.
> >
> > Second, I am not talking about MUST support, but MUST use/offer.
> >
> > Assume I have a CLUE endpoint, which will use a data channel ONLY to
> transport CLUE messages. CLUE messages aren't that hugeto begin with,
> and there will be no blocking of small messages on other channels - as
> there are no other channels.
> >
> > So, why does the CLUE endpoint need to offer interleaving?
>
> Flipping the question around - if a programming mistake in the
> Javascript implementing a CLUE endpoint in a WebRTC browser happens to
> send a multimegabyte-sized object down the (out of order) datachannel,
> is it OK to have all the subsequent CLUE messages delivered 30 seconds
> late?
>
>
>
> -- 
> Surveillance is pervasive. Go Dark.
>


-- 
Surveillance is pervasive. Go Dark.