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.

Emulation of software-defined network using mininet trang 1

Trang 1

Emulation of software-defined network using mininet trang 2

Trang 2

Emulation of software-defined network using mininet trang 3

Trang 3

Emulation of software-defined network using mininet trang 4

Trang 4

Emulation of software-defined network using mininet trang 5

Trang 5

Emulation of software-defined network using mininet trang 6

Trang 6

Emulation of software-defined network using mininet trang 7

Trang 7

Emulation of software-defined network using mininet trang 8

Trang 8

Emulation of software-defined network using mininet trang 9

Trang 9

Emulation of software-defined network using mininet trang 10

Trang 10

Tải về để xem bản đầy đủ

pdf 13 trang xuanhieu 8960
Bạn đang xem 10 trang mẫu của tài liệu "Emulation of software-defined network using mininet", để tải tài liệu gốc về máy hãy click vào nút Download ở trên

Tóm tắt nội dung tài liệu: Emulation of software-defined network using mininet

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:

  • pdfemulation_of_software_defined_network_using_mininet.pdf