## 3 Components of VPN/Overlay Architecture
### The Noise Protocol Framework  
The Noise Framework is a lightweight and flexible cryptographic library designed to provide a wide range of cryptographic primitives for secure communication over unreliable networks, such as the Internet. Used within Nebula Overlay, the Noise Framework offers a robust infrastructure to ensure the security and privacy of communications between network nodes. What follows is a technical overview of how the Noise Framework operates within Nebula Overlay. Supported cryptographic primitives: The Noise Framework offers a set of cryptographic primitives, including symmetric encryption, Diffie-Hellman key exchange, key authentication, digital signatures, and cryptographic hashes. These primitives can be flexibly combined to meet the communication's specific security requirements. Noise protocol patterns: The Noise Framework uses protocol patterns to define the phases and operations involved in secure communication. Protocol patterns, such as the _Noise IK_ pattern, specify a sequence of cryptographic actions during message exchange between parties. These protocol patterns provide a standardized framework for designing secure and scalable cryptographic protocols. Selection of protocol pattern: In the context of Nebula Overlay, the Noise Framework allows for the selection of the most suitable protocol pattern based on the application's specific requirements and network configuration. For example, the _Noise IKpsk2_ pattern may be used for pre-shared key exchange with authentication, while the _Noise NN_ pattern may be suitable for anonymous communication. Configuration of cryptographic parameters: The Noise Framework enables the configuration of cryptographic parameters, such as the choice of encryption algorithm, the use of digital signatures, and the setting of Diffie-Hellman parameters. This configurability allows for adjusting the security level and communication performance based on the specific requirements of the application and network environment. Integration with Nebula Overlay: The Noise Framework establishes secure and authenticated communication channels between network nodes within Nebula Overlay. Noise-based communication protocols enable nodes to exchange data securely, ensuring the transmitted information's confidentiality, integrity, and authenticity. In summary, the Noise Framework is a fundamental component within Nebula Overlay for ensuring communication security over unreliable networks. By using flexible protocol patterns and a wide range of cryptographic primitives, the Noise Framework provides a scalable infrastructure for distributed communication over the Internet.  
\begin{table}
\begin{tabular}{c c} \hline \hline
**Feature** & **LibreSwan** \\ \hline _Pre-shared key authentication_ & Yes \\ _Public-key authentication_ & Yes \\ _IKEv1 key exchange_ & Yes \\ _IKEv2 key exchange_ & Yes \\ _AH support_ & Yes \\ _NSS compatibility_ & Yes \\ _DnsSec/XAUTH_ & Yes \\ _Network Manager compatibility_ & Yes \\ _VIP (Virtual IP Pools)_ & Yes \\ _NAT Traversal_ & Yes \\ _MOBIKE_ & Yes \\ _Route-based VPN_ & Yes \\ _Policy-based VPN_ & Yes \\ _Native [Policy/Route]-based VPN_ & Yes \\ _HA (High Availability)_ & Yes \\ _Legacy cipher suites backwards compatibility_ & No \\ \hline \hline \end{tabular}
\end{table}
Table 1: LibreSwan features table.