freebsd-hackers Digest, Vol 233, Issue 3

Alexey Bobok alexey.bobok at
Wed Sep 12 05:39:57 PDT 2007

Здравствуйте, freebsd-hackers-request.

I think it's not real because of implementation of TCP protocol (ACK
numbers and so on). Maybe it's easier to use smthng like CARP to share
1 IP between multiple hosts, PFSYNC to share state tables of PF?

> Send freebsd-hackers mailing list submissions to
>         freebsd-hackers at

> To subscribe or unsubscribe via the World Wide Web, visit
> or, via email, send a message with subject or body 'help' to
>         freebsd-hackers-request at

> You can reach the person managing the list at
>         freebsd-hackers-owner at

> When replying, please edit your Subject line so it is more specific
> than "Re: Contents of freebsd-hackers digest..."

> Today's Topics:

>    1. TCP/IP redundant connections (Artem Kazakov)
>    2. Announcement: Devilator 1.0a for FreeBSD (Borja Marcos)

> ----------------------------------------------------------------------

> Message: 1
> Date: Tue, 11 Sep 2007 23:33:19 +0900
> From: "Artem Kazakov" <kazakov at>
> Subject: TCP/IP redundant connections
> To: "FreeBSD Hackers" <freebsd-hackers at>
> Message-ID:
>         <f84a63260709110733n759224e4ufb475d9e7986da9d at>
> Content-Type: text/plain; charset=ISO-8859-1

> Hello Everyone!

> For my research project I'm working on making some network services redundant.
> And I have one idea, but I'm not so good and operating system
> internals, so could you please tell what do you think. If it is
> possible at all.

> So, I have two hosts, which are all the same and they have some
> network service which I need to make available all the time.  This
> service has some internal state, which is synchronized over private
> connection. And at one time only one of the servers actually works
> with clients, the other on is just sitting there and kept
> synchronized.
> The clients have persistent TCP connections to the server, and in case
> of failure they make UDP broadcasts searching for server and then
> reconnect. So basically there is no need to use IP-sharing between two
> of them. But if the server fails, the client usually notices that
> after some time-out (tcp keep alive time out I suppose) which is not
> very good in some cases.
> So I want to utilize IP-sharing and TCP-connection synchronization
> (which is not yet implemented by anyone as far as I know).  I want it
> in case of failure seamlessly to switch to the other machine. As far
> as the internal state is synchronized, if it is possible to
> synchronize open connections as well(and all the low level stuff as
> packet sequence numbers and so on) it would allow to make switch-over
> to the back-up server in a matter of seconds, and the clients would
> stay connected.
> Is is possible to do so ? And if yes, how difficult would it be for a
> person who has solid background in general-tasks programming, but no
> experience with low level system programming ? And what are the
> possible cave-eats of this approach?

> Thank you.
> Artem Kazakov.

С уважением,
 Алексей Бобок                         mailto:alexey.bobok at

More information about the freebsd-hackers mailing list