POX: A Python-based OpenFlow Controller for Software-Defined Networks
February 5, 2025SDN stands for Software Defined Network is a networking approach that provides better flexibility and control. An architecture which uses software for managing and controlling the network. Network is controlled by various networking devices like switches and routers, these devices are difficult and very much hard to configure. Now here SDN (Software Defined Network) comes into the picture. SDN enables control and management of the network using software applications. Using SDN (Software Defined Network) the flow of entire network is controlled in a central manner through software applications.

OX is a networking architecture which is written in python language. It is simple and flexible platform to develop and test SDN applications. It is one of the SDN controller which is open source. It is made to test various control algorithms and network topologies. POX is used for the faster development and prototyping of different network. This controller comes mininet virtual machine. POX is a controller which is written in python language and it is a version of NOX. It is an OpenFlow controller.

How to use POX Controller?
To use POX there are various commands we can type in terminal:
#python pox.py log.level –DEBUG
By this command in terminal, POX controller will run in debug mode. This mode enables display of additional messages exchanged with switch.
# mn
Here switch will be connected to the default controller. Loopback address 127.0.0.1 will be used as ip address.
#mn –controller=remote, ip=127.0.0.1
This command will connect switch to remote POX contoller which is running on different terminal.
# mn –controller=remote, ip=172.24.0.1
To run POX controller on different machine. Example, 172.24.0.1 then this command will be used.
# mn –mac –topo single, 5 –switch ovsk –controller remote
This command creates 5 hosts and 1 switch topology.

POX controller is useful in converting cheap, dumb merchant silicon devices into hub, switch, router or middlebox, such as firewall, load balancer. It is a also a great tool deploying and controlling SDN applications This controller can be used wiith hardware, testbeds or mininet emulator. This controller doesn’t have GUI but has some greate featuers. OpenFlow version 1.0 is used mostly. OpenFlow version 1.3 will come in future. But POX supports only version 1.0 so there may be challenges in future for supporing POX version 1.3. Network applications will are developed in POX controller cannot be used with different controllers.