Flow Analysis in Network Analysis and Design Guide

Components of the Network Analysis and Design (NAD) Process

The Network Analysis and Design process follows a structured systems approach. Flow Analysis is a critical phase within this lifecycle, positioned after requirements have been gathered and before logical and physical designs are finalized.

  • Systems and Network Services: Includes characterizing services.

  • Requirement Analysis:

    • Determining User, Application, Host, and Network requirements.

    • Gathering requirements, service metrics, and performance levels.

    • Characterizing behavior.

    • Establishing performance thresholds and levels.

  • Flow Analysis (The focus of this lecture):

    • Identifying Data sources & sinks.

    • Establishing Flow Models, Boundaries, Distribution, and Specifications.

  • Logical Design:

    • Technology choice and interconnection mechanisms.

    • Network Management and Security.

  • Physical Design:

    • Cable plant design options.

    • Network Equipment placement.

  • Addressing & Routing:

    • Creating network diagrams and diagramming worksheets.

    • Establishing routing flow.

    • Developing addressing & routing strategies.

Introduction to Flow Concepts

  • Definition of a Flow: Flows are end-to-end information transfers between a source and destination application(s) or host(s) occurring in a single session.

  • Flow Composition: A flow consists of a set of application and protocol information sharing common attributes transmitted during a single application session. Common attributes include:

    • Source address.

    • Destination address.

    • Options.

    • Information type.

    • Routing.

  • Core Concepts:

    • A flow relates to an end-to-end connection with constant addressing and service requirements.

    • The term "Flow" is used to aggregate service performance characteristics, which are then analyzed and controlled per flow within a Flow Specification (Flowspec).

    • Flow Analysis is used for Capacity Planning (for Best-Effort Services) and Service Planning (for Specified Services).

    • It assists in identifying, sizing, and choosing flows, ensuring each flow has Cumulative Performance Specifications.

The Flow Analysis Process

Flow Analysis provides an end-to-end perspective on requirements, showing how they interact and combine. It offers insights into the necessity for hierarchy and redundancy while guiding interconnection strategies. The process model includes:

  1. Establishing Flow Boundaries: Separating portions of the system.

  2. Identifying Backbone/Composite Flows: Grouping individual flows.

  3. Developing Flow Specifications: Creating a performance requirement document.

  4. Identifying Capacity/Service Plans: Determining the necessary network resources.

  • Supporting Tools: Flow Characteristics, Flowspec Algorithms, Flow Models, Flow Distributions, Requirement Specifications, and Application Maps.

Categories of Flow

There are three primary types of flows in a network hierarchy:

  • Individual Flow: The basic unit of traffic flow for a single application session. Best Effort and Specified Services flows are typically considered separately.

  • Composite Flow: A combination of Best Effort individual flows that share the same path, link, or network. These are primarily used in Capacity Planning.

  • Backbone Flow: A hierarchical composition of Composite Flows across the network. These indicate the formal hierarchy within the network infrastructure.

  • Relationship Formula: Backbone flows are sets of Composite flows, which are in turn sets of Individual flows. textBackbone=textComposite=textIndividual\\text{Backbone} = \\{\\text{Composite} = \\{\\text{Individual}\\}\\}.

Postal Service Analogy for Flows
  • Individual Flow: A single letter sent from one person to another.

  • Composite Flow: Neighborhood letters sorted and placed into a single delivery truck.

  • Backbone Flow: Multiple trucks traveling between large regional distribution centers.

Flow Elements: Data Sources and Data Sinks

  • Data Source: A device or group of devices that generate data for the network to carry. These are usually high-computing devices. Examples include:

    • Servers and Mainframes.

    • Parallel systems and Clusters.

    • Cameras and Video equipment.

    • Medical scanners.

  • Data Sink: A device or group of devices that primarily accept or collect data from the network. Examples include:

    • Data storage systems (Tape or Disk groups).

    • Video editing equipment.

    • Specialized display equipment.

Traffic Flow Example (Quantified)

An example university environment shows how different departments contribute to total flow:

  • Administration: 50,PCs50\\,PCs and 25,Macs25\\,Macs.

  • Business and Social Sciences: 50,PCs50\\,PCs.

  • Arts and Humanities: 30,PCs30\\,PCs.

  • Math and Sciences: 50,PCs50\\,PCs.

  • Library and Computing Center: 30,Library,Patrons,(PCs)30\\,Library\\,Patrons\\,(PCs) and 30,Macs/60,PCs30\\,Macs/60\\,PCs in the Computing Center.

  • Specific Application Flows:

    • App 1: 108,Kbps108\\,Kbps.

    • App 2: 60,Kbps60\\,Kbps.

    • App 3: 192,Kbps192\\,Kbps.

    • App 4: 48,Kbps48\\,Kbps.

    • App 5: 300,Kbps300\\,Kbps.

    • App 6: 200,Kbps200\\,Kbps.

    • App 7: 400,Kbps400\\,Kbps.

    • App 8: 1200,Kbps1200\\,Kbps.

    • App 9: 80,Kbps80\\,Kbps.

  • Server Farm Connection: 10textMbps10\\text{-Mbps} Metro Ethernet to Internet.

Flow Modeling

Flow models help identify flows via directionality and hierarchy. There are four major models:

  • Peer to Peer: Users and applications have similar communication requirements. Flows are equally likely between any hosts. This is the default model.

  • Client-Server: Flows are asymmetric, favoring the direction toward the clients. The server acts as the primary data source.

  • Cooperative Computing: Multiple applications work together and share info. It introduces hierarchy because work must be managed. Flows exist between clients/servers and servers/managers.

  • Distributed Computing: The most specialized model based on the relationship between task managers and computing nodes.

    • Coupling: Can be "closely coupled" (frequent transfers) or "loosely coupled" (little communication).

    • Granularity: "Coarse-grained" (tasks dedicated to single nodes, usually loosely coupled) or "Fine-grained" (tasks subdivided based on parallelism, usually closely coupled).

Flow Boundaries (FB)

Flow boundaries represent separations between large aggregated portions of the system where flow consolidation naturally occurs.

  • Common Geographic Boundaries:

    • LAN/WAN and LAN/MAN.

    • Campus/Campus.

    • Building/Building.

    • Floor/Floor (Campus, building, and floor are subsets of a LAN environment).

  • Logical/Traffic Boundaries: Separation based on logic rather than geography:

    • Backbones (where several flows transit).

    • Flow Concentrations (convergence points like an NAP).

    • WANs (where service providers are used).

    • Specialized Areas (specific service requirements).

Flow Distributions (FD)

Flow distributions help locate backbone flows by distinguishing between localized flows (staying in one region) and transit flows (crossing boundaries).

  • Traditional 80/20 Rule of Thumb: Historically, 8080\\% of flow stays within the LAN, and 2020\\% transits the WAN. This means WAN capacity is roughly a quarter of LAN capacity.

  • Modern Shifts: Remote computing is changing these ratios to 50/5050/50 or even 20/8020/80 (Distance Independent Computing).

Flow Specification (Flowspec)

Flowspec combines application requirements into a performance document. Units are typically categorized by complexity:

  • Unitary: For capacity planning of Best-Effort flows only. No specified flows.

  • Two-Part: Contains both Best-Effort and Specified Flows. Builds on Unitary info.

  • Multipart: Provides high detail on individual components of Specified Flows.

The Flowspec Algorithm
  1. List characteristics of each flow.

  2. Combine Reliability, Capacity, and Delay characteristics using the algorithm.

  3. Condition 1: Only Capacity is used for Best Effort (BE) calculations (BE cannot guarantee reliability or delay).

  4. Condition 2: Use all characteristics for Specified Flows. Perform calculations to maximize overall performance.

  5. Condition 3: Guaranteed delay and reliability requirements are used individually.

  6. Condition 4: Capacities generated are "Baseline" capacities and do not reflect performance modifiers.

Formula/Logic for Flowspec Types
  • Unitary: Determined by summing each flow SCBESC_{BE}.

  • Two-Part:

    • Capacity Best Effort: Same as Unitary.

    • Specified Environment: Sum of capacities (SCDETSC_{DET}) plus Maximum Reliability (RDETR_{DET}) and Minimum Delay (DDETD_{DET}).

  • Multipart: Extends the Two-Part spec by adding the Guaranteed Environment (Ci,Ri,DiC_i, R_i, D_i).

Questions & Discussion

Topic: Identifying Data Sources and Sinks

  • Scenario A: A storage device receiving streaming video from a camera.

    • Role: The camera is the Source; the storage device is the Sink.

  • Scenario B: A video editing device using video from (a).

    • Role: The storage device becomes the Source; the video editing device is the Sink.

  • Scenario C: A Web server and its clients.

    • Role: The Web server is generally the Source (sending data), and clients are Sinks; however, in requests, the client acts as a Source. It depends on the direction of the specific flow.

  • Scenario D: A storage disk farm.

    • Role: Acts as a Sink when saving data and a Source when data is retrieved from it.