Keep it simple, stupid (KISS) is a design principle that requires a system’s design to be as simple as possible. Complex design may be expensive to build and maintain. Also, unnecessary features or components increase the potential for failures. From a management perspective, network designs should be simple enough for… Read more »
Scalability is the measure of a system’s ability to increase or decrease in performance in response to changes in demands. For networks, this means change in the number of users, number of end nodes, the amount of bandwidth, or the demand on any service provided by the network. Networks need… Read more »
Redundancy is a primary tool to create resilience in communications networks. It eliminates the single point of failure by relying on the probability that it is rare that two network components fail at the same time. Redundancy can be classified into [Lidwell]: Diverse redundancy Diverse redundancy uses multiple components of… Read more »
Designers in many fields (architecture, software, and engineering, for example) rarely approach a design problem by re-inventing the wheel. Instead, designers topically apply design patterns. Design patterns are typical solutions to common problems in design. A pattern is a standard blueprint that can be used to solve a particular design… Read more »
Modularity is one of the common design principles. In networks, the general architecture can be divided into multiple modules, with each module serving a specific function in the network. The individual modules may serve different functions, such as enterprise LAN, WAN, or data centre, or they can replicate the same… Read more »
The hierarchy of needs principle is inspired by Maslow’s Hierarchy of Needs. The principle specifies that a design must serve the low-level needs before the higher level needs. Good designs follow the hierarchy of needs principle rather than trying to satisfy requirements irrespective of their relation to each other [Lidwell]…. Read more »
Flexible systems have the ability to perform more functions, but they perform these functions less efficiently than specialized systems. As the flexibility of a designed system increases, its usability decreases. Flexibility also comes at the expense of more complexity in the design and higher cost; therefore, a tradeoff between flexibility… Read more »
Creating exact performance specifications for a new network design is a challenging task. There can be many unknowns that force the designer to make assumptions and guesses. The level of uncertainty also grows as the number of design variables increases. Engineers use factors of safety to compensate for any errors… Read more »
A common approach in solving complex engineering problems is to break them into smaller problems and solve each one separately. Unlike some complex systems, such as an airplane, which consists of almost independent subsystems (fuselage, wings, engine, navigation, etc.) that can be designed independently, network components are interconnected and cannot… Read more »
Network design is an exercise in decision making. The design process takes client requirements and constraints as input and produces a set of maps, plans, quantities, and policies. The process is influenced also by sets of business and environment contexts. A common approach to designing networks is to follow a… Read more »