# IoT IP Overlay Network Security Performance Analysis with Open Source Infrastructure Deployment
## 5 Implemented Scenarios and Experimental Results
## 6 Conclusions and Future Works

In this work, we gave several details about VPN and overlay connections in TCP/IP networks. In particular, we focused our attention on the analysis of several tunnels, from different points of view, implementing them into virtualized environments and giving different information on how they can be implemented. The second part of the work was dedicated to the analysis of the obtainable results, in terms of RTT, maximum bandwidth and throughput. One of the main results consists in the possibility of clustering the tunnels in the function of the reachable RTT, thus having a wide variety of choices that respect a given RTT distribution, depending on the desired results. The second analysis that has been illustrated regards the performance of tunneling for TCP and UDP connection: we have shown how, for UDP, all the connections saturate, while for TCP there are some preferred tunnels, with respect to some other ones. The same trend was found for the throughput analysis. A future study will certainly involve translating this study onto the Proxmox platform to evaluate the performance achievable through systems managed through this hypervisor. Proxmox VE optimizes both the network and CPU management layers to deliver high performance and efficiency in virtualized environments. There is an emphasis on these optimizations: Proxmox VE supports a wide array of advanced networking technologies, which are crucial for creating flexible and high-performance virtual networks. These include:

* FOU (Foo Over UDP): Efficient encapsulation of IP in UDP, reducing overhead. * GUE (Generic UDP Encapsulation): This offers flexibility for different protocols with minimal latency. * GRE (Generic Routing Encapsulation) and GREtap: This ensures robust tunneling of various network protocols and Ethernet frames, respectively, optimizing traffic flow. * IPIP (IP-in-IP): This simplifies tunneling with minimal processing overhead. * GENEVE and VXLAN: These provide scalable solutions for network virtualization, enhancing performance in Overlay Networks. * MACsec: This secures data link layer communications, maintaining high throughput with encryption. * OpenVPN and WireGuard: These deliver secure and efficient VPN solutions, with WireGuard specifically known for its minimal CPU usage and high performance. * IPsec (VTI, XFRMi, Classic): This ensures secure communications with optimized encryption and tunneling techniques. * Tinc and Nebula: These offer mesh networking solutions that scale efficiently while maintaining security. Proxmox VE enhances CPU management through various techniques to ensure that virtual machines (VMs) and containers run efficiently: \begin{table}
\begin{tabular}{|l|l|l|l|} \hline \multicolumn{4}{|l|}{**KVM vs. Docker Strengths and Weaknesses**} \\ \hline \multicolumn{2}{|c|}{**KVM**} & \multicolumn{2}{c|}{**DOCKER**} \\ \hline _Strengths_ & _Weaknesses_ & _Strengths_ & _Weaknesses_ \\ \hline Isolation and Security & Higher Overhead & Resource Efficiency & Limited Isolation \\ \hline Full Operating System Support & Startup Speed & Startup Speed & Host Kernel Dependency \\ \hline Resource Flexibility & Resource Management & Portability & Security Management \\ \hline Compatibility and Stability & & Process-level Isolation & \\ \hline \end{tabular}
\end{table} 
Table 6: KVM vs. Docker Strengths and Weaknesses. * KVM (Kernel-based Virtual Machine): This utilizes hardware virtualization extensions (Intel VT-x and AMD-V) to ensure near-native performance for VMs. * CPU Pinning: This allows binding of VMs to specific CPU cores, reducing context switching and optimizing performance. * NUMA (Non-Uniform Memory Access) Awareness: Proxmox can optimize memory and CPU allocation across NUMA nodes, improving access times and overall VM performance. * Resource Limits and Quotas: This enables setting limits and quotas for CPU usage, ensuring fair distribution of resources and preventing any single VM from monopolizing CPU resources.