Take the 2-minute tour ×
Server Fault is a question and answer site for professional system and network administrators. It's 100% free, no registration required.

As a side project we are working on a new internal network for a small UAV and will base it on 100mbit Ethernet instead of serial coms that's usually used for these types of aircraft. We have gone through the entire network and shown that we can handle virtually every failure mode on all devices except for one critical component: the main switch. The flight computer is connected to a switch that distributes data to all other devices on the network. If this switch goes down all internal coms on the aircraft fails, which is less than ideal!

So, what we are wondering is, is it possible to run two identical switches in parallel? Splicing the cables and running them through both switches so that if one fails the second is still relaying the data? My guess is no, so to follow up, is there another way of quickly identifying failure of a switch and rerouting traffic through another one? By quickly we're ideally talking uninterrupted, or less than 1 sec from failure to having the network back up.

Thanks! I'm a complete rookie on robust networks so any help or ideas are greatly appreciated!

share|improve this question
    
+1 for a cool application of tech! –  BillN Dec 14 '10 at 17:19
add comment

1 Answer

up vote 3 down vote accepted

You can't just electrically splice connections. You will need multiple network interfaces in each device connected to the network and the software on those devices will need to handle "failing over" to another connection. Presumably you'd want multiple Ethernet interfaces on each device anyway to allow for failure of the Ethernet hardware on each device. Ultimately, this is more of an issue with your communications protocols than anything to do with Ethernet.

In a datacenter environment you might connect server computers to redundant parallel Ethernet switches that are then connected to each other. Dealing with loops in an Ethernet is the job of the Spanning Tree Protocol. This protocol allows the switches to detect a loop and keep the loop "open" (by deactivating interfaces on switches) such that frames don't bounce back and forth between the switches forever. If the active connection between two switches fails spanning tree detects the failure and activates the redundant connection to re-establish communication.

Dealing with the redundant network connections on, the for the server computers, is a function of the NIC drivers or operating systems on the server computers. Their software must be able to detect the absence of communication on one network interface and correctly send and receive traffic on the redundant interface.

Typically this failure detection is accomplished by way of some type of "heartbeat" packet that is periodically sent from one interface and received by the other. The absence of these heartbeats triggers the failover functionality. You'd need to implement something like this inside each device attached to the network to allow the device to fail over to its redundant interface.

share|improve this answer
    
Great answer! Thanks a lot! –  Mikael Dec 15 '10 at 0:10
add comment

Your Answer

 
discard

By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.