Network Analysis, Architecture and Design, Second Edition (The Morgan Kaufmann Series in Networking)

4.9 The Flow Specification

The results of identifying, defining, and describing flows are combined into a flow specification, or flowspec. A flow specification lists the flows for a network, along with their performance requirements and priority levels (if any). Flow specifications describe flows with best-effort, predictable, and guaranteed requirements, including mission-critical, rate-critical, real-time, interactive, and low and high performance. The flow specification combines performance requirements for composite flows when there are multiple applications requirements within the flow. It can also be used to combine requirements for all flows in a section of a path. There is much information imbedded within a flow specification.

Flow specifications can take one of three types: one part, or unitary; two part; or multipart. Each type of flowspec has a different level of detail depending on whether the flows have best-effort, predictable, and/or guaranteed requirements.

A one-part flowspec describes flows that have only best-effort requirements. A two-part flowspec describes flows that have predictable requirements and may include flows that have best-effort requirements. A multipart flowspec describes flows that have guaranteed requirements and may include flows that have predictable and/or best-effort requirements (Figure 4.36).

Flow Specification Type

Types of Flows

Performance Description

One-Part

Best-Effort Individual and Composite

Capacity Only

Two-Part

Best-Effort and Stochastic, Individual and Composite

Reliability, Capacity, and Delay

Multipart

Best-Effort, Stochastic, and Guaranteed, Individual and Composite

Reliability, Capacity, and Delay

Figure 4.36: Descriptions of flow specifications.

These flow specifications range in complexity. One-part and two-part flowspecs can be relatively straightforward, whereas multipart flowspecs can be quite complex. Two-part flowspecs are usually a good balance between ease of development and amount of detail. Many networks can be adequately represented with a one-part flowspec when performance requirements and flows are not well understood.

As networks become integrated into the rest of the system, however, flows will incorporate more reliability and delay requirements and the two-part and multipart flowspecs can better represent the network. This is the case today for many networks. In developing the flowspec, we will use the information in the requirements specification and requirements map as the basis for flows and apply the methods described in this chapter to identify and describe flows.

4.9.1 Flowspec Algorithm

Flowspecs are used to combine performance requirements of multiple applications for a composite flow or multiple flows in a section of a path. The flowspec algorithm is a mechanism to combine these performance requirements (e.g., capacity, delay, and RMA) for flows in such a way as to describe the optimal composite performance for that flow or group of flows.

The flowspec algorithm applies the following rules:

  1. Best-effort flows consist only of capacity requirements, so only capacities are used in best-effort calculations.

  2. For flows with predictable requirements, we will use all available performance requirements (capacity, delay, and RMA) in the calculations. Performance requirements will be combined for each characteristic to maximize the overall performance of each flow

  3. For flows with guaranteed requirements, we will list each requirement (as an individual flow), not combining them with other requirements.

The first condition is based on the nature of best-effort traffic—that it is unpredictable and unreliable. RMA and delay requirements cannot be supported in a best-effort environment. The best that can be expected is that capacity requirements may be supported through capacity planning (also known as traffic engineering) or overengineering the capacity of the network to support these requirements.

The second condition is at the heart of the flowspec—that for each performance characteristic, capacity, delay, and RMA, the requirements are combined to maximize the performance of the flow or group of flows. How the requirements are combined to maximize performance is discussed later in this chapter.

The third condition is based on the nature of guaranteed requirements. Since flows with such requirements must be supported end-to-end, their requirements are kept separate so that we can identify them in the network architecture and design.

When a one-part flowspec is developed (for flows with best-effort requirements), capacities of the flows are combined. There should be no RMA or delay requirements for these flows. Capacities are added together, forming a total best-effort capacity (CBE), as shown in Figure 4.37.

Figure 4.37: One-part flow specification.

A two-part flowspec builds on a one-part flowspec, adding predictable capacities, delay, and RMA. When a two-part flowspec is developed (for flows with best-effort and predictable requirements), the best-effort flows are combined in the same way as for the one-part flowspec. For the predictable requirements, the capacities are added together, as with the best-effort flows, so that the flowspec has a total capacity for best-effort flows (CBE) and another capacity for predictable flows (CP). For the delay and RMA requirements for predictable flows, the goal is to maximize each requirement. For delay, the minimum delay (i.e., the highest-performance delay) of all of the delay requirements is taken as the predictable delay (DP) for the flowspec, and the maximum RMA (i.e., the highest-performance RMA) of all of the RMA requirements is taken as the predictable RMA (RP) for the flowspec. Figure 4.38 illustrates this for a two-part flowspec.

Figure 4.38: Two-part flow specification.

A multipart flowspec is the most complex of the flowspecs, building on a two-part flowspec to add guaranteed requirements. Best-effort capacity, predictable capacity, delay, and RMA are generated in the same fashion as for a two-part flowspec, and each set (i) of guaranteed performance requirements is added individually (shown as Ci, Ri, Di) to the flowspec, as shown in Figure 4.39.

Figure 4.39: Multipart flow specification.

Sets of guaranteed performance requirements (Ci, Ri, Di) are listed individually in the flowspec to show that they will be supported as individual requirements and not grouped with other requirements. This is necessary for us to be able to fully support each guaranteed requirements throughout the network.

4.9.2 Capacity and Service Planning

Capacity and service plans are written descriptions of the network performance required for the flows that are described in the flowspec. A capacity plan describes network performance in terms of capacity only. It is used in conjunction with a one-part flowspec. A service plan describes network performance in terms of sets of capacity, delay, and RMA. It is used in conjunction with two-part and multipart flowspecs.

Whereas a flowspec lists flows and combines their performance requirements, capacity and service plans describe what may be needed to support such requirements. As we will see in Chapter 8, there are many mechanisms that we may choose to support performance requirements in the network.

Категории