Designing an efficient, cost-effective network that meets or exceeds the requirements is no easy matter. Today's equipment and technologies are becoming increasingly diverse and have the alarming property of becoming "old technology" almost as soon as they are installed. Mistakes can be, and often are, expensive. This chapter provides some basic definitions and introduces the concepts of a design process, the intention of which is to ensure that the design develops in a structured way, with all relevant data exposed during the process so that there are no late surprises. It resembles Chapter 1 of High-Performance Network Design: Design Techniques and Tools , and has been included for the sake of completeness. This chapter also introduces the basic hardware and software building blocks used in the construction of modern network designs.
No two people agree exactly on what network design is. Network design is a generic and often subjective term that covers a whole range of skills and tasks, from the logical design elements (such as network protocols, addressing, subnetting), down to the physical design elements (such as physical topology, traffic modeling, circuit infrastructure). This book attempts to provide a holistic approach to network design by covering all the essential elements from the ground up. Whatever be your particular perspective at this point in time, by the end of this book you will get an appreciation of the subject as a whole.
The acid test of a good network design is whether it actually works. The fact is that many organizations today rely on networks that either perform suboptimally or cost more than they should, possibly due to poor design or implementation. These networks can soldier on for years, soaking up more and more resources and money, until somebody takes a serious look at what is going on and decides that things can be improved. The accumulated costs can be frightening in a badly designed international network, and it is still not unusual for a preferred supplier to be thrown out of an account after installation, simply because the proposed design just does not work or the equipment doesn't do what it was supposed to. Life is still full of surprises in the networking world, and every new technology appears to bring with it a new set of implementation issues.
A good network design should have the following characteristics:
It should deliver the services requested by its users.
It should deliver acceptable throughput and response times.
It should be within budget and should maximize cost efficiencies.
It should be reliable.
It should be expandable without requiring a major redesign.
It should be manageable and maintainable by support staff.
It should be well documented.
Above all, a network must meet the application and business expectations of the users; otherwise, it has simply failed to deliver. With today's increasing shortage of skilled engineers it is also vital that even a well-designed network is modular, consistent, and well documented. The downside of ignoring these issues is that time and money are often wasted debugging problems, things are bolted onto the network in a nonstandard way (generating more problems), and eventually the business may have to out-source all management of the network as it becomes just too painful to administer. The golden rule, therefore, is: Keep it simple.
Your job as a network designer, is to understand the complexities of performance analysis and then use that knowledge to build a network that satisfies its users.
In an environment where there is little technical competence it may be important to first educate the users about what they can reasonably expect from the network before moving ahead too quickly; this might at times involve stating the obvious. It is still not uncommon to hear statements such as "the new network is rubbish, there is absolutely no improvement in our database tool." For users who were previously using standalone applications and directly connected printers, installing a fast new network is generally not going to speed things up, and this can often lead to major misconceptions.
With any network design we must focus on what typically concerns the organization most: the performance of the applications and services accessed by its workers and its clients. For network users the most important performance characteristics are those they can directly experience, such as response time and delay. However, there are many other aspects of performance that are important for optimizing bandwidth and running costs—factors that may directly impact profitability of productivity for the business or organization as a whole.
Characterizing performance, particularly on a large heterogeneous internetwork, is a complicated task that requires expertise, since there are many complex interdependencies between systems, protocols, queues, and application software.