To understand the overview of OpenFlow, replicate the tutorial. To use mininet, create a virtual network and test its features. The URL of the original tutorial is shown below.
http://www.openflow.org/wk/index.php/OpenFlow_Tutorial
To use mininet, create a virtual network environment. The topology is shown below.
To start the virtual network, apply the command shown below.
Code and Commands> Using these commands, three virtual hosts (h1, h2, and h3) and a software switch are created in the kernel. Each of these three virtual hosts receives a unique, individual, and different IP address, and the software is based upon Open wSwitch and has three ports. Each virtual host is connected to the software switch via a virtual ethernet cable. The OpenFlow Switch is configured to be connected to the remote controller (c0) via link local.
To apply a mininet-specific command, nodes, check the list of nodes.Code and Commands>
To check the IP of a virtual host and switch, the detail of each setting is shown.
- h1
Code and Commands>
- h2
Code and Commands>
- h3
Code and Commands>
- s1
Code and Commands>
Once mininet boots, execute dpctl by a different Shell. dpctl is a utility, which is included in OpenFlow Reference, and it is a command line program that monitors and manages OpenFlow datapath.
To execute show, connect OpenFlow switch and show the present status.
Code and Commands>
To execute dump-flows, display the present status of a table flow.Code and Commands> Since OpenFlow Controller has not worked, its flow table remains empty.
At the mininet console, try to send a ping from h1 to h2.Code and Commands> Since The table flow of the switch is still empty and the controller does not connect to the switch, the switch does not know how to handle the traffic. Therefore, ping does not go through.
Then, to use dpctl command, add flows.Code and Commands> To use the console, check the flow table.
Code and Commands> Then, try to send a ping again.
Code and Commands> To use add-flow, configure to send a packet from port1 to port2 and vice versa, so now ping goes through. Try to send a ping the other way around.
Code and Commands> After sending a ping, check the condition of the flow table.
Code and Commands> The connection time, packets, and bytes are increased.