SDN Tutorial
SDN Tutorial
Networking Tutorial
Shihabur R. Chowdhury
CS856 - Fall 2015
University of Waterloo
VM Credentials
Username: sdn
Password: sdnpass
Southbound API
(OpenFlow, OnePK etc.)
OpenFlow Agent
packet
Datapath
SDN switch (pica8, indigo, Open vSwitch etc.)
OpenFlow
header (action,counter)
header:
source/destination IP
MAC
VLAN
TCP/UDP port etc.
header can have exact fields or wildcard fields
OpenFlow in Action
OpenFlow Controller
PacketIn
FlowMod
PacketOut
FeatureRequest
FeatureReply
FlowStat
StatReply
OpenFlow Switch
Ingress
Egress
Open vSwitch
Mininet
Mininet Installation
Install mininet
mn -h
Start Mininet
sudo mn
Mininet Hosts
h# command
h1 ifconfig
h1 ping -c 2 h2
Mininet
pingall
xterm h#
e.g., xterm h1
iperf
More Mininet
py dir(h1)
py
py h1.IP()
ovs-ofctl dump-flows s1
ovs-ofctl show s1
ovs-ofctl dump-ports s1
Quick Exercise
h1 ping h2
https://github.com/mininet/mininet/tree/master/examples
https://reproducingnetworkresearch.wordpress.com/
FlowVisor
FlowVisor Installation
Download flowvisor
Build
Install
FlowVisor Installation
FlowVisor Configuration
Check configuration
fvctl get-config
s1
s2
s3
s4
h1
h2
h3
h4
Blue Slice
Red Slice
Create topology
fvctl list-datapaths
fvctl list-links
fvctl list-slices
Create flowspaces
fvctl
fvctl
fvctl
fvctl
fvctl
fvctl
add-flowspace
add-flowspace
add-flowspace
add-flowspace
add-flowspace
add-flowspace
blue=7
blue=7
red=7
red=7
Run Controllers
In terminal 2
Test
In mininet console
h1 ping h2
h3 ping h4
h1 ping h3