Network Analysis Architecture And Design Third Edition The Morgan zfakijouor .ml/pdf/caite.info Purchase Network Analysis, Architecture, and Design - 3rd Edition. Print Book & E-Book. 3rd Edition. 0 star rating DRM-free (EPub, PDF, Mobi). × DRM-Free. Network Analysis,. Architecture, and Design. THIRD EDITION. James D. McCabe. Amsterdam • Boston • Heidelberg • London. New York • Oxford • Paris • San.
|Language:||English, Spanish, Hindi|
|Genre:||Politics & Laws|
|ePub File Size:||17.74 MB|
|PDF File Size:||12.82 MB|
|Distribution:||Free* [*Regsitration Required]|
Network Analysis,. Architecture, and Design. THIRD EDITION. James D. McCabe. Amsterdam • Boston • Heidelberg • London. New York. Network Analysis, Architecture, and Design THIRD EDITION The Morgan Kaufmann Series in Networking Series Editor, David Clark, M.I.T. Network Analysis. Smart Dust: Sensor Network Applications, Architecture and Design Firewall Design and Analysis (Computer and Network Security) Network Analysis, Architecture, and Design THIRD EDITION The Morgan Kaufmann Series in Networking.
Delay is a measure of the time differences in the transfer and processing of information. This approach matches the new business climate where customers drive the development of new services and the book discusses how networks can be architected and designed to provide many different types of services to customers. Thus, in determining low and high performance for a network, we will develop one or more performance thresholds for that network. Hierarchies are important because they help us in determining the sizes of networks, including routing and addressing configurations, and the scaling of network technologies, performance, and service levels. Thus the long-term target is variable.
The result was that the firewall changed the capacity characteristics across the path by reducing throughput between the user PCs and the GigE switch, as shown in Figure 1.
By considering security, network management, services, and routing and addressing in the analysis process, we are Service Characteristics 39 much more likely to understand their behavior and effect on each other and the network. We are therefore able to architect the network to accommodate their requirements and interoperability.
When service characteristics apply to individual network devices, such as routers, switches, data service units DSUs , and so on, some of these characteristics may be vendor specific. In this book we focus on those characteristics that are part of public standards and not vendor specific. Based on their predictability, service requests are categorized as best effort, predictable, or guaranteed.
Service requests and requirements can also be appropriate for single- or multiple-tier performance for a network. Best-effort service means that there is no control over how the network will satisfy the service request—that there are no guarantees associated with this service. Such requests indicate that the rest of the system users, applications, and devices will need to adapt to the state of the network at any given time.
Thus, the expected service for such requests will be both unpredictable and unreliable, with variable performance across a range of values from the network being unavailable to the lowest common denominator of performance across all of the technologies in the end-to-end path. Such service requests either have no specific performance requirements for the network or are based solely on estimates of capacity. When requirements are nonspecific, network performance cannot be tuned to satisfy any particular user, application, or device requirement.
Guaranteed service is the opposite of best-effort service. Where best-effort service is unpredictable and unreliable, guaranteed service must be predictable and reliable to such a degree that, when service is not available, the system is held accountable.
A guaranteed service implies a contract between the user and provider. For periods when the contract is broken e.
These are predictable services, which require some degree of predictability more than best effort yet do not require the accountability of a guaranteed service. Predictable and guaranteed service requests are based on some a priori knowledge of and control over the state of the system. Such requests may require that the service either operates predictably or is bounded.
Therefore, such services must have a clear set of requirements. For the network to provision resources to support a predictable or guaranteed service, the service requirements of that request must be configurable, measurable, and verifiable.
This is where service requests, offerings, and metrics are applied. Note that there are times when a service can be best effort, predictable, or guaranteed, depending on how it is interpreted. Therefore, it is important to understand the need for a good set of requirements because these will help determine the types of services to plan for. Also, although the term predictable lies in a gray area between best effort and guaranteed, it is the type of service most likely to be served by most performance mechanisms, as we see in Chapter 8.
Capacity or bandwidth is a finite resource within a network. As more flows were added to that connection, the resources would be spread out until, at some point, congestion occurs.
Congestion would disrupt the traffic flows across that connection, affecting the protocols and applications for each flow. What is key here is that, in terms of resource allocation, all traffic flows have some access to resources.
This is shown in Figure 1. In this figure available capacity dashed curve decreases as the number of traffic flows increases. Correspondingly, the loading on the network solid curve from all of the traffic flows increases. However, at some point congestion affects the amount of user traffic being carried by the connection, and throughput of the connection heavy curve drops.
As congestion interferes with the end-to-end transport of traffic, some protocols e. The difference between the loading and the throughput curves is due to retransmissions.
This is undesirable, for while the connection is being loaded, only a percentage of that loading are successfully delivered to destinations. At some point all of the traffic on that connection could be due to retransmissions and throughput would approach zero. This approach is used in best-effort networks. In contrast, consider a traditional telephony network. Calls are made on this network, and resources are allocated to each call. As more calls are added to the network, at the point where all of the resources have been allocated, additional calls are refused.
The exiting calls on the network may suffer no performance degradation, but no new calls are allowed until resources are available. Call admission control CAC is a mechanism to limit the number of calls on a network, thereby controlling the allocation of resources. As each call is accepted, resources are allocated to it, so the availability drops and loading increases for each call.
When the resources are exhausted, no further calls are permitted. Congestion is not a problem for the existing calls, and throughput is maximized. This approach is similar to a guaranteed service. There is a trade-off between these two approaches to resource allocation in a network. Although a best-effort network allows access to as many traffic flows as possible, performance degradation across all of the traffic flows can occur.
Admission control preserves resources for traffic flows that have already been allocated resources but will refuse additional traffic flows when resources are exhausted. For example, a voice over IP VoIP service, which provides a telephony service across a data network, requires some of the characteristics of CAC while operating over a best-effort network.
Such hybrid approaches are discussed in detail in Chapter 8. Service requests and requirements can also be low or high performance in terms of capacity, delay, and RMA. Low- and high-performance requirements depend on each particular network. A requirement is low or high performance relative to other requirements for that network. Thus, in determining low and high performance for a network, we will develop one or more performance thresholds for that network.
Multiple-tier performance indicates that there are multiple tiers of performance for that network. Single-tier performance requirements are roughly equivalent within a network. Note that low and high performances are not described in terms of best-effort, predictable, or guaranteed service because they are independent of each other. Best-effort, predictable, and guaranteed service refer to the degree of predictability of a request or requirement, whereas low and high performances refer to a relative performance level for that request or requirement.
For example, a network can be Service Characteristics 43 entirely best effort most current networks are , yet we can often distinguish lowand high-performance requirements for such a network. And when a network has low- and high-performance regions for capacity, delay, and RMA, there may be predictable or guaranteed requirements in either region.
By their nature, each service has its associated set of requirements. These requirements are based on the levels of performance and function desired by the user, application, or device requesting service. Performance requirements are described in terms of capacity, delay, and RMA, whereas functional requirements describe specific functions needed in the service, such as multicast, security, management, or accounting.
We use requests for performance and function in developing the network architecture and design—for example, in describing the overall level of performance needed in the network. As mentioned earlier, service performance requirements capacity, delay, and RMA can be grouped together, forming one or more service levels.
For example, a service request may couple a specific capacity e. Thus, service levels are a way to map performance and functional requirements to a well-known or standard network service offering. A properly specified service provides insight into which performance characteristics should be measured in the network to verify service delivery.
These service offerings e. Service offerings map to service requests and thus can also be categorized as best effort, predictable, or guaranteed. Best-effort service offerings are not predictable— they are based on the state of the network at any given time. There is little or no prior knowledge about available performance, and there is no control over the network at any time.
Most networks today operate in best-effort mode. A good example of a network that offers best-effort service is the current Internet.
Best-effort service offerings are compatible with best-effort service requests. Neither the service offering nor the request assumes any knowledge about the state of or control over the network.
The network offers whatever service is available at that time typically just available bandwidth , and the rest of the system adapts the flow of information to the available service e. An example of a best-effort service request and offering is a file transfer e. FTP uses TCP as its transport protocol, which adapts, via a slidingwindow flow-control mechanism, to approximate the current state of the network it is operating across. Thus, the service requirement from FTP over TCP is best effort, and the corresponding service offering from the Internet is best effort.
The result is that, when the FTP session is active, the performance characteristics of the network Internet and flow control TCP windows are constantly interacting and adapting, as well as contending with other application sessions for network resources. On the other hand, predictable and guaranteed service offerings have some degree of predictability or are bounded. To achieve this, there has to be some knowledge of the network, along with control over the network, in order to meet performance bounds or guarantees.
Such services must be measurable and verifiable. Just because a service is predictable or guaranteed does not necessarily imply that it is also high performance. Take, for example, the telephone network. It offers predictable service but low performance in terms of capacity. To support voice conversations, this network must be able to support fairly strict delay and delay variation tolerances, even though the capacity per user session telephone call is relatively small, or low performance.
What is well known from a telephony perspective is somewhat new in the current world of data networking. Support for strict delay and delay variation is one of the more challenging aspects of data network architecture and design.
Predictable and guaranteed service offerings should be compatible with their corresponding service requests. In each case, service performance requirements capacity, delay, and RMA in a service request are translated into the corresponding performance characteristics in the service offering. An example of a predictable service request and offering can be seen in a network designed to support real-time streams of telemetry data. A real-time telemetry stream should have an end-to-end delay requirement, and this requirement would form the basis for the service request.
This would form the request and the service level i. Delay and delay variation would then be measured and verified with service metrics in the system, perhaps by using common utilities, such as ping a common utility for measuring round-trip delay or TCPdump a utility for capturing TCP information , or by using a custom application. We use various methods to describe service performance requirements and characteristics within a network, including thresholds, bounds, and guarantees.
We also show how to distinguish between high and low performance for each network project. This approach does not mean that best-effort service is inherently low performance or that predictable or guaranteed services are high performance. Rather, it signifies that predictability in services is an important characteristic and is separate from performance.
There are times when a network is best architected for best-effort service, and other times when best-effort, predictable, and guaranteed services are needed. We will see that when predictable or guaranteed services are required in the network, consideration for those requirements tends to drive the architecture and design in one direction, while consideration for best-effort service drives them in another direction.
It is the combination of all services that helps make the architecture and design complete. Therefore, we will describe performance requirements and characteristics in terms of service metrics, which are intended to be configurable and measurable.
Because service metrics are meant to be measurable quantities, they can be used to measure thresholds and limits of service. Thresholds and limits are used to distinguish whether performance is in conformance adheres to or nonconformance exceeds with a service requirement. A threshold is a value for a performance characteristic that is a boundary between two regions of conformance and, when crossed in one or both directions, will generate an action.
A limit is a boundary between conforming and nonconforming regions and is taken as an upper or lower limit for a performance characteristic.
Crossing a limit is more serious than crossing a threshold, and the resulting action is usually more serious e. Both low- and high-performance levels are conforming to the service, and the threshold is used to indicate when the boundary is crossed. This threshold can be measured and monitored in the network, triggering some action e. An example of this might be in measuring the round-trip delay of a path.
A threshold of N ms is applied to this measurement. If the round-trip times exceed N ms, an alert is generated at a network management station. We discuss this in greater detail in the chapter on network management architecture Chapter 7. In a similar fashion, limits can be created with service metrics to provide upper and lower boundaries on a measured quantity.
When a limit is crossed, traffic is considered nonconforming it exceeds the performance requirement , and action is taken to bring the traffic back into conformance e. These notices can be used to do trend analysis on the network—for example, to determine when capacity needs to be Performance Characteristic e.
Yellow Yellow Threshold on Capacity 8 6 5 Conformance e. Thresholds and limits are useful applications of service metrics to understand and control performance levels in the network, in support of services. Each characteristic is actually a label for a class of characteristics of that type. For example, the term capacity is used as a label for the class of characteristics that involves moving information from place to place, including bandwidth, throughput, goodput, and so forth.
Similarly, delay is a label for the class of characteristics that includes endto-end delay, round-trip delay, and delay variation. RMA is a label for the class of characteristics that includes reliability, maintainability, and availability.
Thus, when the terms capacity, delay, and RMA are used in this book, you can use other terms from each class, depending on your network. There are times when it makes more sense to describe capacity in terms of throughput—for example, when developing requirements for applications.
Roundtrip delay is commonly used as a measure for delay, although at times delay requirements are expressed in terms of one-way delay.
Several terms are associated with capacity, such as bandwidth, throughput, or goodput. Although we use the generic term capacity throughout this book to reference this class of characteristics, you may choose to use another term in place of or along with capacity. This bandwidth does not include data-link, network, or transport-layer protocol e.
When a network or element is performing at its theoretical capacity, it is said to be performing at line rate. In its most basic sense, delay is the time difference in transmitting a single unit of information bit, byte, cell, frame, or packet from source to destination. As with capacity, there are several ways to describe and measure delay. There are also various sources of delay, such as propagation, transmission, queuing, and processing.
Delay may be measured in one direction end-to-end and both directions round-trip. Both end-to-end and round-trip delay measurements are useful; however, only round-trip delays can be measured with the use of the practical and universally available utility ping. Another measure of delay incorporates device and application processing, taking into account the time to complete a task. As the size of a task increases, the application processing times and thus the response time of the system also increase.
This response time, termed here latency, may yield important information about the behavior of the application and the network. Latency can also be used to describe the response time of a network device, such as the latency through a switch or router. In this case the processing time is of that switch or router. Delay variation, which is the change in delay over time, is an important characteristic for applications and traffic flows that require constant delay.
For example, real-time and near-real-time applications often require strict delay variation. Delay variation is also known as jitter. Together, delay end-to-end and round-trip , latency, and delay variation help describe network behavior. Reliability is a statistical indicator of the frequency of failure of the network and its components and represents the unscheduled outages of service.
It is important to keep in mind Performance Characteristics 49 that only failures that prevent the system from performing its mission, or missioncritical failures more on this in Chapter 2 , are generally considered in this analysis. Failures of components that have no effect on the mission, at least when they fail, are not considered in these calculations. Failure of a standby component needs tending to but is not a mission-critical failure. Reliability also requires some degree of predictable behavior.
For a service to be considered reliable, the delivery of information must occur within well-known time boundaries. When delivery times vary greatly, users lose confidence in the timely delivery of information. In this sense the term reliability can be coupled with confidence in that it describes how users have confidence that the network and system will meet their requirements.
A parallel can be seen with the airline industry. Passengers users of the airline system expect accurate delivery of information in this case the passengers themselves to the destination.
Losing or misplacing passengers is unacceptable. In addition, predictable delivery is also expected. Passengers expect flights to depart and arrive within reasonable time boundaries. When these boundaries are crossed, passengers are likely to use a different airline or not fly at all. Similarly, when an application is being used, the user expects a reasonable response time from the application, which is dependent on the timely delivery of information across the system.
Along with reliability is maintainability. Maintainability is a statistical measure of the time to restore the system to fully operational status after it has experienced a fault. This is generally expressed as a mean-time-to-repair MTTR. Repairing a system failure consists of several stages: MTTR usually assumes the logistics time is zero; this is an assumption, which is invalid if a component must be replaced to restore service but takes days to obtain.
To fully describe this performance class, we add availability to reliability and maintainability. Availability also known as operational availability is the relationship between the frequency of mission-critical failures and the time to restore service. This is defined as the mean time between mission-critical failures or mean time between failures divided by the sum of mean time to repair and mean time between mission-critical failures or mean time between failures.
These relationships are shown in the following equation, where A is availability. For example, the emphasis of a network design may be to bound delay: A system supporting point-of-sale transactions may need to guarantee delivery of customer information and completion of the transaction within 15 seconds where the network delay is on the order of s of ms ; a Web application can have similar requirements.
However, in a computation-intensive application we may be able to optimize the system by buffering data during periods of computing. In this case, delay may not be as important as a guarantee of eventual delivery. If these delay boundaries are exceeded, the visualization task fails for that application, forcing the system to use other techniques.
Figures 1. This envelope also describes two regions of performance, low and high performance, which are functions of the limits and thresholds for capacity, delay, and RMA. Performance envelopes such as these are useful for visualizing the regions of delay, capacity, and RMA in which the network will be expected to operate based on requirements developed for that network.
In Chapter 2 we discuss how requirements are developed for a network. It is a mistake to assume that a successful network architecture and design meet the requirements only on the day it is delivered to the customer and that future requirements are the responsibility of the customer.
Knowledgeable customers insist that they understand the operations and support implications of a network architecture and design. At times, such issues may be of more concern than the feasibility of a new technology.
The operations element focuses on ensuring that the network and system are properly operated and managed and that any required maintenance actions are identified. The maintenance element focuses on preventive and corrective maintenance and the parts, tools, plans, and procedures for accomplishing these functions.
The human knowledge element is the set of documentation, training, and skilled personnel required to operate and maintain the network and system. Design decisions affect each of these factors and have a direct impact on the ability of the customer to sustain the high level of service originally realized upon implementation of the network. Failure to consider supportability in the analysis, architecture, and design processes has a number of serious consequences.
Key characteristics of a network architecture and design that affect the postimplementation costs include: An accurate assessment of the requirements for continuous service at full performance level must be included in the requirements analysis process, along with a statement of specific, measurable requirements.
During the architecture and design processes, trade-offs must take into account the impact of supportability, and the concept of operations must be formulated. Last, during implementation, two major tasks must be accomplished to ensure supportability: Conformance to the network architecture and design must be validated and nonconformance corrected or at least documented to ensure that performance is adequate and that maintenance can be performed.
Operations and maintenance personnel must understand and be trained in the technologies that are being deployed, including how to operate the network and system properly, when to perform maintenance, and how to most quickly restore service in the event of a fault.
A detailed discussion of how supportability fits into the overall architecture and design processes is provided in Chapter 2. You have also learned that networks are not independent entities but rather a part of the system and that the delivery of network services is a goal of the system.
Network services consist of performance and function and are offered to users, 54 C H A P T E R 1 Introduction applications, and devices so that they can accomplish their work on the system. In order to architect and design a network to support services, you need to know what they are, how they work together, and how to characterize them. Once you do this, you will have a broad view of what the network will need to support, which you can take to the next levels of detail as you proceed with the network analysis.
By describing the system as a set of components e. You have also learned about different types of services, from best-effort, unpredictable, and unreliable service to predictable, bounded, and somewhat predictable service, to guaranteed services with accountability. To go to a level deeper in the discussion about services, we considered the service performance characteristics capacity, delay, and RMA reliability, maintainability, and availability.
These characteristics are useful only if we can measure and verify their values in the system. We discussed these values, as well as service metrics, thresholds, and boundaries. We learned that performance characteristics can be combined into a performance envelope. Having thought about systems, services, and their characteristics, we are now ready to quantify what we want from our networks. To do this, we first need to gather, analyze, and understand the requirements from the system.
This is requirements analysis, the next step in the network analysis process. In Example 1. Hierarchy and interconnectivity are a fundamental trade-off in networks. Given the network hierarchy shown in Figure 1. Costs are shown as numbers but could represent the capacity of each link or the costs incurred by using each link. An example of this is a content Exercises 55 delivery network CDN.
What is a CDN? Show how a CDN uses interconnectivity to provide better performance characteristics to its users. In defining where services can be applied in a network, end-to-end is determined by where you want a service to start and stop. For example, if your WAN is supplied by a service provider e. Service requirements flow from user to application to device to network, becoming more specific along the way.
If you were given an application requirement for end-to-end delay e. What types of service metrics could you use to measure it? For Example 1. Draw graphs showing the end-to-end delay performance in the direction from user PC to server before and after the security firewall is added. Which of the following applications require best-effort unpredictable and unreliable , guaranteed predictable and reliable, with accountability , or predictable service. Give reasons for your choices.
Show how performance boundaries and thresholds could be used in the following scenarios. If delay is greater than ms, notify the network administrator.
You will learn that network requirements are coupled to services and will develop a requirements specification to map out requirements and help determine their dependencies. You will learn how to apply the concepts discussed in the last chapter to a variety of user, application, and device requirements and to develop both a requirements specification and an applications map.
We tune the general systems engineering process, introduced in the last chapter, to the problem of networking. We talk about different types of requirements, from the user, application, device, and network components. And you learn about grouping requirements together, and mapping the locations of applications and devices. The combination of all the requirements and locations is expressed in two documents: However, there are some excellent preparatory materials that are of a more general systems engineering nature that will provide an overview of the requirements analysis process.
Concepts Background As you may already have noticed, the network analysis part of this book—consisting of requirements and flow and risk analyses—introduces many new concepts and guidelines and expands upon several existing concepts. Therefore, requirements analysis and flow analysis are separated into three chapters, covering concepts and procedures, respectively, in order to make this material more readable and useful.
The chapters on concepts provide background material for each topic, explaining and defining pertinent concepts. The chapters on procedures expand on these concepts to build a process for you to apply to your architectures and designs.
We begin the network analysis process with requirements analysis, which is gathering and deriving requirements in order to understand system and network behaviors. This consists of identifying, gathering, deriving, and understanding system requirements and their characteristics; developing thresholds and limits for performance to distinguish between low- and high-performance services; and determining where best-effort, predictable, and guaranteed services may apply in the network.
Using this definition, every requirement for the network must be met for it to be successful. Yet, as we will see, there can be lots of requirements, from a variety of sources, with varying degrees of achievability. If we consider all requirements from all sources as necessary to the success of the network, then we are likely setting expectations that cannot be met. Thus, as part of the requirements analysis process, we must categorize and prioritize requirements, determining those that are truly requirements for the network and those that may be desirable but are not truly requirements.
Requirements that are determined to be necessary for the success of the network project are termed core or fundamental requirements.
Since these requirements are necessary for the success of the project, there must be some way to determine success. Metrics are measurements or demonstrations for each requirement.
Background 59 Example 2. Examples of core requirements and their associated metrics are: Measurement between select end devices the set of which TBD , using applications from Application List , under test conditions Conditions List. Demonstration of filtering unwanted packets, based on the provided ACL, injected into the network. Network functions and performance that are desired but not necessary for the success of the network project are called features. There will be requirements that, as part of the analysis process, are determined to be features for the network.
In addition, there will be requirements that may be considered in a later version of the network, those that will be rejected during the analysis process, and requirements that are more informational than required. As shown in Figure 2. Concepts informational requirements and may have sets of features, future requirements, and rejected requirements.
Requirements are categorized during the requirements analysis process, through discussions with users, management, and staff, and are approved signed off by management. In practice, a first attempt at categorization is done by the analysis group, presented to management to determine whether or not this categorization is on the right track, and then further developed with input from users, management, and staff. RFC identifies key words and phrases that can be used to describe the relative importance of a requirement.
These key words indicate an absolute requirement and would be included as core or fundamental requirements for the network. These are also absolute requirements indicating a restriction or prohibition of a function or task. These would also be included as core or fundamental requirements for the network. These key words indicate that a requirement may be valid, but that its implementation is not absolutely necessary for the success of the network.
Such requirements would be categorized as features or future requirements for the network. Such requirements would also be categorized as features or future requirements for the network. When a requirement is truly optional, it may be categorized as a feature or future requirement, or may be rejected. By using these terms, you help to ensure that there is no confusion regarding requirements and features. We discuss the categorization of requirements in greater detail at the end of the chapter, when we develop the requirements specification.
Background 61 2. Although requirements analysis is fundamental to the network architecture and design, it is often overlooked or ignored.
Why is this the case? A major reason that requirements analysis is not given proper consideration is the degree of difficulty involved. Gathering requirements means talking to users, network personnel, and management, and interpreting the results. Network personnel and management are often distanced from the users and do not have a clear idea of what users want or need. Additionally, requirements analysis may appear to offer no immediate payoff. Finally, requirements analysis means putting thought and time into preparing for the architecture and design.
Failing to do proper requirements analysis may result in a network architecture and design that are based on factors other than what the users, applications, or devices need. For example, the network may be based on a technology whose primary asset is simply that the designer feels comfortable with it. Another obvious example is a project that has a budget constraint or deadline that forces the designer to make do and use familiar, easy-to-apply technologies.
Problems with such choices are that they are not objective and that familiar technologies or vendors may not be the right choices for that particular network. Requirements analysis helps the designer to better understand the probable behavior of the network being built. This results in several payoffs: Sometimes this does not become clear until all users, management, and staff have been consulted and all requirements identified.
Many redesign efforts result from an initially incomplete set of requirements. As you proceed through the rest of this book, you will see that the requirements analysis process forms the foundation upon which the network architecture and design processes are built. Concepts In the requirements analysis process we use requirements to distinguish between low- and high-performance applications for our networks; identify specific services; gather performance requirements for use in flow analysis; and gather other requirements to be used throughout the analysis, architecture, and design processes.
We learn that low and high performances are relative to the network we are working on, and we develop and apply performance thresholds and limits to help us distinguish between them. As mentioned earlier, the requirements analysis results in a requirements specification and a requirements map. A requirements specification is a document that lists and prioritizes the requirements gathered for your architecture and design. The requirements map shows the location dependencies between applications and devices, which will be used for flow analysis.
Throughout this section and the others in this book guidelines are presented on how each process may be implemented. These guidelines are from practical experience and should be used as a starting point for you to develop your own set of guidelines. As we proceed, you are encouraged to think about how each guideline could be implemented, and how you would add to or modify it.
The term user represents primarily the end users of the system but can be expanded to include everyone involved in the system, such as network and system administrators and management. User requirements comprise the set of requirements that is gathered or derived from user input and represent what is needed by users to successfully accomplish their tasks on the system.
Typically, when gathering requirements, everyone involved with that network is considered a potential user. Figure 2. We begin describing requirements at this layer, which will lead to the development of more specific requirements as we work through each of the components.
Part of our job in gathering and deriving user requirements is to make them quantitative whenever possible. This indicates the following general requirements: All of these requirements are developed in more detail as we proceed through the application, device, and network components. Our intent is to use these basic requirements as a start toward developing more objective and technical requirements in the other components. It is this perception that we want to quantify.
For example, a user may want to download files from a server and complete each transfer within 10 minutes. Or the user may need to receive video frames every 30 ms. Each one of these times indicates a delay that the network will need to provide. For timeliness, end-to-end or round-trip delay can be a useful measurement. Interactivity is similar to timeliness but focuses on a response time from the system as well as the network that is on the order of the response times of users.
In the previous example the 10 minutes needed to download the file could be considered as the response time for the system, and we might consider as well that the file transfer is interacting with the user which it is —but the degree of interactivity is very low and not of much interest from an architectural or design perspective.
Therefore, interactivity is a measure of the response times of the system and network when they are required to actively interact with users. Delay—here the round-trip delay,—is a measure of interactivity. Using these descriptions of timeliness and interactivity, then, timeliness is more likely to be associated with User Requirements 65 bulk file or image transfer, while interactivity is likely to be associated with remote device access e. Not only must the user be able to have access to system resources a very high percentage of the time, but the level of service to the user in terms of application usage or information delivery must be consistent.
Thus, reliability is closely related to the performance characteristic of reliability discussed in Chapter 1 as part of RMA , but delay and capacity are also important. It is likely that a combination of all performance characteristics would be used to describe reliability.
Presentation quality refers to the quality of the presentation to the user. As examples, consider the current Internet capabilities of videoconferencing, video feeds live or delayed , and telephony. While it is possible to do all of these on the Internet, there are other mechanisms that currently provide much better presentation quality. It is often not sufficient to provide a capability over a network, but that capability must be as good as or better than other mechanisms, or the user will be disappointed.
Network architects and designers often miss this concept. Measures of quality will include all of the performance characteristics. Some examples of this can be found in distance-independence and mobility. As users rely more and more on the network, they are becoming coupled to logical services and decoupled from physical servers.
This decoupling means that users do not have to care where servers are located, as long as they can get the services they need.
A result of this is distance-independent computing, where the user loses all knowledge of where jobs are being executed, or where data are sourced, stored, or migrated through the network. Mobility refers to mobile or nomadic computing, where the user can access services and resources from any location, using portable devices and wireless access to the network. Adaptability to such user needs forces requirements on the system architecture and design.
Security is probably closest to the performance characteristic reliability, but it will impact capacity and delay as well. Affordability is the requirement that purchases fit within a budget.
Although this requirement is not technical, it impacts the architecture and design. Concepts to purchase for the network, so that our architecture and design do not cost too much to implement. As a user requirement, we look at how costs and funding are tied to users, groups of users, and management. We also consider funding as a systemwide requirement, from an overall budget perspective.
Functionality encompasses any functional requirement that the user has for the system. Functions that the system will perform are often tied to applications that are used on the system.
Understanding functionality is important in that it leads into application requirements covered in the next section. Part of understanding functionality is determining which applications users actually want or apply in their daily work.
We do not want to analyze applications that no one is planning to use. Supportability is a set of characteristics that describes how well the customer can keep the network operating at designed performance, through the full range of mission scenarios described by the customer during the requirements analysis process. This includes how users want or need to be supported by their network operations staff, and any interfaces they will have with a network operations center NOC.
For example, will the network need to be reconfigured to meet different or changing user needs? Information such as this will be used later as input to the network management architecture. Future growth is determining if and when users are planning to deploy and use new applications and devices on the network. In addition to these requirements, we want to know how many users are expected on the network, and their locations. If possible, we must estimate the growth in users over the first one to three years after the network becomes operational, or over the expected life cycle of the network.
Application requirements are requirements that are determined from application information, experience, or testing, and represent what is needed by applications to successfully operate on the system.
Application requirements are more technical than user requirements but may still be subjective. This component is often where many requirements for the network are determined, as applications couple users and devices to the network.
Applications are often end-to-end, between multiple devices; thus, their requirements span the underlying network. In the early days of networking, applications required basic connectivity and data transfer across the network. While applications still have these requirements, they are often also required to be high performance or have predictable or guaranteed behavior, to support user requirements for timeliness, interactivity, reliability, quality, adaptability, and security.
Thus, user requirements have an impact on application requirements. We can use these service and performance requirements to distinguish between applications that need predictable or guaranteed service and those that can use best-effort service.
Reliability is a statistical measure of the frequency of failure of the network and its components and represents the unscheduled outages of service. Maintainability is a statistical measure of the time to restore the system to fully operational status, once it has experienced a fault.
Availability is a measure of the relationship between the frequency of mission-critical failures and the time to restore service. How do these measures relate to the applications that will use the network?
RMA requirements can be subjective. A loss of any part of RMA in such applications may be serious or disastrous, such as: Examples include applications that handle lots of transactions and money, such as investment banking, airline reservation, or credit card processing applications.
Unrecoverable information or situation. Telemetry processing and teleconferencing applications are good examples of this type of reliability. Loss of sensitive data.
Loss of life. Examples include transportation or health-care monitoring applications. For applications such as these, a network that offers only best-effort service is not likely to be adequate, owing to its unpredictable and unreliable behavior. These applications require predictable or guaranteed reliability, maintainability, and availability, which may take the form of a predictable or bounded RMA, or a high degree of RMA, or both. Applications that require predictable or high RMA are termed here mission-critical applications.
Capacity In terms of capacity, there are some applications that require a predictable, bounded, or high degree of capacity. Note the difference between rate-critical applications and best-effort applications such as traditional file transfer where the file transfer application is not written to operate only when a predictable or guaranteed service is available.
In file transfer such as in FTP running over TCP, described earlier , the application receives whatever capacity is available from the network, based on the state of the network at that time as well as interactions between TCP and the lower layers.
While at times there may be a high degree of capacity, it is inconsistent, and there is no control over the resources in the network to predict or guarantee a specific usually minimum capacity in order to function properly.
This can often also be tied to the end-to-end delay of the network, as capacity will impact delay. Delay Increasing interactivity is arguably the driving force behind the evolution of many applications. Consider the evolutionary path of information access, from telnet and FTP to Gopher a menu system that simplifies locating resources on the Internet and Archie a database that consists of hundreds of file directories to Mosaic the precursor to Netscape and Netscape, made even more interactive with the use of JAVA and virtual reality markup language VRML.
As we saw in the previous section, interactivity relies predominantly on the performance characteristic delay. Delay is a measure of the time differences in the transfer and processing of information.
There are many sources of delay, including propagation, transmission, queuing, processing, and routing. This section focuses on end-to-end and roundtrip delays, which encompass all of the delay types mentioned above.
From an application service perspective, optimizing the total, end-to-end, or round-trip delay is usually more important than focusing on individual sources of delay. Individual sources of delay become more important as we get into the lower-layer components, as well as in architecture and design optimizations. Historically, applications used on the Internet did not have strict delay requirements. They relied on best-effort service from the Internet and did not request or expect any service guarantees.
Other applications, found primarily on private networks with proprietary network technologies and protocols , have had more strict delay requirements as well as capacity and RMA requirements. Concepts by over-engineering the network with substantial spare capacity, or by the trade-off of interoperability with other networks.
But we now find that applications with delay requirements are migrating to the Internet, often using VPNs, and applications previously dedicated to a single user or device are now being used across the Internet, forcing a reevaluation of offering services other than best effort on the Internet. This is also forcing a reevaluation of traffic engineering techniques by service providers.
The term real-time has been interpreted to mean many different things. It is quite difficult to quantify real-time when it is used this way. There are more meaningful ways to describe real-time, as well as non-real-time, interactive, asynchronous, burst, and bulk.
These are all described below. Real-time applications are those that have a strict timing relationship between source and destination, with one or more timers set for the receipt of information at the destination.
Information received after the timer s expire at the destination is considered worthless and is dropped. Thus, this definition of real-time does not mean that information has to be transferred within a universally known time boundary, but rather that the delay boundary is understood by source and destination, and that the destination does not wait beyond this boundary.
Real-time could mean end-to-end delays of 30 ms for some applications and 30 seconds for others. An example of this is non-buffered video playback. If the video stream is delayed beyond the playback timer, the destination will show one or more blank portions of frames appearing as blips on the screen and drop the late video. This is done to preserve the time continuity of the video being shown at the playback device.
This is what it means to have a strict timing relationship between source and destination—that the information flow is subject to maintaining time continuity. Raza Kn. Sanjay Sahul. Anirban Das. Shivam Gukhoul. Puneet Kaur Ahira.
Sara Grech. Anonymous jncRaQ5o. Jean Kian. Alecsandra M Sandu. Jamal Khetran. Amit Lekhi. Designer Marcio Dupont. More From Marimuthu Ayyamperumal. Marimuthu Ayyamperumal. Petar Jankovic. Brenda Davis. Popular in Technology General. Cristi Structuristu. BlAdE Er Faiyaz Ahmed. Akatew Haile Mebrahtu. Cristobal Sanchez. Sowham Chatterjee. Chromil Chloride. Cristian Camilo Zapata Pardo.
Alisha Khan. Marsha Wells Veal. Juan Manuel Jorquera. Bassem El Hachache. Harshad Jannu.