Arthur van Leeuwen writes: > > 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. ... > 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... Right, I forgot about the other half, what interface programs will have to control their own alternative addresses. While I do think there should be such interfaces, I suggest a default that does the "right" thing for applications that don't know about the extension. There should be some command to tell the kernel about the alternatives, e.g., whenever you allocate a port for address 1.2.3.* you should also allocate alternatives for addresses 6.7.8.9 and 4.5.6.7.