Emulation of software-defined network using mininet
Abstract
Software-defined networking (SDN) represents a new structure of computer network that
simplifies and improves network management by splitting the control plane and data plane.
Since SDN is regarded as a new research issue, the application of SDN in practice faces
some barriers. Most network devices such as routers and switches that implement SDN
functionalities are expensive. An alternative solution in SDN research and experiments is to
use network emulators. By using Mininet, an open source network emulator, this study
simulates SDN implementations in different environments. Results show that the simulation
environment affects building network topology time.
Trang 1
Trang 2
Trang 3
Trang 4
Trang 5
Trang 6
Trang 7
Trang 8
Trang 9
Trang 10
Tải về để xem bản đầy đủ
Tóm tắt nội dung tài liệu: Emulation of software-defined network using mininet
nly been tested on personal computers with Mininet implemented in a virtual machine environment. Furthermore, the tests used only the tree network topology. Recently, many studies have affirmed that SDN applied in the Internet of Things (IoT) field could help to increase network performance while solving security issues that IoT networks have been facing when combined with other technologies, such as blockchain or machine learning (Al-Hayajneh et al., 2020; Hu et al., 2020; Restuccia et al., 2018). This raises the need to test and evaluate the performance of SDN on mobile devices, which are small, low in hardware configuration, and commonly used in IoT networks, such as Raspberry Pi computers. Gupta et al. (2018) designed a highly versatile and low-cost SDN switch using a Raspberry Pi computer. Marzuqi et al. (2019) also tested the applicability of a single-board computer, namely, the Raspberry Pi in the deployment of a software-defined network. On the performance issue of SDN controllers, Ali et al. (2018) and Priya and Radhika (2019) evaluated and compared the performance of POX and Ryu controllers in many aspects, such as latency, bandwidth, and packet forwarding throughput. The results showed that the Ryu controller had better performance metrics than POX. Based on a comprehensive review of the results of related studies, we aim in this study to evaluate the implementation of SDN with the Mininet network emulator tool in different environments and with many types of network topologies. In addition, the study also compares different controllers in the same hardware environment. 3. TESTING AND RESULTS 3.1. Experimental design Tests were performed to assess Mininet's scalability in implementing network topologies. The start/stop time of a network topology was calculated as the time from the start of topology creation, with parameters such as topology type, host number, controller, etc., until the topology was stopped. The study conducted two tests. • Test 1: Compare the execution times of topologies on two different hardware environments (virtualized environment and Raspberry Pi computer) using the same controller. The Ryu controller is used in this test with the media parameters described in Table 1. DALAT UNIVERSITY JOURNAL OF SCIENCE [NATURAL SCIENCES AND TECHNOLOGY] 85 • Test 2: Compare the execution times of topologies on the same Raspberry Pi environment (Environment 2 of Test 1) with two different controllers, POX and Ryu. Table 1. Parameter two hardware environments Environment Device Configuration 1 Virtual environment - Virtual Oracle VirtualBox 1 Gb RAM runs on Laptop Intel® Core™ i5-2430M, CPU 2.40 GHz, 4 GB RAM; - PC Operating system: Ubuntu 14.04.1 64 bit; - Mininet 2.2.2. 2 Raspberry Pi 3 - Raspberry Pi 3, Cortex-A53 (ARMv8) 64-bit So @ 1.4 GHz, 1 GB RAM; - Ubuntu PC operating system: 14.04.1 64 bit; - Mininet 2.2.2 Timing was performed with a program written in the Python language. The topologies used include • Single topology: A single topology in which a switch is connected to n hosts. For example, #sudo mn-topo single, 4 (creating a topology with 1 switch connected to 4 hosts); • Tree topology: A topology that depends on the depth of the tree and the number of hosts connected to each switch at the end of the tree (fanout). For example, #sudo mn-topo tree, depth = 3, fanout = 2 (creating a tree topology with the depth of 3 such that each switch at the last floor has 4 hosts); • Linear topology: A linear topology depending on the number of switches and the number of hosts connected to each switch. Example: #sudo mn-topo linear, 3 (creating a topology with 3 switches such that each switch is connected to 1 host). 3.2. Results 3.2.1. Test 1 This section presents the results of measuring and comparing the execution times of different types of topologies in two hardware environments with the Ryu controller. Test results are shown in Figure 1 and Table 2 for the single topology, in Figure 2 and Table 3 for the tree topology, and in Figure 3 and Table 4 for the linear topology. Do Van Khoa and Tran Ngo Nhu Khanh 86 Figure 1. Comparison of the execution times for a single topology Table 2. Test results for the single topology Topology Node (n) Host (n) Switch (n) Start/Stop Time Virtualized environment (seconds) Start/Stop Time Raspberry (seconds) Single 3 2 1 0.13 0.31 Single 7 6 1 0.21 0.57 Single 15 14 1 0.41 1.27 Single 31 30 1 0.79 2.34 Single 63 62 1 1.67 4.97 Single 127 126 1 3.33 10.12 Single 255 254 1 11.20 22.66 Single 511 510 1 19.42 51.18 Figure 2. Comparison of the execution times for the tree topology DALAT UNIVERSITY JOURNAL OF SCIENCE [NATURAL SCIENCES AND TECHNOLOGY] 87 Table 3. Test results for the tree topology Topology Node (n) Host (n) Switch (n) Start/Stop Time Virtualized environment (seconds) Start/Stop Time Raspberry (seconds) Tree 3 2 1 0.13 0.31 Tree 7 4 3 0.30 0.75 Tree 15 8 7 0.69 1.92 Tree 31 16 15 1.29 3.60 Tree 63 32 31 3.23 7.68 Tree 127 64 63 14.83 17.90 Tree 255 128 127 34.83 39.46 Tree 511 256 255 70.97 86.62 Figure 3. Comparison of the execution times for the linear topology Table 4. Test results for the linear topology Topology Node (n) Host (n) Switch (n) Start/Stop Time Virtualized environment (seconds) Start/Stop Time Raspberry (seconds) Linear 4 2 2 0.22 0.47 Linear 8 4 4 0.36 1.10 Linear 16 8 8 0.70 1.99 Linear 32 16 16 1.52 4.31 Linear 64 32 32 3.46 7.93 Linear 128 64 64 14.39 17.40 Linear 256 128 128 36.42 39.04 Linear 512 256 256 67.43 87.79 Do Van Khoa and Tran Ngo Nhu Khanh 88 3.2.2. Experiment 2 The results of measuring and comparing the execution times for different topologies on the same Raspberry Pi environment with two POX and Ryu controllers are shown in the following tables and graphs. The results for the tree topology are shown in Table 5 and Figure 4, and the results for the linear topology are shown in Table 6 and Figure 5. Figure 4. Execution times for the Pox and Ryu controllers with the tree topology Table 5. Test results for the tree topology in the Raspberry Pi environment Topology Node (n) Host (n) Switch (n) Start/Stop Time–Pox Controller (seconds) Start/Stop Time–Ryu Controller (seconds) Tree 3 2 1 0.31 0.31 Tree 7 4 3 0.72 0.75 Tree 15 8 7 1.57 1.92 Tree 31 16 15 3.60 3.60 Tree 63 32 31 7.31 7.68 Tree 127 64 63 16.91 17.90 Tree 255 128 127 36.99 39.46 Tree 511 256 255 88.50 86.62 DALAT UNIVERSITY JOURNAL OF SCIENCE [NATURAL SCIENCES AND TECHNOLOGY] 89 Figure 5. Execution times for the Pox and Ryu controllers with the linear topology Table 6. Test results for the linear topology in the Raspberry Pi environment Topology Node (n) Host (n) Switch (n) Start/Stop Time–Pox Controller (seconds) Start/Stop Time–Ryu Controller (seconds) Linear 4 2 2 0.47 0.47 Linear 8 4 4 0.90 1.10 Linear 16 8 8 1.99 1.99 Linear 32 16 16 4.19 4.31 Linear 64 32 32 8.01 7.93 Linear 128 64 64 17.17 17.40 Linear 256 128 128 37.97 39.04 Linear 512 256 256 88.34 87.79 3.3. Comments According to the results of Test 1, the simulation environment affects the execution time (start/stop) of the topology. In all three topologies (single, tree, and linear) execution time on a lower hardware configuration environment (Raspberry Pi) was higher than in a virtualized environment with a higher hardware configuration. In addition, the scalability test also showed that the execution time of each topology increased as the number of nodes increased. For the single topology, the execution time with the least number of nodes (3 nodes) was 0.13 s in Environment 1 and 0.31 s in Environment 2. With the maximum number of nodes (511 nodes) in Environments 1 and 2, the execution Do Van Khoa and Tran Ngo Nhu Khanh 90 times were 19.42 s and 51.18 s, respectively. Similarly, for the tree topology, the execution time for the least number of nodes in Environments 1 and 2 was 0.13 s and 0.31 s, and with the number of maximum nodes, it was 70.97 s and 86.62 s, respectively. For the linear topology, the execution times were 0.22 s and 0.47 s with the least number of nodes (4 nodes), and 67.43 s, and 87.79 s with the highest number of nodes (512 nodes). The difference in topology execution time for the two media became clearer as the number of nodes increased, with the most obvious difference between the two environments being observed in the single network topology. This result is in agreement with previous studies that found that the simulation environment affects the time to build topologies (de Oliveira et al., 2014; Keti & Askar, 2015). Nevertheless, the difference of this study is that by testing and comparing the virtual machine environment and the Raspberry Pi machine, the results showed that the current basic hardware configurations fully satisfy the simulation software-defined network with Mininet. Although previous studies evaluated Mininet as an important tool in SDN research, there were performance limitations for topologies with a large number of nodes and differences in simulated and real environments. In Test 2, the difference in execution time for the two controllers was insignificant for the topologies with the same hardware environment. The POX controller had an execution time of 0.31 s for the tree topology with the fewest nodes (3 network nodes) and 88.50 s with the most nodes (511 nodes). The Ryu controller had execution times of 0.31 s and 86.62 s, respectively, for the same topologies and hardware environment. For the linear topology, the execution times were 0.47 s and 88.34 s for the POX controller, and 0.47 s and 87.79 s for the Ryu controller. The similar execution times can be explained in that the tests only measure the start/stop time of the topologies, and the controllers do not have much impact on this task. The controllers have more impact when the topology exchanges information between the topology components. 4. CONCLUSIONS AND RECOMMENDATIONS The study tested the simulation of a software-defined network using the Mininet tool by comparing the start/stop execution times of topologies on two different hardware environments and on the same hardware environment but with different controllers. These scalability tests were conducted on three types of topologies (single, tree, and linear) with POX and Ryu controllers. The results show that the hardware environment parameters and the number of network nodes in the topology affect the execution time of all three topologies. Low configuration environments required more execution time. In addition, the increasing number of nodes is proportional to the distinctive difference in the building time of topologies between the two environments. This is similar to the results of previous research that confirm that the simulated environment affects the topology execution time (start/stop). What distinguishes this study, however, is the more comprehensive evaluation performed on both a virtual machine and a Raspberry Pi computer environment with different types of topologies and controllers. Moreover, the results show that both environments are pertinent for simulating a software-defined network, DALAT UNIVERSITY JOURNAL OF SCIENCE [NATURAL SCIENCES AND TECHNOLOGY] 91 even with a topology with a large number of nodes. This has important implications for the use of emulators such as Mininet in research, teaching, and learning about SDN. It shows the ability to apply and deploy software-defined networks in the field of IoT with mobile devices and low configuration. For testing on the same hardware environment, the execution time of the topologies does not differ much between controllers since the controllers do not affect topology construction time. In future studies, we plan to evaluate the performance of SDN topologies, such as bandwidth, packet routing, and forwarding capabilities, on different emulator environments and controllers. REFERENCES Al-Hayajneh, A., Bhuiyan, Z. A., & McAndrew, I. (2020). Improving internet of things (IoT) security with software-defined networking (SDN). Computers, 9(1), 1-14. DOI:10.3390/computers9010008. Ali, J., Lee, S., & Roh, B. (2018). Performance analysis of POX and Ryu with different SDN topologies. In Proceedings of the 2018 International Conference on Information Science and System (pp. 244-249). Association for Computing Machinery. DOI:10.1145/3209914.3209931. de Oliveira, R. L. S., Schweitzer, C. M., Shinoda, A. A., & Prete, L. R. (2014). Using mininet for emulation and prototyping software-defined networks. In 2014 IEEE Colombian Conference on Communications and Computing (COLCOM) (pp. 44- 49). IEEE. DOI: 10.1109/ColComCon.2014.6860404. Gupta, V., Kaur, K., & Kaur, S. (2018). Developing small size low-cost software-defined networking switch using raspberry Pi. In D. K. Lobi yal, V. Mansotra, & U. Singh (Eds), Next-generation networks (pp. 147-152). Springer. Hu, J., Reed, M., Thomos, N., AI-Naday, M. F., & Yang, K. (2020). Securing SDN controlled IoT networks through edge-blockchain. IEEE Internet of Things Journal, 1-14. DOI:10.1109/jiot.2020.3017354. Keti, F., & Askar, S. (2015). Emulation of software defined networks using mininet in different simulation environments. In Proceedings of the 2015 6th International Conference on Intelligent Systems, Modelling and Simulation (pp. 205-210). IEEE. DOI: 10.1109/ISMS.2015.46 Kreutz, D., Ramos, F. M., Verissimo, P. E., Rothenberg, C. E., Azodolmolky, S., & Uhlig, S. (2014). Software-defined networking: A comprehensive survey. Proceedings of the IEEE, 103(1), 14-76. DOI: 10.1109/JPROC.2014.2371999. Marzuqi, O., Virgono, A., & Negara, R. M. (2019). Implementation model architecture software defined network using raspberry Pi: A review paper. Telkomnika, 17(3), 1136-1141. Masoudi, R., & Ghaffari, A. (2016). Software Defined Networks: A survey. Journal of Network and Computer Applications, 67, 1-25. DOI: 10.1016/j.jnca.2016.03.016. Do Van Khoa and Tran Ngo Nhu Khanh 92 Priya, A. V., & Radhika, N. (2019). Performance comparison of SDN OpenFlow controllers. International Journal of Computer Aided Engineering and Technology, 11(4-5), 467-479. Restuccia, F., D’Oro, S., & Melodia, T. (2018). Securing the internet of things in the age of machine learning and software-defined networking. IEEE Internet of Things Journal, 5(6), 4829-4842. DOI: 10.1109/JIOT.2018.2846040. Xia, W., Wen, Y., Foh, C. H., Niyato, D., & Xie, H. (2015). A survey on software-defined networking. IEEE Communications Surveys & Tutorials, 17(1), 27-51. DOI: 10.1109/COMST.2014.2330903.
File đính kèm:
- emulation_of_software_defined_network_using_mininet.pdf