Re: [rtcweb] Data Channel Protocol: Data before DATA_CHANNEL_ACK

Randell Jesup <randell-ietf@jesup.org> Wed, 12 February 2014 00:46 UTC

Return-Path: <randell-ietf@jesup.org>
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 95E931A0791 for <rtcweb@ietfa.amsl.com>; Tue, 11 Feb 2014 16:46:54 -0800 (PST)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -1.129
X-Spam-Level:
X-Spam-Status: No, score=-1.129 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, HTML_MESSAGE=0.001, RCVD_IN_DNSWL_NONE=-0.0001, RCVD_IN_SORBS_WEB=0.77] 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 K39RU5pUWZV6 for <rtcweb@ietfa.amsl.com>; Tue, 11 Feb 2014 16:46:52 -0800 (PST)
Received: from r2-chicago.webserversystems.com (r2-chicago.webserversystems.com [173.236.101.58]) by ietfa.amsl.com (Postfix) with ESMTP id 9B8971A0767 for <rtcweb@ietf.org>; Tue, 11 Feb 2014 16:46:52 -0800 (PST)
Received: from corp-240.mv.mozilla.com ([63.245.220.240]:54608 helo=[10.250.6.245]) by r2-chicago.webserversystems.com with esmtpsa (TLSv1:DHE-RSA-AES128-SHA:128) (Exim 4.82) (envelope-from <randell-ietf@jesup.org>) id 1WDNyV-000F15-OB for rtcweb@ietf.org; Tue, 11 Feb 2014 18:46:51 -0600
Message-ID: <52FAC47B.5090809@jesup.org>
Date: Tue, 11 Feb 2014 16:46:51 -0800
From: Randell Jesup <randell-ietf@jesup.org>
User-Agent: Mozilla/5.0 (Windows NT 6.1; WOW64; rv:27.0) Gecko/20100101 Thunderbird/27.0
MIME-Version: 1.0
To: rtcweb@ietf.org
References: <7594FB04B1934943A5C02806D1A2204B1D166D41@ESESSMB209.ericsson.se> <CAJrXDUHBBt6L7tp4Ck426xQEkAQEmOnscmu2mBFUGR8YVHqoaw@mail.gmail.com>
In-Reply-To: <CAJrXDUHBBt6L7tp4Ck426xQEkAQEmOnscmu2mBFUGR8YVHqoaw@mail.gmail.com>
Content-Type: multipart/alternative; boundary="------------050701000107060605030103"
X-AntiAbuse: This header was added to track abuse, please include it with any abuse report
X-AntiAbuse: Primary Hostname - r2-chicago.webserversystems.com
X-AntiAbuse: Original Domain - ietf.org
X-AntiAbuse: Originator/Caller UID/GID - [47 12] / [47 12]
X-AntiAbuse: Sender Address Domain - jesup.org
X-Get-Message-Sender-Via: r2-chicago.webserversystems.com: authenticated_id: randell@jesup.org
Subject: Re: [rtcweb] Data Channel Protocol: Data before DATA_CHANNEL_ACK
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: Wed, 12 Feb 2014 00:46:54 -0000

On 2/10/2014 10:20 AM, Peter Thatcher wrote:
> If you have to wait for the ACK, it's one more RTT you have to wait 
> before you can send data.  We've already got many RTTs form ICE and 
> DTLS and what's built into SCTP.  We originally didn't have an ACK 
> message at all, in large part because we didn't want more RTTs.  The 
> ACK was put in to handle the edge case of unordered data arriving 
> before the OPEN message.  But we added it in a way that it doesn't add 
> more RTTs.

Exactly.   Especially at call-start.

>
>
> On Mon, Feb 10, 2014 at 2:20 AM, Christer Holmberg 
> <christer.holmberg@ericsson.com 
> <mailto:christer.holmberg@ericsson.com>> wrote:
>
>     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.
>
>     What is the reason for allowing data to be sent before
>     DATA_CHANNEL_ACK? The sender may not even know (depends on
>     whatever external negotiation mechanisms are used) whether the
>     remote peer supports the protocol to begin with.
>
>     It think it would be good to allow the remote peer to accept
>     (DATA_CHANNEL_ACK) or reject (stream reset) the DATA_CHANNEL_OPEN
>     before data is sent.
>

"Rejection" of a channel can be done be either ignoring it (drop the 
channel reference on the floor), or actively closing it 
(channel.close(), then drop it on the floor).  This was agreed on a long 
time ago.

-- 
Randell Jesup
randell-ietf@jesup.org