Re: [rtcweb] PseudoTCP implementation (Re: realiable data service)

Justin Uberti <juberti@google.com> Sun, 24 July 2011 14:40 UTC

Return-Path: <juberti@google.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 913D021F88B7 for <rtcweb@ietfa.amsl.com>; Sun, 24 Jul 2011 07:40:50 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -105.809
X-Spam-Level:
X-Spam-Status: No, score=-105.809 tagged_above=-999 required=5 tests=[AWL=0.167, BAYES_00=-2.599, FM_FORGED_GMAIL=0.622, HTML_MESSAGE=0.001, RCVD_IN_DNSWL_MED=-4, USER_IN_WHITELIST=-100]
Received: from mail.ietf.org ([64.170.98.30]) by localhost (ietfa.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id Y1G6j1XLL2FX for <rtcweb@ietfa.amsl.com>; Sun, 24 Jul 2011 07:40:50 -0700 (PDT)
Received: from smtp-out.google.com (smtp-out.google.com [74.125.121.67]) by ietfa.amsl.com (Postfix) with ESMTP id B1C7321F87ED for <rtcweb@ietf.org>; Sun, 24 Jul 2011 07:40:49 -0700 (PDT)
Received: from wpaz1.hot.corp.google.com (wpaz1.hot.corp.google.com [172.24.198.65]) by smtp-out.google.com with ESMTP id p6OEemeG017980 for <rtcweb@ietf.org>; Sun, 24 Jul 2011 07:40:48 -0700
DKIM-Signature: v=1; a=rsa-sha1; c=relaxed/relaxed; d=google.com; s=beta; t=1311518448; bh=THr84GdjkQdMnhruI7rghFzXICI=; h=MIME-Version:In-Reply-To:References:From:Date:Message-ID:Subject: To:Cc:Content-Type; b=IlWtbVIuRia3A0ZMbXHKg3wbV4VBGLCVbMMENfZWz1DmEuLXTxJiuG2f2BE8d5jdg m7j08Ey11agx7xxIBjlUg==
DomainKey-Signature: a=rsa-sha1; s=beta; d=google.com; c=nofws; q=dns; h=dkim-signature:mime-version:in-reply-to:references:from:date: message-id:subject:to:cc:content-type:x-system-of-record; b=qauc91bkOqTLWvTcoqFuPqq30CqbUvBID3TVMHFfRXrKvJsopKLgDvC4tEN3ak3C5 NWFB/+257P7OFyiTSvfaw==
Received: from iyf40 (iyf40.prod.google.com [10.241.50.104]) by wpaz1.hot.corp.google.com with ESMTP id p6OEekAe004229 (version=TLSv1/SSLv3 cipher=RC4-SHA bits=128 verify=NOT) for <rtcweb@ietf.org>; Sun, 24 Jul 2011 07:40:47 -0700
Received: by iyf40 with SMTP id 40so4399955iyf.12 for <rtcweb@ietf.org>; Sun, 24 Jul 2011 07:40:46 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=beta; h=mime-version:in-reply-to:references:from:date:message-id:subject:to :cc:content-type; bh=kno58WhdelMVc1Xxla4CzLpE6yd5F3oetZ9H49QDR04=; b=u4h5zY+4CKwmyAgd4bUI6OhfZzkxuFo2OtVaydfdD2KwtUuGvGhNOU68JshydxXyNQ 6lNHYttOebcHrTaUkZqA==
Received: by 10.231.53.208 with SMTP id n16mr1368464ibg.13.1311518446491; Sun, 24 Jul 2011 07:40:46 -0700 (PDT)
MIME-Version: 1.0
Received: by 10.231.36.197 with HTTP; Sun, 24 Jul 2011 07:40:25 -0700 (PDT)
In-Reply-To: <4A87F081-90D0-4BAC-97C0-B75686AFF758@phonefromhere.com>
References: <4E0832FE.7010401@ericsson.com> <4E1DC07B.7000807@ericsson.com> <D1BE71E1-4F3B-474E-8A28-AA53CE6B684E@cisco.com> <CA+9kkMCJiE+bfEqZzOBo46aXVH-H2sehHh6UJv3tVdJKGjaokQ@mail.gmail.com> <49CD37FC-7951-45A0-84C4-A443F8B151F3@cisco.com> <4E24AF7C.4080604@jesup.org> <CB57E808-FB8D-41D7-90C6-0EA1051629A8@cisco.com> <4E26D4D6.3020602@alvestrand.no> <CAOJ7v-3RLhaxOWyNJ6p4nE7QyFxOCAeM7xoENPvNhYhoDmyKOw@mail.gmail.com> <87CA4E28-DF95-4A03-9809-BC1B2077B4B1@cisco.com> <4A87F081-90D0-4BAC-97C0-B75686AFF758@phonefromhere.com>
From: Justin Uberti <juberti@google.com>
Date: Sun, 24 Jul 2011 07:40:25 -0700
Message-ID: <CAOJ7v-0gF6aR0fwygk+Zjuj+HTq1eB=6jNAQozhAg+KJ7w3Bew@mail.gmail.com>
To: Tim Panton <tim@phonefromhere.com>
Content-Type: multipart/alternative; boundary="0022150485071e97f604a8d1af32"
X-System-Of-Record: true
Cc: rtcweb@ietf.org
Subject: Re: [rtcweb] PseudoTCP implementation (Re: realiable data service)
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: Sun, 24 Jul 2011 14:40:50 -0000

On Sat, Jul 23, 2011 at 5:50 AM, Tim Panton <tim@phonefromhere.com> wrote:

>
> On 23 Jul 2011, at 03:33, Cullen Jennings wrote:
>
>
> On Jul 20, 2011, at 8:37 , Justin Uberti wrote:
>
>
> Yes, I was going to send a similar email. There are some
> deficiencies/optimizations for the fact it runs over ICE-UDP - doesn't do
> path MTU discovery, no checksum, no OOB data - but it is based on TCP and
> implements slow start and other congestion avoidance mechanisms, and is
> actively used by a number of applications where reliable transfer is
> important, such as file transfer and remote desktop applications.
>
>
>
>
> It would be really interesting to see someone write a draft that subsets
> TCP to make it
>
>
> I just want to flag that TCP isn't an especially good fit here, datagrams
> delivered in events are a very useful
> abstraction in JavaScript, which doesn't really do streams of data very
> well.
>
> I know we can do datagrams over TCP,  but
> it seems wasteful to de-packetize in the TCP layer, just to try and
> re-packetize it a couple of layers further up.
>
> If there is a reliable datagram protocol as opposed to a reliable stream,
> I'd go for the datagram every time.
>

Yes, the API here will be datagram-oriented, just like WebSockets. Ideally,
the API for this would match WebSockets exactly, so that code in higher
layers can be agnostic about exactly how the data is being sent.

Even as a "datagram" service, I think TCP is still the best fit. The fact
that it is well-understood and has countless working implementations is far
more significant than any cost of framing (which will likely be trivial).

>
> Tim.
>
>