# Performance and Scalability Analysis of SDN-Based Large-Scale Wi-Fi Networks
## 4 SDN Based Architecture
### Experimental Testbed  
The testing environment comprised an Intel Xeon server with a CPU running at 1.70 GHz and 128 gigabytes of Random Access Memory (RAM). The system makes use of Kernel-based Virtual Machine (KVM) virtualization in order to run the Mininet-Wi-Fi VM that was provided by the developers of Mininet-Wi-Fi. Ubuntu 20.04 is the guest operating system, and there are 32 gigabytes of RAM available. The host machine is powered by Ubuntu 18.04 and has 128 gigabytes of Random Access Memory [5].  
In this project, we used three different topologies, the linear, the tree, and the Custom topologies, to carry out experiments. The link bandwidth that was utilized for these tests was 370 megabyte per second (mb/s), and the maximum window size (socket buffer) that was available was 32 mb/s. In each of the experiments, an equal number of switches and hosts (1 switch and 10 stations per switch) was utilized [10].  
The remote SDN controller was Ryu (version 4.14), which was installed. The iperf tool was installed for the purpose of performance measurement [42]. The tools iperf and ping were used to collect the data that were used for the performance evaluation metrics, such as flow bandwidth, jitter, and flow setup latency [11]. The Ryu controller was chosen because it is a highly flexible, customizable, and reliable SDN controller that supports a wide range of protocols and runs very well. As compared to other SDN controllers, Ryu allows network administrators to easily develop and implement customized network management applications. It provides a comprehensive set of \"application programming interfaces\" (APIs), libraries, and plug-ins that make it easy to add new features and functions to the platform. Ryu is modular and scalable, which means it can easily adapt to changes in the network topology and handle increased network traffic. It has extensive protocol support, which includes OpenFlow, Netconf, and OF-config, among others. This makes it compatible with a wide range of network devices, including switches, routers, and firewalls, and allows administrators to manage their network devices in a consistent and efficient manner. Ryu also provides excellent performance and reliability. Its lightweight architecture and efficient packet processing capabilities ensure that it can handle large volumes of network traffic without compromising on performance [11].  
In SDN-based architecture, layer 2 and layer 3 switches have various capabilities and roles. In order to forward frames within a LAN, a layer 2 switch operates at the Data Link Layer of the CSI model. These switches can only forward traffic based on MAC addresses and are often used to connect devices within the same LAN segment. With SDN controllers, layer 2 switches can be configured to dynamically update forwarding tables based on network traffic. The Network Layer of the OSI model is where a layer 3 switch operates. Here, it employs IP addresses to forward packets across LANs and subnets. These switches are capable of performing routing tasks, choosing which packets to forward based on their IP addresses, and supporting routing protocols. With SDN controllers, layer 3 switches can be instructed to generate and update routing tables.