137 SDN Controllers & Use Cases
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
For Beginners: SDN Controllers & Use Cases
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:
- SDN Analytics Implementation: Understanding statistics collection and baseline establishment provides context for controller features
- SDN Anomaly Detection: Knowledge of detection methods informs advanced botnet detection algorithms
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:
- Service Registration: Application registers for FlowRuleService and DeviceService to access network state
- Periodic Collection: Scheduled executor queries flow statistics from all devices every 15 seconds
- Rate Calculation: For each flow entry, calculate bytes/sec and packets/sec based on duration
- Anomaly Detection: Compare packet rates against thresholds to identify suspicious traffic
- 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:
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:
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 switchfaucet_flow_mods: Flow rule installationsport_status: Link up/down eventslearned_macs: MAC address learningvlan_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
Implementation Strategy:
- Traffic Classification: Identify application types based on port numbers, packet sizes, or DSCP markings
- QoS Mapping: Assign priority levels (Critical > High > Medium > Low)
- Path Selection: Route critical traffic through low-latency paths, bulk transfers through high-bandwidth paths
- 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
Putting Numbers to It
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:
- Robotic arm control: 50 Kbps, latency requirement <1 ms
- Vision systems: 100 Mbps, latency <50 ms
- Sensor telemetry: 10 Mbps, best-effort
- 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:
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:
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:
Energy-Aware Routing Algorithm:
- Collect Energy Metrics: Nodes report battery levels to controller
- Calculate Route Costs: Cost = (hop count) x (energy_weight) / (remaining_battery)
- Install Energy-Efficient Routes: Use Dijkstra’s algorithm with custom cost function
- 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
Alternative View: SDN Control Plane Decision Loop
This variant shows the SDN controller decision-making process as a continuous loop, emphasizing the reactive nature of centralized control.
Alternative View: SDN IoT Analytics Pipeline Stages
This variant shows the analytics processing stages from IoT device to actionable insight, emphasizing where SDN adds value.
137.7 Visual Reference Gallery
Visual: SDN Architecture for IoT
Visual: SDN Controller Design
Visual: SDN Controller Operation
Worked Example: Configuring QoS-Based Traffic Engineering for Smart Factory
Scenario: A smart factory uses SDN to manage traffic for 4 application types: robotic arm control (critical, <1ms latency), vision system feeds (high bandwidth, 100 Mbps), sensor data (standard priority), and daily backups (low priority). The factory has 3 paths between production floor switches and the data center gateway.
Given:
- Path A: 1 Gbps, 2 hops, 0.5 ms latency
- Path B: 10 Gbps, 3 hops, 1.2 ms latency
- Path C: 1 Gbps, 4 hops, 2.0 ms latency
- Traffic volumes: Robotic control (50 Mbps), Vision systems (800 Mbps), Sensors (100 Mbps), Backups (500 Mbps)
Step 1: Classify traffic by QoS priority (DSCP marking) - Critical (robots): DSCP EF (Expedited Forwarding), priority 1000 - High (vision): DSCP AF41, priority 500 - Medium (sensors): DSCP AF21, priority 100 - Low (backups): DSCP BE (Best Effort), priority 10
Step 2: Map applications to paths based on requirements
| Application | Requirement | Selected Path | Reasoning |
|---|---|---|---|
| Robotic control | Latency <1ms | Path A (0.5ms) | Lowest latency, 50 Mbps fits in 1 Gbps |
| Vision systems | Bandwidth 800 Mbps | Path B (10 Gbps) | Only path with sufficient bandwidth for 8x 100Mbps streams |
| Sensor data | Standard delivery | Path A (residual capacity) | 1 Gbps - 50 Mbps = 950 Mbps available |
| Backups | Best-effort | Path C | Highest latency acceptable for bulk transfers |
Step 3: Install OpenFlow rules with priority-based queuing
# Pseudo-code for SDN controller flow installation
flow_robotic = {
'match': {'ip_proto': 'TCP', 'dscp': 'EF'},
'actions': ['set_queue:1', 'output:path_A'],
'priority': 1000,
'idle_timeout': 0 # permanent rule
}
flow_vision = {
'match': {'ip_proto': 'UDP', 'dscp': 'AF41', 'tp_dst': 5000},
'actions': ['set_queue:2', 'output:path_B'],
'priority': 500
}Step 4: Validate path capacity and congestion risk - Path A: (50 + 100) / 1000 = 15% utilization → ample headroom - Path B: 800 / 10000 = 8% utilization → no congestion risk - Path C: 500 / 1000 = 50% utilization → monitor for peak bursts
Step 5: Configure dynamic rerouting thresholds - If Path A utilization > 70%: reroute sensor traffic to Path C - If Path B fails: split vision streams across Paths A + C (degraded but functional)
Result: Critical robotic control achieves <1ms latency with guaranteed capacity, vision systems have dedicated high-bandwidth path, and backups utilize otherwise idle Path C without impacting production traffic.
Decision Framework: Selecting SDN Analytics Platform for IoT
| Use Case | Recommended Platform | Key Features | Deployment Scale |
|---|---|---|---|
| DDoS detection in campus IoT | ONOS + ELK stack | Real-time flow statistics, pattern matching, 5-15 second detection | 1,000-10,000 devices |
| Energy-aware WSN routing | Ryu + NetworkX (Python) | Custom cost functions, Dijkstra with battery metrics, edge controller | 100-1,000 battery-powered sensors |
| Traffic engineering for data center | ONOS with Intent Framework | High-level intent (‘route elephant flows via underutilized links’), automatic path computation | 500-5,000 servers |
| IoT botnet detection | OpenDaylight + Apache Kafka | TSDR for time-series storage, Kafka for streaming analytics, multi-stage risk scoring | 5,000-100,000 IoT endpoints |
| Smart city network slicing | ONOS clustered + Prometheus | QoS differentiation, VLAN-based slicing, carrier-grade HA | 10,000-1,000,000 devices |
| Factory predictive maintenance | Faucet + Grafana | Prometheus metrics export, port statistics, temperature/error trends | 100-5,000 industrial devices |
Decision criteria:
- Choose ONOS when: Carrier-grade reliability required (clustered HA), large scale (10K+ devices), or need Intent abstraction for high-level policy specification
- Choose Ryu when: Rapid prototyping of custom algorithms (Python data science libraries), small-to-medium deployments, or edge SDN on resource-constrained hardware
- Choose OpenDaylight when: Multi-protocol support needed (OpenFlow + NETCONF), TSDR for historical analytics, or integration with existing enterprise management systems
- Choose Faucet when: Production-grade performance without programming (YAML configuration), Prometheus integration mandatory, or deploying in network ops teams without SDN expertise
Common Mistake: Hardcoding Traffic Engineering Paths Without Failover Logic
What practitioners do wrong: Implement SDN traffic engineering that explicitly routes elephant flows to specific underutilized links (e.g., “all bulk transfers use Link 5”) without detecting link failures or congestion changes.
Why it fails:
- Physical links fail (fiber cut, switch port failure, transceiver malfunction)
- Bandwidth utilization changes dynamically (other applications start/stop)
- Hardcoded paths assume static network state, but IoT environments are inherently dynamic (devices join/leave, interference changes wireless link quality)
- When the designated path fails, traffic blackholes instead of rerouting
Correct approach:
- Continuous link monitoring: SDN controller polls port statistics every 5-10 seconds via OFPT_PORT_STATS_REQUEST
- Dynamic path recomputation: When link utilization exceeds threshold (e.g., >80%) or port status changes to DOWN, trigger path recalculation
- Hysteresis to prevent oscillation: Require link utilization to drop below 60% before reverting traffic (prevent flip-flopping every few seconds)
- Graceful degradation: Have backup path plan for link failures (e.g., if Link 5 fails, distribute elephant flows across Links 2-4)
Real-world example: A smart factory deployed SDN traffic engineering to route camera video streams (elephant flows, 800 Mbps total) through a dedicated 10 Gbps uplink (Link B) to avoid congestion on the production control network (Link A). Three months into deployment, Link B’s fiber was accidentally cut during ceiling maintenance. The SDN controller had hardcoded output:port_B in all video flow rules. When Link B failed, 20 HD cameras went offline, halting quality inspection. Production stopped for 45 minutes until the fiber was repaired.
Solution: Implement failover logic:
def install_video_flows():
if link_B.is_up() and link_B.utilization < 0.8:
output_port = port_B # preferred high-bandwidth path
elif link_A.utilization < 0.7:
output_port = port_A # fallback to primary path
else:
output_port = None # rate-limit video if no capacity
trigger_alert("No available bandwidth for video streams")After implementing dynamic failover, a subsequent fiber cut on Link B triggered automatic rerouting to Link A within 8 seconds (2× polling interval + flow installation latency). Video quality degraded slightly due to shared bandwidth, but production continued without interruption.
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
1. Over-Complicating Use Cases with Full SDN
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.
2. Not Aligning SDN Use Cases with Network Operator Skills
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.
3. Treating Network Slicing as Free Isolation
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.
4. Not Testing Use Cases Under Controller Failover Conditions
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
For Kids: Meet the Sensor Squad!
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 |