Re: [rtcweb] Data Channel Protocol: Prevent DATA_CHANNEL_OPEN glare

Christer Holmberg <christer.holmberg@ericsson.com> Mon, 10 February 2014 11:32 UTC

Return-Path: <christer.holmberg@ericsson.com>
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 463DA1A080B for <rtcweb@ietfa.amsl.com>; Mon, 10 Feb 2014 03:32:02 -0800 (PST)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -3.851
X-Spam-Level:
X-Spam-Status: No, score=-3.851 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, HELO_EQ_SE=0.35, RCVD_IN_DNSWL_MED=-2.3, 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 iB8SaFdAaU_h for <rtcweb@ietfa.amsl.com>; Mon, 10 Feb 2014 03:32:00 -0800 (PST)
Received: from mailgw1.ericsson.se (mailgw1.ericsson.se [193.180.251.45]) by ietfa.amsl.com (Postfix) with ESMTP id D77551A081C for <rtcweb@ietf.org>; Mon, 10 Feb 2014 03:31:59 -0800 (PST)
X-AuditID: c1b4fb2d-b7f5d8e000002a7b-5d-52f8b8afbf7f
Received: from ESESSHC020.ericsson.se (Unknown_Domain [153.88.253.124]) by mailgw1.ericsson.se (Symantec Mail Security) with SMTP id E5.99.10875.FA8B8F25; Mon, 10 Feb 2014 12:31:59 +0100 (CET)
Received: from ESESSMB209.ericsson.se ([169.254.9.99]) by ESESSHC020.ericsson.se ([153.88.183.78]) with mapi id 14.02.0387.000; Mon, 10 Feb 2014 12:31:58 +0100
From: Christer Holmberg <christer.holmberg@ericsson.com>
To: Michael Tuexen <Michael.Tuexen@lurchi.franken.de>
Thread-Topic: [rtcweb] Data Channel Protocol: Prevent DATA_CHANNEL_OPEN glare
Thread-Index: Ac8mR2/m3LFj8oi+SFKLxbYiytu9PP//8tkA///uSjCAABcpAP//4ZBA
Date: Mon, 10 Feb 2014 11:31:58 +0000
Message-ID: <7594FB04B1934943A5C02806D1A2204B1D166F8C@ESESSMB209.ericsson.se>
References: <7594FB04B1934943A5C02806D1A2204B1D166CFA@ESESSMB209.ericsson.se> <4616BFFA-F461-4CE8-9D85-211B86D4BE93@lurchi.franken.de> <7594FB04B1934943A5C02806D1A2204B1D166D7B@ESESSMB209.ericsson.se> <71288EED-3C82-44A7-950B-EFEFA62616E6@lurchi.franken.de>
In-Reply-To: <71288EED-3C82-44A7-950B-EFEFA62616E6@lurchi.franken.de>
Accept-Language: en-US
Content-Language: en-US
X-MS-Has-Attach:
X-MS-TNEF-Correlator:
x-originating-ip: [153.88.183.16]
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: quoted-printable
MIME-Version: 1.0
X-Brightmail-Tracker: H4sIAAAAAAAAA+NgFjrLLMWRmVeSWpSXmKPExsUyM+Jvje76HT+CDD5fErK42LSE0WLtv3Z2 ByaPJUt+MnlsaNnBFMAUxWWTkpqTWZZapG+XwJVxbvs65oJPAhU3th9hb2Bcw9vFyMkhIWAi 0fZ5CSuELSZx4d56ti5GLg4hgUOMErt2zmeEcBYzSjT2TgPKcHCwCVhIdP/TBmkQETCVOLh8 HguIzSygLnFn8Tl2EFtYwEdi2YF9zBA1vhLXLs1jg7DdJNb8Xs8EYrMIqEqcvDcBLM4LVNO2 6z4rxK52Jon537vBBnEKuEosnzMZrIER6Lrvp9YwQSwTl7j1ZD4TxNUCEkv2nGeGsEUlXj7+ B/WNosTOs+3MEPU6Egt2f2KDsLUlli18zQyxWFDi5MwnLBMYxWYhGTsLScssJC2zkLQsYGRZ xciem5iZk15uuIkRGCUHt/zW3cF46pzIIUZpDhYlcd4Pb52DhATSE0tSs1NTC1KL4otKc1KL DzEycXBKNTAqTj04JXcx37TOe0f5L5eVp+72+Mkk2RjcZf/I4Nvr3XtObLD0t7Rm2rWX6/2b Sz9CCv4Hvtnv9mzR7U7u/AeLuNf/87Ga9yDo+IOln7c+vjgr8JI+Y+qvDqtfcXdWSvw+GvL5 7Hc223tr51Wt3nI+0OwuE8fFtprEe0fTXXYfr1igY/ljS/oBKyWW4oxEQy3mouJEAOE0/KFg AgAA
Cc: "rtcweb@ietf.org" <rtcweb@ietf.org>
Subject: Re: [rtcweb] Data Channel Protocol: Prevent DATA_CHANNEL_OPEN glare
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, 10 Feb 2014 11:32:02 -0000

Hi,

>>>> As is defined in the data channel protocol, an entity can send data once DATA_CHANNEL_OPEN has been sent, before the associated DATA_CHANNEL_ACK is received.
>>>> 
>>>> The draft also says that, if both endpoints send DATA_CHANNEL_OPEN at the same time, using different stream id values, the result may be TWO data channels, with data sent on both.
>>>> 
>>>> However, as is also indicated, the draft does not provide a mechanism to prevent/handle such glare situation.
>>>> 
>>>> I personally think there shall be a way to prevent such situation, or otherwise I'm sure we are going to end up with interoperability problems.
>>>> 
>>>> Couldn't we e.g. say that, by default, the DTLS client is responsible for sending the DATA_CHANNEL_OPEN? Then there is no risk for glare, and it could even use both an even or odd stream id value.
>>> Section 4 reads:
>>> 
>>>  To avoid glare in opening Channels, each side MUST use either even 
>>> or  odd Streams when sending a DATA_CHANNEL_OPEN message.  The method  
>>> used to determine which side uses odd or even is based on the  
>>> underlying DTLS connection role when used in WebRTC, with the side  
>>> acting as the DTLS client using even stream identifiers.
>>> 
>>> So there is no problem in setting up data channels.
>>> 
>>> This should not be confused by both sides setting up a data channel with the same Label. This ends up in two data channels with the same label.
>>> You can even create more data channels with the same label.
>> 
>> My point is that I don't want to end up with more than one channel.
> And you won't, see above. 

I am not sure I understand. What text do you refer to?

> However, there is no mechanism to ensure uniqueness for labels. The WebRTC API already allows one side to create n data channels with the same label.

I am not saying it should be forbidden to do so. But, for protocol X, I want to end up with ONE data channel between my peers.

If I end up with two data channels for protocol X, can I send data on whichever I want to? 

Regards,

Christer