RESEARCH OF SDN NETWORK PERFORMANCE PARAMETERS USING MININET NETWORK EMULATOR

© The Author(s) 2021. Published by Igor Sikorsky Kyiv Polytechnic Institute. This is an Open Access article distributed under the terms of the license CC BY 4.0 (https://creativecommons.org/licenses/by/4.0/), which permits re-use, distribution, and reproduction in any medium, provided the original work is properly cited. UDC 004.3 RESEARCH OF SDN NETWORK PERFORMANCE PARAMETERS USING MININET NETWORK EMULATOR Oleksandr I. Romanov, Ivan O. Saychenko, Anton I. Marinov, Serhii S. Skolets


INTRODUCTION
Existing networks are a collection of hardware and software equipment such as switches, routers, firewalls. These devices were created on the basis of specific hardware and software platforms from various vendors. Therefore, the introduction of new modern services on existing networks, as a rule, requires replacement or modernization of the old equipment staff [1,2,3,4]. This approach leads to the emergence of long design cycles, procurement of the necessary equipment and commissioning. All this negatively affects the efficiency of providing users with new types of services.
However, the networks of telecommunications operators today are mainly composed of "monolithic physical" network elements, where the control, administration and data transfer functions are performed by physical devices. Often, a telecom operator is forced to build its network using equipment from one manufacturer, since in this case it is easier to ensure the compatibility of network elements and to carry out upgrades. Deployment of services, modification (upgrades) of equipment or services is performed in turn in each network element and requires close internal and external resources of the operator. This approach makes the operator's network inflexible, complicates the introduction of new services and functions, and increases the operator's dependence on vendor solutions.
Therefore, the focus of representatives of research organizations, universities and mobile operators is on the issues of building networks based on SDN. The largest contribution to the development of this product comes from the Open Networking Foundation (ONF) consortium. ONF is a non-profit organization dedicated to accelerating the implementation of SDN and NVF [5].
To date, the ONF has developed documents that describe the principles of construction and operation of SDN networks. In works [7,8,9, 10] general requirements, system approaches and generalized architecture of SDN networks are considered. In papers [6,11,12,15], the tasks and features of the protocols are considered, they are used to solve various problems in SDN networks. In works [13,14,16] described the functions of constructing elements of the SDN network and the order of their interaction in the process of streaming information. In works [17,18,19,20,21], the principles of constructing an optical transport network are considered and recommendations for ensuring the safety of their operation are given. The most complete and systematized material is presented in works [22,23]. Articles [24,25,26,27] explore various aspects of information flows and focus on meeting the requirements for ensuring network security.
It should be noted that in most of the works, special attention is paid to the implementation of individual elements of the SDN network. However, in the practical implementation of such a complex system as a SDN network, a comprehensive assessment of the performance indicators of the system as a whole is required. For this, various types of modelling are used to predict the behaviour of the system in various modes of operation.

MAIN PART
To determine the numerical indicators of the functioning of complex systems and check them meet the requirements, three types of models are used: physical, analytical and simulation [1,2].
Physical models assume the deployment of a network section on real equipment and practical operation in order to determine the performance characteristics. This method allows you to get values the closest to real values. However, this approach requires a lot of time and money.
Analytical models are easy to use and do not require large material investments. However, such complex systems as telecommunications are difficult to describe mathematically. Usually, when describing service processes, it is necessary to introduce a large number of restrictions. As a result, such models can have very low accuracy.
Therefore, as a rule, simulation models are used. They are less expensive than physical models, allow taking into account real network processes and have a fairly high variability of the parameters under study.
To study the performance of SDN networks using the simulation method, the Open Networking Foundation (ONF) has developed the Mininet network emulator. Elements of Mininet are available in the public domain on the developers' forum site [3,4]. This allows you to use ready-made elementary fragments to create simulation models of SDN networks of various configurations. It should be noted that simulation models based on the MININET platform may not work immediately. They require writing matching programs and settings, the complexity of which depends on the type of structure of the network under study. However, to date, the MININET platform is the most deeply developed, it allows you to build models of networks of varying degrees of complexity, it is quite convenient to work with, and most importantly, it is in the public domain.
Let us consider the principle of constructing a SDN network model using the Mininet network emulator [5,6]. Fig. 1 shows the structure of a data transmission network, which consists of standard switches and hosts (computers). Today, these elements independently solve both control tasks and data transmission tasks.  At first view, the network has become more complex due to the appearance of additional elements: a controller and functional blocks at the application level. But it must be borne in mind that the controller has taken over all the control functions. This greatly simplified the network devices at the data plane level, and there are a lot of them on the network. As for the functional blocks at the application level, they have always been. They were just not counted, as they were expected to provide additional services. A feature of functional blocks in the SDN network is that they can solve certain control tasks at the command of the controller.
The interaction of the controller with network elements is provided through the "southbound" interface using the open standard OpenFlow protocol. Today it is the main protocol recommended by the ONF for use in SDN networks.
An important advantage of SDN networks is that both hardware monolithic devices and virtual ones can be used as network elements. Fig. 3 shows an example where virtual vSwitch (for example, located in the Data Processing Center) are connected to the hardware WAN switches of the network (for example, the Inernet).   Fig. 4 shows that a switch can use multiple forwarding tables. Tables are numbered starting from 0. The packet is sequentially transmitted for analysis across all tables. Once a package meets the selection criteria, a specific command is executed, such as a redirect. The forwarding entry indicates the port, which can be physical or virtual. There are special virtual ports that can change the logic of packet processing, for example, to provide that it is transmitted through all ports of the OpenFlow switch.
There are two modes of work switch : 1. Packet processing mode for data that already contain information about packet in the forwarding tables; 2. The mode of processing a packet that first entered the switch and for which there is no data in the forwarding tables.
The first processing mode is shown in Fig. 5. The essence of the processing process is that a packet from the H1 host enters port 1 and then is transmitted for analysis to the Flow table. Checking the set of packet fields will allow you to determine the action -to transmit the packet to port 3, to which the H3 host is connected.
The processing mode of a packet that first entered the switch and for which there is no data in the forwarding tables is shown in Fig. 6. The essence of the processing process is that a packet from the H1 host enters port 1 and then is transmitted for analysis to the Flow table. Checking the set of packet fields will not determine the port to which the packet is to be sent. Then, as a necessary action, the packet will be transferred to the OpenFlow agent, which will establish a secure communication channel with the SDN Controller and transfer the packet to it for analysis. SDN Controller will determine the destination port of the packet, make changes to the Flow table, and all subsequent packets of this type will be processed in the first mode. The packet processing algorithm in this mode is shown in Fig. 7.   Fig. 7. Algorithm for processing a package for which there is no data in the Flowtable.
Let's make a simulation of the network, the structure of which is shown in Fig. 8, using the Mininet network emulator.  fast network creation using standard components.  the ability to build networks of complex structure;  creation of virtual network elements such as OpenFlow Switch, web servers, monitoring tools, Wireshark;  transfer and installation of configured network structures from Mininet to hardware switches;  deploying a network in Mininet on a laptop, server, virtual machine or cloud. There are three ways to build a simulation model using Mininet: 1. Simultaneously installation of the network structure and controller in one file. In this case, the controller has an embedded network.
2. Separate installation of the network structure and controller in different files. In this case, we have a controller, which is a remote device that is not built into the network and is launched when the network file is started.
3. Combined installation: -established network structure with built-in controller; -an additional Floodlight controller is installed and runs separately from the network. The first method allows you to build only the simplest network structures. The second method provides the construction of more complex structures, however, it has limitations on the modes of operation of the network under study. The third method has more possibilities than the first two. It allows you to build large-scale network topologies. Floodlight controller is widely used in research in educational institutions and is actively developing [7,8]. Therefore, the work used the third method for constructing the Mininet simulation model. -controller can support networks on traditional switches which does not support OpenFlow.
The structure and main functional elements of the Floodlight controller are shown in Fig. 9. In the research, using the Mininet simulation model with the Floodlight Controller, were investigated the following performance indicators of the SDN network, which is shown in Fig. 8 To discovery these parameters, there are required following input data: 1. Network structure that can be specified as a connectivity matrix; 2. Data transfer protocols that are used: -UDP; -TCP. 3. Amount of the load in the paths of communication. 4. Set performance of network branches. 5. Packet processing time in network elements.
As a result of modelling the process of network work, were determined the following indicators: 1. Network bandwidth depends on the size of the input load to the network. 2. Total real network branch performance. 3. Load on the interfaces of each network switch. 4. RRT for all communication routes for two types of load: -RTT for TCP packets; -RTT for UDP packets; RTT represents the sum of the time it takes for delivery the package to the consumer and the time it takes to get confirmation that the packet has been received. 5. Impact of latency in network elements on bandwidth performance.
To generate traffic in the network, were used Iperf tool to generate packets over TCP and Iperfudp to generate packets over UDP.
The results of network modelling in Fig. 8 are presented in Table 1. During the research, Host 5 was used as a server that receives traffic from three clients -Host 1, Host 3, Host 4. At the initial setup, the performance of all channels in the network was 10 Mbit / s. Further, the load in the network for each client increased until the network was overloaded.
For example, a branch of the network has a performance of 10 Mbps. The load in the communication route was increased for reaching the total incoming load in 15 Mbps. The goal was for traffic to be served not only along the shortest path, but also along the roundabout path. That is, there was a need to balance traffic. In our case, to prevent the occurrence of packet loss in the direction from sw-1 to sw-2, some of the sent packets were serviced in the transmission direction from sw-1 to sw-4. The obtained results are shown in Table 1.The visualization of the overloading process is shown in Fig. 10. The Wireshark utility allows analysing the amount of traffic that went through the corresponding ports/interfaces. Fig. 11 shows an example of loading the eth4 interface of the switch sw-1 during traffic transmission to Host 5, which belongs to the switch sw-2.  The pingall tool is responsible for determining the RTT parameter. But to get more detailed statistics use the command: pingallfull.
The results of the RTT research are shown in Table2. Table 2.Theresultsofthe RTT research Visualization of the obtained results is presented in Fig.13 and Fig. 14. 14. Dependence of RTT change at different network delays As can be seen from Fig. 14, when packets with a set delay of 400 ms are transmitted in the network, the first disconnections of the routes begin to occur. Namely, 2 directions with the largest number of hops, with 30 directions in the network (where hop is the distance between two nodes in the network, so the more hops -the more complicated the routing path and the further are the nodes from each other).