Network Management
Process of configuring network to achieve a variety of tasks
Configuring net ]work mistakes lead to:
Why is configuration hard?
What operators need (and what SDN provides)
Routers should (to make network operations easier) …
+ Forward packets
+ Collect measurements
- Compute Routes -> can be (logically) centralized
Software Defined Networking == “Remove Routing from Routers”
What is an SDN?
Data Plane: forward traffic
Control Plane: Compute routing tables
Today: Control + Data on routes
SDN: 1. Logically centralized control 2. network-wide control
Advantages of SDN
All of these characteristics are rooted in the fact that the control plane is separate from the data plane
This allows to provide CS techniques to networking problems
SDN infrastracture
Control Plane: Software Program (Python, C)
Data Plane: Programmable hardware (“switch”)
SDN Applications
Data centers Backbone networks Enterprise networks Internet Exchange Points (IXPs) Home Networks
Job of Control Plane
To compute state that ultimately ends up in the data plane
Control Plane
Logic that controls forwarding behavior
Examples: routing protocols, configuration for network middleboxes
Data Plane
Forward traffic according to control plane
Examples: forwarding, switching
Why is separating data and control a good idea
Opportunities for better network management (separation of control and data plane)
Reasons for separating data and control
Example of where SDN can provide huge wins
Data Centers
Problem: Provisioning/migration in response to load
Solution: Program switch state from a central database
How does control/data separation make managing data centers easier?
- Migrating VMs without renumbering host addresses
Challenges with SDN
Ways to cope with scalability challenges
Different SDN Controllers
NOX
Characteristics:
C++
OpenFlow 1.0
Model Event-based -> event handlers
+Performance
NOX Architecture
Components
Abstraction: Switch Control
Control: flow granularity
flow
header is 10-tuple
Actions might include Forward, drop, send to controller
When a switch receives a packet:
Basic Programmatic Interface for the NOX Controller
Based on events, such as a switch join/leave, packet in or receive method, stats etc
Controller keeps track of network view which includes a view of the underlying network topology
also speaks control protocol to the switches in the network
That control protocol effectively allows controller to update the state in the network switches
The NOX controller implements the OpenFlow protocol
When to use Pox
Class project and university research
Does not perform as well as other controllers