[rtcweb] Comments on draft-ietf-rtcweb-data-channel-06
Magnus Westerlund <magnus.westerlund@ericsson.com> Mon, 11 November 2013 13:53 UTC
Return-Path: <magnus.westerlund@ericsson.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 851EF11E8176 for <rtcweb@ietfa.amsl.com>; Mon, 11 Nov 2013 05:53:14 -0800 (PST)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -105.538
X-Spam-Level:
X-Spam-Status: No, score=-105.538 tagged_above=-999 required=5 tests=[AWL=0.711, BAYES_00=-2.599, HELO_EQ_SE=0.35, RCVD_IN_DNSWL_MED=-4, USER_IN_WHITELIST=-100]
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 hSRlaRO2fEZk for <rtcweb@ietfa.amsl.com>; Mon, 11 Nov 2013 05:53:08 -0800 (PST)
Received: from mailgw2.ericsson.se (mailgw2.ericsson.se [193.180.251.37]) by ietfa.amsl.com (Postfix) with ESMTP id 9695911E80FA for <rtcweb@ietf.org>; Mon, 11 Nov 2013 05:53:07 -0800 (PST)
X-AuditID: c1b4fb25-b7eff8e000000eda-6b-5280e142c883
Received: from ESESSHC005.ericsson.se (Unknown_Domain [153.88.253.125]) by mailgw2.ericsson.se (Symantec Mail Security) with SMTP id A7.76.03802.241E0825; Mon, 11 Nov 2013 14:53:06 +0100 (CET)
Received: from [127.0.0.1] (153.88.183.153) by smtp.internal.ericsson.com (153.88.183.35) with Microsoft SMTP Server id 14.2.328.9; Mon, 11 Nov 2013 14:53:05 +0100
Message-ID: <5280E181.20104@ericsson.com>
Date: Mon, 11 Nov 2013 14:54:09 +0100
From: Magnus Westerlund <magnus.westerlund@ericsson.com>
User-Agent: Mozilla/5.0 (Windows NT 6.1; rv:24.0) Gecko/20100101 Thunderbird/24.1.0
MIME-Version: 1.0
To: "rtcweb@ietf.org" <rtcweb@ietf.org>, draft-ietf-rtcweb-data-channel@tools.ietf.org
X-Enigmail-Version: 1.6
Content-Type: text/plain; charset="ISO-8859-1"
Content-Transfer-Encoding: 8bit
X-Brightmail-Tracker: H4sIAAAAAAAAA+NgFnrFJMWRmVeSWpSXmKPExsUyM+Jvra7Tw4Ygg0VLBS2uzljCbLH2Xzu7 A5PHkiU/mTy+XP7MFsAUxWWTkpqTWZZapG+XwJVx8PAX5oJFgRWP9u5lbWC8Z9fFyMkhIWAi MXP+WnYIW0ziwr31bCC2kMAhRok/b+O6GLmA7OWMEo3Xt7N0MXJw8ApoSqw+EQ1SwyKgKnFu 0ROwXjYBC4mbPxrBekUFgiXOv1oMFucVEJQ4OfMJC4gtIhAlMe39bUYQW1jATGLmjy2MICMl BMQlehqDQMLMAnoSU662MELY8hLNW2czQ5yjLdHQ1ME6gZF/FpKps5C0zELSsoCReRUje25i Zk56udEmRmB4HdzyW3UH451zIocYpTlYlMR5P7x1DhISSE8sSc1OTS1ILYovKs1JLT7EyMTB KdXAmFjx5mptnO11/ymLtSWzZbXMJk7XWPg3ZzPXoeb/my3uiE5av1HuuZSV6MxbT3Inhjy+ +facEeOdK14/q1tm/TqzM4b/s66bDr96T4piwKwfEjH7Djf9sfKYHhJsqCo2rdvixrF8dx2m bzN7Su7Y3WzV33PxrskpNyfjyez5FsLPi0zP39Q0UWIpzkg01GIuKk4EAFOI+m/9AQAA
Subject: [rtcweb] Comments on draft-ietf-rtcweb-data-channel-06
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: Mon, 11 Nov 2013 13:53:14 -0000
Hi, I did review the data channel draft prior to the meeting and thought I would provide my comments. 1. Usage of RTCWeb vs WebRTC when referring to the whole solution. My recollection was that we agreed to use WebRTC for this. I think we should try to align this language. Audio, Security and RTP usage uses WebRTC, while Data channel, overview and Transport uses RTCWeb. 2. Section 3.2: U-C 6: Renegotiation of the set of media streams in the PeerConnection. What "media streams" are being referred to here. Or is i better to express this as "Renegotiation of the configuration of the PeerConnection."? 3. Section 3.2: U-C 7: Proxy browsing, where a browser uses data channels of a PeerConnection to send and receive HTTP/HTTPS requests and data, for example to avoid local internet filtering or monitoring. Yes, this may be something that is possible, but to express it as a use cases intended to be supported might not be the best. We are after all likely talking about circumventing local security policies. I would also note that "Internet" is with capital I. 4. Section 4: Req. 1: Multiple simultaneous data channels MUST be supported. Note that there may 0 or more media streams in parallel with the data channels, and the number and state (active/inactive) of the media streams may change at any time. Which "media stream" are you referring to in the above? 5. Section 4: Req. 3: Data channels MUST be congestion controlled; either individually, as a class, or in conjunction with the media streams, to ensure that data channels don't cause congestion problems for the media streams, and that the RTCWeb PeerConnection as a whole is fair with competing traffic such as TCP. A: What "media stream" are you referring to here? B: "and that the RTCWeb PeerConnection as a whole is fair with competing traffic such as TCP." I don't think it is a MUST requirement. Neither am I convinced that a PeerConnection needs to be fair with an unspecified number of TCP traffic. It might be simplest to strike the last part. 6. Section 4: [ TBD: how this is encoded and what the impact of this is. ] Didn't we have some direction decisions on how priority was to be handled at least locally by the end-point. Please add this to the draft. I also hope that the way of representing priorities can get clearer from an API perspective. 7. Section 5: " o The congestion control is modifiable for integration with media stream congestion control." I think this is an exaggeration, and not supported by current sets of specifications, if it is supported please provide a reference. 8. Section 5: "Using DTLS over UDP in combination with ICE enables NAT traversal in IPv4 based networks." I would like to point out that ICE do provide firewall traversal for firewalls with certain type of filtering rules like the basic stateful filtering. These apply to IPv6 equally, not only IPv4. 9. Section 5: " Each SCTP user message contains a so called Payload Protocol Identifier (PPID) that is passed to SCTP by its upper layer and sent to its peer. This value can be used to multiplex multiple protocols over a single SCTP association. The sender provides for each protocol a specific PPID and the receiver can demultiplex the messages based on the received PPID." I have some difficulties in determining the relevance of this in the context of WebRTC. Can you please provide a clear explanation why PPID are relevant here. Will not all traffic from an WebRTC endpoint use the PPIDs associated with the data protocol, rather than any "native" PPIDs? 10. Section 5: Can you please clarifiy the demultiplexing for WebRTC by discussing STUN, vs SRTP vs DTLS and secondly that DTLS-SRTP and DTLS frames with SCTP can co-exist in the same DTLS stack. At least on an level where you can point to all the relevant sections in other specifications to explain that these can coexist given certain constraints. This is likely its own sub-section. 11. Section 5: o shares the DTLS connection with the media channels. what is "media channels"? 12. Section 5: " Since DTLS is typically implemented in user-land, the SCTP stack also needs to be a user-land stack." I wonder what the message of this sentence is? The reason is that I wonder what it should be saying if one implements DTLS in a kernel, or similar if one despite a DTLS user-land stack uses a SCTP stack in the kernel through access to raw sockets. 13. Section 5: Incoming ICMP or ICMPv6 messages can't be processed by the SCTP layer, since there is no way to identify the corresponding association. Also here I get a bit confused, I assume what you are after is the issue that incoming ICMP messages will be arriving related to the UDP flow, not in relation to an kernel SCTP association, thus there is a routing issue for ICMP to reach the above DTLS existing SCTP association. Not impossible to solve, just not available with existing APIs. 14. Section 5: "This protocol stack MUST support the usage of multiple SCTP streams." I wonder which layer is affected by this. Isn't this only affecting SCTP implementation and the higher layers? Can't you be more specific thus? 15. Section 5: Using a congestion control different from the standard one might improve the impact on the parallel SRTP media streams. Since SCTP does not support the negotiation of a congestion control algorithm, alternate congestion controls SHOULD only require a different sender side behavior using existing information carried in the association. A: I wonder if adding a "yet" into the second sentence to make clear that in the future there might be support for negotiating congestion control. B: Also, what happens if one violate the SHOULD and require receiver side information and the peer don't support it. That clearly can't be acceptable? Can this be formulated in some other way that is tighter without preventing sender side changes? 16. Section 6.1: o The dynamic address reconfiguration extension defined in [RFC5061] MUST be used to signal the support of the stream reset extension defined in [RFC6525], other features of [RFC5061] MUST NOT be used. A question, are theses other features, destructive to the SCTP association, or simply unnecessary to implement? If it is the first, then I think MUST NOT be used is fine, but if else, why not simple say that they are NOT REQUIRED to be implemented? 17. Section 6.1: o The partial reliability extension defined in [RFC3758] MUST be supported. In addition to the timed reliability PR-SCTP policy defined in [RFC3758], the limited retransmission policy defined in [I-D.tuexen-tsvwg-sctp-prpolicies] MUST be supported. So what is the status of this individual document, did it get adopted into TSVWG? I think this is an important question, as it is one thing where we can consider going forward without the extension and add it later when ready? 18. Section 6.2: " Additionally, the negotiation SHOULD include some type of congestion control selection. " Okay, this appears very fuzzy. And what name space or specifications are you going to use to negotiate what the different options are? 19. Section 6.3: It will use the DTLS connection selected via SDP; typically this will be shared via BUNDLE or equivalent with DTLS connections used to key the DTLS-SRTP media streams. In which way is the DTSL connection "selected" via SDP? 20. Section 6.2: When one side wants to open a channel using external negotiation, it picks a Stream. This can be based on the DTLS role (the client picks even stream identifiers, the server odd stream identifiers) or done in a different way. However, the application is responsible for avoiding collisions with existing Streams. If it attempts to re-use a Stream which is part of an existing Channel, the addition SHOULD fail. In addition to choosing a Stream, the application SHOULD also inform the protocol of the options to use for sending messages. The application MUST ensure in an application-specific manner that the other side will also inform the protocol that the selected Stream is to be used, and the parameters for sending data from that side. So why is this specified here and not in the Data Protocol? Especially using RFC 2119 terms, it appears to be colliding or at least overlapping specifications? 21. Section 6.6 It is recommended that message size be kept within certain size bounds (TBD) as applications will not be able to support arbitrarily- large single messages. I guess this will be resolved by the WG session agreement, or? 22. Section 8: +---------------------+-----------+-----------+ | Value | SCTP PPID | Reference | +---------------------+-----------+-----------+ | DOMString Last | 51 | [RFCXXXX] | | Binary Data Partial | 52 | [RFCXXXX] | | Binary Data Last | 53 | [RFCXXXX] | | DOMString Partial | 54 | [RFCXXXX] | +---------------------+-----------+-----------+ Where are the definitions of these definitions? 23. Section 10.2: [I-D.tuexen-tsvwg-sctp-prpolicies] Tuexen, M., Seggelmann, R., Stewart, R., and S. Loreto, "Additional Policies for the Partial Delivery Extension of the Stream Control Transmission Protocol", draft-tuexen- tsvwg-sctp-prpolicies-03 (work in progress), October 2013. This is a normative reference. Cheers Magnus Westerlund ---------------------------------------------------------------------- Multimedia Technologies, Ericsson Research EAB/TVM ---------------------------------------------------------------------- Ericsson AB | Phone +46 10 7148287 Färögatan 6 | Mobile +46 73 0949079 SE-164 80 Stockholm, Sweden| mailto: magnus.westerlund@ericsson.com ----------------------------------------------------------------------
- [rtcweb] Comments on draft-ietf-rtcweb-data-chann… Magnus Westerlund
- Re: [rtcweb] Comments on draft-ietf-rtcweb-data-c… Gunnar Hellstrom
- Re: [rtcweb] Comments on draft-ietf-rtcweb-data-c… Harald Alvestrand
- Re: [rtcweb] Comments on draft-ietf-rtcweb-data-c… Gunnar Hellstrom
- Re: [rtcweb] Comments on draft-ietf-rtcweb-data-c… Gunnar Hellstrom
- Re: [rtcweb] Comments on draft-ietf-rtcweb-data-c… Michael Tuexen
- Re: [rtcweb] Comments on draft-ietf-rtcweb-data-c… Michael Tuexen
- Re: [rtcweb] Comments on draft-ietf-rtcweb-data-c… Michael Tuexen
- Re: [rtcweb] Comments on draft-ietf-rtcweb-data-c… Gunnar Hellstrom
- Re: [rtcweb] Comments on draft-ietf-rtcweb-data-c… Michael Tuexen
- Re: [rtcweb] Comments on draft-ietf-rtcweb-data-c… Gunnar Hellstrom
- Re: [rtcweb] Comments on draft-ietf-rtcweb-data-c… Michael Tuexen
- Re: [rtcweb] Comments on draft-ietf-rtcweb-data-c… Michael Tuexen
- Re: [rtcweb] Comments on draft-ietf-rtcweb-data-c… Michael Tuexen
- Re: [rtcweb] Comments on draft-ietf-rtcweb-data-c… Gunnar Hellstrom
- Re: [rtcweb] Comments on draft-ietf-rtcweb-data-c… Michael Tuexen
- Re: [rtcweb] Comments on draft-ietf-rtcweb-data-c… Michael Tuexen
- Re: [rtcweb] Comments on draft-ietf-rtcweb-data-c… Randell Jesup
- Re: [rtcweb] Comments on draft-ietf-rtcweb-data-c… Magnus Westerlund