|SANVITO DAVIDE||Cycle: XXXI |
Tutor: CESANA MATTEO Major Research topic
:Robust Traffic Management in Software-Defined Networking
Advisor: CAPONE ANTONIOAbstract:
SDN (Software-Defined Networking) is a new network paradigm based on the decoupling of the Control Plane from the Data Plane to make computer networks more programmable.
This separation makes the network more manageable, programmable and making easier the deployment of new services, allowing a faster innovation. This is achieved by exposing a well-defined interface (such as OpenFlow) to configure network devices.
SDN is being widely adopted in Data Center networks thanks to its flexibility which allowed to easily build services such as network slicing, service chaining and security. On the other hand the use of SDN in operators network is still rather limited. Carrier network operators consider traditional Traffic Engineering technologies (for example Multi-Protocol Switching Label (MPLS) Fast Reroute for failure recovery application) more reliable.
Traffic engineering is a challenging problem due to the changing nature of traffic. An accurate traffic estimation is hard to achieve and, in addition to this problem, trying to continuously maintain optimal routing as the traffic evolves is costly and not a reasonable approach.
To truly unleash the power of SDN, Traffic Engineering applications should exploit the privileged centralized position of the control plane to provide innovative solutions which are not limited to merely imitate legacy approaches. SDN allows to implement adaptive and much more efficient traffic engineering policies than classic distributed protocols.
Current SDN Traffic Engineering solutions are greatly limited by the need of the controller intervention for each possible change in the forwarding behaviour. This introduces a non-negligible delay in the network re-configuration and poses an increasing load on the controller as the network size and the number of events occurring in the network increase. These limitations poses challenges in the adoption of a SDN approach in highly dynamic context such as traffic engineering.
A recent research project, OpenState, tried to address these issues by proposing an OpenFlow extension which allows a stateful packet forwarding at data plane level. In some scenarios, changes in the forwarding are purely based on packet-level events or measurements which requires just a local knowledge, thus making pointless the reliance on the controller. The idea is to delegate such control tasks down to the switch for that situation that could be locally managed by the switch itself. Obviously all the adaptation in the forwarding which requires a global knowledge of the network are still handled by the controller. It should be noted that the controller delegates the tasks of forwarding updates, but it still fully retains the control of the network behaviour.
Rather than considering the data plane just a dumb executor, while the whole intelligence of the network is in the controller, I want to leverage such a self-adaptability and augmented programmability offered by OpenState.
A traffic management solution should exploit such a flexibility to provide different levels of robustness to traffic conditions. On one hand I want to develop new strategies for robust routing optimization to address the uncertainty in traffic demands and avoid an excessive rate of changes in the forwarding plane. On the other hand I want to take advantage of the stateful data plane to handle unexpected events (such as congestion and failures) which are out of the working region of the current robust routing.
The aim of this research is proposing a traffic management framework based on three main components: -adaptive robust routing -traffic estimation and prediction -data plane self-adaptation
Common robust routing approach provides a single routing for several traffic matrices with the aim of minimizing the congestion of the most congested scenario. This implies that the network works with a high probability in non-optimal condition and with the risk of underutilization of network resources. The opposite approach of continuously measure the traffic and re-optimize the routing is not feasible. The proposal is to cluster traffic matrices and calculate a set of routing, robust within each cluster. A crucial aspect of this first component is the tradeoff between the size of the clusters and the level of robustness.
The traffic estimation and prediction component is responsible of collecting data to select the proper routing configuration. New traffic estimation techniques will be used to learn traffic matrix's behaviour along time and to predict and anticipate traffic evolution (exploiting the characteristic of quasi-periodicity of the traffic variations when considering time intervals of day or week). This component is also in charge of providing input data for subsequent routing optimizations. Indeed current routing configurations for each cluster can be adapted as new data is collected: cluster composition might change and new routing configuration are accordingly computed. In this phase it's needed to optimize the tradeoff between the accuracy in data gathering and the overhead introduced by the measurement process.
The third component will exploit data plane self-adaptation capabilities to cope with events and scenarios unpredicted by the robust routing configuration. A prominent example are network failures. We need to react to those abrupt changes by providing alternative path to traffic demands. In carrier networks the extremely high data rates requires a prompt reaction which cannot be obtained by completely relying on the controller intervention. With its stateful dataplane, OpenState can offer an interesting possibility to the deployment of fast and programmable in-switch network failure detection and recovery.
The methodological approach is based on both mathematical instruments for optimal routing (such as operations research, robust optimization, heuristic and online algorithms) and traffic analysis (estimation and prediction algorithms), as well as an efficient and scalable implementation of selected solutions on existing open source platforms for SDN.
The project activities will be supported by the development of experimental testbed to test the proposed solution, by exploiting emulation and simulation tools. This will allow to evaluate potential issues related to the implementation of such in real world networks.