> BEN> What redundancy do you expect to get? What will you
> BEN> be able to do that we cannot do today? You mean
> BEN> keeping two stacks in sync across two different machines, so
> BEN> that you can hot-swap processes or something?
> San> Yes, to be more precise, this will be a part of a big VoIP project
> San> and thats the world i belong to
> San> the idea of the project is to have a redundant VoIP entity (may be MG
> /Switch /or MGControllers)
> San> where there will be a Single floating IP, and the whole entity will be a
> San> unit to the outside world. For UDP there is no problem implementing
> this ,
> but with TCP
> San> the stack has to be modified or what i think other ideas like
> San> a net-filter or going for hacking packets at the interface rather than
> San> allowing them to float to stack are also good.
If you start modifying the stack, you will likely have to modify
everything above it (ie the VOIP program). This will get nasty, because
the client on the other end of the TCP connection will have it's
own idea of sequence numbers, etc. As nasty as it sounds, I think
that just by-passing the tcp/ip stack alltogether may be the cleanest route.
This will mean re-implementing most of the stack in user space (ie your VOIP
but maybe that is OK.
Depending on how forgiving TCP/IP is about sequence numbers (and it should
be able to handle duplicate and dropped ones, so it might just recover OK),
it may be possible to used a modified version of the existing TCP stack, but
you may spend 99% of your time chasing hard-to-catch border cases...
Have you considered just finding a piece of hardware/software combo that meets
5-9's, or whatever you are shooting for? Motorolla offers a 5-9's compact-PCI
shelf based on Linux, for example.
Also, since the RTP protocol is based off of UDP (which is admittedly easy to
fail-over), what is running over TCP that is so important?
Ben Greear <greearb@xxxxxxxxxxxxxxx> <Ben_Greear@xxxxxxxxxx>
President of Candela Technologies Inc http://www.candelatech.com
ScryMUD: http://scry.wanfear.com http://scry.wanfear.com/~greear