Messages in this thread | | | Date | Mon, 18 Jan 1999 23:36:12 -0500 (EST) | From | lk@winux ... | Subject | Re: TCP Splice alleviates proxy bottleneck |
| |
Alan Cox writes: > From: alan@lxorguk.ukuu.org.uk (Alan Cox) > To: lk@winux.com > Cc: alan@lxorguk.ukuu.org.uk, linux-kernel@vger.rutgers.edu > Subject: Re: TCP Splice alleviates proxy bottleneck > Date: Mon, 18 Jan 1999 14:53:14 +0000 (GMT) > >> Thus, once the authentication is finished, the user level code in the >> proxy takes itself out of the path. > > Yes I'm aware of the extra flexibility. > >> Their work on TCP Splice gives the efficiency of IP masquerading, yea, >> even that of simple IP forwarding, to processes with the capabilities >> of application level proxies. > > Their ? Having looked at the reference I'd like Larry McVoy's opinion on > its originality 8)
I'm not sure what you mean by this. Are you referring to Larry McVoy's paper "Splice - a push pull I/O model for Unix" dated 6/24/98 [1]?
If so, the model he presents is a bit different than theirs. A cursory reading of his paper indicates to me that his model is intended to be more general, i.e. not intended purely for TCP/IP, and as such it (rightly) glosses over most of the TCP/IP-specific issues that Pravin and Maltz address in their paper dated 3/17/98 [2]. They also have the advantage of having implemented their ideas.
The notion of splicing a network connection between a client and a server is not new and I didn't notice any of the authors claiming that it is. My first experience with this kind of splicing was in 198"mumble" with an authentication server for an early implementation of Datakit at Bell Labs. I think network splicing in that context was "invented" by Richard Karhuse, but it may be that he was not the first to invent it either. It acted just as I described in my "easy example" where the authentication server accepted a connection from a user, validated their credentials, opened a connection to the target host, then spliced the two connections together.
My point in bringing their work to the linux-kernel list was not to proclaim their ordinality or uniqueness with this technique, but rather to encourage the Linux developers to think about adding this kind of functionality to the kernel.
"TCP Splice" could dramatically improve the performance of proxies that run on Linux. I hope that someone with the knowledge and skill to implement it, or something like it, will invest the effort to do so. I would be a willing helper, but I am clearly not the best man for the job.
We've probably said enough about this on the mailing list to make those who are interested read the papers, and to completely exhaust our welcome with those are are not interested. If anyone would like to pursue a Linux implementation of TCP Splice, please contact me. I'll help in any way that I can.
-lda
References:
[1] http://www.bitmover.com/lm/papers/splice.ps [2] http://www.cs.umd.edu/users/pravin/TR-21139.ps.gz
- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.rutgers.edu Please read the FAQ at http://www.tux.org/lkml/
| |