Re: [rtcweb] Opening unordered data channel issue

Victor Pascual Avila <victor.pascual.avila@gmail.com> Fri, 23 August 2013 10:40 UTC

Return-Path: <victor.pascual.avila@gmail.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 D0D7811E81B5 for <rtcweb@ietfa.amsl.com>; Fri, 23 Aug 2013 03:40:46 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -2.6
X-Spam-Level:
X-Spam-Status: No, score=-2.6 tagged_above=-999 required=5 tests=[BAYES_00=-2.599, NO_RELAYS=-0.001]
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 bPb9MWogjoCM for <rtcweb@ietfa.amsl.com>; Fri, 23 Aug 2013 03:40:46 -0700 (PDT)
Received: from mail-la0-x235.google.com (mail-la0-x235.google.com [IPv6:2a00:1450:4010:c03::235]) by ietfa.amsl.com (Postfix) with ESMTP id C02D511E80E7 for <rtcweb@ietf.org>; Fri, 23 Aug 2013 03:40:45 -0700 (PDT)
Received: by mail-la0-f53.google.com with SMTP id el20so340247lab.40 for <rtcweb@ietf.org>; Fri, 23 Aug 2013 03:40:44 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113; h=mime-version:in-reply-to:references:date:message-id:subject:from:to :content-type; bh=ZayT1S85eB108FImJyViP7Ugd8oNuPutdI+T3FbFOQE=; b=EeM9D6wRHNh97g8EGUTGReuYftgefIvjCgc8Tk/4ue18rzDFcdG1RlkXGVbECvJAtz bAJHUH/dKuzSroA5CEpT/j5yA9D+vPzqtPNFKO3z4tOA6/mXiXkVL+PPPYGcaKrWA4KX 33r9iTvMzT+K9ZhP+oLpTmqE0eA0fNyURRA4oLIhaFhbrw7vl5u6l3QvgQDA62W181Uv r1sUTkF4YRIlzVCm2DAEp9oWM0XpH5cSdmPMCfbt6MAa9p8Avg+4cildR1Ww+YtDcmsy Hke0rhCGM/WcjfYrDFVm/KpzqW82YyG/IE0esTzaAI47woAOOaZhlr7k+aOgyOw9NGlQ lRPg==
MIME-Version: 1.0
X-Received: by 10.152.37.41 with SMTP id v9mr14999785laj.9.1377254444678; Fri, 23 Aug 2013 03:40:44 -0700 (PDT)
Received: by 10.114.68.135 with HTTP; Fri, 23 Aug 2013 03:40:44 -0700 (PDT)
In-Reply-To: <CAOJ7v-2BwXLfyTaqmqJGe2wyWQKO-xTBpe-9gBwyBwuDoy337A@mail.gmail.com>
References: <EA6D9D69-7A0C-4215-8561-04D9FF7BD868@lurchi.franken.de> <CAOJ7v-2BwXLfyTaqmqJGe2wyWQKO-xTBpe-9gBwyBwuDoy337A@mail.gmail.com>
Date: Fri, 23 Aug 2013 12:40:44 +0200
Message-ID: <CAGTXFp-J_MD6htpEYShMrvw_qkj9jY-D2Jfm_r5F64r5c8VvFg@mail.gmail.com>
From: Victor Pascual Avila <victor.pascual.avila@gmail.com>
To: "<rtcweb@ietf.org>" <rtcweb@ietf.org>
Content-Type: text/plain; charset=UTF-8
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 10:40:46 -0000

I agree -- +1 for b)

On Thu, Aug 22, 2013 at 7: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