SPRM: Source Path Routing Model for Software Defined Networks
Software Defined Networking (SDN) has emerged as a promising paradigm to make network management easier by separating control and network management from the forwarding functions. SDN has shown to be successful in the context of local area network(LAN). However, in the context of wide area network(WAN), SDN faces various scalability issues such as how to compute/install a path for each incoming flow without causing overhead on the control and the data plane, or how to update the network state consistently when policy changes or link/node failures occur. In contrast to this reactive mode of operation, SDN can also use proactive mode of operation and provide better scalability. However, this comes with the cost of loosing per-flow management flexibility, which allows to highly utilize network resources. To address the scalability issues while maintaining the same performance level, we need to find a balanced mode of operation within the spectrum of reactive and proactive modes. Accordingly, we propose a new Source-Path Routing Model (SPRM) by combining the best of proactive and reactive approaches along with a simple packet programming mechanism. Specifically, we pre-calculate and pre-install multiple paths (proactive part) but then select/assign one of these paths for an incoming flow based on the available dynamic network state information(NSI) (reactive part). We program the selected path ID and a command into each packet do dynamically decide how to forward them through the underlying network. We also utilize SPRM to effectively cope with the link failures by using multiple paths as backup to each other. Our simulation results show that SPRM performs much better than the pure Reactive SDN in terms of path establishment delay and flow table size while (a) maintaining its performance gains in terms of link utilization and load balancing, and (b) quickly recovering from a link failure without causing extra memory overhead on the data plane.