mininetsdnpox

Do Northbound applications run on localhost or on Mininet hosts?


When developing Northbound applications in a SDN environment, with Pox and Mininet, do the Northbound applications run on localhost or in a Mininet host?

Ie., an application communicates with the Pox controller over REST. Does one launch the application from the command promp as:

$ python <application>

or does one launch it through the Mininet host as

mininet> h1 python application

Solution

  • To answer your question first I need to clarify a bit the SDN framework. A SDN framework consists of 3 main layers, the Data Plane which is the bottom of the image, The Control Plane which is in your situation POX controller and the application layer at the top of the Image.

    When writing a NorthBound application, the role of this application is to communicate with the controller and give instructions on how ie POX should handle traffic requests in the forwarding devices (switches in mininet ie). Understanding this it would have no meaning at all to run a NorthBound application in a host on mininet because the framework setup would fail.

    So to answer the question you should run your NorthBound applications on localhost or any other host connected with the POX controller out-of-band but be able to talk with him using a ie Rest API.

    enter image description here

    Image taken from this pdf which is in my opinion a must read for SDN readers and learners.