Re: [rtcweb] TR : New Version Notification for draft-marcon-rtcweb-data-channel-management-00.txt

Randell Jesup <randell-ietf@jesup.org> Thu, 07 March 2013 14:50 UTC

Return-Path: <randell-ietf@jesup.org>
X-Original-To: rtcweb@ietfa.amsl.com
Delivered-To: rtcweb@ietfa.amsl.com
Received: from localhost (localhost [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id C409121F8836 for <rtcweb@ietfa.amsl.com>; Thu, 7 Mar 2013 06:50:53 -0800 (PST)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -2.599
X-Spam-Level:
X-Spam-Status: No, score=-2.599 tagged_above=-999 required=5 tests=[BAYES_00=-2.599]
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 X57wPSrORfaO for <rtcweb@ietfa.amsl.com>; Thu, 7 Mar 2013 06:50:53 -0800 (PST)
Received: from r2-chicago.webserversystems.com (r2-chicago.webserversystems.com [173.236.101.58]) by ietfa.amsl.com (Postfix) with ESMTP id 16A4121F859A for <rtcweb@ietf.org>; Thu, 7 Mar 2013 06:50:53 -0800 (PST)
Received: from pool-98-111-140-34.phlapa.fios.verizon.net ([98.111.140.34]:4553 helo=[192.168.1.12]) by r2-chicago.webserversystems.com with esmtpsa (TLSv1:DHE-RSA-AES256-SHA:256) (Exim 4.80) (envelope-from <randell-ietf@jesup.org>) id 1UDc9k-0008pn-EO for rtcweb@ietf.org; Thu, 07 Mar 2013 08:50:52 -0600
Message-ID: <5138A917.7090207@jesup.org>
Date: Thu, 07 Mar 2013 09:49:59 -0500
From: Randell Jesup <randell-ietf@jesup.org>
User-Agent: Mozilla/5.0 (Windows NT 5.1; rv:17.0) Gecko/20130215 Thunderbird/17.0.3
MIME-Version: 1.0
To: rtcweb@ietf.org
References: <20130218233047.19414.47123.idtracker@ietfa.amsl.com> <39821B4C400EC14DAD4DB25330A9271A012598@FR711WXCHMBA03.zeu.alcatel-lucent.com> <51232071.3070207@jesup.org> <39821B4C400EC14DAD4DB25330A9271A01918D@FR711WXCHMBA03.zeu.alcatel-lucent.com>
In-Reply-To: <39821B4C400EC14DAD4DB25330A9271A01918D@FR711WXCHMBA03.zeu.alcatel-lucent.com>
Content-Type: text/plain; charset="ISO-8859-1"; format="flowed"
Content-Transfer-Encoding: 7bit
X-AntiAbuse: This header was added to track abuse, please include it with any abuse report
X-AntiAbuse: Primary Hostname - r2-chicago.webserversystems.com
X-AntiAbuse: Original Domain - ietf.org
X-AntiAbuse: Originator/Caller UID/GID - [47 12] / [47 12]
X-AntiAbuse: Sender Address Domain - jesup.org
Subject: Re: [rtcweb] TR : New Version Notification for draft-marcon-rtcweb-data-channel-management-00.txt
X-BeenThere: rtcweb@ietf.org
X-Mailman-Version: 2.1.12
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: Thu, 07 Mar 2013 14:50:53 -0000

On 3/4/2013 8:27 AM, MARCON, JEROME (JEROME) wrote:
>
>> -----Message d'origine-----
>>
>>
>> "Whenever the application creates a new data channel, the
>> browser internally checks if the passed set of parameters
>> strictly matches an existing configuration, and if not
>> generates a new configuration identifier for this set. In the
>> latter case only does the browser trigger the application for
>> an SDP renegotiation."
>>
>> Wouldn't this occur on almost every channel because of label
>> values?  Or are you assuming applications won't actually use labels?
> In this first version of the proposal, the use of labels is still undefined, but (for the sale of scalability) it would for now remain a local data channel property not transmitted to the peer (should this local property be useful to something).
>
> I would appreciate some clarifications on the usefulness of labels in the context of data channels. W3C says nothing about it. Probably - if transmitted to the peer - it can assist the user consent decision. But then assuming the offer is for opening 100 data channels for file transfer (each channel with a distinct label), would the answerer's consent be asked 100 times (once per distinct label) ? Probably asking once "do you agree on some file transfers" is enough (and better). And the 'file transfer' information is carried by the subprotocol property, not the label.

The labels are for the application to differentiate between data 
channels that are using the same protocol.  For example, in a 
conference-with-central-mixer case, you might have a data channel to the 
mixer for each private conversation with another participant, plus one 
(or more) shared chats.  Each would be the same protocol, but have 
different labels.

Basically, they're there for the application to do something with, if it 
chooses.  It can totally ignore them if it wishes.  I'll note that RTFMP 
has a similar (though binary) concept.   They're a tool, and are 
particularly useful in cases where the data on the channel is an 
already-defined protocol as opposed to a new, application-specific 
protocol (where they could include the label inside their protocol).

These labels would need to be plumbed through to the recipient, not just 
local.

Another (I think already addressed) misunderstanding is that there's no 
requirement for user notification of data channels.  The reasoning is 
that a data channel is no different in user security/risk to existing 
mechanisms such as websockets, HTTPS connections - it just can go 
peer-to-peer and may have better latency charactistics (support for 
UDP-like transfers, etc).

>
>> "Data channel messages are sent as SCTP user messages,
>> preceded in the DATA chunk User Data field by two bytes
>> specifying data channel configuration identifier as well as
>> the message data framing type (textual or binary)."
>>
>> Aha.  So you've moved this into a true inband protocol with
>> data framing.  The current draft sends data messages with no
>> added framing required.
> Please explain why data framing is an issue. WebSocket protocol does this. The proposal also only reserves a unique PPID for the entire RTCWeb data channel functionality. Personally, I find it ackward to reserve a PPID for something like "plain transmission of any binary data or UTF-8 stream". It seemed to me that each PPID today registered with IANA is identifying a true self-contained protocol.

In-packet framing can be an annoyance for anything that's gatewaying an 
existing data stream into a channel.  It will work, but it means extra 
copying in both directions, and in some architectures/devices (SBCs, 
MCU's/conference servers) may complicate things, and some people have 
indicated the have (unspecified) usecases where they find gatewaying 
traffic directly onto these channels is desirable. Given there's a 
standard facility in SCTP that can be used for this (with a large 
address space), there seems to be little downside to using it.  I don't 
think we're in danger of running out of PPID's this millennium.  :-)

-- 
Randell Jesup
randell-ietf@jesup.org