[rtcweb] Opening unordered data channel issue
Michael Tuexen <Michael.Tuexen@lurchi.franken.de> Thu, 22 August 2013 15:52 UTC
Return-Path: <Michael.Tuexen@lurchi.franken.de>
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 C5DD511E8211 for <rtcweb@ietfa.amsl.com>; Thu, 22 Aug 2013 08:52:10 -0700 (PDT)
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=[AWL=0.000, 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 4gQRNm7GYFb8 for <rtcweb@ietfa.amsl.com>; Thu, 22 Aug 2013 08:52:10 -0700 (PDT)
Received: from mail-n.franken.de (drew.ipv6.franken.de [IPv6:2001:638:a02:a001:20e:cff:fe4a:feaa]) by ietfa.amsl.com (Postfix) with ESMTP id DAD0411E820C for <rtcweb@ietf.org>; Thu, 22 Aug 2013 08:52:09 -0700 (PDT)
Received: from [192.168.1.200] (p508F228D.dip0.t-ipconnect.de [80.143.34.141]) (Authenticated sender: macmic) by mail-n.franken.de (Postfix) with ESMTP id 0938F1C0C0693 for <rtcweb@ietf.org>; Thu, 22 Aug 2013 17:52:06 +0200 (CEST)
From: Michael Tuexen <Michael.Tuexen@lurchi.franken.de>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Message-Id: <EA6D9D69-7A0C-4215-8561-04D9FF7BD868@lurchi.franken.de>
Date: Thu, 22 Aug 2013 17:52:06 +0200
To: "<rtcweb@ietf.org>" <rtcweb@ietf.org>
Mime-Version: 1.0 (Mac OS X Mail 6.5 \(1508\))
X-Mailer: Apple Mail (2.1508)
Subject: [rtcweb] Opening unordered data channel issue
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, 22 Aug 2013 15:52:11 -0000
Dear all, at the last IETF in Berlin we discussed how to handle the opening of unordered data channels (no matter wether reliable or not). The problem to be handled is that it is possible that user messages arrive at the receiver before the DATA_CHANNEL_OPEN message is received. The result of the discussion at the meeting was that the best solution is that the sender sends user messages also ordered (on unordered channels) until there is an indication from the peer that the DATA_CHANNEL_OPEN has been processed. This makes sure that the DATA_CHANNEL_OPEN message is not received before user messages and therefore the above problem is solved. The open issue is, what the indication from the peer is. There were two options discussed at the meeting and it was decided that Randall Stewart and myself bring this to the list with the pros and cons of the alternatives. So here are the two options: (a) Use any user message sent from the peer as an indication. (b) Use a new ACK message. Arguments: * Using (b) introduces a 2-way handshake for unordered data channels. However, it also works for data channels being used unidirectional. * Using (a) stays with the 1-way handshake, but in case of data channels being used unidirectional you will not see the benefits of unordered delivery. We had some discussions offline and think that using (b) is the cleaner solution. Please note that this 2-way handshake is not similar to the one we had some time ago. The ACK does not contain any additional information and it does not introduce any delay. You can send user data right after opening the data channel. For consistency we would even propose to use this 2 way handshake for ordered channels. It doesn't have any drawback and would mean that we use the same handshake for all data channels. So the proposed procedure for opening an arbitrary data channel is: 1) The opener sends a DATA_CHANNEL_OPEN message ordered and reliable. 2) The opener can start sending user data immediately. It will always be sent ordered, no matter whether the data channel is ordered or not. 3) The peer will send a DATA_CHANNEL_ACK message ordered and reliable in response to the DATA_CHANNEL_OPEN message. 4) After reception of the DATA_CHANNEL_ACK message, the opener will sent user messages unordered, if the data channel is unordered and ordered, if the data channel is ordered. Any opinions? Best regards Michael
- [rtcweb] Opening unordered data channel issue Michael Tuexen
- Re: [rtcweb] Opening unordered data channel issue Justin Uberti
- Re: [rtcweb] Opening unordered data channel issue Cullen Jennings (fluffy)
- Re: [rtcweb] Opening unordered data channel issue Bernard Aboba
- Re: [rtcweb] Opening unordered data channel issue Matthew Kaufman (SKYPE)
- Re: [rtcweb] Opening unordered data channel issue Hadriel Kaplan
- Re: [rtcweb] Opening unordered data channel issue Victor Pascual Avila
- Re: [rtcweb] Opening unordered data channel issue Harald Alvestrand
- Re: [rtcweb] Opening unordered data channel issue Eric Rescorla