Is it possible to connect 2 network switches to multiple switches for redundancy?

Posted on August 28th, 2011 by admin in networking switches | 2 Comments »

Here’s the example, a single server with 2 NIC with a single virtual IP connected to 2 switches A and B. From A and B both will be interconnected to another 2 switches C and D. From C and D to a single switch and from that single switch to a PC.

Is this possible in a networking environment?

Yes, it’s possible. I generally recommend using OSPF or RIP routing with VLAN trunking or a routing switch, but there are a lot of other ways to do it.

Spanning tree is another way. If you’re willing to make sure your single switch supports spanning tree and you’re willing to bridge the two NICs in the server, it will all ‘just work’. However, if you’re not careful, you may wind up with awful traffic patterns. (For example, if another device connected to switch C needs to talk to another device on switch D, that may wind up going through the server!)

Where do you want the intelligence to be? Putting it in the single PC is the simplest solution. But if your implicit assumption is that dozens of PCs will all be able to access the server, then that’s not going to work for you.

The single switch can also make the decision if it’s a routing switch. If you use OSPF and put switches C and D in totally separate networks, that works too. In that case, you assign the virtual IP to a loopback interface. The server will need IP addresses for each NIC too, so if you have an IP address shortage, that might rule out this solution.

But the short answer is, yes, it’s possible. However, these solutions have enough complexity that they should be designed, implemented, and managed by people who have familiarity with IP failover and routing. There are many more ways to do it wrong than to do it right. ;)

If you want to email me some more details, like expected traffic levels, budget, any hardware you already have and plan to use, whether the is Internet or private, whether you have other equipment on those switches or all this is for one server, server OS, any specific requirements on things like failover time, and so on, I’ll gladly give you a free consultation. If you’re concerned about privacy or anything like that, email me and I’ll provide some references so you can see I’m not just some guy.

2 Responses

  1. JoelKatz Says:

    Yes, it’s possible. I generally recommend using OSPF or RIP routing with VLAN trunking or a routing switch, but there are a lot of other ways to do it.

    Spanning tree is another way. If you’re willing to make sure your single switch supports spanning tree and you’re willing to bridge the two NICs in the server, it will all ‘just work’. However, if you’re not careful, you may wind up with awful traffic patterns. (For example, if another device connected to switch C needs to talk to another device on switch D, that may wind up going through the server!)

    Where do you want the intelligence to be? Putting it in the single PC is the simplest solution. But if your implicit assumption is that dozens of PCs will all be able to access the server, then that’s not going to work for you.

    The single switch can also make the decision if it’s a routing switch. If you use OSPF and put switches C and D in totally separate networks, that works too. In that case, you assign the virtual IP to a loopback interface. The server will need IP addresses for each NIC too, so if you have an IP address shortage, that might rule out this solution.

    But the short answer is, yes, it’s possible. However, these solutions have enough complexity that they should be designed, implemented, and managed by people who have familiarity with IP failover and routing. There are many more ways to do it wrong than to do it right. ;)

    If you want to email me some more details, like expected traffic levels, budget, any hardware you already have and plan to use, whether the is Internet or private, whether you have other equipment on those switches or all this is for one server, server OS, any specific requirements on things like failover time, and so on, I’ll gladly give you a free consultation. If you’re concerned about privacy or anything like that, email me and I’ll provide some references so you can see I’m not just some guy.
    References :

  2. Dan Justdan Says:

    Hmmm I don’t think I’ve ever disagreed with Joel…

    I don’t see any reason to introduce routing into this environment since the server and the PC both have a single IP address. Even if it had multiple addresses I don’t see anything gained by bringing routing into it. (would love to hear more details though)

    I will say that this is the ONLY thing I ever saw worthwhile in cisco’s nexus line. The ability to create trunks (etherchannels, whatever) between two physically separate switches. Those allow you to bond (trunk, etherchannel, whatever) the two server connections and the two switch ISLs together and treat them logically as a single link. (with redundancy and increased bi-directional, shared bandwidth)

    Otherwise, this configuration would be possible but would require spanning tree (since there are obvious loops) and some of the connections would be disabled to break the loops. Also, the server would not be able to trunk the two ports together. the best it could do is use one port to handle all the incoming traffic (because that port responds to ARPs until it fails and the other takes over) and both ports can handle transmitted data (for double bandwidth). That requires some intelligence in the NIC to pair the ports together.

    Between switches (and ignoring the cisco/nexus option) if you had multiple VLANs you could mess with the spanning tree defaults and split the traffic down the different paths using per VLAN spanning tree. A given VLAN would still be limited to the speed of a single port.

    edit: oh yeah, the question… Yes it is possible.
    References :
    My major Layer2 bias :) coupled with lots of experience

Leave a Comment

Please note: Comment moderation is enabled and may delay your comment. There is no need to resubmit your comment.

|