Re: [rtcweb] Opening unordered data channel issue

Hadriel Kaplan <hadriel.kaplan@oracle.com> Fri, 23 August 2013 03:49 UTC

Return-Path: <hadriel.kaplan@oracle.com>
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 D8F0B11E80FC for <rtcweb@ietfa.amsl.com>; Thu, 22 Aug 2013 20:49:41 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -6.501
X-Spam-Level:
X-Spam-Status: No, score=-6.501 tagged_above=-999 required=5 tests=[AWL=0.097, BAYES_00=-2.599, HTML_MESSAGE=0.001, RCVD_IN_DNSWL_MED=-4]
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 zPhwck47kppJ for <rtcweb@ietfa.amsl.com>; Thu, 22 Aug 2013 20:49:36 -0700 (PDT)
Received: from aserp1040.oracle.com (aserp1040.oracle.com [141.146.126.69]) by ietfa.amsl.com (Postfix) with ESMTP id 4745021F9C37 for <rtcweb@ietf.org>; Thu, 22 Aug 2013 20:49:35 -0700 (PDT)
Received: from acsinet22.oracle.com (acsinet22.oracle.com [141.146.126.238]) by aserp1040.oracle.com (Sentrion-MTA-4.3.1/Sentrion-MTA-4.3.1) with ESMTP id r7N3nKfb014847 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=OK); Fri, 23 Aug 2013 03:49:21 GMT
Received: from aserz7021.oracle.com (aserz7021.oracle.com [141.146.126.230]) by acsinet22.oracle.com (8.14.4+Sun/8.14.4) with ESMTP id r7N3nJYT021111 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=NO); Fri, 23 Aug 2013 03:49:20 GMT
Received: from abhmt119.oracle.com (abhmt119.oracle.com [141.146.116.71]) by aserz7021.oracle.com (8.14.4+Sun/8.14.4) with ESMTP id r7N3nJFA018637; Fri, 23 Aug 2013 03:49:19 GMT
Received: from [192.168.1.108] (/66.31.4.117) by default (Oracle Beehive Gateway v4.0) with ESMTP ; Thu, 22 Aug 2013 20:49:19 -0700
Content-Type: multipart/alternative; boundary="Apple-Mail=_C5609F32-8A06-4376-827A-1AEB3F2C41C3"
Mime-Version: 1.0 (Mac OS X Mail 6.5 \(1508\))
From: Hadriel Kaplan <hadriel.kaplan@oracle.com>
In-Reply-To: <CAOJ7v-2BwXLfyTaqmqJGe2wyWQKO-xTBpe-9gBwyBwuDoy337A@mail.gmail.com>
Date: Thu, 22 Aug 2013 23:49:18 -0400
Message-Id: <44E9BA5E-F900-4A12-9F97-1A8A79DA0327@oracle.com>
References: <EA6D9D69-7A0C-4215-8561-04D9FF7BD868@lurchi.franken.de> <CAOJ7v-2BwXLfyTaqmqJGe2wyWQKO-xTBpe-9gBwyBwuDoy337A@mail.gmail.com>
To: Michael Tuexen <Michael.Tuexen@lurchi.franken.de>
X-Mailer: Apple Mail (2.1508)
X-Source-IP: acsinet22.oracle.com [141.146.126.238]
Cc: rtcweb@ietf.org
Subject: Re: [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: Fri, 23 Aug 2013 03:49:42 -0000

+1 for (b).

On Aug 22, 2013, at 1:12 PM, Justin Uberti <juberti@google.com> wrote:

> I agree that b) is the cleanest choice. While this makes the handshake 2-way, it does not suffer from the performance issues that affected the previous 2- and 3-way handshake proposals, since data can be sent immediately without waiting for the ACK.
> 
> 
> On Thu, Aug 22, 2013 at 8:52 AM, Michael Tuexen <Michael.Tuexen@lurchi.franken.de> wrote:
> 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 mailing list
> rtcweb@ietf.org
> https://www.ietf.org/mailman/listinfo/rtcweb
> 
> _______________________________________________
> rtcweb mailing list
> rtcweb@ietf.org
> https://www.ietf.org/mailman/listinfo/rtcweb