From owner-freebsd-hackers@FreeBSD.ORG Mon Jul 12 23:32:03 2010 Return-Path: Delivered-To: hackers@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id D3B701065673 for ; Mon, 12 Jul 2010 23:32:03 +0000 (UTC) (envelope-from babkin@verizon.net) Received: from vms173001pub.verizon.net (vms173001pub.verizon.net [206.46.173.1]) by mx1.freebsd.org (Postfix) with ESMTP id B4F318FC1A for ; Mon, 12 Jul 2010 23:32:03 +0000 (UTC) Received: from verizon.net ([unknown] [173.54.27.21]) by vms173001.mailsrvcs.net (Sun Java(tm) System Messaging Server 7u2-7.02 32bit (built Apr 16 2009)) with ESMTPA id <0L5G00CCZXCYCID6@vms173001.mailsrvcs.net> for hackers@freebsd.org; Mon, 12 Jul 2010 18:31:50 -0500 (CDT) Sender: root Message-id: <4C3B75AA.BDB74226@verizon.net> Date: Mon, 12 Jul 2010 16:06:02 -0400 From: Sergey Babkin X-Mailer: Mozilla 4.7 [en] (X11; U; FreeBSD 4.7-RELEASE i386) X-Accept-Language: en, ru MIME-version: 1.0 To: Dirk-Willem van Gulik References: <4C386208.291D2FB5@verizon.net> <545831D4-73C5-46E1-9502-E4687DA6EEF5@webweaving.org> Content-type: text/plain; charset=us-ascii Content-transfer-encoding: 7bit X-Mailman-Approved-At: Mon, 12 Jul 2010 23:44:00 +0000 Cc: hackers@freebsd.org Subject: Re: TCP over UDP X-BeenThere: freebsd-hackers@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: Technical Discussions relating to FreeBSD List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 12 Jul 2010 23:32:03 -0000 Dirk-Willem van Gulik wrote: > > On 10 Jul 2010, at 13:05, Sergey Babkin wrote: > > > I've got this idea, and I wonder if anyone has done it already, > > and if not then why. The idea is to put the TCP logic over UDP. > > Have you looked at T/TCP [1,2,3] ? > > Dw > > 1: http://www.manpages.info/freebsd/ttcp.4.html > 2: http://en.wikipedia.org/wiki/T/TCP > 3: http://people.freebsd.org/~andre/Optimizing%20the%20FreeBSD%20IP%20and%20TCP%20Stack%20-%20Presentation.pdf It's been a sort of a remote inspiration :-) A major problem with it (besides the security stuff listed on Wiki) is that it's implementation is in-kernel, and as such can be used directly only when the OS has the implementation. There is no way to write a portable application with it. Other than that, I'm proposing an opposite approach: why bother about reducing the cost of the initial connection, if we can instead just open the connection once and then keep it open for a very long time at a low cost? -SB