###### Abstract  
Software-Defined Network is an emerging networking paradigm that enables intelligent and flexible network management. Specifically, the design of the control plane is crucial. Therefore, in order to avoid a single point of failure, multiple controllers are deployed constantly in a distributed manner on the control plane. In this paper, we propose a controller placement approach based on multiple objectives (MODECP), including network delay, network security, load-balancing rate, and link occupancy. In the controller placement stage, an improved multi-objective differential evolution algorithm is proposed to search for controllers' positions and assign switches to controllers reasonably. Furthermore, an improved affinity propagation algorithm is proposed to obtain the number of controllers placed in the network partition stage, comprehensively considering the delay, node security, and load. Simulations are performed based on several topologies from Internet Topology Zoo. Extensive results show that the proposed algorithm can realize trade-offs among multiple objectives and improve network performance in delay, security, controller load, and link occupancy compared to the single-objective based approach. Moreover, compared with the genetic algorithm and random placement algorithm, the proposed algorithm performs better with low latency, high security, low load rate, and low link overhead. software-defined network; distributed controller placement; multi-objective; differential evolution algorithm +
Footnote †: journal: Sensors  
0000-0000-0000-0000-0000-0000-0000-0000-00000-00000-00000-00000-00000-00000-00000-00000-00000-00000-000000-000000-000000-000000-0000000-000  
However, in large-scale SDN or multi-domain SDN, a single controller may have two principal issues [10]: scalability and robustness. Therefore, the physically distributed controllers placement method is frequently used to solve the above problems. In other words, it is necessary to effectively place multiple controllers in the network to improve network performance and the efficiency of network management. Additionally, there are three architectures for distributed placement controllers [11]: flat, hierarchical, and hybrid deployments. In the flat controller design, each controller has its own local view and the global view of the entire network. In both cases, the controller communicates through east-west interface protocols. In the hierarchical controller design, the control plane adopts centralized management, and the top-level controller is set to manage the bottom-level controller. The bottom controller relies on the top controller for strategy calculation and forwarding of data packets. In the hybrid controller design, some simple control functions are transferred to the data plane so that the devices in the data plane participate in the control and decision processing. Scalability in SDN [12] is usually manifested in the controller processing and response to flow requests, installing flow table rules, and cooperating with other controllers to manage the entire network. Specifically, Reference [13] evaluates the amount of traffic exchanged in the control plane between the switches and controllers and the number of flow rules installed, and it provides a quantitative model to quantify the maximum scalability of reactive network applications. By effectively placing multiple controllers, the single-point-of-failure problem can be avoided to enhance the control plane's robustness and achieve traffic engineering, anomaly detection, fault restoration, resource orchestration, and other requirements. A key factor for the scalability of SDN in a large ISP (Internet Service Provider) is to study bandwidth and delay requirements for the control network to support the QoS requirements of the data plane [14]. In addition, security [15] is especially vital to a network.