0% found this document useful (0 votes)
20 views

Openflow

This document provides an overview of software-defined networking and OpenFlow. It discusses how OpenFlow separates the control plane from the data plane by introducing a controller that programs OpenFlow switches via the OpenFlow protocol. The switch model and OpenFlow protocol are described. Key tasks of the OpenFlow controller include maintaining network state based on switch events and configuring switches based on control logic. Popular OpenFlow controllers like NOX and POX are also summarized.

Uploaded by

Connnor Jack
Copyright
© © All Rights Reserved
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
20 views

Openflow

This document provides an overview of software-defined networking and OpenFlow. It discusses how OpenFlow separates the control plane from the data plane by introducing a controller that programs OpenFlow switches via the OpenFlow protocol. The switch model and OpenFlow protocol are described. Key tasks of the OpenFlow controller include maintaining network state based on switch events and configuring switches based on control logic. Popular OpenFlow controllers like NOX and POX are also summarized.

Uploaded by

Connnor Jack
Copyright
© © All Rights Reserved
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 45

An Overview of

Software-Defined Network
Presenter: Xitao Wen
Review: How a Router Works
routing algorithm

local forwarding table


header value output link
0100 3
0101 2
0111 2
1001 1

value in arriving
packet’s header
0111 1

3 2

* Copied from slides of EECS 340


Inside a Router
Ge n
era
l-pu
CPU rpose

Routing Engine

Packet Forwarding Output


Input Ports
Fabric Ports

l ized
pe cia
C, or s ips
ASI ch
Experimenter’s Dream
(Vendor’s Nightmare)

Standard User-
User- Experimenter writes
sw Network
Network defined
defined experimental code
hw Processing
Processing Processing
Processing on switch/router

The Stanford Clean Slate Program http://cleanslate.stanford.edu


Furthermore, we want…
 Isolation: Regular production traffic untouched
 Virtualized and programmable: Different flows
processed in different ways
 Equipment we can trust in our wiring closet
 Open development environment for all
researchers (e.g. Linux, Verilog, etc).
 Flexible definitions of a flow
 Individual application traffic
 Aggregated flows
 Alternatives to IP running side-by-side
…

The Stanford Clean Slate Program http://cleanslate.stanford.edu


Software-Defined Network
OpenFlow Architecture

Routing Engine

Controller
Network Protocol over SSL

Packet Forwarding Output


Input Ports
Fabric Ports

Switch
Roadmap
• Overview Controller
• Switch Model
• OpenFlow Protocol
• Controller OpenFlow Protocol
Switch
Switch
Switch

Switch
Step 1:
Separate Control from Datapath
Step 2:
Cache flow decisions in datapath
Roadmap
• Overview Controller
• Switch Model
• OpenFlow Protocol
• Controller OpenFlow Protocol
Switch
Switch
Switch

Switch
OpenFlow Switch Model
OpenFlow Switch specification

OpenFlow Switch PC

sw Secure
Channel

hw Flow
Table
OpenFlow version timeline
Evolving Protocol
OpenFlow Switch Model
• Hardware
– One or more flow tables
– Group table (since Spec 1.1)
• Software
– Secure Channel
Flow Table Entry

Matcher Action Counters

Packet + byte counters

1. Forward packet to port(s)


2. Encapsulate and forward to controller
3. Drop packet
4. Rewrite headers
5. Map to queue

Switch MAC MAC Eth VLAN IP IP IP TCP TCP


Port src dst type ID Src Dst Prot sport dport
+ mask
Secure Channel
• SSL Connection, site-specific key
• Controller discovery protocol
• Encapsulate packets for controller
• Send link/port state to controller
Current OpenFlow Hardware
Roadmap
• Overview Controller
• Switch Model
• OpenFlow Protocol
• Controller OpenFlow Protocol
Switch
Switch
Switch

Switch
OpenFlow Protocol
• Connection
– Hello, Echo, Feature, Config…
• Read-State
– Statistics, Port-status, Error
• Modify-State
– Flow, Group, Config
• Packet-in/Packet-out
• Barrier
Reactive vs. Proactive (pre-populated)
Reactive Flow-Push
Proactive Flow-Push
Roadmap
• Overview Controller
• Switch Model
• OpenFlow Protocol
• Controller OpenFlow Protocol
Switch
Switch
Switch

Switch
Key Task of OF Controller

• OpenFlow protocol is largely deltas:


– Switch-to-Controller: changes of network state
– Controller-to-Switch: changes of configuration
• It is a natural way to write control logic
Architectural View: Network OS

App App App App

OF Controller

Operating System

Switch Switch Switch


Open Controllers
Open Controllers (2)
NOX: A Bit of History
• NOX was the first SDN controller
• Released under GPL in 2008
– Extensively used in research
• Now maintained by research community
NOX Highlights
• Linux
• C++ and Python
• Component system
• Event-based programming model
• Applications:
– Forwarding (reactive), topology discovery, host
tracking, …
NOX
• Centralized programming model
• High-level abstraction
Programming Interface
• Events
• Namespace
• Libraries
– Routing
– Packet classification
– DNS
– Network filtering
POX
• A new platform in pure Python
– Clean dependencies
– Take good things from NOX
– Target Linux, Mac OS, and Windows
• Goal: Good for research
• Non-goal: Performance

You might also like