SlideShare ist ein Scribd-Unternehmen logo
1 von 71
Copyright 2014 Kenneth M. Chipps Ph.D.
www.chipps.com
Software Defined Networking
Lab
Using Mininet
and the
POX Controller
Last Update 2014.02.04
2.1.0
1
Sources
• This lab uses the OpenFlow Tutorial
sample lab from
• http://archive.openflow.org/wk/index.php/O
penFlow_Tutorial#Download_Files
• and content from the book Software
Defined Networking with OpenFlow by
Siamak Azodolmolky
Copyright 2014 Kenneth M. Chipps Ph.D. www.chipps.com 2
The SDN Lab
• For this lab on SDN we will be using
Mininet to create the SDN hardware and
OpenFlow commands to define how the
hardware acts
Copyright 2014 Kenneth M. Chipps Ph.D. www.chipps.com 3
What is Mininet
• Mininet is a network emulator, not a
simulator
• It can be used to create virtual hosts,
hubs, switches, controllers, and links
• The code used in Mininet can be used with
no or minimal changes on real SDN
OpenFlow networks
Copyright 2014 Kenneth M. Chipps Ph.D. www.chipps.com 4
Flow of the Lab
• In this lab you will
– Simulate a multi-switch, multi-host network
with Mininet
– Create flow tables from the command line
– Setup a controller to download the flow
entries
– View OpenFlow messages with Wireshark
Copyright 2014 Kenneth M. Chipps Ph.D. www.chipps.com 5
Flow of the Lab
• After the tutorial, you can apply what
you've learned to physical networks based
on software switches or SDN capable
hardware switches at line rate
• Here are the steps we will go through
Copyright 2014 Kenneth M. Chipps Ph.D. www.chipps.com 6
Flow of the Lab
– Download the virtual machine
– Setup the virtual machine
– Check the setup in Linux
– Create the network
– Examine the network
– Work with basic OpenFlow commands
– Add a controller
Copyright 2014 Kenneth M. Chipps Ph.D. www.chipps.com 7
Download the Virtual Machine
• For this lab a virtual machine appliance in
ovf format must be downloaded from the
OpenFlow Tutorial website here
– https://github.com/downloads/mininet/mininet/
mininet-2.0.0-113012-amd64-ovf.zip
• Download this file
• Expand the zip file
• You should see these files
Copyright 2014 Kenneth M. Chipps Ph.D. www.chipps.com 8
Download the Virtual Machine
Copyright 2014 Kenneth M. Chipps Ph.D. www.chipps.com 9
Setup the Virtual Machine
• To import this appliance into VirtualBox
– Select
• File
– Import Appliance
» Select the ovf image
» Press the Import button
• This lab requires two virtual NICs
– The first one should be set to host-only
network
– The second one to NAT
Copyright 2014 Kenneth M. Chipps Ph.D. www.chipps.com 10
Check Linux
• Mininet is a command line tool that runs in
Linux
• The Mininet prompt looks like this
– mininet>
• The Linux prompt ends with a $ for a
normal user
• It ends in # for the root account
Copyright 2014 Kenneth M. Chipps Ph.D. www.chipps.com 11
Check Linux
• We will use the sudo command to run the
Linux commands with root privileges at the
normal user prompt
Copyright 2014 Kenneth M. Chipps Ph.D. www.chipps.com 12
Check Linux
• Start the virtual machine
• Login to Linux
• The login is
– mininet
– mininet
• The screen should look like this
Copyright 2014 Kenneth M. Chipps Ph.D. www.chipps.com 13
Check Linux
Copyright 2014 Kenneth M. Chipps Ph.D. www.chipps.com 14
Check Linux
• Let’s see if the two network interfaces are
setup correctly
• At the Linux prompt enter
– ifconfig
Copyright 2014 Kenneth M. Chipps Ph.D. www.chipps.com 15
Check Linux
• Three interfaces should appear
• Two physical interfaces called
– eth0
– eth1
– And the loopback interface
Copyright 2014 Kenneth M. Chipps Ph.D. www.chipps.com 16
Check Linux
• One of the physical interfaces should have
a 192 address and the other a 10 address
• We will access the virtual machine using a
terminal program using the 192 address
• If either of the eth Ethernet interfaces are
missing, run this command
– sudo dhclient ethx
• Where the x in ethx is the number of the
interface Copyright 2014 Kenneth M. Chipps Ph.D. www.chipps.com 17
Check Linux
Copyright 2014 Kenneth M. Chipps Ph.D. www.chipps.com 18
Check Linux
• As you can see the eth1 interface is
missing
• After the dhclient command is run this
appears
Copyright 2014 Kenneth M. Chipps Ph.D. www.chipps.com 19
Check Linux
Copyright 2014 Kenneth M. Chipps Ph.D. www.chipps.com 20
Create the Network
• Pay close attention to the prompt shown
for each command
• It makes a difference
• The basic network we will start with looks
like this
Copyright 2014 Kenneth M. Chipps Ph.D. www.chipps.com 21
Create the Network
Copyright 2014 Kenneth M. Chipps Ph.D. www.chipps.com 22
Create the Network
• H2 H3 and H4 are just generic end
devices
• In the real world they would be PCs,
printers, VOIP telephones and so forth
• The others are the SDN devices - a switch
and a controller
Copyright 2014 Kenneth M. Chipps Ph.D. www.chipps.com 23
Create the Network
• These commands can be entered in the
VirtualBox window from the keyboard
• Or a terminal program such as Putty can
be used so the commands can be pasted
• Let’s start Putty and connect to the virtual
machine
• Use the 192 IP address
• Putty defaults to SSH
Copyright 2014 Kenneth M. Chipps Ph.D. www.chipps.com 24
Create the Network
• So just enter the address and click open
• The login in is the same as before
– mininet
– mininet
Copyright 2014 Kenneth M. Chipps Ph.D. www.chipps.com 25
Create the Network
Copyright 2014 Kenneth M. Chipps Ph.D. www.chipps.com 26
Create the Network
• To paste a command, copy it from here
and right click on the command prompt
shown in Putty
• The virtual machine is setup with Mininet
installed and ready to run
• Issue this command to create the SDN
devices and links for this lab
Copyright 2014 Kenneth M. Chipps Ph.D. www.chipps.com 27
Create the Network
• It all goes on one line in Linux
– $ sudo mn --topo single,3 --mac --switch ovsk --controller remote
• This tells Mininet to start up a three host,
single – openvSwitch based - switch
topology, set the MAC address of each
host equal to its IP, and point to a remote
controller which defaults to the localhost
• The screen should look like this
Copyright 2014 Kenneth M. Chipps Ph.D. www.chipps.com 28
Create the Network
Copyright 2014 Kenneth M. Chipps Ph.D. www.chipps.com 29
Create the Network
• Here's what Mininet just did
– Created three virtual hosts
– Created a single OpenFlow software switch
with three ports
– Connected each virtual host to the switch with
a virtual Ethernet cable
– Set the MAC address of each host equal to its
IP address
– Configured the OpenFlow switch to connect to
the controllerCopyright 2014 Kenneth M. Chipps Ph.D. www.chipps.com 30
Create the Network
• These devices do the following
– An OpenFlow Controller
• The controller creates and transfer to the flow
commands to the switches
– An OpenFlow Switch
• This is a software based switch that takes
commands from the controller that are used to
handle the frames it receives
Copyright 2014 Kenneth M. Chipps Ph.D. www.chipps.com 31
Examine the Network
• Notice that the Linux prompt is gone
• This is the mininet prompt
• Let’s see what we made
• At the Mininet prompt enter
– mininet>nodes
• This should appear
Copyright 2014 Kenneth M. Chipps Ph.D. www.chipps.com 32
Examine the Network
Copyright 2014 Kenneth M. Chipps Ph.D. www.chipps.com 33
Examine the Network
• We can also see the network using
– mininet>net
• And see information about all the nodes
with
– mininet>dump
Copyright 2014 Kenneth M. Chipps Ph.D. www.chipps.com 34
Examine the Network
Copyright 2014 Kenneth M. Chipps Ph.D. www.chipps.com 35
Work With OpenFlow
• In OpenFlow to look at a switch’s flow
table the dpctl – data path control
command can be used
• Most OpenFlow switches start up with a
passive listening port - 6634 - from which
you can poll the switch, without having to
add debugging code to the controller
Copyright 2014 Kenneth M. Chipps Ph.D. www.chipps.com 36
Work With OpenFlow
• For example the command
– $ dpctl show tcp:127.0.0.1:6634
• will connect to the switch and dump out its
port state and capabilities
• This command can be run from the
Mininet prompt as well in this form
– mininet>dpctl show
• I am going to open another Putty
connection to do thisCopyright 2014 Kenneth M. Chipps Ph.D. www.chipps.com 37
Work With OpenFlow
Copyright 2014 Kenneth M. Chipps Ph.D. www.chipps.com 38
Work With OpenFlow
Copyright 2014 Kenneth M. Chipps Ph.D. www.chipps.com 39
Work With OpenFlow
• This command looks at the flow table
– $ dpctl dump-flows tcp:127.0.0.1:6634
– or
– mininet>dpctl dump-flows
• Since we haven't started a controller yet,
the flow-table should be empty
Copyright 2014 Kenneth M. Chipps Ph.D. www.chipps.com 40
Work With OpenFlow
Copyright 2014 Kenneth M. Chipps Ph.D. www.chipps.com 41
Work With OpenFlow
Copyright 2014 Kenneth M. Chipps Ph.D. www.chipps.com 42
Work With OpenFlow
• With the virtual hardware setup let’s check
network connectivity from the Mininet
console
– mininet>h1 ping –c3 h2
• The syntax for ping in mininet is
– Ping from – h1 here
– Number of pings – 3 times in this example
– Ping to – h2 here
Copyright 2014 Kenneth M. Chipps Ph.D. www.chipps.com 43
Work With OpenFlow
• For a continuous ping h1 ping h2
• CRTL c to stop the ping
Copyright 2014 Kenneth M. Chipps Ph.D. www.chipps.com 44
Work With OpenFlow
Copyright 2014 Kenneth M. Chipps Ph.D. www.chipps.com 45
Work With OpenFlow
• Did you get any replies
• As you saw before, the switch flow table is
empty
• Besides that, the controller is not yet
configured to provide flow handling
instructions to the switch and therefore the
switch doesn't know what to do with
incoming traffic, leading to ping failure
Copyright 2014 Kenneth M. Chipps Ph.D. www.chipps.com 46
Work With OpenFlow
• Let’s add some flows using dpctl first
• The dpctl command can do this on an
individual switch without a controller
• These flows are meant to be transitory
• As we are working with this in a lab rather
than in a realtime line rate network we
need to increase the timeout before we
add any flows or we will have to keep
reentering the flowsCopyright 2014 Kenneth M. Chipps Ph.D. www.chipps.com 47
Work With OpenFlow
• To increase the timeout to 5 minutes enter
this command
– $dpctl add-flow tcp:127.0.0.1:6634 in_port=1,idle_timeout=300,actions=output:2
• Now we can add the flow commands
• This is an example of a proactive entry to
the flow table as it will be added before the
traffic it will handle has crossed the
network
• In the other lab we will use reactive mode
Copyright 2014 Kenneth M. Chipps Ph.D. www.chipps.com 48
Work With OpenFlow
• Type this all on one line
– $ dpctl add-flow tcp:127.0.0.1:6634 in_port=1,actions=output:2
• And this also all on one line
– $ dpctl add-flow tcp:127.0.0.1:6634 in_port=2,actions=output:1
Copyright 2014 Kenneth M. Chipps Ph.D. www.chipps.com 49
Work With OpenFlow
• This will forward packets coming to port 1
to port 2 and vice-versa
• Verify this by checking the flow-table with
– $ dpctl dump-flows tcp:127.0.0.1:6634
Copyright 2014 Kenneth M. Chipps Ph.D. www.chipps.com 50
Work With OpenFlow
Copyright 2014 Kenneth M. Chipps Ph.D. www.chipps.com 51
Work With OpenFlow
• Run the ping command again in the
mininet console
– mininet> h1 ping -c3 h2
• Did you get replies now
Copyright 2014 Kenneth M. Chipps Ph.D. www.chipps.com 52
Work With OpenFlow
Copyright 2014 Kenneth M. Chipps Ph.D. www.chipps.com 53
Work With OpenFlow
• Check the flow-table again and look at the
statistics for each flow entry
• Is this what you expected to see based on
the ping traffic
Copyright 2014 Kenneth M. Chipps Ph.D. www.chipps.com 54
Activate Wireshark
• Wireshark is useful here to examine the
traffic generated by OpenFlow
• The virtual machine being used for this lab
has Wireshark already installed
• Let’s see how we get it working in this
environment
• We will have to use a new SSH session
using X11 as Wireshark uses a GUI
interface Copyright 2014 Kenneth M. Chipps Ph.D. www.chipps.com 55
Activate Wireshark
• To run an application that uses a GUI X11
is required
• This can be done at either end
• Under Windows, the Xming server must
be running, and you must make an SSH
connection with X11 forwarding enabled
Copyright 2014 Kenneth M. Chipps Ph.D. www.chipps.com 56
Activate Wireshark
• First, search the Internet for and download
the Xming server
• Install it
• Start Xming
• Xming will not show any window, but you
can verify that it is running by looking for
its process in Window's task bar
Copyright 2014 Kenneth M. Chipps Ph.D. www.chipps.com 57
Activate Wireshark
• Second, make an SSH connection with
X11 forwarding enabled
• If you are using Putty, you can connect to
the lab by entering the VM's IP address for
the 192 address NIC and enabling X11
forwarding
Copyright 2014 Kenneth M. Chipps Ph.D. www.chipps.com 58
Activate Wireshark
• To enable X11 forwarding from Putty's
GUI, go to PuttyConnection | SSH | X11,
then click on Enable X11 Forwarding, as
shown in the following screenshot
Copyright 2014 Kenneth M. Chipps Ph.D. www.chipps.com 59
Activate Wireshark
Copyright 2014 Kenneth M. Chipps Ph.D. www.chipps.com 60
Activate Wireshark
• Or X11 can be added to the VM itself
• To install X11 and a simple window
manager, from the VM console window
enter
– $ sudo apt-get update
– $ sudo apt-get install xinit flwm
• Start an X11 session in the VM console
window by typing
– $ startx
Copyright 2014 Kenneth M. Chipps Ph.D. www.chipps.com 61
Activate Wireshark
• Now start Wireshark as a background
process
– $sudo wireshark $
• Click on OK to clear any error messages
Copyright 2014 Kenneth M. Chipps Ph.D. www.chipps.com 62
Observe SDN Traffic
• Start a capture in Wireshark using the
loopback interface
• Create and apply a filter for just the
OpenFlow traffic by entering a display filter
in Wireshark using the string
– of
Copyright 2014 Kenneth M. Chipps Ph.D. www.chipps.com 63
Load the Controller
• To generate some traffic we will load a
controller as that is the next step anyway
• There are a number of software based or
hardware based controllers that can be
used in an SDN
• In this example we will load the POX
controller
• The developers of this controller say this
about it Copyright 2014 Kenneth M. Chipps Ph.D. www.chipps.com 64
POX Controller
– POX is NOX‘s younger sibling
– At its core, it’s a platform for the rapid
development and prototyping of network
control software using Python
– Meaning, at a very basic level, it’s one of a
growing number of frameworks (including
NOX, Floodlight, Trema, etc., etc.) for helping
you write an OpenFlow controller
Copyright 2014 Kenneth M. Chipps Ph.D. www.chipps.com 65
POX Controller
– POX also goes beyond this
– As well as being a framework for interacting
with OpenFlow switches, we’re using it as the
basis for some of our ongoing work to help
build the emerging discipline of Software
Defined Networking
– We’re using it to explore and prototype
distribution, SDN debugging, network
virtualization, controller design, and
programming models
Copyright 2014 Kenneth M. Chipps Ph.D. www.chipps.com 66
Load the Controller
• To start POX enter these commands
– $cd pox
– ./pox.py forwarding.l2_learning
• If the command prompt does not appear
after running this command, press enter
Copyright 2014 Kenneth M. Chipps Ph.D. www.chipps.com 67
Load the Controller
Copyright 2014 Kenneth M. Chipps Ph.D. www.chipps.com 68
Observe SDN Traffic
• Switch back to the Wireshark window to
see the activity as the controller loads
Copyright 2014 Kenneth M. Chipps Ph.D. www.chipps.com 69
Observe SDN Traffic
Copyright 2014 Kenneth M. Chipps Ph.D. www.chipps.com 70
Summary
• We now have a complete Software
Defined Network whose actions are
defined by OpenFlow
Copyright 2014 Kenneth M. Chipps Ph.D. www.chipps.com 71

Weitere ähnliche Inhalte

Was ist angesagt?

Unit 1 architecture of distributed systems
Unit 1 architecture of distributed systemsUnit 1 architecture of distributed systems
Unit 1 architecture of distributed systems
karan2190
 
Osi reference model and the tcp
Osi reference model and the tcpOsi reference model and the tcp
Osi reference model and the tcp
Agrippa Mungazi
 
Network management
Network managementNetwork management
Network management
Mohd Arif
 

Was ist angesagt? (20)

Mips 64
Mips 64Mips 64
Mips 64
 
Network management ppt
Network management pptNetwork management ppt
Network management ppt
 
Unit 1 architecture of distributed systems
Unit 1 architecture of distributed systemsUnit 1 architecture of distributed systems
Unit 1 architecture of distributed systems
 
Introduction to IoT Architecture
Introduction to IoT ArchitectureIntroduction to IoT Architecture
Introduction to IoT Architecture
 
Network and types of network
Network and types of networkNetwork and types of network
Network and types of network
 
Open mp
Open mpOpen mp
Open mp
 
Optimistic Algorithm and Concurrency Control Algorithm
Optimistic Algorithm and Concurrency Control AlgorithmOptimistic Algorithm and Concurrency Control Algorithm
Optimistic Algorithm and Concurrency Control Algorithm
 
Osi reference model and the tcp
Osi reference model and the tcpOsi reference model and the tcp
Osi reference model and the tcp
 
Network Design and Management
Network Design and ManagementNetwork Design and Management
Network Design and Management
 
Distributed operating system
Distributed operating systemDistributed operating system
Distributed operating system
 
1. Introduction to IoT
1. Introduction to IoT1. Introduction to IoT
1. Introduction to IoT
 
Data-Centric Routing Protocols in Wireless Sensor Network: A survey
Data-Centric Routing Protocols in Wireless Sensor Network: A surveyData-Centric Routing Protocols in Wireless Sensor Network: A survey
Data-Centric Routing Protocols in Wireless Sensor Network: A survey
 
Network protocals
Network protocalsNetwork protocals
Network protocals
 
Network management
Network managementNetwork management
Network management
 
Network management
Network managementNetwork management
Network management
 
Network protocol
Network protocolNetwork protocol
Network protocol
 
enterprise network design architecture
enterprise network design architectureenterprise network design architecture
enterprise network design architecture
 
Wireshark
WiresharkWireshark
Wireshark
 
Aca11 bk2 ch9
Aca11 bk2 ch9Aca11 bk2 ch9
Aca11 bk2 ch9
 
Ppt of routing protocols
Ppt of routing protocolsPpt of routing protocols
Ppt of routing protocols
 

Andere mochten auch

An experimental overview on software defined optical transmission and sdngmpl...
An experimental overview on software defined optical transmission and sdngmpl...An experimental overview on software defined optical transmission and sdngmpl...
An experimental overview on software defined optical transmission and sdngmpl...
CPqD
 
Software Defined Optical Networks - Mayur Channegowda
Software Defined Optical Networks - Mayur ChannegowdaSoftware Defined Optical Networks - Mayur Channegowda
Software Defined Optical Networks - Mayur Channegowda
CPqD
 
Efficient Topology Discovery in Software Defined Networks
Efficient Topology Discovery in Software Defined NetworksEfficient Topology Discovery in Software Defined Networks
Efficient Topology Discovery in Software Defined Networks
Farzaneh Pakzad
 
Software Defined Networking
Software Defined NetworkingSoftware Defined Networking
Software Defined Networking
Anshuman Singh
 
Software defined network based firewall technique
Software defined network based firewall techniqueSoftware defined network based firewall technique
Software defined network based firewall technique
IAEME Publication
 
Firewall presentation
Firewall presentationFirewall presentation
Firewall presentation
Amandeep Kaur
 

Andere mochten auch (20)

How to use miniedit
How to use minieditHow to use miniedit
How to use miniedit
 
SDN and Mininet: Some Basic Concepts
SDN and Mininet: Some Basic ConceptsSDN and Mininet: Some Basic Concepts
SDN and Mininet: Some Basic Concepts
 
Lab 5: Interconnecting a Datacenter using Mininet
Lab 5: Interconnecting a Datacenter using MininetLab 5: Interconnecting a Datacenter using Mininet
Lab 5: Interconnecting a Datacenter using Mininet
 
Software Defined Network - SDN
Software Defined Network - SDNSoftware Defined Network - SDN
Software Defined Network - SDN
 
Nox - Número de Oxidação.
Nox - Número de Oxidação.Nox - Número de Oxidação.
Nox - Número de Oxidação.
 
SDN Training - Open daylight installation + example with mininet
SDN Training - Open daylight installation + example with mininetSDN Training - Open daylight installation + example with mininet
SDN Training - Open daylight installation + example with mininet
 
SDN Project PPT
SDN Project PPTSDN Project PPT
SDN Project PPT
 
An experimental overview on software defined optical transmission and sdngmpl...
An experimental overview on software defined optical transmission and sdngmpl...An experimental overview on software defined optical transmission and sdngmpl...
An experimental overview on software defined optical transmission and sdngmpl...
 
Software Defined Optical Networks - Mayur Channegowda
Software Defined Optical Networks - Mayur ChannegowdaSoftware Defined Optical Networks - Mayur Channegowda
Software Defined Optical Networks - Mayur Channegowda
 
Efficient Topology Discovery in Software Defined Networks
Efficient Topology Discovery in Software Defined NetworksEfficient Topology Discovery in Software Defined Networks
Efficient Topology Discovery in Software Defined Networks
 
Software Defined Networking
Software Defined NetworkingSoftware Defined Networking
Software Defined Networking
 
한국통신학회 워크샵: SDN/NFV for Secure Services - Understanding Open Source SDN Contr...
한국통신학회 워크샵: SDN/NFV for Secure Services - Understanding Open Source SDN Contr...한국통신학회 워크샵: SDN/NFV for Secure Services - Understanding Open Source SDN Contr...
한국통신학회 워크샵: SDN/NFV for Secure Services - Understanding Open Source SDN Contr...
 
Software defined network based firewall technique
Software defined network based firewall techniqueSoftware defined network based firewall technique
Software defined network based firewall technique
 
Linux Based Advanced Routing with Firewall and Traffic Control
Linux Based Advanced Routing with Firewall and Traffic ControlLinux Based Advanced Routing with Firewall and Traffic Control
Linux Based Advanced Routing with Firewall and Traffic Control
 
Towards a Reliable SDN Firewall
Towards a Reliable SDN FirewallTowards a Reliable SDN Firewall
Towards a Reliable SDN Firewall
 
Software defined security-framework_final
Software defined security-framework_finalSoftware defined security-framework_final
Software defined security-framework_final
 
Opendaylight SDN Controller
Opendaylight SDN ControllerOpendaylight SDN Controller
Opendaylight SDN Controller
 
SDN 101: Software Defined Networking Course - Sameh Zaghloul/IBM - 2014
SDN 101: Software Defined Networking Course - Sameh Zaghloul/IBM - 2014SDN 101: Software Defined Networking Course - Sameh Zaghloul/IBM - 2014
SDN 101: Software Defined Networking Course - Sameh Zaghloul/IBM - 2014
 
Firewall presentation
Firewall presentationFirewall presentation
Firewall presentation
 
Introduction to Software Defined Networking (SDN)
Introduction to Software Defined Networking (SDN)Introduction to Software Defined Networking (SDN)
Introduction to Software Defined Networking (SDN)
 

Ähnlich wie Sdn command line controller lab

How to use packet tracer
How to use packet tracerHow to use packet tracer
How to use packet tracer
Yunita Siswanti
 
Tech Tutorial by Vikram Dham: Let's build MPLS router using SDN
Tech Tutorial by Vikram Dham: Let's build MPLS router using SDNTech Tutorial by Vikram Dham: Let's build MPLS router using SDN
Tech Tutorial by Vikram Dham: Let's build MPLS router using SDN
nvirters
 
What is SDN and how to approach it with Python
What is SDN and how to approach it with PythonWhat is SDN and how to approach it with Python
What is SDN and how to approach it with Python
Justin Park
 

Ähnlich wie Sdn command line controller lab (20)

How to use packet tracer
How to use packet tracerHow to use packet tracer
How to use packet tracer
 
How to use packet tracer
How to use packet tracerHow to use packet tracer
How to use packet tracer
 
Network troubleshooting
Network troubleshootingNetwork troubleshooting
Network troubleshooting
 
Tech Tutorial by Vikram Dham: Let's build MPLS router using SDN
Tech Tutorial by Vikram Dham: Let's build MPLS router using SDNTech Tutorial by Vikram Dham: Let's build MPLS router using SDN
Tech Tutorial by Vikram Dham: Let's build MPLS router using SDN
 
Cisco CSIRT Case Study: Forensic Investigations with NetFlow
Cisco CSIRT Case Study: Forensic Investigations with NetFlowCisco CSIRT Case Study: Forensic Investigations with NetFlow
Cisco CSIRT Case Study: Forensic Investigations with NetFlow
 
SDN Presentation
SDN PresentationSDN Presentation
SDN Presentation
 
Network Penetration Testing Toolkit - Nmap, Netcat, and Metasploit Basics
Network Penetration Testing Toolkit - Nmap, Netcat, and Metasploit BasicsNetwork Penetration Testing Toolkit - Nmap, Netcat, and Metasploit Basics
Network Penetration Testing Toolkit - Nmap, Netcat, and Metasploit Basics
 
Hackerworkshop exercises
Hackerworkshop exercisesHackerworkshop exercises
Hackerworkshop exercises
 
Computer Network Part 1
Computer Network Part 1Computer Network Part 1
Computer Network Part 1
 
What is SDN and how to approach it with Python
What is SDN and how to approach it with PythonWhat is SDN and how to approach it with Python
What is SDN and how to approach it with Python
 
PLNOG 8: Piotr Gierz - Protokół OpenFlow
PLNOG 8: Piotr Gierz - Protokół OpenFlow PLNOG 8: Piotr Gierz - Protokół OpenFlow
PLNOG 8: Piotr Gierz - Protokół OpenFlow
 
FFMUC: Half a year with WireGuard
FFMUC: Half a year with WireGuardFFMUC: Half a year with WireGuard
FFMUC: Half a year with WireGuard
 
SDN Demystified, by Dean Pemberton [APNIC 38]
SDN Demystified, by Dean Pemberton [APNIC 38]SDN Demystified, by Dean Pemberton [APNIC 38]
SDN Demystified, by Dean Pemberton [APNIC 38]
 
Simplifying openstack instances networking
Simplifying openstack instances networkingSimplifying openstack instances networking
Simplifying openstack instances networking
 
Ceh v8 labs module 04 enumeration
Ceh v8 labs module 04 enumerationCeh v8 labs module 04 enumeration
Ceh v8 labs module 04 enumeration
 
Tcpdump hunter
Tcpdump hunterTcpdump hunter
Tcpdump hunter
 
Building the Internet of Things with Thingsquare and Contiki - day 1, part 2
Building the Internet of Things with Thingsquare and Contiki - day 1, part 2Building the Internet of Things with Thingsquare and Contiki - day 1, part 2
Building the Internet of Things with Thingsquare and Contiki - day 1, part 2
 
Integrate Kubernetes into CORD(Central Office Re-architected as a Datacenter)
Integrate Kubernetes into CORD(Central Office Re-architected as a Datacenter)Integrate Kubernetes into CORD(Central Office Re-architected as a Datacenter)
Integrate Kubernetes into CORD(Central Office Re-architected as a Datacenter)
 
Senior Design: Raspberry Pi Cluster Computing
Senior Design: Raspberry Pi Cluster ComputingSenior Design: Raspberry Pi Cluster Computing
Senior Design: Raspberry Pi Cluster Computing
 
story_of_bpf-1.pdf
story_of_bpf-1.pdfstory_of_bpf-1.pdf
story_of_bpf-1.pdf
 

Kürzlich hochgeladen

Why Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire businessWhy Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire business
panagenda
 
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
?#DUbAI#??##{{(☎️+971_581248768%)**%*]'#abortion pills for sale in dubai@
 
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers:  A Deep Dive into Serverless Spatial Data and FMECloud Frontiers:  A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Safe Software
 

Kürzlich hochgeladen (20)

Boost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdfBoost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdf
 
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot TakeoffStrategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
 
Manulife - Insurer Transformation Award 2024
Manulife - Insurer Transformation Award 2024Manulife - Insurer Transformation Award 2024
Manulife - Insurer Transformation Award 2024
 
DBX First Quarter 2024 Investor Presentation
DBX First Quarter 2024 Investor PresentationDBX First Quarter 2024 Investor Presentation
DBX First Quarter 2024 Investor Presentation
 
ICT role in 21st century education and its challenges
ICT role in 21st century education and its challengesICT role in 21st century education and its challenges
ICT role in 21st century education and its challenges
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected Worker
 
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemkeProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
 
Apidays Singapore 2024 - Scalable LLM APIs for AI and Generative AI Applicati...
Apidays Singapore 2024 - Scalable LLM APIs for AI and Generative AI Applicati...Apidays Singapore 2024 - Scalable LLM APIs for AI and Generative AI Applicati...
Apidays Singapore 2024 - Scalable LLM APIs for AI and Generative AI Applicati...
 
Why Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire businessWhy Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire business
 
MINDCTI Revenue Release Quarter One 2024
MINDCTI Revenue Release Quarter One 2024MINDCTI Revenue Release Quarter One 2024
MINDCTI Revenue Release Quarter One 2024
 
Polkadot JAM Slides - Token2049 - By Dr. Gavin Wood
Polkadot JAM Slides - Token2049 - By Dr. Gavin WoodPolkadot JAM Slides - Token2049 - By Dr. Gavin Wood
Polkadot JAM Slides - Token2049 - By Dr. Gavin Wood
 
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost SavingRepurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
 
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
 
Data Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt RobisonData Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt Robison
 
Exploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone ProcessorsExploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone Processors
 
Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024
 
Apidays New York 2024 - The value of a flexible API Management solution for O...
Apidays New York 2024 - The value of a flexible API Management solution for O...Apidays New York 2024 - The value of a flexible API Management solution for O...
Apidays New York 2024 - The value of a flexible API Management solution for O...
 
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
 
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers:  A Deep Dive into Serverless Spatial Data and FMECloud Frontiers:  A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
 
Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)
 

Sdn command line controller lab

  • 1. Copyright 2014 Kenneth M. Chipps Ph.D. www.chipps.com Software Defined Networking Lab Using Mininet and the POX Controller Last Update 2014.02.04 2.1.0 1
  • 2. Sources • This lab uses the OpenFlow Tutorial sample lab from • http://archive.openflow.org/wk/index.php/O penFlow_Tutorial#Download_Files • and content from the book Software Defined Networking with OpenFlow by Siamak Azodolmolky Copyright 2014 Kenneth M. Chipps Ph.D. www.chipps.com 2
  • 3. The SDN Lab • For this lab on SDN we will be using Mininet to create the SDN hardware and OpenFlow commands to define how the hardware acts Copyright 2014 Kenneth M. Chipps Ph.D. www.chipps.com 3
  • 4. What is Mininet • Mininet is a network emulator, not a simulator • It can be used to create virtual hosts, hubs, switches, controllers, and links • The code used in Mininet can be used with no or minimal changes on real SDN OpenFlow networks Copyright 2014 Kenneth M. Chipps Ph.D. www.chipps.com 4
  • 5. Flow of the Lab • In this lab you will – Simulate a multi-switch, multi-host network with Mininet – Create flow tables from the command line – Setup a controller to download the flow entries – View OpenFlow messages with Wireshark Copyright 2014 Kenneth M. Chipps Ph.D. www.chipps.com 5
  • 6. Flow of the Lab • After the tutorial, you can apply what you've learned to physical networks based on software switches or SDN capable hardware switches at line rate • Here are the steps we will go through Copyright 2014 Kenneth M. Chipps Ph.D. www.chipps.com 6
  • 7. Flow of the Lab – Download the virtual machine – Setup the virtual machine – Check the setup in Linux – Create the network – Examine the network – Work with basic OpenFlow commands – Add a controller Copyright 2014 Kenneth M. Chipps Ph.D. www.chipps.com 7
  • 8. Download the Virtual Machine • For this lab a virtual machine appliance in ovf format must be downloaded from the OpenFlow Tutorial website here – https://github.com/downloads/mininet/mininet/ mininet-2.0.0-113012-amd64-ovf.zip • Download this file • Expand the zip file • You should see these files Copyright 2014 Kenneth M. Chipps Ph.D. www.chipps.com 8
  • 9. Download the Virtual Machine Copyright 2014 Kenneth M. Chipps Ph.D. www.chipps.com 9
  • 10. Setup the Virtual Machine • To import this appliance into VirtualBox – Select • File – Import Appliance » Select the ovf image » Press the Import button • This lab requires two virtual NICs – The first one should be set to host-only network – The second one to NAT Copyright 2014 Kenneth M. Chipps Ph.D. www.chipps.com 10
  • 11. Check Linux • Mininet is a command line tool that runs in Linux • The Mininet prompt looks like this – mininet> • The Linux prompt ends with a $ for a normal user • It ends in # for the root account Copyright 2014 Kenneth M. Chipps Ph.D. www.chipps.com 11
  • 12. Check Linux • We will use the sudo command to run the Linux commands with root privileges at the normal user prompt Copyright 2014 Kenneth M. Chipps Ph.D. www.chipps.com 12
  • 13. Check Linux • Start the virtual machine • Login to Linux • The login is – mininet – mininet • The screen should look like this Copyright 2014 Kenneth M. Chipps Ph.D. www.chipps.com 13
  • 14. Check Linux Copyright 2014 Kenneth M. Chipps Ph.D. www.chipps.com 14
  • 15. Check Linux • Let’s see if the two network interfaces are setup correctly • At the Linux prompt enter – ifconfig Copyright 2014 Kenneth M. Chipps Ph.D. www.chipps.com 15
  • 16. Check Linux • Three interfaces should appear • Two physical interfaces called – eth0 – eth1 – And the loopback interface Copyright 2014 Kenneth M. Chipps Ph.D. www.chipps.com 16
  • 17. Check Linux • One of the physical interfaces should have a 192 address and the other a 10 address • We will access the virtual machine using a terminal program using the 192 address • If either of the eth Ethernet interfaces are missing, run this command – sudo dhclient ethx • Where the x in ethx is the number of the interface Copyright 2014 Kenneth M. Chipps Ph.D. www.chipps.com 17
  • 18. Check Linux Copyright 2014 Kenneth M. Chipps Ph.D. www.chipps.com 18
  • 19. Check Linux • As you can see the eth1 interface is missing • After the dhclient command is run this appears Copyright 2014 Kenneth M. Chipps Ph.D. www.chipps.com 19
  • 20. Check Linux Copyright 2014 Kenneth M. Chipps Ph.D. www.chipps.com 20
  • 21. Create the Network • Pay close attention to the prompt shown for each command • It makes a difference • The basic network we will start with looks like this Copyright 2014 Kenneth M. Chipps Ph.D. www.chipps.com 21
  • 22. Create the Network Copyright 2014 Kenneth M. Chipps Ph.D. www.chipps.com 22
  • 23. Create the Network • H2 H3 and H4 are just generic end devices • In the real world they would be PCs, printers, VOIP telephones and so forth • The others are the SDN devices - a switch and a controller Copyright 2014 Kenneth M. Chipps Ph.D. www.chipps.com 23
  • 24. Create the Network • These commands can be entered in the VirtualBox window from the keyboard • Or a terminal program such as Putty can be used so the commands can be pasted • Let’s start Putty and connect to the virtual machine • Use the 192 IP address • Putty defaults to SSH Copyright 2014 Kenneth M. Chipps Ph.D. www.chipps.com 24
  • 25. Create the Network • So just enter the address and click open • The login in is the same as before – mininet – mininet Copyright 2014 Kenneth M. Chipps Ph.D. www.chipps.com 25
  • 26. Create the Network Copyright 2014 Kenneth M. Chipps Ph.D. www.chipps.com 26
  • 27. Create the Network • To paste a command, copy it from here and right click on the command prompt shown in Putty • The virtual machine is setup with Mininet installed and ready to run • Issue this command to create the SDN devices and links for this lab Copyright 2014 Kenneth M. Chipps Ph.D. www.chipps.com 27
  • 28. Create the Network • It all goes on one line in Linux – $ sudo mn --topo single,3 --mac --switch ovsk --controller remote • This tells Mininet to start up a three host, single – openvSwitch based - switch topology, set the MAC address of each host equal to its IP, and point to a remote controller which defaults to the localhost • The screen should look like this Copyright 2014 Kenneth M. Chipps Ph.D. www.chipps.com 28
  • 29. Create the Network Copyright 2014 Kenneth M. Chipps Ph.D. www.chipps.com 29
  • 30. Create the Network • Here's what Mininet just did – Created three virtual hosts – Created a single OpenFlow software switch with three ports – Connected each virtual host to the switch with a virtual Ethernet cable – Set the MAC address of each host equal to its IP address – Configured the OpenFlow switch to connect to the controllerCopyright 2014 Kenneth M. Chipps Ph.D. www.chipps.com 30
  • 31. Create the Network • These devices do the following – An OpenFlow Controller • The controller creates and transfer to the flow commands to the switches – An OpenFlow Switch • This is a software based switch that takes commands from the controller that are used to handle the frames it receives Copyright 2014 Kenneth M. Chipps Ph.D. www.chipps.com 31
  • 32. Examine the Network • Notice that the Linux prompt is gone • This is the mininet prompt • Let’s see what we made • At the Mininet prompt enter – mininet>nodes • This should appear Copyright 2014 Kenneth M. Chipps Ph.D. www.chipps.com 32
  • 33. Examine the Network Copyright 2014 Kenneth M. Chipps Ph.D. www.chipps.com 33
  • 34. Examine the Network • We can also see the network using – mininet>net • And see information about all the nodes with – mininet>dump Copyright 2014 Kenneth M. Chipps Ph.D. www.chipps.com 34
  • 35. Examine the Network Copyright 2014 Kenneth M. Chipps Ph.D. www.chipps.com 35
  • 36. Work With OpenFlow • In OpenFlow to look at a switch’s flow table the dpctl – data path control command can be used • Most OpenFlow switches start up with a passive listening port - 6634 - from which you can poll the switch, without having to add debugging code to the controller Copyright 2014 Kenneth M. Chipps Ph.D. www.chipps.com 36
  • 37. Work With OpenFlow • For example the command – $ dpctl show tcp:127.0.0.1:6634 • will connect to the switch and dump out its port state and capabilities • This command can be run from the Mininet prompt as well in this form – mininet>dpctl show • I am going to open another Putty connection to do thisCopyright 2014 Kenneth M. Chipps Ph.D. www.chipps.com 37
  • 38. Work With OpenFlow Copyright 2014 Kenneth M. Chipps Ph.D. www.chipps.com 38
  • 39. Work With OpenFlow Copyright 2014 Kenneth M. Chipps Ph.D. www.chipps.com 39
  • 40. Work With OpenFlow • This command looks at the flow table – $ dpctl dump-flows tcp:127.0.0.1:6634 – or – mininet>dpctl dump-flows • Since we haven't started a controller yet, the flow-table should be empty Copyright 2014 Kenneth M. Chipps Ph.D. www.chipps.com 40
  • 41. Work With OpenFlow Copyright 2014 Kenneth M. Chipps Ph.D. www.chipps.com 41
  • 42. Work With OpenFlow Copyright 2014 Kenneth M. Chipps Ph.D. www.chipps.com 42
  • 43. Work With OpenFlow • With the virtual hardware setup let’s check network connectivity from the Mininet console – mininet>h1 ping –c3 h2 • The syntax for ping in mininet is – Ping from – h1 here – Number of pings – 3 times in this example – Ping to – h2 here Copyright 2014 Kenneth M. Chipps Ph.D. www.chipps.com 43
  • 44. Work With OpenFlow • For a continuous ping h1 ping h2 • CRTL c to stop the ping Copyright 2014 Kenneth M. Chipps Ph.D. www.chipps.com 44
  • 45. Work With OpenFlow Copyright 2014 Kenneth M. Chipps Ph.D. www.chipps.com 45
  • 46. Work With OpenFlow • Did you get any replies • As you saw before, the switch flow table is empty • Besides that, the controller is not yet configured to provide flow handling instructions to the switch and therefore the switch doesn't know what to do with incoming traffic, leading to ping failure Copyright 2014 Kenneth M. Chipps Ph.D. www.chipps.com 46
  • 47. Work With OpenFlow • Let’s add some flows using dpctl first • The dpctl command can do this on an individual switch without a controller • These flows are meant to be transitory • As we are working with this in a lab rather than in a realtime line rate network we need to increase the timeout before we add any flows or we will have to keep reentering the flowsCopyright 2014 Kenneth M. Chipps Ph.D. www.chipps.com 47
  • 48. Work With OpenFlow • To increase the timeout to 5 minutes enter this command – $dpctl add-flow tcp:127.0.0.1:6634 in_port=1,idle_timeout=300,actions=output:2 • Now we can add the flow commands • This is an example of a proactive entry to the flow table as it will be added before the traffic it will handle has crossed the network • In the other lab we will use reactive mode Copyright 2014 Kenneth M. Chipps Ph.D. www.chipps.com 48
  • 49. Work With OpenFlow • Type this all on one line – $ dpctl add-flow tcp:127.0.0.1:6634 in_port=1,actions=output:2 • And this also all on one line – $ dpctl add-flow tcp:127.0.0.1:6634 in_port=2,actions=output:1 Copyright 2014 Kenneth M. Chipps Ph.D. www.chipps.com 49
  • 50. Work With OpenFlow • This will forward packets coming to port 1 to port 2 and vice-versa • Verify this by checking the flow-table with – $ dpctl dump-flows tcp:127.0.0.1:6634 Copyright 2014 Kenneth M. Chipps Ph.D. www.chipps.com 50
  • 51. Work With OpenFlow Copyright 2014 Kenneth M. Chipps Ph.D. www.chipps.com 51
  • 52. Work With OpenFlow • Run the ping command again in the mininet console – mininet> h1 ping -c3 h2 • Did you get replies now Copyright 2014 Kenneth M. Chipps Ph.D. www.chipps.com 52
  • 53. Work With OpenFlow Copyright 2014 Kenneth M. Chipps Ph.D. www.chipps.com 53
  • 54. Work With OpenFlow • Check the flow-table again and look at the statistics for each flow entry • Is this what you expected to see based on the ping traffic Copyright 2014 Kenneth M. Chipps Ph.D. www.chipps.com 54
  • 55. Activate Wireshark • Wireshark is useful here to examine the traffic generated by OpenFlow • The virtual machine being used for this lab has Wireshark already installed • Let’s see how we get it working in this environment • We will have to use a new SSH session using X11 as Wireshark uses a GUI interface Copyright 2014 Kenneth M. Chipps Ph.D. www.chipps.com 55
  • 56. Activate Wireshark • To run an application that uses a GUI X11 is required • This can be done at either end • Under Windows, the Xming server must be running, and you must make an SSH connection with X11 forwarding enabled Copyright 2014 Kenneth M. Chipps Ph.D. www.chipps.com 56
  • 57. Activate Wireshark • First, search the Internet for and download the Xming server • Install it • Start Xming • Xming will not show any window, but you can verify that it is running by looking for its process in Window's task bar Copyright 2014 Kenneth M. Chipps Ph.D. www.chipps.com 57
  • 58. Activate Wireshark • Second, make an SSH connection with X11 forwarding enabled • If you are using Putty, you can connect to the lab by entering the VM's IP address for the 192 address NIC and enabling X11 forwarding Copyright 2014 Kenneth M. Chipps Ph.D. www.chipps.com 58
  • 59. Activate Wireshark • To enable X11 forwarding from Putty's GUI, go to PuttyConnection | SSH | X11, then click on Enable X11 Forwarding, as shown in the following screenshot Copyright 2014 Kenneth M. Chipps Ph.D. www.chipps.com 59
  • 60. Activate Wireshark Copyright 2014 Kenneth M. Chipps Ph.D. www.chipps.com 60
  • 61. Activate Wireshark • Or X11 can be added to the VM itself • To install X11 and a simple window manager, from the VM console window enter – $ sudo apt-get update – $ sudo apt-get install xinit flwm • Start an X11 session in the VM console window by typing – $ startx Copyright 2014 Kenneth M. Chipps Ph.D. www.chipps.com 61
  • 62. Activate Wireshark • Now start Wireshark as a background process – $sudo wireshark $ • Click on OK to clear any error messages Copyright 2014 Kenneth M. Chipps Ph.D. www.chipps.com 62
  • 63. Observe SDN Traffic • Start a capture in Wireshark using the loopback interface • Create and apply a filter for just the OpenFlow traffic by entering a display filter in Wireshark using the string – of Copyright 2014 Kenneth M. Chipps Ph.D. www.chipps.com 63
  • 64. Load the Controller • To generate some traffic we will load a controller as that is the next step anyway • There are a number of software based or hardware based controllers that can be used in an SDN • In this example we will load the POX controller • The developers of this controller say this about it Copyright 2014 Kenneth M. Chipps Ph.D. www.chipps.com 64
  • 65. POX Controller – POX is NOX‘s younger sibling – At its core, it’s a platform for the rapid development and prototyping of network control software using Python – Meaning, at a very basic level, it’s one of a growing number of frameworks (including NOX, Floodlight, Trema, etc., etc.) for helping you write an OpenFlow controller Copyright 2014 Kenneth M. Chipps Ph.D. www.chipps.com 65
  • 66. POX Controller – POX also goes beyond this – As well as being a framework for interacting with OpenFlow switches, we’re using it as the basis for some of our ongoing work to help build the emerging discipline of Software Defined Networking – We’re using it to explore and prototype distribution, SDN debugging, network virtualization, controller design, and programming models Copyright 2014 Kenneth M. Chipps Ph.D. www.chipps.com 66
  • 67. Load the Controller • To start POX enter these commands – $cd pox – ./pox.py forwarding.l2_learning • If the command prompt does not appear after running this command, press enter Copyright 2014 Kenneth M. Chipps Ph.D. www.chipps.com 67
  • 68. Load the Controller Copyright 2014 Kenneth M. Chipps Ph.D. www.chipps.com 68
  • 69. Observe SDN Traffic • Switch back to the Wireshark window to see the activity as the controller loads Copyright 2014 Kenneth M. Chipps Ph.D. www.chipps.com 69
  • 70. Observe SDN Traffic Copyright 2014 Kenneth M. Chipps Ph.D. www.chipps.com 70
  • 71. Summary • We now have a complete Software Defined Network whose actions are defined by OpenFlow Copyright 2014 Kenneth M. Chipps Ph.D. www.chipps.com 71