VPN follows a client and server approach. VPN clients authenticate users, encrypt data, and otherwise manage sessions with VPN servers utilizing a technique called tunneling.
VPN clients and VPN servers are typically used in these three scenarios:
1. to support remote access to an intranet,
2. to support connections between multiple intranets within the same organization, and
3. to join networks between two organizations, forming an extranet.
VPN users typically interact with simple graphical client programs. These applications support creating tunnels, setting configuration parameters, and connecting to and disconnecting from the VPN server. VPN solutions utilize several different network protocols including PPTP, L2TP, IPsec, and SOCKS.
VPN servers can also connect directly to other VPN servers. A VPN server-to-server connection extends the intranet or extranet to span multiple networks.
Many vendors have developed VPN hardware and software products. Some of these do not interoperate due to the immaturity of some VPN standards.