## 2 Virtual Private Networks in Static and Dynamic Networks
### Classical VPN Solutions for Static Networks  
There are several protocols for implementing secure VPNs (implementing only VPN does not provide any encryption or confidentiality to the traffic passing through it):  
1. Layer 2 Tunneling Protocol (L2 TP)/IPSec [7] is a built-in solution for all modern operating systems and VPN-capable devices. L2 TP protocol uses UDP port 1701 and IPSec ports 500 and 4500 for NAT purposes. It requires an advanced configuration (port forwarding) when using a firewall (this is in contrast to SSL, which can use the TCP port 443 to make it indistinguishable from normal HTTPS traffic). On the other hand, IPSec encryption is considered very safe, using an algorithm such as AES, and it is considered a \"de facto\" standard, although data is encapsulated twice and therefore it is slightly slower than an SSL;
2. OpenVPN is a very recent open-source technology that uses the Open Secure Sockets Layer (OpenSSL) [9] and SSLv3/TLSv1 [10] library protocols (TLS stands for Transport Layer Security), provided by the OpenVPN company (6200 Stoneridge Mall Road, Pleasanton, CA 94588, USA). It is able to provide a strong and reliable VPN solution. It is highly configurable, it can be set to run on any port, including TCP 443; its default transport protocol is UDP, with port 1194. Using port TCP 443 makes its traffic undistinguishable from the HTTPS traffic, and therefore, it is extremely difficult to block. Another advantage of OpenVPN is that the OpenSSL library provides several encryption algorithms (such as AES, Blowfish, 3 DES, CAST-128, etc.) [11]. The speed of execution of an OpenVPN connection depends on the used coding level, but it is generally faster than IPSec;
3. Secure Socket Tunneling Protocol (SSTP) [12] was introduced by Microsoft (Redmond, WA, USA) in Windows Vista SP1 and, although it is now available for any Linux (a California Public Benefit Corporation) platform, it is still largely a single Windows platform. SSTP uses SSL v3, and it works like OpenVPN (it has also the ability to use TCP port 443 to avoid problems with NAT firewall). It is integrated into Windows and it might be considered easier to use and more stable;
4. Point-to-Point Tunneling Protocol (PPTP) [13] is a Microsoft product for the creation of VPN-based dial-up networks; for a long while it has been the standard protocol for private corporate networks. It is a VPN protocol based on different authentication methods, able to ensure security, e.g., Microsoft Challenge-Handshake Authentication Protocol (MS-CHAP) v2. By changing MS-CHAP-v2 with Protected Extensible Authentication Protocol (PEAP) the security level of PPTP increases, although it is recommended to use L2 TP/IPSec [8] or Secure Socket Tunneling Protocol (SSTP) [12]. PPTP offers an integrated client for almost all platforms, including smartphones. Its implementation requires a very low computational overhead and it is very easy to set up, enabling fast data management;
5. Internet Key Exchange version 2 (IKEv2) is an IPSec-based [14] tunneling protocol developed by Microsoft and Cisco (San Jose, CA, USA), installed by default in Windows 7 and above. It is not a real VPN protocol at all, but a control protocol for IPSec key exchange, supported by Blackberry (Waterloo, ON, Canada) devices. It can be independently developed and implemented as open source in Linux, BSD and other proprietary OSes. IKEv2 provides the automatic re-establishing of a VPN connection when users temporarily loses their Internet connections; in addition it supports Mobility and Multi-homing protocols [17]. This feature is great for mobile phone users who, for example, connect their smart phones to a WiFi network, but then switch to mobile data connection, based on the best signal or WiFi availability. IKEv2 is faster than PPTP, SSTP and L2 TP, as it does not involve the overhead associated with Point-to-Point protocols (PPP).