The following is an excerpt from Network Analysis, Architecture, and Design, by James McCabe; copyright 2007. It is reprinted here with permission from Morgan Kaufmann, a division of Elsevier. Read the full chapter, Introduction to network analysis, architecture and design.
In order to understand and apply the concepts in this chapter, you should be familiar with basic networking concepts. This includes the functions and features of the TCP/IP protocol suite, technologies such as the variants of Ethernet, synchronous optical network (SONET), and wave division multiplexing (WDM), and the basics of network routing, security, performance, and management.
Network analysis, architecture, and design have traditionally been considered art, combining an individual's particular rules on evaluating and choosing network technologies; knowledge about how technologies, services, and protocols can be meaningfully combined; experience in what works and what doesn't; along with (often arbitrary) selections of network architectures. However, as with other types of art, success of a particular network design often depends primarily on who is doing the work, with results that are rarely reproducible. This may have been acceptable in the early days of networking, when networks were more of a hobby than a critical resource and did not directly support revenue generation. Today, however, networks are embedded within our work, home, and outside environments. They are considered "mission-critical"1 to corporate success and provide near real-time access to information throughout the world. As such, the design of a network must be logical, reproducible, and defensible. This premise is the foundation for this book.
Traditionally, network analysis, architecture, and design have been based on developing and applying a set of rules for the network. In developing a set of rules, an individual may draw from personal experience as well as from general rules such as the 80/20 rule (where 80% of a network's traffic is local and 20% is remote) or the adage "bridge when you can, route when you must" (bridging being simpler, easier, and cheaper at the time). As we see later in this book, although both of these rules are ancient from the perspective of networking history, they still apply today, albeit in modified form. Such rules were useful when there weren't many choices in network technologies and services, and when the differences between choices were clearly understood. But times have changed, and our notion of designing networks must adapt to the variety of options now available to us, the variety of services that networks can offer to end users, and the subtle nuances brought about by combining network technologies, techniques, and services.
Network analysis, architecture, and design have traditionally focused on capacity planning, which is over-engineering a network to provide an amount of capacity (also known as bandwidth) estimated to accommodate most short- and long-term traffic fluctuations over the life cycle of the design. The result is a bandwidth "buffer" that can handle these fluctuations. As network traffic grows over time, this bandwidth buffer is reduced, and users experience problems related to traffic congestion. This is an inefficient use of network resources, wasting money up front in resources that are not used while failing to provide the flexibility needed to adapt to users' changing traffic requirements. Network bandwidth is only one component of network resources that we must consider. We also need to consider how delay through the network, as well as network reliability, maintainability, and availability (RMA), can be optimized. In today's evolving networks, delay and reliability can be more important than capacity.
In this book we explore how the analysis, architecture, and design processes have changed and how they continue to change. We discuss how these processes work together in engineering a new or existing network. We approach networks from a different perspective—as a system providing services to its users—and we discuss how networks can be designed to provide many different types of services to users. In taking this approach we emphasize network analysis, which helps us understand what is required of a network in supporting its customers and their applications and devices. As we will see, these processes require an investment in time and effort, but the return on investment is significant. These are powerful tools that can help you build better networks, improving the ability of your organization to get its work done.
This book begins by applying a systems methodology to networking. This methodology is relatively new, and you will learn a number of useful definitions in regard to network analysis, architecture, and design. The rest of this book is logically divided into three sections. The first section covers the analysis process: specifically, how to develop requirements, understand traffic flows, and conduct a risk analysis. The analysis process prepares you for dealing with network architecture, discussed in the second section. Here I describe how to make technology and topology choices for your network, how to understand the relationships among the various functions within your network, and how to use this information to develop an architecture. In the final section the network architecture is used as input for the design process, where location information, equipment, and vendor selections are used to detail the design. Information flows between analysis, architecture, and design processes are presented in Figure 1.1.
Figure 1.1 Information flows between network analysis, architecture, and design
Network analysis, architecture, and design will help you identify and apply network services and performance levels needed to satisfy your users. Through these processes you will be able to understand the problems you are trying to address with the new network; determine the service and performance objectives needed to tackle these problems; and architect and design the network to provide the desired services and performance levels.
Overview of network analysis, architecture, and design processes
Network analysis, architecture, and design are processes used to produce designs that are logical, reproducible, and defensible. These processes are interconnected, in that the output of one process is used directly as input to the next, thus creating flows of information from analysis to architecture, and from architecture to design.
Network analysis entails learning what users, their applications, and devices need from the network (Figure 1.2). It is also about understanding network behavior under various situations. Network analysis also defines, determines, and describes relationships among users, applications, devices, and networks. In the process, network analysis provides the foundation for all the architecture and design decisions to follow. The purpose of network analysis is twofold: first, to listen to users and understand their needs; and second, to understand the system.
In analyzing a network we examine the state of the existing network, including whatever problems it may be having. We develop sets of problem statements and objectives that describe what our target network will be addressing. And we develop requirements and traffic flows, as well as mappings of users, applications, and devices, in support of our problem statements and objectives. As such, network analysis helps us understand what problems we are trying to solve, and in the process we compile information that will be used in developing the architecture and design.
Figure 1.2 Inputs to and outputs from the network analysis process
Network architecture uses the information from the analysis process to develop a conceptual, high-level, end-to-end structure for the network. In developing the network architecture we make technology and topology choices for the network. We also determine the relationships among the functions of the network (addressing/routing, network management, performance, and security), and how to optimize the architecture across these relationships. There usually is not a single "right" architecture or design for a network; instead there are several that will work, some better than others. The architecture and design processes focus on finding those best candidates for architecture and design (optimized across several parameters) for your conditions.
The network architecture process determines sets of technology and topology choices; the classes of equipment needed; and the relationships among network functions (Figure 1.3).
Network design provides physical detail to the architecture. It is the target of our work, the culmination of analysis and architecture processes. Physical detail includes blueprints and drawings of the network; selections of vendors and service providers; and selections of equipment (including equipment types and configurations) (Figure 1.4).
Figure 1.3 Inputs to and outputs from the network architecture process
Figure 1.4 Inputs to and outputs from the network design process
During network design we use an evaluation process to make vendor, service provider, and equipment selections, based on input from the network analysis and architecture. You will learn how to set design goals, such as minimizing network costs or maximizing performance, as well as how to achieve these goals, through mapping network performance and function to your design goals and evaluating your design against its goals to recognize when the design varies significantly from these goals. Network design is also about applying the trade-offs, dependencies, and constraints developed as part of the network architecture. Trade-offs, such as cost versus performance or simplicity versus function, occur throughout the design process, and a large part of network design concerns recognizing such trade-offs (as well as interactions, dependencies, and constraints) and optimizing the design among them. As part of the design process you will also learn how to develop evaluation criteria for your designs.
As we show throughout the remainder of this book, network analysis, architecture, and design combine several things—requirements, traffic flows, architectural and design goals, interactions, trade-offs, dependencies, constraints, and evaluation criteria—to optimize a network's architecture and design across several parameters. These parameters are chosen and analyzed during the analysis process and prioritized and evaluated during the architecture and design processes. On completion of these processes you should have a thorough understanding of the network and plenty of documentation to take you forward to implementation, testing, and integration.
Continue reading this chapter on network analysis, architecture and design.