SDN – Application Aware Routing in Software Defined Networks

mininetopenflowroutingsdn

For the last couple of months i am delving into SDN and trying to implement the application aware routing through SDN .

Application aware routing:

SDN controller will route each application data based on the application preferences, for instance FTP traffic will forwarded through the path having higher bandwidth, while the SSH traffic which perform better in low latency will be forwarded through the path having low latency, in summary each application have their own best path from source to destination based on the nature of the traffic generated per application.

To implement this, I am using the tool called mininet for the network simulation, but I am stuck on programming the controller. Up to now, based on my experience working with the mininet tool, mininet doesn't support the controller programming.

I would like to ask about using the SDN Opendaylight Project controller for the implementation of application based routing. Has anyone implemented the application aware routing in SDN, and what was your experience on it? I would like to know which SDN tools I can use to implement the SDN based application aware routing per application preferences.

Best Answer

This is a nice idea. We are using Floodlight for our SDN experiments. At the point in time we started, it was much more mature than the OpenDaylight software. As this has been more than a year ago, it might not be true anymore.

SDN offers you the following features that should be helpful to your use case:

  • Link parameter measurements to find such paths:
    • Delay by using customly crafted probe packets and correlate timestamps
    • Loss can be done by sampling the port statistics
    • Bandwidth is still something we are working on
  • As you are implementing reactive routing, you are most likely going to react on the packet_in event. In this case, you have two options:
    • Simple: use the transport protocol and port to deduce the app
    • Difficult: do some kind of deep-packet inspection to deduce the traffic type
Related Topic