1 3 JF PDF
1 3 JF PDF
1 3 JF PDF
José Fortes
Center for Cloud and Autonomic Computing
Advanced Computing and Information Systems Lab
Basic motivation
Openflow basics
Hands-on demo
From SDN to virtual networking at large
Introduction to ViNe
Hands-on demo of ViNe on FutureGrid
Conclusions
http://www.openflow.org/wk/index.php/Open
Flow_Tutorial
• Use tools pre-packaged in a VM (mininet)
• Modify a OpenFlow hub to a learning switch
• Many controller/platform options
http://trema-tutorial.heroku.com/
• OpenFlow controller development using trema
Connecting VMs through ViNe
(https://portal.futuregrid.org/contrib/simple-
vine-tutorial)
Broad Definition
• Open Network Foundation: “an architecture that
enables direct programmability of networks”
• Internet Engineering Task Force: “an approach that
enables applications to converse with and manipulate
the control software of network devices and resources”
– Internet Draft, Sep. 2011 by T. Nadeau
OpenFlow
• An approach to SDN with physical separation between
control and data planes
• Provides open interfaces (APIs)
• SDN is not OpenFlow but OpenFlow is a step towards
SDN
Advanced Computing and Information Systems laboratory
Original need for Openflow
Data Plane
• Process messages/packets/frames according
to local forwarding state
• Implemented/optimized in hardware
Control Plane
• Adjust forwarding state
• Distributed protocols/algorithms
• Manual configuration and scripting
SDN advocates full separation of control
and data planes
Controller
OpenFlow Protocol
Match flow
table entry Secure Group
Channel Table
Flow Flow
OpenFlow OpenFlow
Table Table
ingress Pipeline output
port port
VMM Ctrl
switch tag
Physical Physical
host switch
Physical
host
Advanced Computing and Information Systems laboratory 11
OpenFlow Flow Table Entry
Flow Switching
Firewall
Routing
VLAN Switching
Control Program
Control via
forwarding
interface
Protocols Protocols
Control
Nypervisor
Program
Software Switch
• Open vSwitch
Network Operating Systems
• NOX, Trema, FloodLight, Maestro
Hypervisor
• FlowVisor
Routing
• RouteFlow
Many others
Internet
Retrieve message
Open connection
Send message
packet
processing in
Java
in user space
Protocol data
12µs/message TCP/IP VN TCP/IP Message
header header header
Physical Space
ViNe header is H H H1
Public
stripped off for H2 network A
Private network B
final delivery A R N B
H4 Internet H3 R Router
Private network C
N F Public
network D N NAT
H H F Firewall
Configuration
actions Requests
VM A1 VM A2 VM B1 VM B2
; ;
;
vNIC vNIC vNIC vNIC
Firewall Firewall
vNIC proxyARP NIC vNIC proxyARP NIC
Forwarding Forwarding
Physical
Network
Physical Space
ViNe header is H H H1
Public
stripped off for H2 network A
Private network B
final delivery A R N B
H4 Internet H3 R Router
Private network C
N F Public
network D N NAT
H H F Firewall
Tiny Tiny
ViNe ViNe
UC PU
ViNe
AMD Opteron 248, 2.2 GHz, Download
FutureGrid Server 1. ViNe-enable sites
3.5 GB RAM, Linux 2.6.32
UF 2. Configure ViNe VRs
UF
3. Instantiate BLAST VMs
4. Contextualize
a.Retrieve VM information
b.ViNe-enable VMs
Intel Xeon Prestonia, 2.4 c.Configure Hadoop
Melbourne, Australia GHz, 3.5 GB RAM, Linux
connected to UF (ssh) 2.6.18
Advanced Computing and Information Systems laboratory
Quick ViNe Overview
Hotel
India
VR VR
Sierra Foxtrot
Private
Network