0

I have a network of three computers, each of which has two ports. I do not have a network switch (the three ports are 10GbE and the switches are prohibitively expensive for now).

I would like to connect the three such that any one of them can talk to the other (*), but without depending on a strict mapping between which port of the pair should be connected to which peer. Put another way, I'd like a configuration that's stable enough that I could swap the pair of cables connected to a single computer and at least after rebooting all three nodes, expect that the communications would work as normal.

A simple diagram:

   +---------+
   |  Node A |
   |    |eth0}-----+
   |         |?    | +---------+
   |    |eth1}-+   | |  Node C |
   +---------+ |   +-{eth0|    |
               |    ?|         |
               |   +-{eth1|    |
               |   | +---------+
   +---------+ |   |
   |  Node B | |   |
   |    |eth0}-+   |
   |         |?    |
   |    |eth1}-----+
   +---------+

Additionally, I would expect that any such configuration must be a single-hop configuration, enabling bridging (e.g.) would not be an adequate solution.

Note that there is a fixed master among the nodes, though I shouldn't think that would be a necessary component of the solution.

Is there such a configuration? If so, how could I configure it? From what I understand, using multiple identical routes with different interfaces may not be robust enough. I prefer not to use solutions like iptables or tc unless those are the only appropriate tools for this particular task.

(*) "talk to the other" constitutes initiating TCP connections in any direction, UDP+ICMP traffic, etc.

0

2 Answers 2

2

The configuration that satisfies most of your requirements would be to enable bridging and spanning tree on all three servers.

If you can live without the requirement of being able to arbitrarily swap network ports, the simplest thing to do is just configure static IP's for every interface with three different subnets.

There are no configurations that satisfy all of your requirements.

1
  • Thanks for the input. I suspect you're right, but I'll hold out for a little while to see if someone else thinks you're mistaken. :)
    – Brian Cain
    Aug 15, 2013 at 19:45
0

As far as I understand, you need in increasing bandwidth. So why don't use bonding/teaming, such as LACP: http://en.wikipedia.org/wiki/Link_Aggregation_Control_Protocol, which is supported on pretty many switches?

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .