Conclusions
Software Defined Networking is a promising emerging architecture for many networking environments such as data centers, enterprise networks, campus networks, cloud networks, and WAN. The major advantages of SDN are its programmability and agility. However, the scalability issues in the control plane is one major problem in SDN that needs more research attention. In the paper, we have firstly given an overview of the SDN architecture and OpenFlow protocol along with its support mechanisms for scalability. We have discussed the scalability as a concept in general and presented various metrics proposed for quantification of scalability. We have seen that there is no consensus on the definition of scalability. In other words, while the basic notion is intuitive, scalability does not evoke the same concept to everybody. In the context of SDN, scalability is characterized by the two prominent metrics, throughput and flow setup latency. Also, we have pointed out the main reasons that make the control plane a scalability bottleneck in SDN: Separation of Control Plane and Data Plane, Quantity of Events/Requests Handled by a Controller, and Controller-Switch Communication Delay. Furthermore, we have presented our organization for taxonomy of scalability-centric studies in two broad approaches: Topology-related approaches and Mechanisms-related approaches. While the former reviews the relation between topology of architectures and scalability issues, the latter discusses the relation between various mechanisms used to optimize controllers and scalability issues. Finally, we have outlined the potential challenges and open problems that need to be addressed further for more scalable SDN control planes: Controller(s) Failure, State/Policy Distribution/Consistency, Flow Rule Setup Latency, and Controller Placement.