Saturday, October 5, 2013

Getting Started With MININET & POX

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*
               


3) 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