I am regularly surprised by network redundancy designs that are either overbuilt or underbuilt. There seem to be two major themes that drive these designs. I’ll address the first theme in this blog entry and the second theme in a successive blog entry.
The first theme results in a network with excessive redundancy. Instead of a primary path and one backup path, it will have more than one backup path. The problem that this creates is the additional design, implementation, and operational complexity. With multiple backup paths, it is difficult to determine which path should be used when the primary path fails. Troubleshooting becomes substantially more challenging when packet flows shift to multiple paths. Add firewalls to different paths and it becomes equally difficult to make sure that all the paths have the same security implementation.
Another problem scenario is that with multiple backup paths, these paths are often also carrying operational data, so when a failure occurs, other operational paths may be negatively affected by the addition of the traffic that is now using the path.
Let’s clarify what happens with this type of design with an example. In the HubSpokeWheel diagram below, each site has three paths connecting it to its neighbors.
The main communications path in this network was from each spoke site to the hub site. The backup paths were via one of the two neighbors. The problem was that the neighbor’s primary path was not sized to handle the load of its spoke site as well as the load of a neighbor’s site (this design was based on low speed links).
I found that the primary path was operating in unidirectional mode, where packets were not going over the primary path to the hub site. Instead, packets were going to the neighbor at the bottom and then into the hub, impacting the operation of users at the neighboring site as well as at the site that had the original problem.
The secondary problem that existed here is that the network engineers didn’t know where their packets would go when a failure occurs and how to troubleshoot it. If two sites have problems, they could have a serious impact on several other sites, resulting in a network that seems to have many more problems than actually exists.
The key to good network design is to design specific redundancy, know where the failure paths will be and make sure that both paths have the same performance and security implementation. Ease of troubleshooting and monitoring are critical to a successful design. In the example above, the customer didn’t know that the alternate paths were being used. You need to know when a failure has occurred so that it can be addressed before a second failure causes a network outage. Ease of troubleshooting will reduce the time to diagnose the failure so that it can be repaired.
Re-posted with Permission
NetCraftsmen would like to acknowledge Infoblox for their permission to re-post this article which originally appeared in the Applied Infrastructure blog under http://www.infoblox.com/en/communities/blogs.html