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:
Establishing Flow Boundaries: Separating portions of the system.
Identifying Backbone/Composite Flows: Grouping individual flows.
Developing Flow Specifications: Creating a performance requirement document.
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. .
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: and .
Business and Social Sciences: .
Arts and Humanities: .
Math and Sciences: .
Library and Computing Center: and in the Computing Center.
Specific Application Flows:
App 1: .
App 2: .
App 3: .
App 4: .
App 5: .
App 6: .
App 7: .
App 8: .
App 9: .
Server Farm Connection: 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, of flow stays within the LAN, and transits the WAN. This means WAN capacity is roughly a quarter of LAN capacity.
Modern Shifts: Remote computing is changing these ratios to or even (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
List characteristics of each flow.
Combine Reliability, Capacity, and Delay characteristics using the algorithm.
Condition 1: Only Capacity is used for Best Effort (BE) calculations (BE cannot guarantee reliability or delay).
Condition 2: Use all characteristics for Specified Flows. Perform calculations to maximize overall performance.
Condition 3: Guaranteed delay and reliability requirements are used individually.
Condition 4: Capacities generated are "Baseline" capacities and do not reflect performance modifiers.
Formula/Logic for Flowspec Types
Unitary: Determined by summing each flow .
Two-Part:
Capacity Best Effort: Same as Unitary.
Specified Environment: Sum of capacities () plus Maximum Reliability () and Minimum Delay ().
Multipart: Extends the Two-Part spec by adding the Guaranteed Environment ().
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.