Scale the Data Plane of Software-Defined Networks: a Lazy Rule Placement Approach - Li, Qing; Huang, Nanyang; Jiang, Yong; Sinnott, Richard; Xu, Mingwei (Proceedings of the International Conference on Distributed Computing Systems, 2020)
Data plane programming languages enable administrators of Software-Defined Networks (SDNs) to perform fine-grained flow control by compiling high-level policies into low-level rules and deploying rules in the data plane. However, it is difficult to scale the data plane with the dynamics of network traffic and the limited storage space of switches. In this paper, we propose a lazy OpenFlow Rule Placement (ORP) framework to enforce control polices and scale the SDN data plane by placing and reusing wildcard rules. We provide an offline rule placement scheme to meet performance objectives under real-world constraints. To handle dynamic traffic and perform incremental rule updates, we design an online matching rule deployment algorithm to place rules in polynomial time and prove it to be conditionally-optimal. Furthermore, to address the rule dependency problem during online rule placement, we extend the algorithm to deploy dependent rules and present lightweight heuristics to guarantee the fast reaction to the new flows. Extensive experiments are conducted on diverse network topologies and datasets to show that the lazy ORP framework significantly reduces the storage cost, improves data plane scalability and is flexible enough to accomplish different optimization goals.