Prior to taking a look at the various tasks involved in designing a network infrastructure, it’s important to be familiar with the role that a network designer or architect plays. Although the exact responsibilities that a network designer will take on for the duration of a specific project can vary based on the size or scope of the undertaking, common themes apply to almost all projects.
Certainly most network designers start their careers on some network engineering-related path; foundation knowledge and hands-on experience in these areas is critical. However, the main goal of a network design professional is to map an organization’s main business and technical goals to a functional network design that meets all stated needs. In some cases this can be a relatively simple undertaking, but in many cases, the process is much more complex. On a typical network design project, the designer handles roles that include needs analysis, data gathering, producing documentation, designing an appropriate solution, overseeing implementation, troubleshooting, verification, and more.
Quite simply, network designers wear many hats; they not only have to be able to effectively determine the true business and technical requirements driving a project, but also deal with a range of non-technical issues including personnel, politics, scheduling, and even “selling” their concept. At the end of the day, however, a good network designer will still be able to roll up their sleeves, get in there, and configure equipment if necessary. Their approach may seem very high-level in some ways, but a thorough understanding of how systems function, interrelate, and are configured is equally crucial.
When it comes to network design, you’re pretty much left with two options – a flat design, or one that involves some type of hierarchy. A flat design can be very limiting in terms of performance and scalability, and in all but the smallest networks would not be recommended. For example, on a flat network issues like broadcast traffic can quickly overwhelm network systems and negatively impact performance. In contrast, a hierarchical design will allow for unique divisions of responsibility to be created on the network. Thus a higher degree of performance, reliability, scalability and security can be achieved. The Cisco network design model is a reference model for creating hierarchical networks that attempts to account for these factors, while also providing an insight as to where different network elements should be deployed and why.
The Cisco network design model consists of three layers. These include:
- The Core Layer
- The Distribution Layer
- The Access Layer
Figure: Cisco Hierarchical Network Design Model
The core layer describes what is often referred to as the network backbone. Its main responsibility is ensuring that data is passed at high speeds between different sites. Because of this high-speed requirement, the backbone should usually make use of switching technologies instead of routing. While we’ll look at the differences between switching and routing in later chapters, for now it is sufficient to say that switching is significantly faster than routing.
The core layer should also provide a high degree of reliability and fault tolerance. This is usually implemented using higher-end equipment and redundant links. For the most part, the core layer should not be scaled to include additional equipment if performance is deteriorating. In such cases, backbone switches should be replaced with better performing models. By replacing equipment, the core layer maintains a constant diameter, helping to avoid the introduction of additional latency.
As a general rule, anything that slows down performance should be kept away from the core layer. Beyond routing, this also means avoiding features such as access lists, firewall and intrusion detection system (IDS) sensors – these inspect traffic based on network addresses and applications, and can negatively impact performance.
One thing you will quickly notice about network models is that they tend to follow a layered design. I personally prefer looking at them as being modular, because it better conveys the idea of separate and changeable elements. The reason for the distinct sections within various models is simple – think of it as “a place for everything, and everything in its place”. Consider how roles and responsibilities often get separated in real life. At a restaurant, one person may cook your dinner, another serves it, and yet another washes the dishes when you’re done. In this way, any one element can be replaced or altered without having a huge impact on the others. Network models work in much the same way, except that each layer has different responsibilities with respect to network communication.
The main reasons for following a layered or modular design include:
- The separation of functions. For example, one layer might be worried about communication reliability, while another is concerned with the technical details of data transmission.
- Ability to make changes easily. If changes need to be made to a given layer, these can usually be isolated, not requiring a redesign of other layers.
- Simplification. By dividing roles and responsibilities into different layers, the complexity of networking can be broken down into more manageable sections. This also makes network communication an easier subject to teach and learn.
- Standardization. If a layered model is an industry standard, vendors can use the model as a blueprint to design systems capable of interoperating.