2. OpenFlow Definitions
• OpenFlow Controller: Supports the server feature of the
•
•
•
•
OpenFlow protocol. Manages the forwarding behavior of one
or more OpenFlow switches.
OpenFlow-Only switch: Supports the mandatory client
features of the OpenFlow protocol.
OpenFlow-Capable / Hybrid Switch: Supports the
mandatory client features of OpenFlow in addition to normal
switch functions.
Flow Entry: The basic unit of forwarding management.
Flow Table: Consists of a set of priority ordered flow entries.
2
3. OpenFlow Flow Table
Rule Action
Action Stats
Stats
Rule Action
Rule
Stats
Packet + byte counters
1.
2.
3.
4.
Ingress MAC
Port
src
MAC
dst
Eth
type
Forward packet to port(s)
Encapsulate and forward to controller
Drop packet
Send to normal processing pipeline
VLAN VLAN
ID
PCP
IP
Src
IP
Dst
IP
Prot
IP
ToS
TCP
sport
TCP
dport
4. OpenFlow Startup Example
OpenFlow Controller
• Switch connects to controller. Both exchange Hello’s.
Version negotiation.
• Controller requests features with Features-Request.
• Switch responds with Features-Reply to indicate
supported features and OpenFlow-enabled ports.
5. Topology OpenFlow Application Example
Switch and controller startup already
complete.
Packet-Out
LLDP Request
OpenFlow Controller
Packet-Out
LLDP Request
Controller discovers topology of the network by forwarding
LLDP’s out to the switching and inspecting the replies.
A
B
6. Topology OpenFlow Application Example
OpenFlow Controller
Packet-In LLDP
Request
Packet-In LLDP
Request
•
•
A
Each switch forwards the LLDP’s out the indicated ports.
Each switch forwards the LLDP’s to the controller as
Packet-in’s.
•
Controller now knows the network topology.
B
7. Reactive OpenFlow Application Example
OpenFlow Controller
Packet-In
ARP Request
Packet-Out
ARP Request
ARP Request
ARP Request
A
• System A needs to communicate with B.
• No path exists.
• OpenFlow controller reactively establishes path
through the switching network.
B