In this article i will discuss about a virtual network simulator MININET and openflow controller POX
Mininet
It is virtual network environment that can run a single PC. We can use this to write SDN/Openflow applications and experiment by creating our own network topology.
Mininet creates a realistic virtual network, running real kernel, switch and application code, on a single machine. It allows to build custom topology constituting hosts, openflow switch, controller and links between them.
In a nut shell when mininet process(mn) kick starts it forks a process for each host and assign them to separate network namespace. Then create virtual ethernet pairs and assign one for each namespace. Next it creates a openflow switch which connects to each host. Finally creates a openflow controller which installs flow table into switch using openflow protocol.
POX Controller
POX is a lightweight OpenFlow controller that is written completely in Python that is targeted for developers to spin up their own controllers. You can write your Openflow application/controller which connects to the openflow switch created by Mininet.
Below steps will launch a simple network topology which comes with Mininet. The mininet itself starts a controller but here we will launch a POX controller in another terminal and the network connects this remote controller.
1) VM :
Create a virtual machine running any linux version. I am using Ubuntu 12.04.2
2) MININET :
Install mininet and clone mininet to current directory
Note: if you are upgrading from an older version of Mininet, make sure you remove the old OVS from `/usr/local`:
#sudo rm /usr/local/sbin/ovs*
#sudo rm /usr/local/bin/ovs*
#sudo rm /usr/local/bin/ovs*
More Info on installation : https://github.com/mininet/mininet/blob/master/INSTALL
Mininet Tutorial : https://github.com/mininet/mininet/wiki/Introduction-to-Mininet
3) POX :
GIT POX : https://github.com/noxrepo/pox
4) Kill all the controller and clear mininet
5) Starting remote controller POX
6) Launch Mininet to create a network in a new terminal :
7) Ping TEST :
Results :
No comments :
Post a Comment