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

Christer Holmberg <christer.holmberg@ericsson.com> Mon, 10 February 2014 10:21 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 DCC221A07DE for <rtcweb@ietfa.amsl.com>; Mon, 10 Feb 2014 02:21:58 -0800 (PST)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -1.24
X-Spam-Level:
X-Spam-Status: No, score=-1.24 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, HELO_EQ_SE=0.35, HOST_MISMATCH_NET=0.311, SPF_PASS=-0.001] autolearn=no
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 RAo8XfLCySEH for <rtcweb@ietfa.amsl.com>; Mon, 10 Feb 2014 02:21:57 -0800 (PST)
Received: from sessmg20.mgmt.ericsson.se (sessmg20.ericsson.net [193.180.251.50]) by ietfa.amsl.com (Postfix) with ESMTP id D9DDA1A06C9 for <rtcweb@ietf.org>; Mon, 10 Feb 2014 02:21:56 -0800 (PST)
X-AuditID: c1b4fb32-b7f4c8e0000012f5-0f-52f8a8448009
Received: from ESESSHC009.ericsson.se (Unknown_Domain [153.88.253.124]) by sessmg20.mgmt.ericsson.se (Symantec Mail Security) with SMTP id 32.8C.04853.448A8F25; Mon, 10 Feb 2014 11:21:56 +0100 (CET)
Received: from ESESSMB209.ericsson.se ([169.254.9.99]) by ESESSHC009.ericsson.se ([153.88.183.45]) with mapi id 14.02.0387.000; Mon, 10 Feb 2014 11:21:55 +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///uSjA=
Date: Mon, 10 Feb 2014 10:21:55 +0000
Message-ID: <7594FB04B1934943A5C02806D1A2204B1D166D7B@ESESSMB209.ericsson.se>
References: <7594FB04B1934943A5C02806D1A2204B1D166CFA@ESESSMB209.ericsson.se> <4616BFFA-F461-4CE8-9D85-211B86D4BE93@lurchi.franken.de>
In-Reply-To: <4616BFFA-F461-4CE8-9D85-211B86D4BE93@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+NgFrrLLMWRmVeSWpSXmKPExsUyM+Jvja7Lih9BBp0XxCwuNi1htFj7r53d gcljyZKfTB4bWnYwBTBFcdmkpOZklqUW6dslcGXsnDyVueACT8W8zxYNjF85uxg5OSQETCQm rFvNAmGLSVy4t56ti5GLQ0jgBKPEuc5nrBDOYkaJL29vMXcxcnCwCVhIdP/TBmkQETCVOLh8 Hlgzs4C6xJ3F59hBbGEBH4llB/YxQ9T4Sly7NI8NwraSeH5gL1gNi4CqxKZ/pxhBRvIC1cy9 xwuxqoNR4vr/ZawgNZwCrhJnH+wHq2cEOu77qTVMELvEJW49mc8EcbSAxJI955khbFGJl4// sULYihI7z7YzQ9TrSCzY/YkNwtaWWLbwNVicV0BQ4uTMJywTGMVmIRk7C0nLLCQts5C0LGBk WcUoWZxaXJybbmSgl5ueW6KXWpSZXFycn6dXnLqJERhFB7f8NtrBeHKP/SFGaQ4WJXHe66w1 QUIC6YklqdmpqQWpRfFFpTmpxYcYmTg4pRoYVRnfSyxxed4w42Xve+ff28NTItJTO+Mkd000 DrJUOc/mXx5ptvj56pCW+0+Ufv0PESpbE7I4RvtgTGTPnadTZP91f5WbXh4VuU32+BaBe5ZX er5wSQR9OWqtv/pB0wO7O5FCXX9X3GoN63zv68Vx/ALDD5kLQSn3Gv6m9Vg12Z3+2VjbvnCy EktxRqKhFnNRcSIAIMmMTnACAAA=
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 10:21:59 -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.

Regards,

Christer