A revolutionary networking technology called Software-Defined Networking (SDN) enables better networking flexibility. In contrast to the conventional network, it provides another option for network development. SDN is characterized by the separation of the control and data planes in network architecture, implementation, and management. The central component of the network is the controller, which constitutes the control plane. The appropriate selection of a controller, along with determining the number and placement of controllers, plays a crucial role in optimizing resource utilization and guaranteeing network availability and network performance. Since SDN is still in its beginnings of development, it is virtually certain that further study will be needed in areas like design, particularly on the control plane, since the architecture directly affects the network's total performance. Furthermore, despite its intended purpose of managing networks on a large scale, SDN still presents challenges in effectively addressing network dynamics, such as the occurrence of link failures. This study presents a concept for the implementation of an SDN architecture. The proposed approach involves utilizing an Open Network Operating System (ONOS) open-source distributed SDN controller. The purpose of this implementation is to analyze network performance metrics and assess network availability. This study investigates the distributed SDN controller's performance on different scale networks: NSF, AEON, and TM topologies. Several metrics have been analyzed, including throughput, link failure detection, and Round-Trip-Time (RTT). The experiments use Mininet for emulation and Wireshark for real-time data packet capture and analysis. According to the study results, there is a positive correlation between network design complexity and controller load. The experiment emphasizes the resilience of distributed controllers, such as ONOS, in effectively recovering from link failures. This research will help academics and businesspeople who use distributed SDN controllers choose a controller and evaluate its effectiveness on the analyzed network architectures.