On Tue, 4 Dec 2001, Don Cohen wrote: > ... > > > dead. This is *very* cool on UDP, and will make UDP failover to another > > > route fully transparent. However, it will not fix stateful protocols in > > > which the server on the other side keeps state on the IP address it was > > > talking to, such as SSH. > > Sending packets with the same source address out another link only > helps UDP if it's not necessary to get replies, in which case I > wouldn't call it a "connection". If you didn't need the replies then > you could do the same thing for TCP. Ah, but the rerouting patch doesn't do that. It reroutes and *remasquerades* packets going out. You will only lose return packets destined to the other interface. The problem really only lies in the other end maintaining state in the higher level protocol. > This problem could be fixed by extending TCP (and of course, changing > the kernel) to support multiple IP addresses. I suggest a new option > that says "here's another IP address for me" (or perhaps, here's an > alternative IP/port). The kernel then has to merge these two input > streams. On the output side (when you send to someone who has told > you about alternative addresses) I can think of several ways to > control which address you send to. I suppose the application should > have some way to influence that, but as a first stab, I suggest that > whenever tcp has to resend a packet, it should move to the next > address. Ooh, that'd be cool. Building your own anycast group dynamically... and registering on the other side as said anycast group. Unfortunately, IPv4 doesn't allow for IP anycasting. IPv6, anyone? :) Oh, you're talking about implementing it at the TCP level? Right then... right. That should be possible... if only programs couldn't bind to specific addresses... Doei, Arthur. (Note: the idea is one of the coolest I've seen in a while) -- /\ / | arthurvl@xxxxxxxxxx | Work like you don't need the money /__\ / | A friend is someone with whom | Love like you have never been hurt / \/__ | you can dare to be yourself | Dance like there's nobody watching