[rtcweb] data channel protocol comments and potential agenda topic

"Ejzak, Richard P (Richard)" <richard.ejzak@alcatel-lucent.com> Thu, 19 July 2012 16:25 UTC

Return-Path: <richard.ejzak@alcatel-lucent.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 63FF921F85E3 for <rtcweb@ietfa.amsl.com>; Thu, 19 Jul 2012 09:25:37 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -8.105
X-Spam-Level:
X-Spam-Status: No, score=-8.105 tagged_above=-999 required=5 tests=[AWL=-1.857, BAYES_00=-2.599, HELO_EQ_FR=0.35, 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 KpPgJcXDkH5C for <rtcweb@ietfa.amsl.com>; Thu, 19 Jul 2012 09:25:35 -0700 (PDT)
Received: from smail2.alcatel.fr (smail2.alcatel.fr [62.23.212.57]) by ietfa.amsl.com (Postfix) with ESMTP id BBEBE21F860B for <rtcweb@ietf.org>; Thu, 19 Jul 2012 09:25:34 -0700 (PDT)
Received: from FRMRSSXCHHUB04.dc-m.alcatel-lucent.com (FRMRSSXCHHUB04.dc-m.alcatel-lucent.com [135.120.45.64]) by smail2.alcatel.fr (8.14.3/8.14.3/ICT) with ESMTP id q6JGPwcq010238 (version=TLSv1/SSLv3 cipher=RC4-MD5 bits=128 verify=NOT) for <rtcweb@ietf.org>; Thu, 19 Jul 2012 18:26:26 +0200
Received: from US70UWXCHHUB02.zam.alcatel-lucent.com (135.5.2.49) by FRMRSSXCHHUB04.dc-m.alcatel-lucent.com (135.120.45.64) with Microsoft SMTP Server (TLS) id 8.3.213.0; Thu, 19 Jul 2012 18:26:07 +0200
Received: from US70UWXCHMBA04.zam.alcatel-lucent.com ([169.254.12.33]) by US70UWXCHHUB02.zam.alcatel-lucent.com ([135.5.2.49]) with mapi id 14.02.0247.003; Thu, 19 Jul 2012 12:26:04 -0400
From: "Ejzak, Richard P (Richard)" <richard.ejzak@alcatel-lucent.com>
To: "rtcweb@ietf.org" <rtcweb@ietf.org>
Thread-Topic: [rtcweb] data channel protocol comments and potential agenda topic
Thread-Index: Ac1lyy6PQOhDXDGkSAC+0BA2iG8yWw==
Date: Thu, 19 Jul 2012 16:26:04 +0000
Message-ID: <03FBA798AC24E3498B74F47FD082A92F1770A313@US70UWXCHMBA04.zam.alcatel-lucent.com>
Accept-Language: en-US
Content-Language: en-US
X-MS-Has-Attach:
X-MS-TNEF-Correlator:
x-originating-ip: [135.5.27.11]
Content-Type: multipart/alternative; boundary="_000_03FBA798AC24E3498B74F47FD082A92F1770A313US70UWXCHMBA04z_"
MIME-Version: 1.0
X-Scanned-By: MIMEDefang 2.69 on 155.132.188.80
Subject: [rtcweb] data channel protocol comments and potential agenda topic
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, 19 Jul 2012 16:25:37 -0000

I have concerns about the data channel protocol as defined in draft-jesup-rtcweb-data-protocol-02.txt<http://www.ietf.org/mail-archive/web/rtcweb/current/msg04885.html> and suggest that this could be a worthwhile topic for discussion in Vancouver:


  1.  It requires many messages to be exchanged before any actual user data is sent.
  2.  It is used to set up bidirectional channels whereas a simpler convention might serve the same purpose without need of messaging (e.g., use of the same stream identifier in both directions).
  3.  No mechanism has been defined to allow the application to specify the purpose of a data channel.  In particular, no mechanism is defined to allow the application to specify the payload protocol id (other than ascii/binary).
  4.  Data channel characteristics must be specified in advance for all data carried on a data channel, whereas SCTP allows these characteristics to be controlled dynamically per chunk of transmitted data.  So new channels need to be unnecessarily created and destroyed dynamically to accommodate different characteristics.
  5.  Data channels emulate websockets and are limited by the websockets model rather than leveraging the capabilities of SCTP and specifying functionality useful for data channels.

Why do we need any data channel protocol at all?  It is just a redundant exchange of information about SCTP protocol options that can be communicated by SCTP itself with each block of data, i.e., let's turn this into an API issue and not a protocol issue.

Why don't we instead specify the API to allow the application to select the SCTP transmission characteristics (including stream id, ppid, ordered, reliable, etc.) needed per data block to be transmitted.  Alternately, the API could specify and then allow changes to these characteristics for a channel to influence the SCTP protocol options selected without initiating a data channel protocol negotiation or requiring release of the channel.

Either approach would allow new ppid's to be assigned as needed for applications to indicate the purpose of each data chunk (or sequence of data chunks) to be transmitted.  The application will be able to send data with the desired reliability characteristics immediately without waiting to exchange setup messages.  And each data channel can be repurposed dynamically without requiring signaling to release and renegotiate channel characteristics.

Richard