# Implementation of a Lossless Moving Target Defense Mechanism
## 7 Performance Evaluation
### Numerical Experiment  
In Section 7.1, considerations regarding the convergence time of the system were presented, which is the time required for all switches to use only the set of IP addresses belonging to a given generation. Table 1 presents the time characteristics of the SDN elements that are necessary to calculate the convergence times in scenarios I and II. Figure 10 compares the convergence times of networks using scenarios I and II for different link bandwidths (10 Gbps and 40 Gbps) and different numbers of switches. The chart shows the total number of border and core switches. It was assumed that the ratio of core to border switches was 1:5. As can be observed, the convergence time did not exceed 350 \(\upmu\)s.  
In order to assess the performance of the proposed solution, we needed to consider the time required to prepare the switches for the application of IP addresses of the next generation. For all switches to be able to use the new generation, the SDN switch must update the flow tables in all switches. According to Algorithms 1 and 2, it is necessary to modify the tables:  
* _core1 PV4 Table_ in core switches, which contains \(h^{2}\) entries, where \(h\) is the number of hosts in the supported network,
* _borderTranslationDstTabl_ in border switches, which contains \(h\) entries; \begin{table}
\begin{tabular}{l c} \hline \hline
**System Element** & **Processing Time** \\ \hline Serialization on ethernet port (1 Gbps, packet size 1518 bytes) [58] & 7.2 \(\upmu\)s \\ Serialization on ethernet port (10 Gbps, packet size 1518 bytes) [58] & 1.2 \(\upmu\)s \\ Serialization on ethernet port (25 Gbps, packet size 1518 bytes) [58] & 0.48 \(\upmu\)s \\ Serialization on ethernet port (40 Gbps, packet size 1518 bytes) [58] & 0.3 \(\upmu\)s \\ IP packet transmission over a distance of 1 km [59] & \(\sim\)5 \(\upmu\)s \\ Packet forwarding in SDN switch (depends on ASIC) [60] & \(\sim\)0.2 \(\upmu\)s \\ Flow table update (500 Mbps, packet size 1500B) [61] & \(\sim\)90 ms \\ \hline \hline \end{tabular}
\end{table} 
Table 1: Time characteristics of SDN elements. Figure 10: Comparison of convergence times in scenarios I and II for different link bandwidths and different numbers of switches. * \(borderTranslationSrcTabl\) in border switches, which also contains \(h\) entries. The time required to modify flow tables is dependent on the amount of modifying data, which in turn depends on the number of commands and parameters contained in the packet [61]. Modifying commands are transmitted between the SDN controller and the switches as text, formatted according to JSON notation. The number of bytes in such a command depends on the number of characters. However, it should be noted that determining the exact number is impossible, as, for example, an IP address in version 4 is made up of 4 bytes, but in JSON notation, it can occupy from 7 bytes (e.g., 1.1.1.1) to 15 bytes (e.g., 192.168.136.200). The names of tables and the functions called also affect the number of characters transmitted in a single command. For simplicity, let us assume that one command is 60 bytes (characters) long. Let us determine the time necessary to update a table involving the exchange of \(R\) rows. Based on the research results presented in [61], we can assume that updating 25 entries (according to the assumption, the modifying command is 60 bytes long) in a table takes approximately 90 ms. Let \(T^{modify}(R)\) denote the time needed to modify \(R\) rows in the flow table.