SlideShare a Scribd company logo
Network Statistics for OpenFlow
Miroslav Cupák, Masoud Hosseinkhani, Maryam Samizadeh
05/12/2012
Introduction
● OpenFlow provides some very basic
statistics per flow
● Network Management requires wider
statistics to make wise decisions about
networks
● New metrics are needed to be measured
Floodlight Controller
● Our group decided to work on the Floodlight
controller
● Floodlight is a Java-based controller
● Widely used and supported by the SDN
community
Initial Thoughts!
● Our focus at first was on latency and jitter
● Data-plane metrics!
● OpenFlow is really a control-plane protocol
● How accurate they can be!?
● Let's work on new useful metrics!
Architecture
Architecture
~1.5kLOC
Link Bandwidth
● what?
○ consumed data resources, current speed of the links
○ not theoretical maximal throughput, real bandwidth!
● why?
○ planning/scheduling, load balancing, troubleshooting
● how?
○ controller configured to load StatCollector module at
startup
○ a periodic task scheduled to run in a separate thread
○ stats for the last interval serialized and available via
REST as JSON
Link Bandwidth
● how?
○ finding links - parsing the topology
■ based on LinkDiscoveryManager and TopologyService
■ LLDP packets (a link established if an LLDP is sent out one port
and the same LLDP is received on another port)
○ determining real bandwidth
■ based on byte per-port counters
■ periodic queries of switches to get the total value
■ subtract the values measured last time to track values over time
■ average over sent+received data on both ends and divide by time
Link Bandwidth
● how accurate?
○ based on per-port switch counters
○ switches might update the counters only once every
couple of seconds
○ limited to switches attached to the controller
○ out of date by the time they're processed by the
controller (insignificant)
○ UI displays the last completed interval
○ different delay for switches (reduced by average)
Port Bandwidth
● what?
○ more detailed view on each end of a link
● why?
○ step towards most of the other stats
● how?
○ periodic task started at startup exposing data (REST)
○ no need to search the topology
● how accurate?
○ like link bandwidth except for switch differences
Flow Bandwidth
● what?
○ data over time link usage by flows
● why?
○ proposed metric, interesting insight into network usage
● how?
○ periodic task started at startup exposing data (REST)
○ active polling of switches for flows (duration, B count)
○ average bandwidth over the total duration of the flow
● how accurate?
○ same out-of-date risk as port bandwidth
○ might miss some flows in case of big intervals
Switch Load
● what?
○ number of bytes processed by each switch
● why?
○ network upgrade planning, bottleneck finding
○ computing the list of busiest switches in a network
● how?
○ periodic task started at startup exposing data (REST)
○ aggregating bandwidth data of all the ports of the
switch over an interval
● how accurate?
○ same out-of-date risk as port bandwidth
Device Activity
● what?
○ list of the hosts that are most active in the network
● why?
○ useful for network management by providing hints
(weak points of the network, hosts with malicious
actions)
● how?
○ analyzing incoming packets to find the host
creating the flow + its port
○ querying the port for the total number of bytes
○ subtract the values measured last time
Protocol Classification
● what?
○ providing classification of the network traffic based
on the higher-level protocols.
● why?
○ knowledge of the type of traffic in the network
○ performance improvements
■ tailoring the structure for more specific traffic.
● how?
○ parsing IP header for the protocol field, mapping the
value against the list of L3+ protocols
● how Accurate?
○ very, but only analyzing 1 packet/flow on the
controller
Conclusions
● measured metrics that are useful to network
management for planning, scheduling, and
load balancing
● link/port/flow bandwidth, switch load, device
activity, protocol classification
● more focused on the control-plane metrics to
be more accurate
● future work: based on the feedback from
Floodlight community
Questions?

More Related Content

PDF
H2020 finsec-ibm- aidan-shribman-finsec-skydive 260820
PPTX
Efficient Migration of Very Large Distributed State for Scalable Stream Proce...
PDF
Kubernetes at Telekom Austria Group
PDF
Dynamic log processing with fluentd and konfigurator
PPTX
Keynote: Stephan Ewen - Stream Processing as a Foundational Paradigm and Apac...
PDF
Technical Debt: An Anycast Story
PPTX
On the Statistical Analysis of Queue Lengths and Waiting Times for Statistica...
ODP
Testing Asynchronous Algorithms Exhaustively on node.js
H2020 finsec-ibm- aidan-shribman-finsec-skydive 260820
Efficient Migration of Very Large Distributed State for Scalable Stream Proce...
Kubernetes at Telekom Austria Group
Dynamic log processing with fluentd and konfigurator
Keynote: Stephan Ewen - Stream Processing as a Foundational Paradigm and Apac...
Technical Debt: An Anycast Story
On the Statistical Analysis of Queue Lengths and Waiting Times for Statistica...
Testing Asynchronous Algorithms Exhaustively on node.js

What's hot (20)

PPTX
2018-04 Kafka Summit London: Stephan Ewen - "Apache Flink and Apache Kafka fo...
PPTX
Stephan Ewen - Stream Processing as a Foundational Paradigm and Apache Flink'...
PPTX
Bathcamp 2010-riak
PPTX
Kostas Kloudas - Extending Flink's Streaming APIs
PDF
Flink Forward Berlin 2018: Shriya Arora - "Taming large-state to join dataset...
PDF
Querying Dynamic Datasources with Continuously Mapped Sensor Data
PDF
21 - IDNOG03 - Jimmy Halim (Cloudflare) - Brief Introduction of CloudFlare, t...
PDF
I²: Interactive Real-Time Visualization for Streaming Data with Apache Flink ...
PPTX
compiler design
PPTX
Debunking Common Myths in Stream Processing
PDF
Aljoscha Krettek - Portable stateful big data processing in Apache Beam
PDF
NAF2SEM and cross-document Event Coreference
PDF
Kraken mesoscon 2018
PDF
PeerSim - Maximum and Minimum Functions using Aggregation Protocol
PDF
Circonus: Design failures - A Case Study
PPTX
Kostas Kloudas - Complex Event Processing with Flink: the state of FlinkCEP
PDF
Event driven-arch
PDF
Aljoscha Krettek - Apache Flink® and IoT: How Stateful Event-Time Processing ...
PPTX
IoT Research Project
PPTX
Fabian Hueske_Till Rohrmann - Declarative stream processing with StreamSQL an...
2018-04 Kafka Summit London: Stephan Ewen - "Apache Flink and Apache Kafka fo...
Stephan Ewen - Stream Processing as a Foundational Paradigm and Apache Flink'...
Bathcamp 2010-riak
Kostas Kloudas - Extending Flink's Streaming APIs
Flink Forward Berlin 2018: Shriya Arora - "Taming large-state to join dataset...
Querying Dynamic Datasources with Continuously Mapped Sensor Data
21 - IDNOG03 - Jimmy Halim (Cloudflare) - Brief Introduction of CloudFlare, t...
I²: Interactive Real-Time Visualization for Streaming Data with Apache Flink ...
compiler design
Debunking Common Myths in Stream Processing
Aljoscha Krettek - Portable stateful big data processing in Apache Beam
NAF2SEM and cross-document Event Coreference
Kraken mesoscon 2018
PeerSim - Maximum and Minimum Functions using Aggregation Protocol
Circonus: Design failures - A Case Study
Kostas Kloudas - Complex Event Processing with Flink: the state of FlinkCEP
Event driven-arch
Aljoscha Krettek - Apache Flink® and IoT: How Stateful Event-Time Processing ...
IoT Research Project
Fabian Hueske_Till Rohrmann - Declarative stream processing with StreamSQL an...
Ad

Similar to Network Statistics for OpenFlow (20)

PDF
Network visibility and control using industry standard sFlow telemetry
PDF
Banv
PPTX
Floodlight overview & performance comparison by patrick huang
PDF
IT Monitoring in the Era of Containers | Luca Deri Founder & Project Lead | ntop
PDF
Performance Aware SDN, LSPE talk
PPTX
Network programmability: an Overview
PDF
Introduction to OpenFlow
PPTX
Lecture 17
PPTX
lect4_SDNbasic_openflow.pptx
PPTX
SDN Demystified, by Dean Pemberton [APNIC 38]
PPT
OpenFlow tutorial
PPTX
PROf TEJAS PADGHAN ICEEM ch. sambhajinagar
PPT
Naveen nimmu sdn future of networking
PPT
Naveen nimmu sdn future of networking
PPTX
Opensample: A Low-latency, Sampling-based Measurement Platform for Software D...
PPTX
FlowER Erlang Openflow Controller
PPT
Intelligent Network Services through Active Flow Manipulation
PPTX
Openflow Protocol
PDF
Looking at SDN with DDS Glasses
PPTX
OpenFlow
Network visibility and control using industry standard sFlow telemetry
Banv
Floodlight overview & performance comparison by patrick huang
IT Monitoring in the Era of Containers | Luca Deri Founder & Project Lead | ntop
Performance Aware SDN, LSPE talk
Network programmability: an Overview
Introduction to OpenFlow
Lecture 17
lect4_SDNbasic_openflow.pptx
SDN Demystified, by Dean Pemberton [APNIC 38]
OpenFlow tutorial
PROf TEJAS PADGHAN ICEEM ch. sambhajinagar
Naveen nimmu sdn future of networking
Naveen nimmu sdn future of networking
Opensample: A Low-latency, Sampling-based Measurement Platform for Software D...
FlowER Erlang Openflow Controller
Intelligent Network Services through Active Flow Manipulation
Openflow Protocol
Looking at SDN with DDS Glasses
OpenFlow
Ad

More from Miro Cupak (20)

PDF
Exploring the latest and greatest from Java 14
PDF
Exploring reactive programming in Java
PDF
Exploring the last year of Java
PDF
Local variable type inference - Will it compile?
PDF
The Good, the Bad and the Ugly of Java API design
PDF
Local variable type inference - Will it compile?
PDF
Exploring reactive programming in Java
PDF
The good, the bad, and the ugly of Java API design
PDF
Master class in modern Java
PDF
The good, the bad, and the ugly of Java API design
PDF
Exploring reactive programming in Java
PDF
The good, the bad, and the ugly of Java API design
PDF
Writing clean code with modern Java
PDF
The good, the bad, and the ugly of Java API design
PDF
Master class in modern Java
PDF
Exploring reactive programming in Java
PDF
Writing clean code with modern Java
PDF
Exploring what's new in Java 10 and 11 (and 12)
PDF
Exploring what's new in Java 10 and 11
PDF
Exploring what's new in Java in 2018
Exploring the latest and greatest from Java 14
Exploring reactive programming in Java
Exploring the last year of Java
Local variable type inference - Will it compile?
The Good, the Bad and the Ugly of Java API design
Local variable type inference - Will it compile?
Exploring reactive programming in Java
The good, the bad, and the ugly of Java API design
Master class in modern Java
The good, the bad, and the ugly of Java API design
Exploring reactive programming in Java
The good, the bad, and the ugly of Java API design
Writing clean code with modern Java
The good, the bad, and the ugly of Java API design
Master class in modern Java
Exploring reactive programming in Java
Writing clean code with modern Java
Exploring what's new in Java 10 and 11 (and 12)
Exploring what's new in Java 10 and 11
Exploring what's new in Java in 2018

Recently uploaded (20)

PPTX
Agentic AI Use Case- Contract Lifecycle Management (CLM).pptx
PPT
Introduction Database Management System for Course Database
PDF
Understanding Forklifts - TECH EHS Solution
PDF
How to Choose the Right IT Partner for Your Business in Malaysia
PDF
Flood Susceptibility Mapping Using Image-Based 2D-CNN Deep Learnin. Overview ...
PPTX
CHAPTER 12 - CYBER SECURITY AND FUTURE SKILLS (1) (1).pptx
PPTX
CHAPTER 2 - PM Management and IT Context
PPTX
ManageIQ - Sprint 268 Review - Slide Deck
PDF
AI in Product Development-omnex systems
PDF
Raksha Bandhan Grocery Pricing Trends in India 2025.pdf
PDF
Upgrade and Innovation Strategies for SAP ERP Customers
PPTX
ISO 45001 Occupational Health and Safety Management System
PDF
Which alternative to Crystal Reports is best for small or large businesses.pdf
PDF
SAP S4 Hana Brochure 3 (PTS SYSTEMS AND SOLUTIONS)
PPTX
Odoo POS Development Services by CandidRoot Solutions
PDF
Audit Checklist Design Aligning with ISO, IATF, and Industry Standards — Omne...
PPTX
Agentic AI : A Practical Guide. Undersating, Implementing and Scaling Autono...
PDF
Design an Analysis of Algorithms I-SECS-1021-03
PPTX
Transform Your Business with a Software ERP System
PDF
Claude Code: Everyone is a 10x Developer - A Comprehensive AI-Powered CLI Tool
Agentic AI Use Case- Contract Lifecycle Management (CLM).pptx
Introduction Database Management System for Course Database
Understanding Forklifts - TECH EHS Solution
How to Choose the Right IT Partner for Your Business in Malaysia
Flood Susceptibility Mapping Using Image-Based 2D-CNN Deep Learnin. Overview ...
CHAPTER 12 - CYBER SECURITY AND FUTURE SKILLS (1) (1).pptx
CHAPTER 2 - PM Management and IT Context
ManageIQ - Sprint 268 Review - Slide Deck
AI in Product Development-omnex systems
Raksha Bandhan Grocery Pricing Trends in India 2025.pdf
Upgrade and Innovation Strategies for SAP ERP Customers
ISO 45001 Occupational Health and Safety Management System
Which alternative to Crystal Reports is best for small or large businesses.pdf
SAP S4 Hana Brochure 3 (PTS SYSTEMS AND SOLUTIONS)
Odoo POS Development Services by CandidRoot Solutions
Audit Checklist Design Aligning with ISO, IATF, and Industry Standards — Omne...
Agentic AI : A Practical Guide. Undersating, Implementing and Scaling Autono...
Design an Analysis of Algorithms I-SECS-1021-03
Transform Your Business with a Software ERP System
Claude Code: Everyone is a 10x Developer - A Comprehensive AI-Powered CLI Tool

Network Statistics for OpenFlow

  • 1. Network Statistics for OpenFlow Miroslav Cupák, Masoud Hosseinkhani, Maryam Samizadeh 05/12/2012
  • 2. Introduction ● OpenFlow provides some very basic statistics per flow ● Network Management requires wider statistics to make wise decisions about networks ● New metrics are needed to be measured
  • 3. Floodlight Controller ● Our group decided to work on the Floodlight controller ● Floodlight is a Java-based controller ● Widely used and supported by the SDN community
  • 4. Initial Thoughts! ● Our focus at first was on latency and jitter ● Data-plane metrics! ● OpenFlow is really a control-plane protocol ● How accurate they can be!? ● Let's work on new useful metrics!
  • 7. Link Bandwidth ● what? ○ consumed data resources, current speed of the links ○ not theoretical maximal throughput, real bandwidth! ● why? ○ planning/scheduling, load balancing, troubleshooting ● how? ○ controller configured to load StatCollector module at startup ○ a periodic task scheduled to run in a separate thread ○ stats for the last interval serialized and available via REST as JSON
  • 8. Link Bandwidth ● how? ○ finding links - parsing the topology ■ based on LinkDiscoveryManager and TopologyService ■ LLDP packets (a link established if an LLDP is sent out one port and the same LLDP is received on another port) ○ determining real bandwidth ■ based on byte per-port counters ■ periodic queries of switches to get the total value ■ subtract the values measured last time to track values over time ■ average over sent+received data on both ends and divide by time
  • 9. Link Bandwidth ● how accurate? ○ based on per-port switch counters ○ switches might update the counters only once every couple of seconds ○ limited to switches attached to the controller ○ out of date by the time they're processed by the controller (insignificant) ○ UI displays the last completed interval ○ different delay for switches (reduced by average)
  • 10. Port Bandwidth ● what? ○ more detailed view on each end of a link ● why? ○ step towards most of the other stats ● how? ○ periodic task started at startup exposing data (REST) ○ no need to search the topology ● how accurate? ○ like link bandwidth except for switch differences
  • 11. Flow Bandwidth ● what? ○ data over time link usage by flows ● why? ○ proposed metric, interesting insight into network usage ● how? ○ periodic task started at startup exposing data (REST) ○ active polling of switches for flows (duration, B count) ○ average bandwidth over the total duration of the flow ● how accurate? ○ same out-of-date risk as port bandwidth ○ might miss some flows in case of big intervals
  • 12. Switch Load ● what? ○ number of bytes processed by each switch ● why? ○ network upgrade planning, bottleneck finding ○ computing the list of busiest switches in a network ● how? ○ periodic task started at startup exposing data (REST) ○ aggregating bandwidth data of all the ports of the switch over an interval ● how accurate? ○ same out-of-date risk as port bandwidth
  • 13. Device Activity ● what? ○ list of the hosts that are most active in the network ● why? ○ useful for network management by providing hints (weak points of the network, hosts with malicious actions) ● how? ○ analyzing incoming packets to find the host creating the flow + its port ○ querying the port for the total number of bytes ○ subtract the values measured last time
  • 14. Protocol Classification ● what? ○ providing classification of the network traffic based on the higher-level protocols. ● why? ○ knowledge of the type of traffic in the network ○ performance improvements ■ tailoring the structure for more specific traffic. ● how? ○ parsing IP header for the protocol field, mapping the value against the list of L3+ protocols ● how Accurate? ○ very, but only analyzing 1 packet/flow on the controller
  • 15. Conclusions ● measured metrics that are useful to network management for planning, scheduling, and load balancing ● link/port/flow bandwidth, switch load, device activity, protocol classification ● more focused on the control-plane metrics to be more accurate ● future work: based on the feedback from Floodlight community