Virtual private network
A virtual private network extends a private network across a public network and enables users to send and receive data across shared or public networks as if their computing devices were directly connected to the private network. Applications running across a VPN may therefore benefit from the functionality, security, and management of the private network. Encryption is a common, although not an inherent, part of a VPN connection.
VPN technology was developed to provide access to corporate applications and resources to remote or mobile users, and to branch offices. For security, the private network connection may be established using an encrypted layered tunneling protocol, and users may be required to pass various authentication methods to gain access to the VPN. In other applications, Internet users may secure their connections with a VPN to circumvent geo-restrictions and censorship or to connect to proxy servers to protect personal identity and location to stay anonymous on the Internet. Some websites, however, block access to known VPN technology to prevent the circumvention of their geo-restrictions, and many VPN providers have been developing strategies to get around these blockades.
A VPN is created by establishing a virtual point-to-point connection through the use of dedicated circuits or with tunneling protocols over existing networks. A VPN available from the public Internet can provide some of the benefits of a wide area network. From a user perspective, the resources available within the private network can be accessed remotely.
Types
Early data networks allowed VPN-style connections to remote sites through dial-up modem or through leased line connections utilizing X.25, Frame Relay and Asynchronous Transfer Mode virtual circuits provided through networks owned and operated by telecommunication carriers. These networks are not considered true VPNs because they passively secure the data being transmitted by the creation of logical data streams. They have been replaced by VPNs based on IP and IP/Multi-protocol Label Switching Networks, due to significant cost-reductions and increased bandwidth provided by new technologies such as digital subscriber line and fiber-optic networks.VPNs can be characterized as host-to-network or remote access by connecting a single computer to a network or as site-to-site for connecting two networks. In a corporate setting, remote-access VPNs allow employees to access the company's intranet from outside the office. Site-to-site VPNs allow collaborators in geographically disparate offices to share the same virtual network. A VPN can also be used to interconnect two similar networks over a dissimilar intermediate network, such as two IPv6 networks connected over an IPv4 network.
VPN systems may be classified by:
- the tunneling protocol used to tunnel the traffic
- the tunnel's termination point location, e.g., on the customer edge or network-provider edge
- the type of topology of connections, such as site-to-site or network-to-network
- the levels of security provided
- the OSI layer they present to the connecting network, such as Layer 2 circuits or Layer 3 network connectivity
- the number of simultaneous connections
Security mechanisms
The VPN security model provides:
- confidentiality such that even if the network traffic is sniffed at the packet level, an attacker would see only encrypted data
- sender authentication to prevent unauthorized users from accessing the VPN
- message integrity to detect any instances of tampering with transmitted messages.
- Internet Protocol Security was initially developed by the Internet Engineering Task Force for IPv6, which was required in all standards-compliant implementations of IPv6 before made it only a recommendation. This standards-based security protocol is also widely used with IPv4 and the Layer 2 Tunneling Protocol. Its design meets most security goals: availability, integrity, and confidentiality. IPsec uses encryption, encapsulating an IP packet inside an IPsec packet. De-encapsulation happens at the end of the tunnel, where the original IP packet is decrypted and forwarded to its intended destination.
- Transport Layer Security can tunnel an entire network's traffic or secure an individual connection. A number of vendors provide remote-access VPN capabilities through SSL. An SSL VPN can connect from locations where IPsec runs into trouble with Network Address Translation and firewall rules.
- Datagram Transport Layer Security – used in Cisco AnyConnect VPN and in OpenConnect VPN to solve the issues SSL/TLS has with tunneling over TCP .
- Microsoft Point-to-Point Encryption works with the Point-to-Point Tunneling Protocol and in several compatible implementations on other platforms.
- Microsoft Secure Socket Tunneling Protocol tunnels Point-to-Point Protocol or Layer 2 Tunneling Protocol traffic through an SSL/TLS channel.
- Multi Path Virtual Private Network. Ragula Systems Development Company owns the registered trademark "MPVPN".
- Secure Shell VPN – OpenSSH offers VPN tunneling to secure remote connections to a network or to inter-network links. OpenSSH server provides a limited number of concurrent tunnels. The VPN feature itself does not support personal authentication.
- WireGuard is a protocol. In 2020, WireGuard support was added to both the Linux and Android kernels, opening it up to adoption by VPN providers. By default, WireGuard utilizes Curve25519 for key exchange and ChaCha20 for encryption, but also includes the ability to pre-share a symmetric key between the client and server.
Authentication
Routing
Tunneling protocols can operate in a point-to-point network topology that would theoretically not be considered a VPN because a VPN by definition is expected to support arbitrary and changing sets of network nodes. But since most router implementations support a software-defined tunnel interface, customer-provisioned VPNs often are simply defined tunnels running conventional routing protocols.Provider-provisioned VPN building-blocks
Depending on whether a provider-provisioned VPN operates in layer 2 or layer 3, the building blocks described below may be L2 only, L3 only, or a combination of both. Multi-protocol label switching functionality blurs the L2-L3 identity.generalized the following terms to cover L2 MPLS VPNs and L3 VPNs, but they were introduced in.
; Customer devices
A device that is within a customer's network and not directly connected to the service provider's network. C devices are not aware of the VPN.
; Customer Edge device
A device at the edge of the customer's network which provides access to the PPVPN. Sometimes it is just a demarcation point between provider and customer responsibility. Other providers allow customers to configure it.
; Provider edge device
A device, or set of devices, at the edge of the provider network which connects to customer networks through CE devices and presents the provider's view of the customer site. PEs are aware of the VPNs that connect through them, and maintain VPN state.
; Provider device
A device that operates inside the provider's core network and does not directly interface to any customer endpoint. It might, for example, provide routing for many provider-operated tunnels that belong to different customers' PPVPNs. While the P device is a key part of implementing PPVPNs, it is not itself VPN-aware and does not maintain VPN state. Its principal role is allowing the service provider to scale its PPVPN offerings, for example, by acting as an aggregation point for multiple PEs. P-to-P connections, in such a role, often are high-capacity optical links between major locations of providers.
User-visible PPVPN services
OSI Layer 2 services
;Virtual LANVirtual LAN is a Layer 2 technique that allow for the coexistence of multiple local area network broadcast domains interconnected via trunks using the IEEE 802.1Q trunking protocol. Other trunking protocols have been used but have become obsolete, including Inter-Switch Link, IEEE 802.10, and ATM LAN Emulation.
;Virtual private LAN service
Developed by Institute of Electrical and Electronics Engineers, Virtual LANs allow multiple tagged LANs to share common trunking. VLANs frequently comprise only customer-owned facilities. Whereas VPLS as described in the above section supports emulation of both point-to-point and point-to-multipoint topologies, the method discussed here extends Layer 2 technologies such as 802.1d and 802.1q LAN trunking to run over transports such as Metro Ethernet.
As used in this context, a VPLS is a Layer 2 PPVPN, emulating the full functionality of a traditional LAN. From a user standpoint, a VPLS makes it possible to interconnect several LAN segments over a packet-switched, or optical, provider core, a core transparent to the user, making the remote LAN segments behave as one single LAN.
In a VPLS, the provider network emulates a learning bridge, which optionally may include VLAN service.
;Pseudo wire
PW is similar to VPLS, but it can provide different L2 protocols at both ends. Typically, its interface is a WAN protocol such as Asynchronous Transfer Mode or Frame Relay. In contrast, when aiming to provide the appearance of a LAN contiguous between two or more locations, the Virtual Private LAN service or IPLS would be appropriate.
; Ethernet over IP tunneling
EtherIP is an Ethernet over IP tunneling protocol specification. EtherIP has only packet encapsulation mechanism. It has no confidentiality nor message integrity protection. EtherIP was introduced in the FreeBSD network stack and the SoftEther VPN server program.
;IP-only LAN-like service
A subset of VPLS, the CE devices must have Layer 3 capabilities; the IPLS presents packets rather than frames. It may support IPv4 or IPv6.
OSI Layer 3 PPVPN architectures
This section discusses the main architectures for PPVPNs, one where the PE disambiguates duplicate addresses in a single routing instance, and the other, virtual router, in which the PE contains a virtual router instance per VPN. The former approach, and its variants, have gained the most attention.One of the challenges of PPVPNs involves different customers using the same address space, especially the IPv4 private address space. The provider must be able to disambiguate overlapping addresses in the multiple customers' PPVPNs.
;BGP/MPLS PPVPN
In the method defined by, BGP extensions advertise routes in the IPv4 VPN address family, which are of the form of 12-byte strings, beginning with an 8-byte route distinguisher and ending with a 4-byte IPv4 address. RDs disambiguate otherwise duplicate addresses in the same PE.
PEs understand the topology of each VPN, which are interconnected with MPLS tunnels either directly or via P routers. In MPLS terminology, the P routers are Label Switch Routers without awareness of VPNs.
;Virtual router PPVPN
The virtual router architecture, as opposed to BGP/MPLS techniques, requires no modification to existing routing protocols such as BGP. By the provisioning of logically independent routing domains, the customer operating a VPN is completely responsible for the address space. In the various MPLS tunnels, the different PPVPNs are disambiguated by their label but do not need routing distinguishers.
Unencrypted tunnels
Some virtual networks use tunneling protocols without encryption for protecting the privacy of data. While VPNs often do provide security, an unencrypted overlay network does not neatly fit within the secure or trusted categorization. For example, a tunnel set up between two hosts with Generic Routing Encapsulation is a virtual private network but is neither secure nor trusted.Native plaintext tunneling protocols include Layer 2 Tunneling Protocol when it is set up without IPsec and Point-to-Point Tunneling Protocol or Microsoft Point-to-Point Encryption.
Trusted delivery networks
Trusted VPNs do not use cryptographic tunneling; instead they rely on the security of a single provider's network to protect the traffic.- Multi-Protocol Label Switching often overlays VPNs, often with quality-of-service control over a trusted delivery network.
- L2TP which is a standards-based replacement, and a compromise taking the good features from each, for two proprietary VPN protocols: Cisco's Layer 2 Forwarding and Microsoft's Point-to-Point Tunneling Protocol.
Types of deployment
VPNs in mobile environments
Users utilize mobile virtual private networks in settings where an endpoint of the VPN is not fixed to a single IP address, but instead roams across various networks such as data networks from cellular carriers or between multiple Wi-Fi access points without dropping the secure VPN session or losing application sessions. Mobile VPNs are widely used in public safety where they give law-enforcement officers access to applications such as computer-assisted dispatch and criminal databases, and in other organizations with similar requirements such as Field service management and healthcare.VPN on routers
With the increasing use of VPNs, many have started deploying VPN connectivity on routers for additional security and encryption of data transmission by using various cryptographic techniques. Home users usually deploy VPNs on their routers to protect devices such as smart TVs or gaming consoles, which are not supported by native VPN clients. Supported devices are not restricted to those capable of running a VPN client.Many router manufacturers supply routers with built-in VPN clients. Some use open-source firmware such as DD-WRT, OpenWRT and Tomato in order to support additional protocols such as OpenVPN.
Setting up VPN services on a router requires a deep knowledge of network security and careful installation. Minor misconfiguration of VPN connections can leave the network vulnerable. Performance will vary depending on the Internet service provider.
Networking limitations
A limitation of traditional VPNs is that they are point-to-point connections and do not tend to support broadcast domains; therefore, communication, software, and networking, which are based on layer 2 and broadcast packets, such as NetBIOS used in Windows networking, may not be fully supported as on a local area network. Variants on VPN such as Virtual Private LAN Service and layer 2 tunneling protocols are designed to overcome this limitation.VPN services
A wide variety of entities provide "VPNs" for all kinds of purposes, but depending on the provider and the application, they often do not create a true "private network" with anything meaningful on the local network. Nonetheless the term is increasingly prevalent. The general public has come to mainly use the term VPN service or just VPN specifically for a commercially marketed product or service that uses a VPN protocol to tunnel the user's internet traffic so an IP address of the service provider's server appears to the public to be the IP address of the user. Depending on the features properly implemented, the user's traffic, location and/or real IP may be hidden from the public, thereby providing the desired internet access features offered, such as Internet censorship circumvention, anonymization, and geo-unblocking. They tunnel the user's internet traffic securely only between the public internet and the user's device and there is typically no way for a user's devices connected to the same "VPN" to see each other. These VPNs can be based on typical VPN protocols or more camouflaged VPN implementations like SoftEther VPN, but proxy protocols like Shadowsocks are used as well. These VPNs are usually marketed as privacy protection services.On the client side, a common VPN setup is by design not a conventional VPN, but does typically use the operating system's VPN interfaces to capture a user's data to send through. This include virtual network adapters on computer OSes and specialized "VPN" interfaces on mobile operating systems. A less common alternative is to provide a SOCKS proxy interface.
Users must consider that when the transmitted content is not encrypted before entering a VPN, that data is visible at the receiving endpoint regardless of whether the VPN tunnel wrapper itself is encrypted for the inter-node transport. The only secure VPN is where the participants have oversight at both ends of the entire data path, or the content is encrypted before it enters the tunnel provider.