Messages in this thread | | | Subject | Re: Process Migration on Linux - Impossible? | From | (Scott Laird) | Date | Wed, 01 Oct 1997 14:22:22 -0700 |
| |
In message <19971001204635.6125.qmail@quasar.lunix.org>, thospel@mail.dma.be wr ites: >> >> Nope. Not so. You can't migrate a TCP/IP connection between machines ev>en > >I've been wondering about that. It would seem possible if the machine >that receives the proces (let's call it B) is on the same net with ethernet. >B would put it's card in promiscuous mode, and listen for packets that are >meant for the port/ip adress of the application. The machine the process >comes from (A) would stop responding to packets for that process. As long >as the router accepts answers coming from the ethernet-adress of B >(encapsulating perfectly good IP packets that are ok for the rest), >it would seem that in fact B could >take over A's network connection. A and B can compare notes ever so often to >see whose card can best be put in promiscuous mode (maybe even both if >there's also processes from B on A).
You can do even better with IPv6 (or even v4, if you don't mind wasting huge tracts of address space). Just give each program that needs the ability to migrate gets its own IP address. All connections that the program opens use that IP address. Then, when it's time to migrate, move the address along with the process. It'll need a bit of kernel support on both ends of the migration, but it'll be completely transparent to everyone else, assuming that both the old and new computers are on the same physical network.
Scott
| |