LVS
lvs-users
Google
 
Web LinuxVirtualServer.org

RE: handoff protocol

To: "'lvs-users@xxxxxxxxxxxxxxxxxxxxxx'" <lvs-users@xxxxxxxxxxxxxxxxxxxxxx>
Subject: RE: handoff protocol
From: Wensong Zhang <wensong@xxxxxxxxxxxx>
Date: Wed, 4 Apr 2001 23:15:12 +0800 (CST)
Hi,

tcp handoff protocol is an interesting stuff.

On Mon, 2 Apr 2001, Steve Gonczi wrote:

> Hi Carl,
>
> I am not aware of any "open standard" way of transferring established
> connections from one host to another. Arguably, this would be useful.
>
> One method has been implemented and published by Mohit Aron & friends.
> The best description has appeared in:
> http://www.cs.rice.edu/~vivek/ASPLOS-98/
>

Just had a look at http://softlib.rice.edu/softlib/scalableRD.html

The code is not under GPL and its variants, and it is for FreeBSD. :(

However, I don't think that it is difficult to implement. I see that the
load balancer need to tell the real server the receiving sequence number
and the sending sequence number, so that the real server can create a
socket with that sequence numbers, then the load balancer will send the
rest incoming packets to the real server through Direct-Routing or
IP-Tunneling. But, we need find a mechanism how to let the load balancer
tell the real server those sequence numbers in a reliable and secure way.

Comments?

Wensong

> Another (different and patented) method has been published by Resonate, inc.
> You can get this via the (used to be) IBM patent server.
> http://www.delphion.com/
>
> I recall a group from MIT published a "private" IETF draft which I can not
> find
> at the moment.
>
> Summary:
>
> In order to hand over an established TCp connection, both the source and the
> target
> of such hand-off has to be modified. (The current, "standard" TCP protocol
> has no such capability).
> Given the above, there are many ways to do this.
> In the simplest scenario, there are 3 hosts involved:
> A,C, and D.
>
> A is sending tcp packets to C, and C decides to transfer the
> connection to D. In this scenario, all 3 need to be aware of
> the hand-off. (D needs to be told to fake up a connection,
> and start accepting packets from A, and A needs to be told to
> start sending the packets to D instead of C).
>
> In a more real-life scenario, there are minimum 4 hosts involved.
> A,B,C, and D.
> A is a client, blissfully unaware of any handoff.
> B is a load balancer/relay that forwards and re-routes packets as needed.
> C and D are the actual hosts that negotiate the handoff.
>
> /sG
>
> _______________________________________________
> LinuxVirtualServer.org mailing list - lvs-users@xxxxxxxxxxxxxxxxxxxxxx
> Send requests to lvs-users-request@xxxxxxxxxxxxxxxxxxxxxx
> or go to http://www.in-addr.de/mailman/listinfo/lvs-users
>




<Prev in Thread] Current Thread [Next in Thread>