137  SDN Controllers & Use Cases

In 60 Seconds

ONOS handles carrier-grade deployments with 6M+ flow ops/sec; OpenDaylight offers the richest plugin ecosystem for enterprise; Ryu provides the simplest Python API for prototyping; Faucet is best for campus networks. Key use cases include QoS-based traffic engineering for smart factories, ML-based predictive maintenance with weighted feature scoring, and multi-stage IoT botnet detection with graduated response actions.

137.1 Learning Objectives

By the end of this chapter, you will be able to:

  • Evaluate SDN Controllers: Compare ONOS, OpenDaylight, Ryu, Floodlight, and Faucet and recommend the best fit for specific deployment scenarios
  • Design Traffic Engineering: Architect QoS-based path selection for smart factory and data center applications
  • Construct Predictive Maintenance Pipelines: Build ML-based failure prediction systems with weighted feature scoring
  • Implement IoT Botnet Detection: Deploy multi-stage detection with graduated response actions
  • Optimize Energy-Aware Routing: Calculate battery-based cost functions to extend network lifetime in software-defined wireless sensor networks

Software-Defined Networking (SDN) separates the brain of a network (the control plane) from the muscles (the data plane). Think of a traffic management center: instead of each traffic light making its own decisions, a central system monitors all intersections and coordinates them for optimal flow. SDN brings this same centralized intelligence to IoT networks.

137.2 Prerequisites

Before diving into this chapter, you should be familiar with:

137.3 SDN Controllers with Analytics Capabilities

Modern SDN controllers provide varying levels of built-in analytics capabilities. Choosing the right controller depends on your deployment scale, performance requirements, and analytics needs.

137.3.1 Controller Comparison

Controller Language Analytics Features Best For Learning Curve
ONOS Java Built-in GUI, REST API, intent framework, real-time metrics Large-scale IoT deployments, carrier-grade networks Moderate
OpenDaylight Java Extensive plugin ecosystem, TSDR (time-series data repository) Enterprise IoT, multi-vendor environments High
Ryu Python Lightweight, flexible, easy custom analytics Research, prototyping, small-to-medium IoT Low
Floodlight Java Modular architecture, web GUI, circuit pusher Educational use, medium-scale deployments Low-Moderate
POX Python Simple, educational-focused, basic statistics Learning SDN concepts, classroom labs Very Low
Faucet Python High-performance, configuration-driven, Prometheus integration Production IoT networks, data centers Low

137.3.2 ONOS (Open Network Operating System)

Key Analytics Features:

  • Distributed architecture for scalability (handles 100+ switches)
  • Real-time flow statistics visualization through web GUI
  • Intent-based northbound interface (express goals, not mechanisms)
  • Built-in applications for traffic engineering and failover

Analytics Implementation Approach:

ONOS applications use a component-based architecture to implement traffic monitoring:

Core Implementation Steps:

  1. Service Registration: Application registers for FlowRuleService and DeviceService to access network state
  2. Periodic Collection: Scheduled executor queries flow statistics from all devices every 15 seconds
  3. Rate Calculation: For each flow entry, calculate bytes/sec and packets/sec based on duration
  4. Anomaly Detection: Compare packet rates against thresholds to identify suspicious traffic
  5. Mitigation: Install flow rules with meter tables to rate-limit anomalous flows

Example Monitoring Workflow:

FOR each connected device (switch):
  Query all flow entries via FlowRuleService
  FOR each flow entry:
    Calculate rate = packets / (duration / 1000.0)
    IF rate > THRESHOLD:
      Log warning with packet rate and source
      Install meter-based rate limit:
        - Create TrafficTreatment with meter ID
        - Build FlowRule: selector + treatment + priority 1000
        - Apply rule via flowRuleService

Deployment Considerations:

Aspect Recommendation Notes
Memory 4-8 GB RAM Moderate deployments (10-50 switches)
Clustering 3-5 controller instances High availability and load distribution
Integration REST API External analytics platforms (Splunk, Grafana)
Community Active open-source Strong documentation, regular releases
Learning Curve Moderate Java proficiency required, well-documented APIs

137.3.3 OpenDaylight

Key Analytics Features:

  • Time-Series Data Repository (TSDR) for historical analytics
  • Plugin architecture supports custom analytics modules
  • YANG models for standardized device interaction
  • Integration with Apache Kafka for streaming analytics

TSDR Architecture:

OpenDaylight TSDR Architecture showing data sources (flow/port statistics, syslogs, NetFlow/sFlow) feeding TSDR collectors, queuing data for persistence layer which stores to three backend options (HBase for distributed scalability, Cassandra for high write throughput, Elasticsearch for full-text search), TSDR query API providing unified access for analytics applications
Figure 137.1: OpenDaylight TSDR: Time-Series Data Repository Architecture

Storage Backend Options:

  • HBase: Distributed, scalable, handles millions of metrics
  • Cassandra: High write throughput, time-series optimized
  • HSQLDB: Lightweight, suitable for small deployments
  • Elasticsearch: Full-text search, excellent for log analysis

137.3.4 Ryu Controller

Key Analytics Features:

  • Python-based, easy to extend with NumPy/Pandas for analytics
  • Event-driven architecture simplifies statistics handling
  • Lightweight footprint suitable for edge deployments
  • Excellent for rapid prototyping and custom analytics

Multi-Method Anomaly Detection:

Ryu controllers can implement sophisticated analytics using Python’s data science ecosystem:

Ryu Multi-Method Anomaly Detection flowchart: Flow statistics reply analyzed by three parallel detection methods (Method 1 Z-Score detecting statistical outliers beyond 3 standard deviations, Method 2 Sudden Change detecting rate spikes over 5x previous, Method 3 Trend Analysis using linear regression for sustained increases with slope greater than 0.5), decision point checking any anomaly detected, triggering response (create meter, install flow rule, log event) if yes, or storing stats and continuing monitoring if no
Figure 137.2: Ryu Controller: Multi-Method Anomaly Detection (Z-Score, Spike, Trend)

Detection Methods:

Method Algorithm Trigger Condition Use Case
Z-Score z = (current - mean) / std abs(z) > 3 Detect sudden spikes (DDoS, malware)
Change Ratio ratio = current / previous ratio > 5 Identify rapid rate increases
Trend Linear regression slope slope > 0.5 Catch gradual traffic growth
Error Rate errors / packets rate > 0.01 Port/link issues

Advantages of Ryu for IoT Analytics:

Feature Benefit Example Use Case
Python Ecosystem Use pandas, scikit-learn, TensorFlow Train ML models on historical flow data
Lightweight Runs on Raspberry Pi (512 MB RAM) Edge SDN controller for local sensor networks
Rapid Development 50-100 lines for complete analytics app Prototype custom detection algorithms in hours
Educational Clear code structure, extensive docs Learning SDN programming and network analytics
Event-Driven Decorators simplify OpenFlow handling No manual message parsing overhead

137.3.5 Faucet Controller

Key Analytics Features:

  • Production-grade performance (100,000+ flows/second)
  • Prometheus integration for metrics export
  • Configuration-driven (YAML files, no programming required)
  • Built-in support for Grafana dashboards

Prometheus Metrics Export Example:

# faucet.yaml configuration
dps:
  iot-switch-1:
    dp_id: 0x1
    hardware: "Open vSwitch"
    interfaces:
      1:
        name: "sensor-network"
        native_vlan: 100
      2:
        name: "gateway"
        native_vlan: 200

# Enable Prometheus metrics
faucet:
  prometheus_port: 9302
  prometheus_addr: "0.0.0.0"

Exported Metrics:

  • faucet_packet_ins: Packet-in events per switch
  • faucet_flow_mods: Flow rule installations
  • port_status: Link up/down events
  • learned_macs: MAC address learning
  • vlan_hosts: Devices per VLAN

Grafana Dashboard Query:

# Alert on high packet-in rate (potential flow table miss)
rate(faucet_packet_ins{dp_name="iot-switch-1"}[5m]) > 100

# Track device count per VLAN
sum(faucet_vlan_hosts_learned) by (vlan)

# Monitor flow table utilization
faucet_dp_flowcount / faucet_dp_max_flows

137.4 Advanced Analytics Use Cases

137.4.1 Traffic Engineering for IoT

SDN analytics enables intelligent traffic engineering that adapts to IoT application requirements:

Use Case: Smart Factory

Smart Factory Traffic Engineering diagram: Factory network traffic classified into four priority levels (Critical robotic arms needing 1ms latency highest priority, High priority vision systems needing 100 Mbps bandwidth, Medium priority sensor data, Low priority logging/backups), SDN Controller performs traffic classification and QoS mapping routing critical traffic to low-latency dedicated links, high priority to high-bandwidth links, medium and low to standard paths, with dynamic adjustment monitoring congestion and triggering rerouting
Figure 137.3: Smart Factory QoS: Priority-Based Traffic Engineering with Dynamic Routing

Implementation Strategy:

  1. Traffic Classification: Identify application types based on port numbers, packet sizes, or DSCP markings
  2. QoS Mapping: Assign priority levels (Critical > High > Medium > Low)
  3. Path Selection: Route critical traffic through low-latency paths, bulk transfers through high-bandwidth paths
  4. Dynamic Adjustment: Monitor link utilization and reroute when congestion detected

Analytics Metrics:

  • Per-class latency: Track end-to-end delay for each traffic class
  • Bandwidth utilization: Monitor link usage to prevent over-subscription
  • Packet loss rate: Detect congestion and trigger rerouting
  • Application SLA compliance: Measure adherence to service-level agreements

QoS-Based Path Selection: Latency vs. Bandwidth Trade-off

A smart factory has 4 traffic classes competing for network resources. SDN controller must route them optimally:

Traffic classes:

  1. Robotic arm control: 50 Kbps, latency requirement <1 ms
  2. Vision systems: 100 Mbps, latency <50 ms
  3. Sensor telemetry: 10 Mbps, best-effort
  4. Log backups: 500 Mbps, best-effort

Available paths between factory floor and data center: - Path A: 1 Gbps, 0.5 ms latency (fiber, 2 hops) - Path B: 10 Gbps, 5 ms latency (longer fiber, 5 hops)

Naive approach (all traffic on fastest path A): - Total bandwidth: \(50 \text{ Kbps} + 100 + 10 + 500 = 610.05 \text{ Mbps}\) - Path A utilization: \(610.05 / 1{,}000 = 61\%\) ✓ fits - Problem: When logs backup, utilization spikes to 100%, causing queuing delay → robotic latency exceeds 1 ms threshold → production line stops

SDN optimized routing:

  • Path A (low-latency): Robotic (50 Kbps) + Vision (100 Mbps) + Sensor (10 Mbps) = 110.05 Mbps (11% utilization)
  • Path B (high-bandwidth): Logs (500 Mbps) = 5% utilization

Latency achieved:

  • Robotic: \(L_{path\_A} = 0.5 \text{ ms}\) ✓ meets <1 ms SLA
  • Vision: \(L_{path\_A} = 0.5 \text{ ms}\) ✓ meets <50 ms SLA
  • Logs: \(L_{path\_B} = 5 \text{ ms}\) (acceptable for batch)

Capacity headroom: Path A has 890 Mbps available for bursts. Path B has 9.5 Gbps available.

Key insight: SDN separates latency-sensitive and bandwidth-hungry traffic, ensuring critical robotic control meets SLA even during backup operations. Traditional equal-cost routing cannot provide this guarantee.

137.4.2 Predictive Maintenance Using SDN Analytics

SDN analytics can predict network failures before they occur:

Predictive Maintenance Using SDN flowchart: Continuous monitoring feeds feature extraction analyzing error rate trends, temperature anomalies, latency degradation, and traffic pattern changes; Machine learning model predicts failure probability; Decision point at 80% threshold triggers proactive actions (reroute traffic, alert maintenance, schedule replacement) to prevent failure, or continues monitoring if below threshold, creating continuous loop for failure prevention
Figure 137.4: Predictive Maintenance: ML-Based Failure Prevention Pipeline

Feature Extraction and Scoring:

Feature Calculation Weight Threshold Normalization
Error Trend Linear regression slope of error rates 30% Trend > 0.01 (1% increase) min(trend / 0.01, 1.0)
Temperature Trend Slope of temperature over time 20% Trend > 2 deg C/hour min(trend / 2.0, 1.0)
Error Spike Recent errors / baseline errors 30% Ratio > 5x min(spike / 5.0, 1.0)
Critical Temp Binary flag for overheating 20% >70 deg C 1 if temp > 70, else 0

Prediction Algorithm:

Function: predict_port_failure(port_stats_history)

  Requirements: >= 100 historical samples
  IF len(history) < 100:
    RETURN 0.0  # Insufficient data

  Extract Features:
    error_rates = (rx_errors + tx_errors) / (rx_packets + tx_packets)
    temperatures = temperature values from stats

  Feature 1 - Error Rate Trend:
    error_trend = linear_regression_slope(error_rates)
    score_1 = 0.3 x min(error_trend / 0.01, 1.0)

  Feature 2 - Temperature Trend:
    temp_trend = linear_regression_slope(temperatures)
    score_2 = 0.2 x min(temp_trend / 2.0, 1.0)

  Feature 3 - Recent Error Spike:
    recent_errors = mean(error_rates[-10:])
    baseline_errors = mean(error_rates[-100:-10])
    error_spike = recent_errors / baseline_errors
    score_3 = 0.3 x min(error_spike / 5.0, 1.0)

  Feature 4 - Critical Temperature:
    temp_critical = 1 if max(temperatures[-10:]) > 70 else 0
    score_4 = 0.2 x temp_critical

  Failure Probability = score_1 + score_2 + score_3 + score_4
  RETURN failure_probability (0.0 to 1.0)

137.4.3 Security Analytics: IoT Botnet Detection

SDN provides ideal visibility for detecting compromised IoT devices:

Detection Signatures:

Botnet Behavior SDN Detection Method Response
C&C Communication Unusual destinations, periodic beaconing patterns Block C&C IP, quarantine device
DDoS Participation High packet rate to external target, SYN floods Rate-limit, drop attack traffic
Lateral Movement IoT device scanning internal network Isolate to separate VLAN
Data Exfiltration Large outbound transfers from sensor Alert, capture packets

Multi-Stage Detection:

Multi-Stage Botnet Detection pipeline: IoT device traffic analyzed through four sequential stages (Stage 1 baseline deviation checking traffic spikes, Stage 2 destination analysis for new IPs, Stage 3 protocol analysis for unexpected protocols, Stage 4 behavioral signatures checking for scanning, beaconing, or DDoS patterns), risk score calculated 0-100, decision point routes to graduated response (Low less than 30 enhanced logging, Medium 30-60 packet capture, High 60-80 severe rate limit, Critical 80+ full quarantine)
Figure 137.5: Multi-Stage Botnet Detection: Four-Stage Risk Scoring with Graduated Response

Risk Scoring Algorithm:

Detection Stage Risk Points Trigger Condition Indicator Logged
Stage 1: Baseline Deviation +20 Current rate > mean + 3 sigma “Traffic spike: X pps (baseline: Y)”
Stage 2: Destination Analysis +25 >5 new destination IPs “N new destination IPs”
Stage 3: Protocol Analysis +15 Unexpected protocols (not TCP/UDP) “Unexpected protocols: {proto_ids}”
Stage 4a: Scanning +30 >10 destinations, <10 packets each “Scanning pattern: N dests, avg M pkts”
Stage 4b: Beaconing +25 Coefficient of variation < 0.2 “Periodic beaconing: X second interval”
Stage 4c: DDoS +35 >80% traffic to single target, >10k packets “DDoS pattern: X packets to Y”

Real-World Performance:

  • Detection Time: 30-60 seconds (2-4 polling intervals)
  • False Positive Rate: ~3-5% with proper baseline (24-hour training)
  • Computational Overhead: <5% CPU on modern controller (1000 devices)
  • Storage: ~50 KB per device (100 flow records x 500 bytes)

137.4.4 Energy-Aware Routing Analytics (SD-WSN)

For software-defined wireless sensor networks, analytics optimize energy consumption:

SD-WSN Energy-Aware Routing diagram: Sensor nodes report battery levels to SDN Controller with central intelligence, controller calculates route costs using formula (hop count times energy_weight divided by remaining_battery), applies Dijkstra's algorithm with custom cost function, installs energy-efficient routes, monitors battery levels continuously, triggers route recalculation when battery change exceeds 10%, achieving benefits of 25-40% energy savings, 1.3-1.7x network lifetime extension, and balanced node depletion
Figure 137.6: SD-WSN Energy-Aware Routing: Battery-Based Path Optimization

Energy-Aware Routing Algorithm:

  1. Collect Energy Metrics: Nodes report battery levels to controller
  2. Calculate Route Costs: Cost = (hop count) x (energy_weight) / (remaining_battery)
  3. Install Energy-Efficient Routes: Use Dijkstra’s algorithm with custom cost function
  4. Dynamic Rebalancing: Recalculate routes when battery levels change significantly

Analytics Insights:

  • Network lifetime prediction: Estimate time until first node failure
  • Hotspot identification: Detect nodes handling disproportionate traffic
  • Energy efficiency metrics: Measure packets delivered per joule consumed
  • Sleep schedule optimization: Coordinate duty cycling based on traffic patterns

137.4.5 Interactive: Energy-Aware Routing Cost Calculator

Compare path costs using the SD-WSN energy-aware cost function to understand how battery levels influence routing decisions.

137.5 Performance Benchmarks

Real-world SDN analytics implementations achieve significant improvements:

Metric Traditional Network SDN with Analytics Improvement
DDoS Detection Time 5-30 minutes 5-15 seconds 20-360x faster
Mitigation Deployment 30-60 minutes (manual) 1-5 seconds (automated) 360-3600x faster
False Positive Rate 15-25% 2-5% (ML-based) 3-12.5x reduction
Network Visibility 5-10% (sampled NetFlow) 100% (all flows) 10-20x increase
Energy Savings (WSN) Baseline 25-40% improvement 1.3-1.7x lifetime
Traffic Engineering Efficiency Static routes 30-50% better utilization 1.3-1.5x capacity

Source Data:

  • DDoS detection: Industry reports from Arbor Networks, Cloudflare
  • Energy savings: Academic research on SD-WSN deployments
  • Traffic engineering: Google B4 SDN deployment case study

137.6 Knowledge Check

This variant shows the SDN controller decision-making process as a continuous loop, emphasizing the reactive nature of centralized control.

SDN control plane decision loop showing cyclical process: switch receives unknown packet and sends PACKET_IN to controller, controller queries topology database and policy engine, controller computes forwarding path, controller sends FLOW_MOD to install flow rule on switches, subsequent matching packets forwarded at line rate without controller involvement until flow expires or topology changes'
Figure 137.7: Alternative view: SDN separates the slow decision path (controller) from the fast forwarding path (switches). First packet of a new flow incurs controller latency, but once flow rules are installed, packets forward at hardware speed.

This variant shows the analytics processing stages from IoT device to actionable insight, emphasizing where SDN adds value.

SDN IoT analytics pipeline showing five stages: Collection stage gathering telemetry from 10000 plus IoT devices at 1M events per minute, Aggregation stage at edge reducing data by 80 percent, Flow Analysis stage at SDN controller correlating traffic patterns, ML Inference stage detecting anomalies and DDoS, and Action stage automatically updating flow rules within 50ms response time'
Figure 137.8: Alternative view: SDN analytics transforms raw IoT telemetry into automated network responses. The pipeline progressively reduces data volume while extracting actionable patterns.

Key Concepts

  • SDN (Software-Defined Networking): An architectural approach separating the network control plane (routing decisions) from the data plane (packet forwarding), centralizing control in a software controller for programmable network management
  • Control Plane: The network intelligence layer making routing and forwarding decisions, centralized in an SDN controller rather than distributed across individual switches as in traditional networking
  • Data Plane: The network forwarding layer physically moving packets based on rules installed by the control plane — in SDN, this is the switch hardware executing OpenFlow flow table entries
  • OpenFlow: The foundational SDN protocol enabling communication between an SDN controller and network switches, allowing the controller to install, modify, and delete flow table entries that govern packet forwarding
  • SDN Controller: The centralized network operating system providing a global view of the network topology and programming switch forwarding behavior through southbound APIs (OpenFlow) and exposing northbound APIs to applications
  • Network Slicing: An SDN technique partitioning a single physical network into multiple independent virtual networks with isolated forwarding behavior, QoS guarantees, and security policies for different IoT application requirements
  • Traffic Engineering: Using SDN flow rules to explicitly route specific traffic classes over selected paths, optimizing latency, bandwidth utilization, and load distribution beyond shortest-path routing

Common Pitfalls

Implementing a complex SDN deployment with custom northbound applications, real-time analytics, and automated remediation for a 50-device IoT network where traditional VLAN-based segmentation would suffice. Start with the simplest architecture that satisfies requirements — add SDN complexity only when justified.

Deploying intent-based SDN networking without confirming network operations staff can debug flow tables, interpret controller logs, and understand SDN failure modes. Misaligned operator skills cause longer mean time to resolution during incidents and undermine the reliability SDN was deployed to provide.

Assuming SDN network slices provide hardware-level isolation equivalent to physical network separation. SDN slices share the same physical switch hardware — a hardware fault or firmware vulnerability affects all slices. For true isolation (security-critical applications), use physical network separation.

Validating SDN use cases only during normal operation. When the controller fails, switch flow tables become static — verify all use cases continue to meet minimum requirements using only cached flow rules during controller outage.

137.8 Summary

This chapter covered SDN controllers and advanced analytics use cases:

Controller Comparison:

  • ONOS: Java-based, distributed, carrier-grade, intent framework for large deployments
  • OpenDaylight: Enterprise-focused, TSDR for time-series storage, plugin ecosystem
  • Ryu: Python-based, lightweight, NumPy/Pandas integration, ideal for prototyping
  • Faucet: Configuration-driven, Prometheus/Grafana integration, production-grade performance

Traffic Engineering:

  • QoS-based classification (Critical > High > Medium > Low priority)
  • Path selection based on latency and bandwidth requirements
  • Dynamic adjustment responding to congestion detection
  • 30-50% better link utilization vs. static routing

Predictive Maintenance:

  • Feature extraction: error trends, temperature, latency degradation
  • Weighted scoring model with 80% failure probability threshold
  • Proactive rerouting before component failure
  • ML model integration for production deployments

Botnet Detection:

  • Four-stage analysis: baseline deviation, destinations, protocols, behavioral signatures
  • Risk scoring (0-100) with graduated response
  • 30-60 second detection time, 3-5% false positive rate
  • Automated quarantine for critical-risk devices

Energy-Aware Routing:

  • Battery-based cost function for route calculation
  • 25-40% energy savings, 1.3-1.7x network lifetime
  • Dynamic rebalancing when battery changes >10%
  • Sleep schedule optimization based on traffic patterns

Different SDN controllers are like different superheroes – each one has special powers for different missions!

137.8.1 The Sensor Squad Adventure: The Controller Olympics

The Sensor Squad held a special competition to see which controller was best for different jobs. Four controllers entered the ring!

Round 1 – The Speed Test: Flo the Floodlight zoomed through 600,000 flow rules per second! “Nobody is faster than me!” But for the BIGGEST jobs, Oscar the ONOS handled over 1 MILLION! The crowd gasped.

Round 2 – The Easy-to-Learn Test: Ryu the Python Snake wrote a complete controller app in just 50 lines of code. “I speak Python, the friendliest language!” Even Bella the Battery, who was new to programming, could follow along.

Round 3 – The Traffic Engineering Challenge: A smart factory needed different speeds for different machines. Oscar the ONOS created special lanes: a FAST lane for robot arms (they need instant responses!), a MEDIUM lane for cameras, and a SLOW lane for temperature logs. “I call this QoS – Quality of Service!”

Round 4 – The Security Challenge: A hacker tried to take over some sensors! The controllers had to detect the attack and stop it. All four spotted the problem by watching for unusual traffic patterns, but ONOS responded fastest with its built-in security tools.

“So who won?” asked Sammy. Max smiled: “Everyone! Each controller wins at different things. The real skill is picking the RIGHT one for YOUR job!”

137.8.2 Key Words for Kids

Word What It Means
Traffic Engineering Giving different types of messages different “lanes” based on how important they are
Predictive Maintenance Spotting problems BEFORE they happen by watching for warning signs
Botnet When a hacker takes control of many devices to use them for attacks
Key Takeaway

SDN controller selection depends on deployment requirements: ONOS for carrier-grade scale (1M+ flows/sec), OpenDaylight for enterprise multi-protocol environments, Ryu for rapid Python prototyping, and Faucet for production IoT with Prometheus integration. Advanced use cases like traffic engineering, predictive maintenance, and botnet detection leverage the controller’s centralized visibility to achieve 20-360x faster threat detection and 25-40% energy savings compared to traditional approaches.

137.9 What’s Next

If you want to… Read this
Study SDN analytics architecture SDN Analytics Architecture
Learn about SDN anomaly detection SDN Anomaly Detection
Explore OpenFlow statistics SDN OpenFlow Statistics
Review SDN production framework SDN Production Framework
Study SDN IoT applications SDN IoT Applications