Today, networks have grown more than ever, and communications across the network are increasingly on the rise. Typically, large-scale computer networks are built from a large number of network devices, which make the complexity of managing and monitoring networking. Software Defined networks (SDNs) provide a model for separating the control plane from data plane, which will enable the network to be able to control and programming resources as much as possible to improve performance. The connection between the control and data plane is possible through the OpenFlow protocol. It seems that the use of SDN capabilities in widespread networks can improve network performance. The main motivation for SDN / OpenFlow design is to simplify switching devices and move control complexity to the remote controller. In the SDN architecture, the flow tables are transmitted to data plane, and the switches use the actions to send data packets to the destinations. In cases where the number of packet-in requests incresed, and in large-scale networks, due to the large volume of control data to send packets appropriately to the network platform, the processing speed and updating of the flow table will be a challenging. On the other hand, the centralized controller, in spite of providing a global view of the network to improve programability, can in some cases cause a malfunctioning effect on network performance due to bottlenecks in the controller. therefore, it seems that distributed control palne can improve scalability problem. this thesis proposed a framework that distributing control plane of SDN networks to address challenges that central controller faced with them and change mapping between controller and switches dynamically to utilize processing resources by balancing control load among controllers. Finally, the control plane performance characteristics such as Response-Time, throughput and QoS metrics of data plane reported. Key Words: Computer Networks , Software Defined Networking , network architecture , Control Plane.