Re: [rtcweb] Review comments on draft-ietf-rtcweb-data-protocol-03
Michael Tuexen <Michael.Tuexen@lurchi.franken.de> Thu, 10 April 2014 11:51 UTC
Return-Path: <Michael.Tuexen@lurchi.franken.de>
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 4C5A01A0233 for <rtcweb@ietfa.amsl.com>; Thu, 10 Apr 2014 04:51:04 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: 0.877
X-Spam-Level:
X-Spam-Status: No, score=0.877 tagged_above=-999 required=5 tests=[BAYES_50=0.8, HELO_EQ_DE=0.35, RP_MATCHES_RCVD=-0.272, SPF_HELO_PASS=-0.001] autolearn=ham
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 Z0pAuEYOsxbf for <rtcweb@ietfa.amsl.com>; Thu, 10 Apr 2014 04:50:59 -0700 (PDT)
Received: from mail-n.franken.de (drew.ipv6.franken.de [IPv6:2001:638:a02:a001:20e:cff:fe4a:feaa]) by ietfa.amsl.com (Postfix) with ESMTP id 4F48C1A0212 for <rtcweb@ietf.org>; Thu, 10 Apr 2014 04:50:58 -0700 (PDT)
Received: from [192.168.1.103] (p508F23E9.dip0.t-ipconnect.de [80.143.35.233]) (Authenticated sender: macmic) by mail-n.franken.de (Postfix) with ESMTP id B90D91C0E9788; Thu, 10 Apr 2014 13:50:54 +0200 (CEST)
Content-Type: text/plain; charset="iso-8859-1"
Mime-Version: 1.0 (Mac OS X Mail 7.2 \(1874\))
From: Michael Tuexen <Michael.Tuexen@lurchi.franken.de>
In-Reply-To: <53160FBB.4070401@ericsson.com>
Date: Thu, 10 Apr 2014 13:50:52 +0200
Content-Transfer-Encoding: quoted-printable
Message-Id: <1904CA30-1112-44D4-8C6F-F15F1EF1BF9B@lurchi.franken.de>
References: <530B740E.4090707@ericsson.com> <B163D4A9-AC33-454B-8F93-CC619AFB7A6F@lurchi.franken.de> <53160FBB.4070401@ericsson.com>
To: Magnus Westerlund <magnus.westerlund@ericsson.com>
X-Mailer: Apple Mail (2.1874)
Archived-At: http://mailarchive.ietf.org/arch/msg/rtcweb/jo_GsjQc1D6Lm-H7UDZ_IuG-LMs
Cc: draft-ietf-rtcweb-data-protocol@tools.ietf.org, "rtcweb@ietf.org" <rtcweb@ietf.org>
Subject: Re: [rtcweb] Review comments on draft-ietf-rtcweb-data-protocol-03
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: Thu, 10 Apr 2014 11:51:04 -0000
On 04 Mar 2014, at 17:39, Magnus Westerlund <magnus.westerlund@ericsson.com> wrote: > On 2014-02-25 17:07, Michael Tuexen wrote: >> >> On Feb 24, 2014, at 5:32 PM, Magnus Westerlund <magnus.westerlund@ericsson.com> wrote: >> >>> Hi, >>> (as individual) >> Hi Magnus, >> >> thank you very much for the detailed review. Please see my comments in-line. >> >> Best regards >> Michael >>> >>> I have reviewed the WebRTC Data Channel Establishment protocol >>> (draft-ietf-rtcweb-data-protocol-03) and have some comments: >>> >>> 1. Section 4: >>> Shouldn't this section discuss the priority field? >> I added in the list of consistent properties: >> >> <t>the priority of the data Channel.</t> >> >> and in the text below that enumeration: >> >> ?????? > > Yes, text for this needs to be figured out. We don't define at this place what priority is. The only point is that both sides use the same priority. > >>> >>> 2. Section 4: >>> >>> The method >>> used to determine which side uses odd or even is based on the >>> underlying DTLS connection role when used in WebRTC, with the side >>> acting as the DTLS client using even stream identifiers. >>> >>> Isn't this unnecessary using the vague word of WebRTC instead of simply >>> pointing to the DTLS roles of the established data channel? > >> The point is that in the WebRTC you use DCEP/SCTP/DTLS/UDP and therefore >> you can refer to the DTLS role. However, you could use DCEP/SCTP/IP >> or DCEP/SCTP/UDP/IP or DCEP/SCTP over something not involving DTLS. >> In that case DTLS is not used and you can not refer to the DTLS role. >> That is why the restriction is used. > > Ok, if that concern then you still should be able to write a normative > specification under the condition that it is SCTP over DTLS. If not how > do you determine that? Are suggesting just to hand way or point to a > higher signaling layer. So what about using: when using <xref target='I-D.ietf-tsvwg-sctp-dtls-encaps'/>, the method used to determine which side uses odd or even is based on the underlying DTLS connection role: the side acting as the DTLS client MUST use Streams with even SCTP stream identifiers, the side acting as the DTLS server MUST use Streams with odd SCTP stream identifiers.</t> >>> >>> 3. Section 5.1: >>> DATA_CHANNEL_PARTIAL_RELIABLE_TIMED (0x02): The channel provides >>> a partial reliable in-order bi-directional Communication >>> channel. User messages might not be transmitted or >>> retransmitted after a specified life-time given in milli- >>> seconds in the Reliability Parameter. This life-time starts >>> when providing the user message to the Javascript engine. >>> >>> I think the use of "Javascript engine" in the last sentence is unclear. >>> Can we provide a implementation neutral definition, like "This life-time >>> starts when requesting transmission of the user message."? > >> This comment was already made on the list and I changed the text to >> >> This life-time starts when providing the user message to the protocol stack. >> >> OK? > > Yes. > >>> >>> 4. Section 5.1: >>> Label: Variable Length (sequence of characters) >>> The name of the channel. This may be an empty string. >>> >>> Protocol: Variable Length (sequence of characters) >>> The protocol for the channel. If this is an empty string the >>> protocol us unspecified. If it is an non-empty string, it >>> specifies an IANA-registered protocol (see Section 8.4). >>> >>> Both of these fields are strings, shouldn't a particular encoding be >>> specified here? Like UTF-8. Secondly, what values are allowed, the full >>> set of Unicode? > >> You are right. Any need for restrictions? We only need to be able to >> transform it to a DomString. >> So I changed it to: >> >> <t hangText='Label: Variable Length (sequence of characters)'> >> <vspace blankLines='0'/> >> The name of the channel as a UTF-8 encoded string. >> This may be an empty string.</t> >> >> <t hangText='Protocol: Variable Length (sequence of characters)'> >> <vspace blankLines='0'/> >> The protocol for the channel as a UTF-8 encoded string. >> If this is an empty string the protocol us unspecified. >> If it is an non-empty string, it specifies an IANA-registered protocol >> (see <xref target='iana_protocol'/>).</t> > > I guess this is slightly overtaken by event. It have to be aligned with > what the websocket sub-protocol identifier. The text now reads: <t hangText='Protocol: Variable Length (sequence of characters)'> <vspace blankLines='0'/> The sub-protocol for the channel as a UTF-8 encoded string. If this is an empty string the protocol is unspecified. If it is a non-empty string, it specifies an protocol registered in the 'WebSocket Subprotocol Name Registry' created in <xref target='RFC6455'/>.</t> > >>> >>> 5. Section 6: >>> All Data Channel Establishment Protocol messages MUST be sent >>> requesting ordered delivery and using reliable transmission. >>> >>> I wonder of the use of requesting ordered delivery and using reliable >>> transmission, from an SCTP stream perspective, wouldn't using in both >>> places be appropriate? Or is how object which has been requested to be >>> transmitted unordered interact in SCTP with the ordered ones? > >> I'm sorry, I don't understand what you are asking... > > Sorry, it really is a language issue. The above sentence first states > "sent 'requesting' ordered" and later "and 'using' reliable". > > This inconsistency is what I reacted to. I see. Changed to: <t>All Data Channel Establishment Protocol messages MUST be sent using ordered delivery and reliable transmission. > >> >>> 6. Section 7: >>> >>> I think this section can be beefed up a bit. First make clear that the >>> Data Channel's required usage of DTLS ensures that the message integrity >>> and possible source authentication as well as confidentiality. Then >>> going over any security risks with a malicous peer using this protocol. >>> Can a malicous side screw up the peer using this protocol? What are the >>> implications? > >> Just to double check: Aren't the referenced documents the ones which >> discuss all security stuff in one place? > > The security document do discuss system level important aspects. But, > from my perspective, details that are very specific to this protocol > should be discussed in this document. > > I think this is highly relevant in this document as there are others > that are interested in using it. OK. Any concrete suggestions what should be covered? > >>> >>> 7. Section 8.2: >>> >>> This registry reserves 0xff without any motivation, please add one. >> I added: >> >> The value 0xff has been reserved for future extensibility. >> > > Ok > >>> >>> 8. Section 8.3: >>> If I define a channel behavior that allows mixed ordered and unordered, >>> how would I register this? > >> You can't. For SCTP properties like ordered/unordered delivery are >> on a per message base. In RTCWeb it was decided to make per channel >> base. So you can't have a data channel supporting a mixtures of >> ordered and unordered messages. > > Ok, fine. > >>> >>> 9. Section 8.4: >>> >>> I have a suggestion for this registries name, instead of "Protocol >>> Registry" I propose "DCEP Protocol Identification Registry" > >> The problem I have with this definition is the following: >> Your name suggests that the use of this entity is restricted to >> DCEP. But isn't the protocol a property of a data channel, no matter >> whether negotiated by used DCEP or not? > > As we now are going to point at the websocket one this is a mote point. > >>> >>> 10. Section 8.4: >>> >>> There is missing any specification of what type of strings I may >>> register. Also, no length limitation, although the protocol allows at >>> maximum of 255 octets of encoded characters. > >> I don't understand the limitation to 255 octets. The length field >> is 16 bit, so you can have up to 65535 octets. Therefore I changed: >> <t>A name for the protocol;</t> >> to >> <t>A name for the protocol which length is smaller than 65536 when using >> an UTF-8 encoding;</t> > > Overtaken by events, limitations will be the ones of the Websocket > registry. > >>> >>> 11. This comments concerns the relation to the Data Channel >>> specification. So my interpretation is that the WebRTC Data channel >>> draft has become both the base for this specification as well as the one >>> that specifies that the DCEP shall be implemented and supported. For >>> WebRTC I don't think this matters much, but if someone likes to re-use >>> the basic Data Channel specification, this structure makes it more >>> difficult and have no need for the bi-directional negotiated parameter >>> settings that the DCEP provides. In that case one have to sub-set the > >> I think the data channel draft discusses the data channels independent >> how they are opened. This covers data parameters, user data transmission >> and closing of data channels. The data channel protocol draft discusses >> an in-band protocol for setting up data channels. > > I think this was discussed today. And make it clear that DCEP > requirement shouldn't be from the Data Channel spec. > >>> data channel specification. I wonder if it would be better to move some >>> normative statements around, so that the chain of implementation >>> requirement goes draft-ietf-rtcweb-transports -> >>> draft-ietf-rtcweb-data-protocol -> draft-ietf-rtcweb-data-channel thus >>> providing a cleaner and more modular build up of the protocols. >> I think you can implement draft-ietf-rtcweb-data-channel without >> draft-ietf-rtcweb-data-protocol, but not vice versa. >> >> So you don't like the statement: >> >> A simple protocol for internal negotiation is specified in >> [I-D.ietf-rtcweb-data-protocol] and MUST be supported. >> >> from draft-ietf-rtcweb-data-channel. What would you suggest? > > I think the high level requirement on DCEP might be in -rtcweb-transports. It now reads: A simple protocol for in-band negotiation is specified in [I-D.ietf-rtcweb-data-protocol]. > > Cheers > > Magnus Westerlund > > ---------------------------------------------------------------------- > Services, Media and Network features, Ericsson Research EAB/TXM > ---------------------------------------------------------------------- > 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] Review comments on draft-ietf-rtcweb-dat… Magnus Westerlund
- Re: [rtcweb] Review comments on draft-ietf-rtcweb… Michael Tuexen
- Re: [rtcweb] Review comments on draft-ietf-rtcweb… Magnus Westerlund
- Re: [rtcweb] Review comments on draft-ietf-rtcweb… Paul Kyzivat
- Re: [rtcweb] Review comments on draft-ietf-rtcweb… Michael Tuexen
- Re: [rtcweb] Review comments on draft-ietf-rtcweb… Makaraju, Maridi Raju (Raju)
- Re: [rtcweb] Review comments on draft-ietf-rtcweb… Paul Kyzivat
- Re: [rtcweb] Review comments on draft-ietf-rtcweb… Paul Kyzivat
- Re: [rtcweb] Review comments on draft-ietf-rtcweb… Michael Tuexen
- Re: [rtcweb] Review comments on draft-ietf-rtcweb… Magnus Westerlund
- Re: [rtcweb] Review comments on draft-ietf-rtcweb… Michael Tuexen
- Re: [rtcweb] Review comments on draft-ietf-rtcweb… Magnus Westerlund
- Re: [rtcweb] Review comments on draft-ietf-rtcweb… Michael Tuexen
- Re: [rtcweb] Review comments on draft-ietf-rtcweb… Magnus Westerlund
- Re: [rtcweb] Review comments on draft-ietf-rtcweb… Michael Tuexen
- Re: [rtcweb] Review comments on draft-ietf-rtcweb… Magnus Westerlund
- Re: [rtcweb] Review comments on draft-ietf-rtcweb… Michael Tuexen