[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: Data Piping



With HTTP/1.1 specification, you can request many objects(files) in a HTTP connection,
if real web servers behind a Load Balancer could collaborate to serve for one TCP conection
without knowing happens at the load balancer. Performance would be improved even in
persist HTTP connections.
 
Let me explain one apllication;
Resonate(www.resonate.com)  has a patent on delayed resource binding, according to
the URL which the client requests they select a web server. But if the requests are in one
persistent connection, they probably need switch to another server according to the URL
binding rule. They can disconnect the original connection and can establish a new connection
internally, but they can also maintain multiple connections. If you keep TCP end points
(IP address and Port Number) and TCP sequence number, you can demultiplex or translate.
 
Basically, this is one of NAT techniques.
 
---
Ryu, Cheol
ryuch@mail.com
 
----- Original Message -----
Sent: Wednesday, November 08, 2000 11:56 PM
Subject: RE: Data Piping

This seems like a multiplexing problem.
 
I assume you will want to de-multiplex at some later point. 
 
(I can not fathom an application that would want to irreversibly mix together a bunch of
independent tcp streams, but perhaps my powers of imagination are lacking).
 
 
The approach would be along these lines:
 
1) Accept all incoming connections
2) Whenever you read() a chunk of bytes from one of them, wrap these bytes into 
your own custom header, which should have at least an ID to signify the original connection where you
received it, possibly a sequence  number, and the length of the chunk.
3) Given the above, you simply write all such chunks preceded by the above header to the output
tcp stream.
4) The recipient can read the above chunks into separate buffers, and decipher the header.
Given that, the messages can now be reassembled into the original streams.
 
cheers,
 
/sG
-----Original Message-----
From: Michael McConnell [mailto:michael@vocalscape.com]
Sent: Wednesday, November 08, 2000 1:03 AM
To: lvs-users@LinuxVirtualServer.org; debian-firewall@lists.debian.org
Subject: Data Piping

Ok here goes some crazy idea.
 
What I want to do is accept multiple TCP connections, but yet, PIPE all the DATA into one single TCP connection?
 
TCP---------\
                \
TCP-----------\
                 \
TCP-------------======== TCP
                 /
TCP----------/
 
Hmm, lets see how outlook does with ANSI...
 
 
Theories?
 
Mike

Reply to: