Application-aware Dataplane Processing in SDN

22 August 2014

New Image

Software Defined Networks make network design flexible by letting the controller enforce flow forwarding rules in the switches after inspecting various fields of the packets. However, in the current SDN architecture, the switches in the data plane are limited to layer 2/3/4 packet processing. Therefore, any flow forwarding decision based on higher layer information must be performed by sending the packets to the controller. This not only makes the data plane processing inefficient, but also adds several switch-to-controller round-trip delays. We propose a richer SDN architecure, which is created using extensions to the current architecture, that brings in flexible packet processing capabilities into the switches based on higher layer information. In this architecture packet processing capabilities and flow forwarding decisions are split between the controller and the switches, where switches perform the heavy duty packet processing even with higher layer information and the controller aids in the process by handling cases unknown to the switches. We demonstrate how some popular applications can be implemented on this architecture and show the performance of one based on our prototype implementation on Open vSwitch. The results show that the proposed architecture introduces insignificant overhead while providing a flexible scale-out architecture for application deployment.