VPNs use security protocols that have been developed to establish secure connections. Below is a list of the most used ones:
Internet Protocol Security or IPSec is used to make Internet communications secure over an IP network. It authenticates IP sessions and encrypts each data packet throughout the connection.
IPSec runs in two ways to secure data transfer between two different networks, using Transport mode and Tunneling mode. The transport mode encodes the message in the data packet while the tunneling mode encodes the whole data packet.
L2TP or Layer 2 Tunneling Protocol
L2TP or Layer 2 Tunneling Protocol is a tunneling protocol that usually is paired with another VPN security protocol such as IPSec to establish a secure VPN connection. A tunnel between two L2TP connection points is created and the IPSec protocol encrypts and sends the data securely through the tunnel.
PPTP or Point-to-Point Tunneling Protocol
PPTP or Point-to-Point Tunneling Protocol creates a tunnel and encapsulates data, and like L2TP does not encrypt data. A secondary protocol such as GRE or TCP has to be used in tandem with it to handle the encryption.
PPTP is one of the most common used VPN protocol and has been used since the times of Windows 95. PPTP is also supported on Mac and Linux.
SSL and TLS
SSL (Secure Sockets Layer) and TLS (Transport Layer Security) generate a VPN connection where user access is restricted to certain applications instead of the whole network. The protocol is extensively used by online retailers and service providers.
It uses a handshake method to produce the cryptographic parameters of the session. Web browsers have incorporated SSL and TLS. SSL connections feature at the beginning of the URL https instead of http.
OpenVPN is an open source multi-platform VPN client that is convenient for establishing Point-to-Point and Site-to-Site connections. It makes use of a custom security protocol developed on the SSL and TLS protocol.
Secure Shell or SSH
Secure Shell or SSH creates the VPN tunnel and it also encrypts it. SSH connections allow users to transfer data from a local port on to the remote server via the secure tunnel.