Re: [rtcweb] data-over-RTP vs data-over-datagram (Re: non-media data)
Magnus Westerlund <magnus.westerlund@ericsson.com> Fri, 15 April 2011 14:28 UTC
Return-Path: <magnus.westerlund@ericsson.com>
X-Original-To: rtcweb@ietfc.amsl.com
Delivered-To: rtcweb@ietfc.amsl.com
Received: from localhost (localhost [127.0.0.1]) by ietfc.amsl.com (Postfix) with ESMTP id A291AE0670 for <rtcweb@ietfc.amsl.com>; Fri, 15 Apr 2011 07:28:43 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -106.554
X-Spam-Level:
X-Spam-Status: No, score=-106.554 tagged_above=-999 required=5 tests=[AWL=0.045, BAYES_00=-2.599, RCVD_IN_DNSWL_MED=-4, USER_IN_WHITELIST=-100]
Received: from mail.ietf.org ([208.66.40.236]) by localhost (ietfc.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id ZGErpRIyu6gA for <rtcweb@ietfc.amsl.com>; Fri, 15 Apr 2011 07:28:41 -0700 (PDT)
Received: from mailgw9.se.ericsson.net (mailgw9.se.ericsson.net [193.180.251.57]) by ietfc.amsl.com (Postfix) with ESMTP id C279DE0745 for <rtcweb@ietf.org>; Fri, 15 Apr 2011 07:28:40 -0700 (PDT)
X-AuditID: c1b4fb39-b7c6dae0000023f2-45-4da85617e997
Received: from esessmw0191.eemea.ericsson.se (Unknown_Domain [153.88.253.125]) by mailgw9.se.ericsson.net (Symantec Mail Security) with SMTP id 11.C6.09202.71658AD4; Fri, 15 Apr 2011 16:28:39 +0200 (CEST)
Received: from [147.214.183.89] (153.88.115.8) by esessmw0191.eemea.ericsson.se (153.88.115.85) with Microsoft SMTP Server id 8.3.137.0; Fri, 15 Apr 2011 16:28:39 +0200
Message-ID: <4DA85617.1090506@ericsson.com>
Date: Fri, 15 Apr 2011 16:28:39 +0200
From: Magnus Westerlund <magnus.westerlund@ericsson.com>
User-Agent: Mozilla/5.0 (Windows; U; Windows NT 6.0; sv-SE; rv:1.9.2.15) Gecko/20110303 Thunderbird/3.1.9
MIME-Version: 1.0
To: Harald Alvestrand <harald@alvestrand.no>
References: <4D9EF7D3.1040806@alvestrand.no> <F4467DDA-816F-4DDD-B66F-8A48F9A0A16C@apple.com> <A444A0F8084434499206E78C106220CA0875E32DED@MCHP058A.global-ad.net> <1D64F821-8D2B-4983-9989-F3EE076583E3@phonefromhere.com> <BBF498F2D030E84AB1179E24D1AC41D614348B47DF@ESESSCMS0362.eemea.ericsson.se> <BANLkTi==JtrJ_fmtYm7=UKSpp+56WdH-Hw@mail.gmail.com> <4DA7F6E3.6010100@ericsson.com> <4DA84449.8090904@alvestrand.no>
In-Reply-To: <4DA84449.8090904@alvestrand.no>
X-Enigmail-Version: 1.1.1
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
X-Brightmail-Tracker: AAAAAA==
Cc: "rtcweb@ietf.org" <rtcweb@ietf.org>
Subject: Re: [rtcweb] data-over-RTP vs data-over-datagram (Re: non-media data)
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, 15 Apr 2011 14:28:43 -0000
Haralad and other interested Snipped out more parts as I added quite a lot around possible alternatives for you to think about. See below Harald Alvestrand skrev 2011-04-15 15:12: >> I promised to return to why I think TCP over RTP or more general, >> generic data over RTP isn't the most suitable model. >> - RTP is a protocol built towards real-time media. Yes the definition of >> media can be pretty loose here. But carrying the individual datagrams of >> a TCP connection over RTP is plainly stupid, when TCP over UDP will get >> you all the desired functionality anyway with less overhead. > RTP is, in the extreme view, a ~12-byte header and a set of handling > rules. We should look at what it is, not so much what it was originally > thought to be designed for (a component in a framework for multicast > distribution of unidirectional media channels). Well, the handling rules include RTCP and an intention to handle a number of different topologies with multi-party handling. There are also additional signalling issues, like how to configure the RTCP bandwidth value, which features to use and all these things. Things you may not need for your data transport. If you need them, you anyway should define an RTP payload format for your data format. And to be frank, the transport and RAI ADs has been very hesitant to allow any RTP payload format that is defined for just being a bit pipe over RTP. The two reasons for this has been Application level framing principle and the lack of congestion control for RTP. >> - RTP requires RTP payload formats for anything it carries. That is to >> ensure that the application level framing ideas are as well captured for >> a particular media encoding as possible. That optimization is not >> possible for general data. > I think "general data" is a red herring. We can define a few different > data-carrying "modes" that have different properties; if some of these > are useful, I think it makes sense to define them. I agree that different transport protocol provides different properties. And that you should chose the one most appropriate. However, one usually has to compromise on some aspects, either by needing to do specific solution for ones data or accept some other potential limitation. On a high level comparisons between our transport protocols I think can be summarized like this: TCP: unicast only, congestion controlled reliable byte stream SCTP: unicast, multihoming, congestion controlled, reliable and unreliable, message oriented. DCCP: unicast, unreliable, congestion controlled sequence numbered datagram RTP/UDP: unicast and multicast, unreliable, RTP payload of single MTU size, medium time scale transport feedback. UDP: unicast and multicast, unreliable, datagram >> - If one can't do general optimization one goes with more general >> transport solutions, thus why not use a more general data transport for >> the general data? > Pushing stuff towards a "more general data transport" requires one of > two things: > a) having an existing more general data transport that fulfils our > requirements > b) defining a new more general data transport that fulfils our requirements > The second seems tough. The first ..... what's your preferred candidate? Actually the one I think is easiest from a specification point of view and that does provide a reasonable service for unreliable datagrams are: DTLS/DCCP/UDP That would be the following references: https://datatracker.ietf.org/doc/rfc4340/ (Base Spec) https://datatracker.ietf.org/doc/rfc4341/ (TCP-Like CC) https://datatracker.ietf.org/doc/rfc4342/ (TFRC CC) https://datatracker.ietf.org/doc/rfc5238/ (DTLS for DCCP) https://datatracker.ietf.org/doc/draft-ietf-dccp-udpencap/ (DCCP over UDP) My main concern is the maturity of available implementations of DCCP. Otherwise it provides congestion control and can actually choose which congestion control algorithms we want supported, TCP-like or TFRC. It also have some additional features. One is that we get a second port space providing additional multiplexing points. Please note that this is just a friendly suggestion. At least check it out, and possible post some comments why it would be unsuitable. >> - RTP and RTCP monitoring is also designed with more continous medias in >> mind. Here we don't know how much such properties will be true. Also the >> congestion controls available might actually have not the most suitable >> properties for certain type of data. > It's not clear to me that there *are* congestion controls available > (other than media-specific ones). > Which ones are you thinking of? The one that is full defined is to run RTP over DCCP. https://datatracker.ietf.org/doc/rfc5762/ I guess the biggest issue is the lack of experience with this and especially how you interface the DCCP stack to work well between media encoding, RTP stack and the DCCP congestion control. The alternative, not standardized yet but closest available for RTP over UDP is TFRC for RTP. https://datatracker.ietf.org/doc/draft-gharai-avtcore-rtp-tfrc/ That was in reasonable shape prior to its abandonment due to lack of funding from the ones driving it. > Now, the flipside: What does RTP *have* that we will otherwise need > to define? From your earlier list: > > - Congestion Controlled: eh... maybe not. > - Confidentiality and Integrity Protected - done, we've got SRTP. > - Providing consent to receive data prior to allow transmission of > substantial amounts of data - done, we have ICE, > and need it for media too. > - Some type of source authentication to prevent man in the middles > - done, we have SRTP > > So apart from congestion control, it seems that RTP's 12-byte header > actually gives us a lot. Well, the security parts can be provided by ICE and DTLS over UDP also. we still are short the congestion control for such a thing plus all these things that the UDP guidelines (RFC5405) discuss. Using RTP over UDP does drag all the RTP baggage into something that may not needed it, but it will provide some parts of what you need. If a particular data format needs RTP functionality, it should define its own RTP payload format anyway. 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] Welcome to a new mailing list Harald Alvestrand
- Re: [rtcweb] Welcome to a new mailing list Tim Panton
- Re: [rtcweb] Welcome to a new mailing list Mary Barnes
- Re: [rtcweb] Welcome to a new mailing list Lorenzo Miniero
- [rtcweb] non-media data David Singer
- Re: [rtcweb] non-media data Elwell, John
- Re: [rtcweb] non-media data Tim Panton
- Re: [rtcweb] non-media data David Singer
- Re: [rtcweb] non-media data Christopher Blizzard
- Re: [rtcweb] non-media data Harald Alvestrand
- Re: [rtcweb] non-media data Stefan Håkansson LK
- Re: [rtcweb] non-media data Justin Uberti
- Re: [rtcweb] non-media data Magnus Westerlund
- Re: [rtcweb] non-media data Tim Panton
- Re: [rtcweb] non-media data Harald Alvestrand
- Re: [rtcweb] non-media data Harald Alvestrand
- [rtcweb] data-over-RTP vs data-over-datagram (Re:… Harald Alvestrand
- Re: [rtcweb] data-over-RTP vs data-over-datagram … Magnus Westerlund
- Re: [rtcweb] data-over-RTP vs data-over-datagram … Harald Alvestrand
- Re: [rtcweb] data-over-RTP vs data-over-datagram … Christian Hoene
- Re: [rtcweb] data-over-RTP vs data-over-datagram … Colin Perkins
- Re: [rtcweb] data-over-RTP vs data-over-datagram … Colin Perkins
- Re: [rtcweb] data-over-RTP vs data-over-datagram … David Singer
- Re: [rtcweb] data-over-RTP vs data-over-datagram … Elwell, John