Re: [hybi] [whatwg] WebSockets: UDP

Lars Eggert <lars.eggert@nokia.com> Fri, 11 June 2010 04:26 UTC

Return-Path: <lars.eggert@nokia.com>
X-Original-To: hybi@core3.amsl.com
Delivered-To: hybi@core3.amsl.com
Received: from localhost (localhost [127.0.0.1]) by core3.amsl.com (Postfix) with ESMTP id C82B83A68AB for <hybi@core3.amsl.com>; Thu, 10 Jun 2010 21:26:05 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -6.034
X-Spam-Level:
X-Spam-Status: No, score=-6.034 tagged_above=-999 required=5 tests=[AWL=0.265, BAYES_00=-2.599, MIME_8BIT_HEADER=0.3, RCVD_IN_DNSWL_MED=-4]
Received: from mail.ietf.org ([64.170.98.32]) by localhost (core3.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id YFjV5an-R79i for <hybi@core3.amsl.com>; Thu, 10 Jun 2010 21:26:04 -0700 (PDT)
Received: from mgw-mx09.nokia.com (smtp.nokia.com [192.100.105.134]) by core3.amsl.com (Postfix) with ESMTP id BA9633A681F for <hybi@ietf.org>; Thu, 10 Jun 2010 21:26:04 -0700 (PDT)
Received: from vaebh105.NOE.Nokia.com (vaebh105.europe.nokia.com [10.160.244.31]) by mgw-mx09.nokia.com (Switch-3.3.3/Switch-3.3.3) with ESMTP id o5B4PpdG011153; Thu, 10 Jun 2010 23:26:03 -0500
Received: from vaebh104.NOE.Nokia.com ([10.160.244.30]) by vaebh105.NOE.Nokia.com with Microsoft SMTPSVC(6.0.3790.4675); Fri, 11 Jun 2010 07:25:55 +0300
Received: from mgw-sa01.ext.nokia.com ([147.243.1.47]) by vaebh104.NOE.Nokia.com over TLS secured channel with Microsoft SMTPSVC(6.0.3790.4675); Fri, 11 Jun 2010 07:25:55 +0300
Received: from mail.fit.nokia.com (esdhcp030222.research.nokia.com [172.21.30.222]) by mgw-sa01.ext.nokia.com (Switch-3.3.3/Switch-3.3.3) with ESMTP id o5B4PrlW018254 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=NO); Fri, 11 Jun 2010 07:25:54 +0300
X-Virus-Status: Clean
X-Virus-Scanned: clamav-milter 0.96.1 at fit.nokia.com
Mime-Version: 1.0 (Apple Message framework v1078)
Content-Type: multipart/signed; boundary="Apple-Mail-4--577085226"; protocol="application/pkcs7-signature"; micalg="sha1"
From: Lars Eggert <lars.eggert@nokia.com>
In-Reply-To: <op.vd3ndpzqr4mipi@emoller-pc.gothenburg.osa>
Date: Fri, 11 Jun 2010 07:25:41 +0300
Message-Id: <FA20049A-5B22-46F6-B6F4-78E31B742C61@nokia.com>
References: <op.vdl9bszhr4mipi@emoller-pc.gothenburg.osa> <AANLkTin8TYLeOdZmKbs6IqklsS5P24Qd4kqtTV_UXp-l@mail.gmail.com> <op.vdmg3ov6r4mipi@emoller-pc.gothenburg.osa> <AANLkTim2j9xbgW4fnKYy69uZ9KwBaDvs1ypu92pG1Hxo@mail.gmail.com> <op.vdm0lrqmr4mipi@emoller-pc.gothenburg.osa> <AANLkTimPvtS9hE-frSVQq8dWBEG9-fvCfnTsOVCbVXQt@mail.gmail.com> <op.vdpn931pr4mipi@emoller-pc.gothenburg.osa> <op.vd3ndpzqr4mipi@emoller-pc.gothenburg.osa>
To: Erik Möller <emoller@opera.com>
X-Mailer: Apple Mail (2.1078)
X-Greylist: Sender succeeded SMTP AUTH, not delayed by milter-greylist-4.2.5 (mail.fit.nokia.com); Fri, 11 Jun 2010 07:25:42 +0300 (EEST)
X-OriginalArrivalTime: 11 Jun 2010 04:25:55.0105 (UTC) FILETIME=[2EEB9110:01CB091E]
X-Nokia-AV: Clean
Cc: "whatwg@whatwg.org" <whatwg@whatwg.org>, Hybi <hybi@ietf.org>, Philip Taylor <excors+whatwg@gmail.com>
Subject: Re: [hybi] [whatwg] WebSockets: UDP
X-BeenThere: hybi@ietf.org
X-Mailman-Version: 2.1.9
Precedence: list
List-Id: Server-Initiated HTTP <hybi.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/listinfo/hybi>, <mailto:hybi-request@ietf.org?subject=unsubscribe>
List-Archive: <http://www.ietf.org/mail-archive/web/hybi>
List-Post: <mailto:hybi@ietf.org>
List-Help: <mailto:hybi-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/hybi>, <mailto:hybi-request@ietf.org?subject=subscribe>
X-List-Received-Date: Fri, 11 Jun 2010 04:26:05 -0000

Hi,

on a purely managerial level, let me point out that this work is far beyond the current charter of the HYBI WG. This defines an entirely new protocol, and will definitely require a charter discussion.

(If there is community/developer interest, we should by all means have that discussion.)

Lars

On 2010-6-10, at 22:35, Erik Möller wrote:

> During the Opera Network Seminar held in Oslo this week I discussed the  
> possible addition of a new wsd: URL scheme to WebSockets that would allow  
> relaxing the packet resends and enable demanding real-time applications to  
> be written. I'd like to summarize some of the conclusions a few of us came  
> to when discussing this (informally).
> 
> Regarding the discussions on at what level the API of a UDP-WebSocket  
> should be: One of the most important aspects to remember are that for this  
> to be interesting to application developers we need all the browser  
> vendors to support this feature in a compatible way. Therefore it doesn't  
> seem reasonable to standardize and spec a higher level network API akin to  
> RakNet / Torque Socket and hope all vendors will be willing to spend the  
> (quite large amount of) resources required for their own implementation of  
> TCP over UDP, bandwidth throttling etc. In our opinion we're much better  
> off standardizing a minimal UDP-like socket. For most application  
> developers it seems likely they will be able to work with a mix of  
> XMLHttpRequest, WebSockets and this new UDP-WebSocket to achieve the same  
> functionality provided by those higher level APIs. If deemed necessary for  
> an application the higher level network API can be written in JavaScript  
> and work on-top of the much smaller hopefully cross-browser compatible  
> UDP-WebSocket API.
> 
> As discussed the following features/limitations are suggested:
> -Same API as WebSockets with the possible addition of an attribute that  
> allows the application developer to find the path MTU of a connected  
> socket.
> -Max allowed send size is 65,507 bytes.
> -Socket is bound to one remote address at creation and stays connected to  
> that host for the duration of its lifetime.
> -IP Broadcast/Multicast addresses are not valid remote addresses and only  
> a set range of ports are valid.
> -Reliable handshake with origin info (Connection timeout will trigger  
> close event.)
> -Automatic keep-alives (to detect force close at remote host and keep NAT  
> traversal active)
> -Reliable close handshake
> -Sockets open sequentially (like current DOS protection in WebSockets) or  
> perhaps have a limit of one socket per remote host.
> -Cap on number of open sockets per host and global user-agent limit.
> 
> Some additional points that were suggested on this list were:
> -Key exchange and encryption
>  If you do want to have key exchange and encryption you really shouldn't  
> reinvent the wheel but rather use a secure WebSocket connection in  
> addition to the UDP-WebSocket. Adding key exchange and encryption to the  
> UDP-WebSocket is discouraged.
> 
> -Client puzzles to reduce connection depletion/CPU depletion attacks to  
> the handshake.
>  If the goal is to prevent DOS attacks on the accepting server this seems  
> futile. Client puzzles only raises the bar ever so slightly for an  
> attacker so this is also discouraged.
> 
> -Packet delivery notification to be a part of the API.
>  Again this is believed to be better left outside the UDP-WebSockets spec  
> and implemented in javascript if the application developer requires it.
> 
> Best Regards,
> 
> -- 
> Erik Möller
> Core Developer
> Opera Software
> _______________________________________________
> hybi mailing list
> hybi@ietf.org
> https://www.ietf.org/mailman/listinfo/hybi