Cannabis Ruderalis

Content deleted Content added
122.173.24.54 (talk)
No edit summary
Tag: Reverted
m Reverted edit by Tohidulislam033 (talk) to last version by MrOllie
 
(192 intermediate revisions by more than 100 users not shown)
Line 1: Line 1:
{{short description|Extension of a private network across a public one}}
{{short description|Extension of a private network across a public one}}
{{Redirect|VPN|other uses|VPN (disambiguation)|commercial services|VPN service}}
{{Redirect|VPN}}
{{Multiple issues|{{More citations needed|date=May 2021}}
{{For|commercial services|VPN service}}
{{Technical|date=March 2023}}|collapsed=yes|section=y}}
{{More citations needed|date=May 2021}}
{{Use dmy dates|date=August 2017}}
{{Use dmy dates|date=August 2017}}
{{Use American English|date=April 2021}}
{{Use American English|date=April 2021}}


A '''virtual private network''' ('''VPN''') is a mechanism for creating a [[computer security|secure connection]] between a [[computing device]] and a [[computer network]], or between two networks, using an insecure communication medium such as the public [[Internet]].<ref name=":0">{{Cite web |url=https://csrc.nist.gov/glossary/term/virtual_private_network |title=virtual private network |website=NIST Computer Security Resource Center Glossary |access-date=2 January 2023 |archive-date=2 January 2023 |archive-url=https://web.archive.org/web/20230102230546/https://csrc.nist.gov/glossary/term/virtual_private_network |url-status=live }}</ref>
A '''virtual private network''' ('''VPN''') 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.<ref>{{Cite web|title=What Is a VPN? - Virtual Private Network|url=https://www.cisco.com/c/en/us/products/security/vpn-endpoint-security-clients/what-is-vpn.html|access-date=2021-09-05|website=Cisco|language=en}}</ref> The benefits of a VPN include increases in functionality, [[computer security|security]], and management of the private network. It provides access to resources that are inaccessible on the public network and is typically used for [[remote work]]ers. [[Encryption]] is common, although not an inherent part of a VPN connection.<ref>{{cite book |author= Mason, Andrew G. |title=Cisco Secure Virtual Private Network |url= https://archive.org/details/ciscosecurevirtu00andr |url-access= registration |publisher= Cisco Press |date= 2002 |page= [https://archive.org/details/ciscosecurevirtu00andr/page/7 7]|isbn=9781587050336 }}</ref>


A VPN can extend access to a [[private network]] (one that disallows or restricts public access) to users who do not have direct access to it, such as an office network allowing secure access from off-site over the Internet.<ref>{{Cite web|title=What Is a VPN? - Virtual Private Network|url=https://www.cisco.com/c/en/us/products/security/vpn-endpoint-security-clients/what-is-vpn.html|access-date=2021-09-05|website=Cisco|language=en|archive-date=31 December 2021|archive-url=https://web.archive.org/web/20211231100706/https://www.cisco.com/c/en/us/products/security/vpn-endpoint-security-clients/what-is-vpn.html|url-status=live}}</ref>
A VPN is created by establishing a virtual [[point-to-point (network topology)|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]] (WAN). From a user perspective, the resources available within the private network can be accessed remotely.<ref>{{cite web |url= https://docs.microsoft.com/en-us/previous-versions/windows/it-pro/windows-2000-server/bb742566(v=technet.10) |title=Virtual Private Networking: An Overview |department=[[Microsoft TechNet|TechNet]] |website=[[Microsoft Docs]] |date=2001-09-04 |access-date=2021-11-07}}</ref>

The benefits of a VPN include security, reduced costs for dedicated communication lines, and greater flexibility for [[remote work]]ers.<ref>{{cite book |author= Mason, Andrew G. |title=Cisco Secure Virtual Private Network |url= https://archive.org/details/ciscosecurevirtu00andr |url-access= registration |publisher= Cisco Press |date= 2002 |page= [https://archive.org/details/ciscosecurevirtu00andr/page/7 7]|isbn=9781587050336 }}</ref>

A VPN is created by establishing a virtual [[point-to-point (network topology)|point-to-point]] connection through the use of [[tunneling protocol]]s over existing networks. A VPN available from the public Internet can provide some of the benefits{{Such as?|date=March 2023}} of a private [[wide area network]] (WAN).<ref>{{cite web |url=https://docs.microsoft.com/en-us/previous-versions/windows/it-pro/windows-2000-server/bb742566(v=technet.10) |title=Virtual Private Networking: An Overview |department=[[Microsoft TechNet|TechNet]] |website=[[Microsoft Docs]] |date=2001-09-04 |access-date=2021-11-07 |archive-date=17 June 2022 |archive-url=https://web.archive.org/web/20220617083944/https://docs.microsoft.com/en-us/previous-versions/windows/it-pro/windows-2000-server/bb742566(v=technet.10) |url-status=live }}</ref>


==Types==
==Types==
Line 15: Line 19:


Virtual private networks may be classified into several categories:
Virtual private networks may be classified into several categories:
;Remote access: A ''host-to-network'' configuration is analogous to connecting a computer to a local area network. This type provides access to an enterprise network, such as an [[intranet]]. This may be employed for [[remote work]]ers who need access to private resources, or to enable a mobile worker to access important tools without exposing them to the public Internet.
;Remote access: A ''host-to-network'' configuration is analogous to connecting a computer to a local area network. This type provides access to an enterprise{{jargon inline|date=March 2023}} network, such as an [[intranet]]. This may be employed for [[remote work]]ers, or to enable a mobile worker to access necessary tools without exposing them to the public Internet.


;Site-to-site: A ''site-to-site'' configuration connects two networks. This configuration expands a network across geographically disparate offices, or a group of offices to a data center installation. The interconnecting link may run over a dissimilar intermediate network, such as two [[IPv6]] networks connected over an [[IPv4]] network.<ref>{{cite magazine |last=Davies |first=Joseph |date=July 2007 |title=IPv6 Traffic over VPN Connections |url=https://docs.microsoft.com/en-us/previous-versions/technet-magazine/cc138002(v=msdn.10) |department=[https://docs.microsoft.com/en-us/previous-versions/technet-magazine/cc135901(v=msdn.10) The Cable Guy] |magazine=[[TechNet Magazine]] |via=[[Microsoft Docs]] |access-date=2021-11-07}}</ref>
;Site-to-site: A ''site-to-site'' configuration connects two networks. This configuration expands a network across geographically disparate offices or connects a group of offices to a data center installation. The interconnecting link may run over a dissimilar intermediate network, such as two [[IPv6]] networks connected over an [[IPv4]] network.<ref>{{cite magazine |last=Davies |first=Joseph |date=July 2007 |title=IPv6 Traffic over VPN Connections |url=https://docs.microsoft.com/en-us/previous-versions/technet-magazine/cc138002(v=msdn.10) |department=The Cable Guy |magazine=[[TechNet Magazine]] |via=[[Microsoft Docs]] |access-date=2021-11-07 |archive-date=7 November 2021 |archive-url=https://web.archive.org/web/20211107184311/https://docs.microsoft.com/en-us/previous-versions/technet-magazine/cc138002(v=msdn.10) |url-status=live }}</ref>


;Extranet-based site-to-site: In the context of site-to-site configurations, the terms '''[[intranet]]''' and '''[[extranet]]''' are used to describe two different use cases.<ref>{{Cite IETF|title=RFC 3809 - Generic Requirements for Provider Provisioned Virtual Private Networks|rfc=3809|section=1.1}}</ref> An ''intranet'' site-to-site VPN describes a configuration where the sites connected by the VPN belong to the same organization, whereas an ''extranet'' site-to-site VPN joins sites belonging to multiple organizations.
;Extranet-based site-to-site: In the context of site-to-site configurations, the terms '''[[intranet]]''' and '''[[extranet]]''' are used to describe two different use cases.<ref>{{Cite IETF|title=RFC 3809 - Generic Requirements for Provider Provisioned Virtual Private Networks|rfc=3809|section=1.1}}</ref> An ''intranet'' site-to-site VPN describes a configuration where the sites connected by the VPN belong to the same organization, whereas an ''extranet'' site-to-site VPN joins sites belonging to multiple organizations.


Typically, individuals interact with remote access VPNs, whereas businesses tend to make use of site-to-site connections for [[business-to-business]], cloud computing, and [[branch office]] scenarios. Despite this, these technologies are not mutually exclusive and, in a significantly complex business network, may be combined to enable remote access to resources located at any given site, such as an ordering system that resides in a data center.
Typically, individuals interact with remote access VPNs, whereas businesses tend to make use of site-to-site connections for [[business-to-business]], cloud computing, and [[branch office]] scenarios. However, these technologies are not mutually exclusive and, in a significantly complex business network, may be combined to enable remote access to resources located at any given site, such as an ordering system that resides in a data center.


VPN systems also may be classified by:
VPN systems also may be classified by:
* The tunneling protocol used to [[IP tunnel|tunnel]] the traffic
* the tunneling protocol used to [[IP tunnel|tunnel]] the traffic
* The tunnel's termination point location, e.g., on the customer [[Edge device|edge]] or network-provider edge
* the tunnel's termination point location, e.g., on the customer [[Edge device|edge]] or network-provider edge
* The type of topology of connections, such as site-to-site or network-to-network
* the type of topology of connections, such as site-to-site or network-to-network
* The levels of security provided
* the levels of security provided
* The [[OSI model|OSI layer]] they present to the connecting network, such as [[Layer 2]] circuits or [[Layer 3]] network connectivity
* the [[OSI model|OSI layer]] they present to the connecting network, such as [[Layer 2]] circuits or [[Layer 3]] network connectivity
* The number of simultaneous connections
* the number of simultaneous connections


==Security mechanisms==
==Security mechanisms==
VPNs cannot make online connections completely anonymous, but they can increase privacy and security. To prevent disclosure of private information or [[Packet analyzer|data sniffing]], VPNs typically allow only authenticated remote access using [[tunneling protocol]]s and secure [[Encryption software|encryption]] techniques.
VPNs cannot make online connections completely anonymous, but they can increase [[privacy]] and security by encrypting all communication between remote locations over the open Internet. To prevent disclosure of private information or [[Packet analyzer|data sniffing]], VPNs typically allow only authenticated remote access {{clarify|reason=unclear whether "using" clause is restrictive or descriptive|text=using|date=March 2023}} [[tunneling protocol]]s and secure [[Encryption software|encryption]] techniques.


The VPN security model provides:
The VPN security model provides:
* [[Information security#Confidentiality|Confidentiality]] such that even if the network traffic is sniffed at the packet level (see network sniffer or [[deep packet inspection]]), an attacker would see only [[Encryption|encrypted data]], not the raw data.
* [[Information security#Confidentiality|confidentiality]] such that even if the network traffic is sniffed at the packet level (see network sniffer or [[deep packet inspection]]), an attacker would see only [[Encryption|encrypted data]], not the raw data
* Sender [[authentication]] to prevent unauthorized users from accessing the VPN.
* sender [[authentication]] to prevent unauthorized users from accessing the VPN
* Message [[Data integrity|integrity]] to detect and reject any instances of tampering with transmitted messages.
* message [[Data integrity|integrity]] to detect and reject any instances of tampering with transmitted messages
[[File:IPSec VPN-en.svg|300px|thumb|The life cycle phases of an IPSec Tunnel in a virtual private network]]
[[File:IPSec VPN-en.svg|300px|thumb|The life cycle phases of an IPSec tunnel in a virtual private network]]

Secure VPN protocols include the following:
Secure VPN protocols include the following:
* [[Internet Protocol Security]] ([[Internet Protocol Security|IPsec]]) was initially developed by the [[Internet Engineering Task Force]] (IETF) for [[IPv6]], which was required in all standards-compliant implementations of IPv6 before {{IETF RFC|6434}} made it only a recommendation.<ref name="rfc6434">{{IETF RFC|6434}}, "IPv6 Node Requirements", E. Jankiewicz, J. Loughney, T. Narten (December 2011)</ref> This standards-based security protocol is also widely used with [[IPv4]] and the [[Layer 2 Tunneling Protocol]]. Its design meets most security goals: [[Information security#Key concepts|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.
* [[Internet Protocol Security]] ([[Internet Protocol Security|IPsec]]) was initially developed by the [[Internet Engineering Task Force]] (IETF) for [[IPv6]], and was required in all standards-compliant implementations of IPv6 before {{IETF RFC|6434}} made it only a recommendation.<ref name="rfc6434">{{IETF RFC|6434}}, "IPv6 Node Requirements", E. Jankiewicz, J. Loughney, T. Narten (December 2011)</ref> This standards-based security protocol is also widely used with [[IPv4]] and the [[Layer 2 Tunneling Protocol]]. Its design meets most security goals: [[Information security#Key concepts|availability, integrity, and confidentiality]]. IPsec uses encryption, [[Encapsulation (networking)|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]] ([[Transport Layer Security|SSL/TLS]]) can tunnel an entire network's traffic (as it does in the [[OpenVPN]] project and [[SoftEther VPN]] project<ref>{{Cite web |title=1. Ultimate Powerful VPN Connectivity |url=https://www.softether.org/1-features/1._Ultimate_Powerful_VPN_Connectivity#SoftEther_VPN's_Solution:_Using_HTTPS_Protocol_to_Establish_VPN_Tunnels |website=www.softether.org |publisher=SoftEther VPN Project}}</ref>) 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.
* [[Transport Layer Security]] ([[Transport Layer Security|SSL/TLS]]) can tunnel an entire network's traffic (as it does in the [[OpenVPN]] project and [[SoftEther VPN]] project<ref>{{Cite web |title=1. Ultimate Powerful VPN Connectivity |url=https://www.softether.org/1-features/1._Ultimate_Powerful_VPN_Connectivity#SoftEther_VPN's_Solution:_Using_HTTPS_Protocol_to_Establish_VPN_Tunnels |website=www.softether.org |publisher=SoftEther VPN Project |access-date=8 October 2022 |archive-date=8 October 2022 |archive-url=https://web.archive.org/web/20221008211349/https://www.softether.org/1-features/1._Ultimate_Powerful_VPN_Connectivity#SoftEther_VPN's_Solution:_Using_HTTPS_Protocol_to_Establish_VPN_Tunnels |url-status=live }}</ref>) 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 {{clarify|text=runs into trouble|date=March 2023}} with [[Network Address Translation]] and firewall rules.
* [[Datagram Transport Layer Security]] ([[Datagram Transport Layer Security|DTLS]]) – used in Cisco [[AnyConnect]] VPN and in [[OpenConnect]] VPN<ref>{{Cite web |title=OpenConnect |url=https://www.infradead.org/openconnect/index.html |access-date=2013-04-08 |quote=<nowiki>OpenConnect is a client for Cisco's AnyConnect SSL VPN [...] OpenConnect is not officially supported by, or associated in any way with, Cisco Systems. It just happens to interoperate with their equipment.</nowiki>}}</ref> to solve the issues [[Transport Layer Security|TLS]] has with tunneling over [[Transmission Control Protocol|TCP]] (SSL/TLS are TCP-based, and tunneling TCP over TCP can lead to big delays and connection aborts<ref>{{Cite web |title=Why TCP Over TCP Is A Bad Idea |url=http://sites.inka.de/~W1011/devel/tcp-tcp.html |access-date=2018-10-24 |website=sites.inka.de}}</ref>).
* [[Datagram Transport Layer Security]] ([[Datagram Transport Layer Security|DTLS]]) – used in Cisco [[AnyConnect]] VPN and in [[OpenConnect]] VPN<ref>{{Cite web |title=OpenConnect |url=https://www.infradead.org/openconnect/index.html |access-date=2013-04-08 |quote=<nowiki>OpenConnect is a client for Cisco's AnyConnect SSL VPN [...] OpenConnect is not officially supported by, or associated in any way with, Cisco Systems. It just happens to interoperate with their equipment.</nowiki> |archive-date=29 June 2022 |archive-url=https://web.archive.org/web/20220629202852/https://www.infradead.org/openconnect/index.html |url-status=live }}</ref> to solve the issues [[Transport Layer Security|TLS]] has with tunneling over [[Transmission Control Protocol|TCP]] (SSL/TLS are TCP-based, and tunneling TCP over TCP can lead to big delays and connection aborts<ref>{{Cite web |title=Why TCP Over TCP Is A Bad Idea |url=http://sites.inka.de/~W1011/devel/tcp-tcp.html |access-date=2018-10-24 |website=sites.inka.de |archive-date=6 March 2015 |archive-url=https://web.archive.org/web/20150306050429/http://sites.inka.de/~W1011/devel/tcp-tcp.html |url-status=live }}</ref>).
* [[Microsoft Point-to-Point Encryption]] ([[Microsoft Point-to-Point Encryption|MPPE]]) works with the [[Point-to-Point Tunneling Protocol]] and in several compatible implementations on other platforms.
* [[Microsoft Point-to-Point Encryption]] ([[Microsoft Point-to-Point Encryption|MPPE]]) works with the [[Point-to-Point Tunneling Protocol]] and in several compatible implementations on other platforms.
* Microsoft [[Secure Socket Tunneling Protocol]] ([[Secure Socket Tunneling Protocol|SSTP]]) tunnels [[Point-to-Point Protocol]] (PPP) or Layer 2 Tunneling Protocol traffic through an [[Transport Layer Security|SSL/TLS]] channel (SSTP was introduced in [[Windows Server 2008]] and in [[Windows Vista]] Service Pack 1).
* Microsoft [[Secure Socket Tunneling Protocol]] ([[Secure Socket Tunneling Protocol|SSTP]]) tunnels [[Point-to-Point Protocol]] (PPP) or Layer 2 Tunneling Protocol traffic through an [[Transport Layer Security|SSL/TLS]] channel (SSTP was introduced in [[Windows Server 2008]] and in [[Windows Vista]] Service Pack 1).
* Multi Path Virtual Private Network (MPVPN). Ragula Systems Development Company owns the registered [[trademark]] "MPVPN".<ref>{{Cite web |title=Trademark Status & Document Retrieval |url=https://tarr.uspto.gov/servlet/tarr?regser=serial&entry=78063238&action=Request+Status |website=tarr.uspto.gov}}</ref>
* Multi Path Virtual Private Network (MPVPN). Ragula Systems Development Company owns the registered [[trademark]] "MPVPN".{{relevance inline|date=March 2023}}<ref>{{Cite web |title=Trademark Status & Document Retrieval |url=https://tarr.uspto.gov/servlet/tarr?regser=serial&entry=78063238&action=Request+Status |website=tarr.uspto.gov |access-date=8 October 2022 |archive-date=21 March 2012 |archive-url=https://web.archive.org/web/20120321221027/http://tarr.uspto.gov/servlet/tarr?regser=serial&entry=78063238&action=Request+Status |url-status=live }}</ref>
* Secure Shell (SSH) VPN – [[OpenSSH]] offers VPN tunneling (distinct from [[port forwarding]]) to secure remote connections to a network, inter-network links, and remote systems. OpenSSH server provides a limited number of concurrent tunnels. The VPN feature itself does not support personal authentication.<ref>{{Cite web |title=ssh(1) – OpenBSD manual pages |url=https://man.openbsd.org/ssh.1#SSH-BASED_VIRTUAL_PRIVATE_NETWORKS |website=man.openbsd.org}}</ref><ref>{{Cite web |last=Barschel |first=Colin |title=Unix Toolbox |url=http://cb.vu/unixtoolbox.xhtml#vpn |website=cb.vu}}</ref><ref>{{Cite web |title=SSH_VPN – Community Help Wiki |url=https://help.ubuntu.com/community/SSH_VPN |website=help.ubuntu.com}}</ref> SSH is more often used to remotely connect to machines or networks instead of a site to site VPN connection.
* Secure Shell (SSH) VPN – [[OpenSSH]] offers VPN tunneling (distinct from [[port forwarding]]) to secure{{ambiguous|reason=unclear whether "secure" is a verb or adjective|date=March 2023}} remote connections to a network, inter-network links, and remote systems. OpenSSH server provides a limited number of concurrent tunnels. The VPN feature itself does not support personal authentication.<ref>{{Cite web |title=ssh(1) – OpenBSD manual pages |url=https://man.openbsd.org/ssh.1#SSH-BASED_VIRTUAL_PRIVATE_NETWORKS |website=man.openbsd.org |access-date=4 February 2018 |archive-date=5 July 2022 |archive-url=https://web.archive.org/web/20220705224554/https://man.openbsd.org/ssh.1#SSH-BASED_VIRTUAL_PRIVATE_NETWORKS |url-status=live }}
* {{Cite web |last=Barschel |first=Colin |title=Unix Toolbox |url=http://cb.vu/unixtoolbox.xhtml#vpn |website=cb.vu |access-date=2 August 2009 |archive-date=28 May 2019 |archive-url=https://web.archive.org/web/20190528153959/http://cb.vu/unixtoolbox.xhtml#vpn |url-status=dead }}
* [[WireGuard]] is a protocol. In 2020, WireGuard support was added to both the Linux<ref>{{Cite web |last=Salter |first=Jim |date=2020-03-30 |title=WireGuard VPN makes it to 1.0.0—and into the next Linux kernel |url=https://arstechnica.com/gadgets/2020/03/wireguard-vpn-makes-it-to-1-0-0-and-into-the-next-linux-kernel/ |access-date=2020-06-30 |website=Ars Technica |language=en-us}}</ref> and Android<ref>{{Cite web |title=Diff - 99761f1eac33d14a4b1613ae4b7076f41cb2df94^! - kernel/common - Git at Google |url=https://android.googlesource.com/kernel/common/+/99761f1eac33d14a4b1613ae4b7076f41cb2df94%5E! |access-date=2020-06-30 |website=android.googlesource.com}}</ref> kernels, opening it up to adoption by VPN providers. By default, WireGuard utilizes the [[Curve25519]] protocol for [[key exchange]] and [[ChaCha20-Poly1305]] for encryption and message authentication, but also includes the ability to pre-share a symmetric key between the client and server.<ref>{{Cite journal|last=Younglove|first=R.|date=December 2000|title=Virtual private networks - how they work|url=https://ieeexplore.ieee.org/document/892887|journal=Computing & Control Engineering Journal|volume=11|issue=6|pages=260–262|doi=10.1049/cce:20000602|issn=0956-3385}}</ref><ref>{{Cite journal|last=Benjamin Dowling, and Kenneth G. Paterson|title=A cryptographic analysis of the WireGuard protocol|journal=International Conference on Applied Cryptography and Network Security|date=12 June 2018|isbn=978-3-319-93386-3}}</ref>
* {{Cite web |title=SSH_VPN – Community Help Wiki |url=https://help.ubuntu.com/community/SSH_VPN |website=help.ubuntu.com |access-date=28 July 2009 |archive-date=2 July 2022 |archive-url=https://web.archive.org/web/20220702025833/https://help.ubuntu.com/community/SSH_VPN |url-status=live }}</ref> SSH is more often used to remotely connect to machines or networks instead of a site to site VPN connection.
*[[Internet Key Exchange|IKEv2]] is an acronym that stands for Internet Key Exchange version 2. It was created by Microsoft and Cisco and is used in conjunction with IPSec for encryption and authentication. Its primary use is in mobile devices, whether on [[3G]] or [[4G]] [[LTE (telecommunication)|LTE]] networks, since it automatically reconnects when a connection is lost.
* [[WireGuard]] is a protocol. In 2020, WireGuard support was added to both the Linux<ref>{{Cite web |last=Salter |first=Jim |date=2020-03-30 |title=WireGuard VPN makes it to 1.0.0—and into the next Linux kernel |url=https://arstechnica.com/gadgets/2020/03/wireguard-vpn-makes-it-to-1-0-0-and-into-the-next-linux-kernel/ |access-date=2020-06-30 |website=Ars Technica |language=en-us |archive-date=31 March 2020 |archive-url=https://web.archive.org/web/20200331182738/https://arstechnica.com/gadgets/2020/03/wireguard-vpn-makes-it-to-1-0-0-and-into-the-next-linux-kernel/ |url-status=live }}</ref> and Android<ref>{{Cite web |title=Diff - 99761f1eac33d14a4b1613ae4b7076f41cb2df94^! - kernel/common - Git at Google |url=https://android.googlesource.com/kernel/common/+/99761f1eac33d14a4b1613ae4b7076f41cb2df94%5E! |access-date=2020-06-30 |website=android.googlesource.com |archive-date=29 June 2022 |archive-url=https://web.archive.org/web/20220629213243/https://android.googlesource.com/kernel/common/+/99761f1eac33d14a4b1613ae4b7076f41cb2df94%5E! |url-status=live }}</ref> kernels, opening it up to adoption by VPN providers. By default, WireGuard utilizes the [[Curve25519]] protocol for [[key exchange]] and [[ChaCha20-Poly1305]] for encryption and message authentication, but also includes the ability to pre-share a symmetric key between the client and server.<ref>{{Cite journal|last=Younglove|first=R.|date=December 2000|title=Virtual private networks - how they work|url=https://ieeexplore.ieee.org/document/892887|journal=Computing & Control Engineering Journal|volume=11|issue=6|pages=260–262|doi=10.1049/cce:20000602|issn=0956-3385}}
*[[OpenVPN]] is a [[Free and open-source software|free and open-source]] VPN protocol that is based upon the TLS protocol. It supports perfect [[Forward secrecy|forward-secrecy]], and most modern secure cipher suits, like [[Advanced Encryption Standard|AES]], [[Serpent (cipher)|Serpent]], [[Twofish|TwoFish]], etc. It is currently being developed and updated by OpenVPN Inc., a [[Nonprofit organization|non-profit]] providing secure VPN technologies.
* {{Cite journal|last=Benjamin Dowling, and Kenneth G. Paterson|title=A cryptographic analysis of the WireGuard protocol|journal=International Conference on Applied Cryptography and Network Security|date=12 June 2018|isbn=978-3-319-93386-3}}</ref>
*Crypto IP Encapsulation (CIPE) is a free and open-source VPN implementation for tunneling [[IPv4 packet]]s over [[User Datagram Protocol|UDP]] via [[Encapsulation (networking)|encapsulation]].<ref>{{cite book |last1=Fuller |first1=Johnray |last2=Ha |first2=John |date=2002 |title=Red Hat Linux 9: Red Hat Linux Security Guide |url=https://archive.download.redhat.com/pub/redhat/linux/9/en/doc/RH-DOCS/pdf-en/rhl-sg-en.pdf |location=United States |publisher=[[Red Hat|Red Hat, Inc.]] |pages=48–53}}</ref><ref>{{cite book |last=Petersen |first=Richard |date=2004 |title=Red Hat - The Complete Reference Enterprise Linux & Fedora Edition |url=http://litux.nl/Reference/index.html?page=books/7213/ddu0001.html |location=United States |publisher=[[McGraw-Hill Osborne|McGraw-Hill/Osborne]] |chapter=Chapter 17: Internet Protocol Security: IPsec, Crypto IP Encapsulation for Virtual Private Networks |chapter-url=http://litux.nl/Reference/index.html?page=books/7213/ddu0125.html |isbn=0-07-223075-4}}</ref> CIPE was developed for [[GNU/Linux|Linux]] operating systems by Olaf Titz, with a [[Windows 2000|Windows]] [[Port (software)|port]] implemented by Damion K. Wilson.<ref>{{cite web |url=http://sites.inka.de/sites/bigred/devel/cipe.html |title=CIPE - Crypto IP Encapsulation |last=Titz |first=Olaf |date=2011-12-20 |website=CIPE - Crypto IP Encapsulation |access-date=2022-09-08}}</ref> Development for CIPE ended in 2002.<ref>{{cite web |url=https://sourceforge.net/projects/cipe-linux/ |title=CIPE - encrypted IP in UDP tunneling |last=Titz |first=Olaf |date=2013-04-02 |website=[[SourceForge]] |access-date=2022-09-08}}</ref><ref>{{cite web |url=https://cipe-win32.sourceforge.net/ |title=CIPE-Win32 - Crypto IP Encapsulation for Windows NT/2000 |last=Wilson |first=Damion |date=2002-10-19 |website=[[SourceForge]] |access-date=2022-09-08}}</ref>
* [[Internet Key Exchange]] version 2 was created by Microsoft and Cisco and is used in conjunction with IPSec for encryption and authentication. Its primary use is in mobile devices, whether on [[3G]] or [[4G]] [[LTE (telecommunication)|LTE]] networks, since it automatically reconnects when a connection is lost.
*[[OpenVPN]] is a [[Free and open-source software|free and open-source]] VPN protocol based on the TLS protocol. It supports perfect [[Forward secrecy|forward-secrecy]], and most modern secure cipher suites, like [[Advanced Encryption Standard|AES]], [[Serpent (cipher)|Serpent]], [[Twofish|TwoFish]], etc. It is currently{{Current event inline|date=March 2023}} being developed and updated by OpenVPN Inc., a [[Nonprofit organization|non-profit]] providing secure VPN technologies.
*Crypto IP Encapsulation (CIPE) is a free and open-source VPN implementation for tunneling [[IPv4 packet]]s over [[User Datagram Protocol|UDP]] via [[Encapsulation (networking)|encapsulation]].<ref>{{cite book |last1=Fuller |first1=Johnray |last2=Ha |first2=John |date=2002 |title=Red Hat Linux 9: Red Hat Linux Security Guide |url=https://archive.download.redhat.com/pub/redhat/linux/9/en/doc/RH-DOCS/pdf-en/rhl-sg-en.pdf |location=United States |publisher=[[Red Hat|Red Hat, Inc.]] |pages=48–53 |access-date=8 September 2022 |archive-date=14 October 2022 |archive-url=https://web.archive.org/web/20221014101152/https://archive.download.redhat.com/pub/redhat/linux/9/en/doc/RH-DOCS/pdf-en/rhl-sg-en.pdf |url-status=live }}
* {{cite book |last=Petersen |first=Richard |date=2004 |title=Red Hat - The Complete Reference Enterprise Linux & Fedora Edition |url=http://litux.nl/Reference/index.html?page=books%2F7213%2Fddu0001.html |location=United States |publisher=[[McGraw-Hill Osborne|McGraw-Hill/Osborne]] |chapter=Chapter 17: Internet Protocol Security: IPsec, Crypto IP Encapsulation for Virtual Private Networks |chapter-url=http://litux.nl/Reference/index.html?page=books/7213/ddu0125.html |isbn=0-07-223075-4 |access-date=17 January 2023 |archive-date=17 January 2023 |archive-url=https://web.archive.org/web/20230117215057/http://litux.nl/Reference/index.html?page=books%2F7213%2Fddu0001.html |url-status=live }}</ref> CIPE was developed for [[GNU/Linux|Linux]] operating systems by Olaf Titz, with a [[Windows 2000|Windows]] [[Port (software)|port]] implemented by Damion K. Wilson.<ref>{{cite web |url=http://sites.inka.de/sites/bigred/devel/cipe.html |title=CIPE - Crypto IP Encapsulation |last=Titz |first=Olaf |date=2011-12-20 |website=CIPE - Crypto IP Encapsulation |access-date=2022-09-08 |archive-date=18 May 2022 |archive-url=https://web.archive.org/web/20220518123239/http://sites.inka.de/sites/bigred/devel/cipe.html |url-status=live }}</ref> Development for CIPE ended in 2002.<ref>{{cite web |url=https://sourceforge.net/projects/cipe-linux/ |title=CIPE - encrypted IP in UDP tunneling |last=Titz |first=Olaf |date=2013-04-02 |website=[[SourceForge]] |access-date=2022-09-08 |archive-date=8 September 2022 |archive-url=https://web.archive.org/web/20220908122718/https://sourceforge.net/projects/cipe-linux/ |url-status=live }}
* {{cite web |url=https://cipe-win32.sourceforge.net/ |title=CIPE-Win32 - Crypto IP Encapsulation for Windows NT/2000 |last=Wilson |first=Damion |date=2002-10-19 |website=[[SourceForge]] |access-date=2022-09-08 |archive-date=8 September 2022 |archive-url=https://web.archive.org/web/20220908122719/http://cipe-win32.sourceforge.net/ |url-status=live }}</ref>


===Authentication===
===Authentication===
Tunnel endpoints must be authenticated before secure VPN tunnels can be established. User-created remote-access VPNs may use [[passwords]], [[biometrics]], [[two-factor authentication]] or other [[cryptographic]] methods. Network-to-network tunnels often use passwords or [[digital certificates]]. Depending on the VPN protocol, they may store the key to allow the VPN tunnel to establish automatically, without intervention from the administrator. [[Network packet|Data packets]] are secured by [[Tamperproofing|tamper proofing]] via a [[message authentication code]] (MAC), which prevents the message from being altered or [[Tamper-evident technology|tampered]] without being rejected due to the MAC not matching with the altered data packet.
Tunnel endpoints must be authenticated before secure VPN tunnels can be established.{{Citation needed|date=June 2023}} User-created remote-access VPNs may use [[passwords]], [[biometrics]], [[two-factor authentication]], or other [[cryptographic]] methods. Network-to-network tunnels often use passwords or [[digital certificates]]. Depending on the VPN protocol, they may store the key to allow the VPN tunnel to establish automatically, without intervention from the administrator. [[Network packet|Data packets]] are secured by [[Tamperproofing|tamper proofing]] via a [[message authentication code]] (MAC), which prevents the message from being altered or [[Tamper-evident technology|tampered]] without being rejected due to the MAC not matching with the altered data packet.


==Routing==
==Routing==
Tunneling protocols can operate in a [[Point-to-point (telecommunications)|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 (computing)|router]] implementations support a software-defined tunnel interface, customer-provisioned VPNs often are simply defined tunnels running conventional routing protocols.
Tunneling protocols can operate in a [[Point-to-point (telecommunications)|point-to-point]] [[network topology]] however, this 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 (computing)|router]] implementations support a [[Virtual network interface|virtual, software-defined tunnel interface]], customer-provisioned VPNs often are simply{{ambiguous|reason=they are defined simply, or simply, they are defined?|date=March 2023}} defined tunnels running conventional routing protocols.


===Provider-provisioned VPN building-blocks===
===Provider-provisioned VPN building blocks===
[[File:Site-to-Site VPN terminology-en.svg|thumb|300px|Site-to-Site VPN terminology]]
[[File:Site-to-Site VPN terminology-en.svg|thumb|300px|Site-to-site VPN terminology]]
Depending on whether a provider-provisioned VPN (PPVPN) operates in Layer 2 (L2) or Layer 3 (L3), the building blocks described below may be L2 only, L3 only, or a combination of both. [[Multiprotocol label switching|Multi-protocol label switching]] (MPLS) functionality blurs the L2-L3 identity.<ref>{{cite web |url=https://www.cisco.com/c/en/us/td/docs/switches/lan/catalyst6500/ios/12-2SXF/native/configuration/guide/swcg/pfc3mpls.pdf|title= Configuring PFC3BXL and PFC3B Mode Multiprotocol Label Switching}}</ref>{{original research inline|date=June 2013}}
Depending on whether a provider-provisioned VPN (PPVPN) operates in Layer 2 (L2) or Layer 3 (L3), the building blocks described below may be L2 only, L3 only, or a combination of both. [[Multiprotocol Label Switching]] (MPLS) functionality blurs the L2–L3 identity.<ref>{{cite web|url=https://www.cisco.com/c/en/us/td/docs/switches/lan/catalyst6500/ios/12-2SXF/native/configuration/guide/swcg/pfc3mpls.pdf|title=Configuring PFC3BXL and PFC3B Mode Multiprotocol Label Switching|access-date=24 October 2020|archive-date=24 November 2020|archive-url=https://web.archive.org/web/20201124010817/https://www.cisco.com/c/en/us/td/docs/switches/lan/catalyst6500/ios/12-2SXF/native/configuration/guide/swcg/pfc3mpls.pdf|url-status=live}}</ref>{{original research inline|date=June 2013}}


{{IETF RFC|4026}} generalized the following terms to cover L2 [[MPLS VPN]]s and L3 ([[Border Gateway Protocol|BGP]]) VPNs, but they were introduced in {{IETF RFC|2547}}.<ref name=":2">{{Cite news |last=E. Rosen & Y. Rekhter |date=March 1999 |title=BGP/MPLS VPNs |publisher=Internet Engineering Task Force (IETF) |url=https://www.ietf.org/rfc/rfc2547.txt |rfc=2547}}</ref><ref>{{Cite book |last=Lewis |first=Mark |title=Comparing, designing, and deploying VPNs |publisher=Cisco Press |year=2006 |isbn=1587051796 |edition=1st print. |location=Indianapolis, Ind. |pages=5–6}}</ref>
{{IETF RFC|4026}} generalized the following terms to cover L2 [[MPLS VPN]]s and L3 ([[Border Gateway Protocol|BGP]]) VPNs, but they were introduced in {{IETF RFC|2547}}.<ref name=":2">{{Cite news |last=E. Rosen & Y. Rekhter |date=March 1999 |title=BGP/MPLS VPNs |publisher=Internet Engineering Task Force (IETF) |url=https://www.ietf.org/rfc/rfc2547.txt |rfc=2547 |access-date=8 October 2022 |archive-date=1 September 2022 |archive-url=https://web.archive.org/web/20220901001049/http://www.ietf.org/rfc/rfc2547.txt |url-status=live }}</ref><ref>{{Cite book |last=Lewis |first=Mark |title=Comparing, designing, and deploying VPNs |publisher=Cisco Press |year=2006 |isbn=1587051796 |edition=1st print. |location=Indianapolis, Ind. |pages=5–6}}</ref>


; Customer (C) devices
; Customer (C) 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.
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 (CE)
; Customer edge device (CE)
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.
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 (PE)
; Provider edge device (PE)
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.
A device, or set of devices, at the edge of the provider network that 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 (P)
; Provider device (P)
Line 81: Line 91:
[[VLAN]] is a Layer 2 technique that allows for the coexistence of multiple [[local area network]] (LAN) 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 (ISL), IEEE 802.10 (originally a security protocol but a subset was introduced for trunking), and ATM LAN Emulation (LANE).
[[VLAN]] is a Layer 2 technique that allows for the coexistence of multiple [[local area network]] (LAN) 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 (ISL), IEEE 802.10 (originally a security protocol but a subset was introduced for trunking), and ATM LAN Emulation (LANE).


====Virtual private LAN service (VPLS)====
====Virtual Private LAN Service (VPLS)====
Developed by [[Institute of Electrical and Electronics Engineers]], VLANs allow multiple tagged LANs to share common trunking. VLANs frequently comprise only customer-owned facilities. Whereas VPLS as described in the above section (OSI Layer 1 services) 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]].
Developed by [[Institute of Electrical and Electronics Engineers]], VLANs allow multiple tagged LANs to share common trunking. VLANs frequently comprise only customer-owned facilities. Whereas VPLS as described in the above section (OSI Layer 1 services) 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.<ref>{{Citation |title=Ethernet Bridging (OpenVPN) |url=https://openvpn.net/vpn-server-resources/how-to-setup-layer-2-ethernet-bridging/}}</ref>
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 in a way that is transparent to the user, making the separate LAN segments behave as one single LAN.<ref>{{Citation |title=Ethernet Bridging (OpenVPN) |url=https://openvpn.net/vpn-server-resources/how-to-setup-layer-2-ethernet-bridging/ |access-date=8 October 2022 |archive-date=8 October 2022 |archive-url=https://web.archive.org/web/20221008211345/https://openvpn.net/vpn-server-resources/how-to-setup-layer-2-ethernet-bridging/ |url-status=live }}</ref>


In a VPLS, the provider network emulates a learning bridge, which optionally may include VLAN service.
In a VPLS, the provider network emulates a learning bridge, which may include VLAN service optionally.


====Pseudo wire (PW)====
====Pseudo-wire (PW)====
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.
PW is similar to VPLS but 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====
====Ethernet-over-IP tunneling====
EtherIP ({{IETF RFC|3378}})<ref>{{Cite web |last1=Hollenbeck |first1=Scott |last2=Housley |first2=Russell |title=EtherIP: Tunneling Ethernet Frames in IP Datagrams |url=https://datatracker.ietf.org/doc/rfc3378/}}</ref> 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<ref>Glyn M Burton: [https://securethoughts.com/9-rfc-3378-etherip-with-freebsd/ RFC 3378 EtherIP with FreeBSD], 03 February 2011</ref> and the [[SoftEther VPN]]<ref name="net-security.org">net-security.org news: [https://www.helpnetsecurity.com/2014/01/07/multi-protocol-softether-vpn-becomes-open-source/ Multi-protocol SoftEther VPN becomes open source], January 2014</ref> server program.
EtherIP ({{IETF RFC|3378}})<ref>{{Cite web |last1=Hollenbeck |first1=Scott |last2=Housley |first2=Russell |title=EtherIP: Tunneling Ethernet Frames in IP Datagrams |url=https://datatracker.ietf.org/doc/rfc3378/ |access-date=8 October 2022 |archive-date=8 October 2022 |archive-url=https://web.archive.org/web/20221008211737/https://datatracker.ietf.org/doc/rfc3378/ |url-status=live }}</ref> is an Ethernet-over-IP tunneling protocol specification. EtherIP has only a packet encapsulation mechanism. It has no confidentiality or message integrity protection. EtherIP was introduced in the [[FreeBSD]] network stack<ref>Glyn M Burton: [https://securethoughts.com/9-rfc-3378-etherip-with-freebsd/ RFC 3378 EtherIP with FreeBSD] {{Webarchive|url=https://web.archive.org/web/20180323030903/https://securethoughts.com/9-rfc-3378-etherip-with-freebsd/ |date=23 March 2018 }}, 3 February 2011</ref> and the [[SoftEther VPN]]<ref name="net-security.org">net-security.org news: [https://www.helpnetsecurity.com/2014/01/07/multi-protocol-softether-vpn-becomes-open-source/ Multi-protocol SoftEther VPN becomes open source] {{Webarchive|url=https://web.archive.org/web/20221008211737/https://www.helpnetsecurity.com/2014/01/07/multi-protocol-softether-vpn-becomes-open-source/ |date=8 October 2022 }}, January 2014</ref> server program.


====IP-only LAN-like service (IPLS)====
====IP-only LAN-like service (IPLS)====
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.
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.


====Ethernet Virtual Private Network (EVPN)====
====Ethernet virtual private network (EVPN)====
Ethernet VPN (EVPN) is an advanced solution for providing Ethernet services over IP-MPLS networks. In contrast to the VPLS architectures, EVPN enables control-plane based MAC (and MAC,IP) learning in the network. PEs participating in the EVPN instances learn customer's MAC (MAC,IP) routes in control-plane using MP-BGP protocol. Control-plane MAC learning brings a number of benefits that allow EVPN to address the VPLS shortcomings, including support for multi-homing with per-flow load balancing and avoidance of unnecessary flooding over the MPLS core network to multiple PEs participating in the P2MP/MP2MP L2VPN (in the occurrence, for instance, of ARP query). It is defined {{IETF RFC|7432}}.
Ethernet VPN (EVPN) is an advanced solution for providing Ethernet services over IP-MPLS networks. In contrast to the VPLS architectures, EVPN enables control-plane-based MAC (and MAC,IP) learning in the network. PEs participating in the EVPN instances learn the customer's MAC (MAC,IP) routes in control-plane using MP-BGP protocol. Control-plane MAC learning brings a number of benefits that allow EVPN to address the VPLS shortcomings, including support for multi-homing with per-flow load balancing and avoidance of unnecessary flooding over the MPLS core network to multiple PEs participating in the P2MP/MP2MP L2VPN (in the occurrence, for instance, of ARP query). It is defined {{IETF RFC|7432}}.


===OSI Layer 3 PPVPN architectures===
===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.
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.<ref>[https://www.ietf.org/rfc/rfc1918.txt Address Allocation for Private Internets], {{IETF RFC|1918}}, Y. Rekhter ''et al.'', February 1996</ref> The provider must be able to disambiguate overlapping addresses in the multiple customers' PPVPNs.
One of the challenges of PPVPNs involves different customers using the same address space, especially the IPv4 private address space.<ref>[https://www.ietf.org/rfc/rfc1918.txt Address Allocation for Private Internets] {{Webarchive|url=https://web.archive.org/web/20221008212421/https://www.ietf.org/rfc/rfc1918.txt |date=8 October 2022 }}, {{IETF RFC|1918}}, Y. Rekhter ''et al.'', February 1996</ref> The provider must be able to disambiguate overlapping addresses in the multiple customers' PPVPNs.


;BGP/MPLS PPVPN
;BGP/MPLS PPVPN
In the method defined by {{IETF RFC|2547}}, 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]] (RD) and ending with a 4-byte IPv4 address. RDs disambiguate otherwise duplicate addresses in the same PE.
In the method defined by {{IETF RFC|2547}}, BGP extensions advertise routes in the IPv4 VPN address family, which are in the form of 12-byte strings, beginning with an 8-byte [[route distinguisher]] (RD) and ending with a 4-byte IPv4 address. RDs disambiguate otherwise duplicate addresses in the same PE.{{fact|date=June 2023}}


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 Router|label switch router]]s without awareness of VPNs.
PEs understand the topology of each VPN, which is interconnected with MPLS tunnels directly or via P routers. In MPLS terminology, the P routers are [[label switch router]]s without awareness of VPNs.{{fact|date=June 2023}}


;Virtual router PPVPN
;Virtual router PPVPN
The virtual router architecture,<ref>{{IETF RFC|2917}}, ''A Core MPLS IP VPN Architecture''</ref><ref>{{IETF RFC|2918}}, E. Chen (September 2000)</ref> 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.
The virtual router architecture,<ref>{{IETF RFC|2917}}, ''A Core MPLS IP VPN Architecture''</ref><ref>{{IETF RFC|2918}}, E. Chen (September 2000)</ref> 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.{{fact|date=June 2023}}


===Unencrypted tunnels===
===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 fit within the secure or trusted categorization.<ref>{{Cite journal |last=Yang |first=Yanyan |date=2006 |title=IPsec/VPN security policy correctness and assurance |journal=Journal of High Speed Networks |volume=15 |pages=275–289 |citeseerx=10.1.1.94.8561}}</ref> For example, a tunnel set up between two hosts with [[Generic Routing Encapsulation]] (GRE) is a virtual private network but is neither secure nor trusted.<ref>{{Cite web |title=Overview of Provider Provisioned Virtual Private Networks (PPVPN) |url=https://securethoughts.com/overview-provider-provisioned-virtual-private-networks-ppvpn/ |access-date=29 August 2016 |publisher=Secure Thoughts}}</ref><ref>{{IETF RFC|1702}}: Generic Routing Encapsulation over IPv4 networks. October 1994.</ref>
Some virtual networks use tunneling protocols without encryption to protect the privacy of data. While VPNs often provide security, an unencrypted [[overlay network]] does not fit within the secure or trusted categorization.<ref>{{Cite journal |last=Yang |first=Yanyan |date=2006 |title=IPsec/VPN security policy correctness and assurance |journal=Journal of High Speed Networks |volume=15 |pages=275–289 |citeseerx=10.1.1.94.8561}}</ref> For example, a tunnel set up between two hosts with [[Generic Routing Encapsulation]] (GRE) is a virtual private network but is neither secure nor trusted.<ref>{{Cite web |title=Overview of Provider Provisioned Virtual Private Networks (PPVPN) |url=https://securethoughts.com/overview-provider-provisioned-virtual-private-networks-ppvpn/ |access-date=29 August 2016 |publisher=Secure Thoughts |archive-date=16 September 2016 |archive-url=https://web.archive.org/web/20160916204432/https://securethoughts.com/overview-provider-provisioned-virtual-private-networks-ppvpn/ |url-status=live }}</ref><ref>{{IETF RFC|1702}}: Generic Routing Encapsulation over IPv4 networks. October 1994.</ref>


Native [[plaintext]] tunneling protocols include Layer 2 Tunneling Protocol (L2TP) when it is set up without [[IPsec]] and [[Point-to-Point Tunneling Protocol]] (PPTP) or [[Microsoft Point-to-Point Encryption]] (MPPE).<ref>IETF (1999), {{IETF RFC|2661}}, Layer Two Tunneling Protocol "L2TP"</ref>
Native [[plaintext]] tunneling protocols include Layer 2 Tunneling Protocol (L2TP) when it is set up without [[IPsec]] and [[Point-to-Point Tunneling Protocol]] (PPTP) or [[Microsoft Point-to-Point Encryption]] (MPPE).<ref>IETF (1999), {{IETF RFC|2661}}, Layer Two Tunneling Protocol "L2TP"</ref>


==Trusted delivery networks==
==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.<ref>{{Cite book |last=Cisco Systems, Inc. |url=https://books.google.com/books?id=3Dn9KlIVM_EC |title=Internetworking Technologies Handbook |publisher=Cisco Press |year=2004 |isbn=9781587051197 |edition=4 |series=Networking Technology Series |page=233 |quote=<nowiki>[...] VPNs using dedicated circuits, such as Frame Relay [...] are sometimes called </nowiki>''trusted VPN''s, because customers trust that the network facilities operated by the service providers will not be compromised. |access-date=2013-02-15}}
Trusted VPNs do not use cryptographic tunneling; instead, they rely on the security of a single provider's network to protect the traffic.<ref>{{Cite book |last=Cisco Systems, Inc. |url=https://books.google.com/books?id=3Dn9KlIVM_EC |title=Internetworking Technologies Handbook |publisher=Cisco Press |year=2004 |isbn=9781587051197 |edition=4 |series=Networking Technology Series |page=233 |quote=<nowiki>[...] VPNs using dedicated circuits, such as Frame Relay [...] are sometimes called </nowiki>''trusted VPN''s, because customers trust that the network facilities operated by the service providers will not be compromised. |access-date=2013-02-15}}
</ref>
</ref>
* [[Multiprotocol Label Switching]] (MPLS) often overlays VPNs, often with quality-of-service control over a trusted delivery network.
* [[Multiprotocol Label Switching]] (MPLS) often overlays VPNs, often with quality-of-service control over a trusted delivery network.
* L2TP<ref>[https://www.ietf.org/rfc/rfc2661.txt Layer Two Tunneling Protocol "L2TP"], {{IETF RFC|2661}}, W. Townsley ''et al.'', August 1999</ref> which is a standards-based replacement, and a compromise taking the good features from each, for two proprietary VPN protocols: Cisco's [[L2F|Layer 2 Forwarding (L2F)]]<ref>[https://www.ietf.org/rfc/rfc2341.txt IP Based Virtual Private Networks], {{IETF RFC|2341}}, A. Valencia ''et al.'', May 1998</ref> (obsolete {{As of | 2009 | alt =as of 2009}}) and Microsoft's [[Point-to-Point Tunneling Protocol|Point-to-Point Tunneling Protocol (PPTP)]].<ref>[https://www.ietf.org/rfc/rfc2637.txt Point-to-Point Tunneling Protocol (PPTP)], {{IETF RFC|2637}}, K. Hamzeh ''et al.'', July 1999</ref>
* L2TP<ref>[https://www.ietf.org/rfc/rfc2661.txt Layer Two Tunneling Protocol "L2TP"] {{Webarchive|url=https://web.archive.org/web/20220630094743/https://www.ietf.org/rfc/rfc2661.txt |date=30 June 2022 }}, {{IETF RFC|2661}}, W. Townsley ''et al.'', August 1999</ref> which is a standards-based replacement, and a compromise taking the good features from each, for two proprietary VPN protocols: Cisco's [[L2F|Layer 2 Forwarding (L2F)]]<ref>[https://www.ietf.org/rfc/rfc2341.txt IP Based Virtual Private Networks] {{Webarchive|url=https://web.archive.org/web/20220709081725/https://www.ietf.org/rfc/rfc2341.txt |date=9 July 2022 }}, {{IETF RFC|2341}}, A. Valencia ''et al.'', May 1998</ref> (obsolete {{As of | 2009 | alt =as of 2009}}) and Microsoft's [[Point-to-Point Tunneling Protocol|Point-to-Point Tunneling Protocol (PPTP)]].<ref>[https://www.ietf.org/rfc/rfc2637.txt Point-to-Point Tunneling Protocol (PPTP)] {{Webarchive|url=https://web.archive.org/web/20220702054527/https://www.ietf.org/rfc/rfc2637.txt |date=2 July 2022 }}, {{IETF RFC|2637}}, K. Hamzeh ''et al.'', July 1999</ref>


From the security standpoint, VPNs either trust the underlying delivery network or must enforce security with mechanisms in the VPN itself. Unless the trusted delivery network runs among physically secure sites only, both trusted and secure models need an authentication mechanism for users to gain access to the VPN.
From a security standpoint, a VPN must either trust the underlying delivery network or enforce security with a mechanism in the VPN itself. Unless the trusted delivery network runs among physically secure sites only, both trusted and secure models need an authentication mechanism for users to gain access to the VPN.{{fact|date=June 2023}}


==VPNs in mobile environments==
==VPNs in mobile environments==
[[Mobile virtual private network]]s are used in settings where an endpoint of the VPN is not fixed to a single [[IP address spoofing|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.<ref name="Phifer">Phifer, Lisa. [http://searchmobilecomputing.techtarget.com/tip/0,289483,sid40_gci1210989_mem1,00.html "Mobile VPN: Closing the Gap"], ''SearchMobileComputing.com'', July 16, 2006. <!--accessed November 10, 2009--></ref> 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,<ref>Willett, Andy. [http://www.officer.com/print/Law-Enforcement-Technology/Solving-the-Computing-Challenges-of-Mobile-Officers/1$30992 "Solving the Computing Challenges of Mobile Officers"], ''www.officer.com'', May, 2006. <!--accessed November 10, 2009--></ref> and in other organizations with similar requirements such as [[field service management]] and healthcare.<ref name="Cheng">Cheng, Roger. [https://www.wsj.com/articles/SB119717610996418467 "Lost Connections"], ''The Wall Street Journal'', December 11, 2007. <!--accessed November 10, 2009--></ref>{{qn|date=June 2018}}.
[[Mobile virtual private network]]s are used in settings where an endpoint of the VPN is not fixed to a single [[IP address spoofing|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.<ref name="Phifer">Phifer, Lisa. [http://searchmobilecomputing.techtarget.com/tip/0,289483,sid40_gci1210989_mem1,00.html "Mobile VPN: Closing the Gap"] {{Webarchive|url=https://web.archive.org/web/20200706084816/https://searchmobilecomputing.techtarget.com/tip/Mobile-VPN-Closing-the-gap |date=6 July 2020 }}, ''SearchMobileComputing.com'', 16 July 2006. <!--accessed November 10, 2009--></ref> 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,<ref>Willett, Andy. [http://www.officer.com/print/Law-Enforcement-Technology/Solving-the-Computing-Challenges-of-Mobile-Officers/1$30992 "Solving the Computing Challenges of Mobile Officers"] {{Webarchive|url=https://web.archive.org/web/20200412161947/https://www.officer.com/print/Law-Enforcement-Technology/Solving-the-Computing-Challenges-of-Mobile-Officers/1$30992 |date=12 April 2020 }}, ''www.officer.com'', May, 2006. <!--accessed November 10, 2009--></ref> and in other organizations with similar requirements such as [[field service management]] and healthcare.<ref name="Cheng">Cheng, Roger. [https://www.wsj.com/articles/SB119717610996418467 "Lost Connections"] {{Webarchive|url=https://web.archive.org/web/20180328101055/https://www.wsj.com/articles/SB119717610996418467 |date=28 March 2018 }}, ''The Wall Street Journal'', 11 December 2007. <!--accessed November 10, 2009--></ref>{{qn|date=June 2018}}


==Networking limitations==
==Networking limitations==
A limitation of traditional VPNs is that they are point-to-point connections and do not tend to support [[broadcast domain]]s; therefore, communication, software, and networking, which are based on [[OSI layer|layer 2]] and broadcast [[Network packet|packets]], such as [[NetBIOS]] used in [[My Network Places|Windows networking]], may not be fully supported as on a [[local area network]]. Variants on VPN such as [[Virtual Private LAN Service]] (VPLS) and layer 2 tunneling protocols are designed to overcome this limitation.<ref>{{Cite web |last=Sowells |first=Julia |date=2017-08-07 |title=Virtual Private Network (VPN) : What VPN Is And How It Works |url=https://hackercombat.com/virtual-private-network/ |website=Hackercombat |access-date=2021-11-07}}</ref>
A limitation of traditional VPNs is that they are point-to-point connections and do not tend to support [[broadcast domain]]s; therefore, communication, software, and networking, which are based on [[OSI layer|layer 2]] and broadcast [[Network packet|packets]], such as [[NetBIOS]] used in [[My Network Places|Windows networking]], may not be fully supported as on a [[local area network]]. Variants on VPN such as [[Virtual Private LAN Service]] (VPLS) and layer 2 tunneling protocols are designed to overcome this limitation.<ref>{{Cite web |last=Sowells |first=Julia |date=2017-08-07 |title=Virtual Private Network (VPN) : What VPN Is And How It Works |url=https://hackercombat.com/virtual-private-network/ |website=Hackercombat |access-date=2021-11-07 |archive-date=17 June 2022 |archive-url=https://web.archive.org/web/20220617083903/https://hackercombat.com/virtual-private-network/ |url-status=live }}</ref>


{{anchor|Commercial VPNs|Virtual private network services}}
{{anchor|Commercial VPNs|Virtual private network services}}

==Common misconceptions==
* A VPN does not make your Internet "private". You can still be tracked through [[tracking cookies]] and [[device fingerprinting]], even if your IP address is hidden.<ref name="HTGMyths" />
* A VPN does not make you immune to hackers.<ref name="HTGMyths">{{cite web |last1=O'sullivan |first1=Fergus |title=VPN Myths Debunked: What VPNs Can and Cannot Do |url=https://www.howtogeek.com/753661/vpn-myths-debunked-what-vpns-can-and-cannot-do/ |website=How-To Geek |access-date=16 January 2022}}</ref>
* A VPN is not in itself a means for good Internet privacy. The burden of trust is simply transferred from the [[Internet service provider|ISP]] to the [[VPN service]] provider.<ref>{{cite web | url=https://ssd.eff.org/en/module/understanding-and-circumventing-network-censorship | title=Understanding and Circumventing Network Censorship | date=25 April 2020 }}</ref><ref>{{cite web | url=https://cdt.org/insights/techsplanations-part-5-virtual-private-networks/ | title=Techsplanations: Part 5, Virtual Private Networks }}</ref><ref>{{cite web | url=https://www.ttbinternetsecurity.com/vpn-shield/ | title=Benefits for VPNs }}</ref>


==See also==
==See also==
Line 151: Line 156:
* [[Split tunneling]]
* [[Split tunneling]]
* [[Virtual private server]]
* [[Virtual private server]]
* [[VPNLab]]
* [[VPN service]]
* [[VPN service]]
{{div col end}}
{{div col end}}

Latest revision as of 00:45, 28 April 2024

A virtual private network (VPN) is a mechanism for creating a secure connection between a computing device and a computer network, or between two networks, using an insecure communication medium such as the public Internet.[1]

A VPN can extend access to a private network (one that disallows or restricts public access) to users who do not have direct access to it, such as an office network allowing secure access from off-site over the Internet.[2]

The benefits of a VPN include security, reduced costs for dedicated communication lines, and greater flexibility for remote workers.[3]

A VPN is created by establishing a virtual point-to-point connection through the use of tunneling protocols over existing networks. A VPN available from the public Internet can provide some of the benefits[example needed] of a private wide area network (WAN).[4]

Types[edit]

VPN classification tree based on the topology first, then on the technology used
VPN connectivity overview, showing intranet site-to-site and remote-work configurations used together

Virtual private networks may be classified into several categories:

Remote access
A host-to-network configuration is analogous to connecting a computer to a local area network. This type provides access to an enterprise[jargon] network, such as an intranet. This may be employed for remote workers, or to enable a mobile worker to access necessary tools without exposing them to the public Internet.
Site-to-site
A site-to-site configuration connects two networks. This configuration expands a network across geographically disparate offices or connects a group of offices to a data center installation. The interconnecting link may run over a dissimilar intermediate network, such as two IPv6 networks connected over an IPv4 network.[5]
Extranet-based site-to-site
In the context of site-to-site configurations, the terms intranet and extranet are used to describe two different use cases.[6] An intranet site-to-site VPN describes a configuration where the sites connected by the VPN belong to the same organization, whereas an extranet site-to-site VPN joins sites belonging to multiple organizations.

Typically, individuals interact with remote access VPNs, whereas businesses tend to make use of site-to-site connections for business-to-business, cloud computing, and branch office scenarios. However, these technologies are not mutually exclusive and, in a significantly complex business network, may be combined to enable remote access to resources located at any given site, such as an ordering system that resides in a data center.

VPN systems also 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[edit]

VPNs cannot make online connections completely anonymous, but they can increase privacy and security by encrypting all communication between remote locations over the open Internet. To prevent disclosure of private information or data sniffing, VPNs typically allow only authenticated remote access using[clarification needed] tunneling protocols and secure encryption techniques.

The VPN security model provides:

The life cycle phases of an IPSec tunnel in a virtual private network

Secure VPN protocols include the following:

Authentication[edit]

Tunnel endpoints must be authenticated before secure VPN tunnels can be established.[citation needed] User-created remote-access VPNs may use passwords, biometrics, two-factor authentication, or other cryptographic methods. Network-to-network tunnels often use passwords or digital certificates. Depending on the VPN protocol, they may store the key to allow the VPN tunnel to establish automatically, without intervention from the administrator. Data packets are secured by tamper proofing via a message authentication code (MAC), which prevents the message from being altered or tampered without being rejected due to the MAC not matching with the altered data packet.

Routing[edit]

Tunneling protocols can operate in a point-to-point network topology however, this 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 virtual, software-defined tunnel interface, customer-provisioned VPNs often are simply[ambiguous] defined tunnels running conventional routing protocols.

Provider-provisioned VPN building blocks[edit]

Site-to-site VPN terminology

Depending on whether a provider-provisioned VPN (PPVPN) operates in Layer 2 (L2) or Layer 3 (L3), the building blocks described below may be L2 only, L3 only, or a combination of both. Multiprotocol Label Switching (MPLS) functionality blurs the L2–L3 identity.[19][original research?]

RFC 4026 generalized the following terms to cover L2 MPLS VPNs and L3 (BGP) VPNs, but they were introduced in RFC 2547.[20][21]

Customer (C) 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 (CE)

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 (PE)

A device, or set of devices, at the edge of the provider network that 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 (P)

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[edit]

OSI Layer 2 services[edit]

VLAN[edit]

VLAN is a Layer 2 technique that allows for the coexistence of multiple local area network (LAN) 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 (ISL), IEEE 802.10 (originally a security protocol but a subset was introduced for trunking), and ATM LAN Emulation (LANE).

Virtual Private LAN Service (VPLS)[edit]

Developed by Institute of Electrical and Electronics Engineers, VLANs allow multiple tagged LANs to share common trunking. VLANs frequently comprise only customer-owned facilities. Whereas VPLS as described in the above section (OSI Layer 1 services) 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 in a way that is transparent to the user, making the separate LAN segments behave as one single LAN.[22]

In a VPLS, the provider network emulates a learning bridge, which may include VLAN service optionally.

Pseudo-wire (PW)[edit]

PW is similar to VPLS but 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[edit]

EtherIP (RFC 3378)[23] is an Ethernet-over-IP tunneling protocol specification. EtherIP has only a packet encapsulation mechanism. It has no confidentiality or message integrity protection. EtherIP was introduced in the FreeBSD network stack[24] and the SoftEther VPN[25] server program.

IP-only LAN-like service (IPLS)[edit]

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.

Ethernet virtual private network (EVPN)[edit]

Ethernet VPN (EVPN) is an advanced solution for providing Ethernet services over IP-MPLS networks. In contrast to the VPLS architectures, EVPN enables control-plane-based MAC (and MAC,IP) learning in the network. PEs participating in the EVPN instances learn the customer's MAC (MAC,IP) routes in control-plane using MP-BGP protocol. Control-plane MAC learning brings a number of benefits that allow EVPN to address the VPLS shortcomings, including support for multi-homing with per-flow load balancing and avoidance of unnecessary flooding over the MPLS core network to multiple PEs participating in the P2MP/MP2MP L2VPN (in the occurrence, for instance, of ARP query). It is defined RFC 7432.

OSI Layer 3 PPVPN architectures[edit]

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.[26] The provider must be able to disambiguate overlapping addresses in the multiple customers' PPVPNs.

BGP/MPLS PPVPN

In the method defined by RFC 2547, BGP extensions advertise routes in the IPv4 VPN address family, which are in the form of 12-byte strings, beginning with an 8-byte route distinguisher (RD) and ending with a 4-byte IPv4 address. RDs disambiguate otherwise duplicate addresses in the same PE.[citation needed]

PEs understand the topology of each VPN, which is interconnected with MPLS tunnels directly or via P routers. In MPLS terminology, the P routers are label switch routers without awareness of VPNs.[citation needed]

Virtual router PPVPN

The virtual router architecture,[27][28] 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.[citation needed]

Unencrypted tunnels[edit]

Some virtual networks use tunneling protocols without encryption to protect the privacy of data. While VPNs often provide security, an unencrypted overlay network does not fit within the secure or trusted categorization.[29] For example, a tunnel set up between two hosts with Generic Routing Encapsulation (GRE) is a virtual private network but is neither secure nor trusted.[30][31]

Native plaintext tunneling protocols include Layer 2 Tunneling Protocol (L2TP) when it is set up without IPsec and Point-to-Point Tunneling Protocol (PPTP) or Microsoft Point-to-Point Encryption (MPPE).[32]

Trusted delivery networks[edit]

Trusted VPNs do not use cryptographic tunneling; instead, they rely on the security of a single provider's network to protect the traffic.[33]

From a security standpoint, a VPN must either trust the underlying delivery network or enforce security with a mechanism in the VPN itself. Unless the trusted delivery network runs among physically secure sites only, both trusted and secure models need an authentication mechanism for users to gain access to the VPN.[citation needed]

VPNs in mobile environments[edit]

Mobile virtual private networks are used 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.[37] 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,[38] and in other organizations with similar requirements such as field service management and healthcare.[39][need quotation to verify]

Networking limitations[edit]

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 (VPLS) and layer 2 tunneling protocols are designed to overcome this limitation.[40]

See also[edit]

References[edit]

  1. ^ "virtual private network". NIST Computer Security Resource Center Glossary. Archived from the original on 2 January 2023. Retrieved 2 January 2023.
  2. ^ "What Is a VPN? - Virtual Private Network". Cisco. Archived from the original on 31 December 2021. Retrieved 5 September 2021.
  3. ^ Mason, Andrew G. (2002). Cisco Secure Virtual Private Network. Cisco Press. p. 7. ISBN 9781587050336.
  4. ^ "Virtual Private Networking: An Overview". TechNet. Microsoft Docs. 4 September 2001. Archived from the original on 17 June 2022. Retrieved 7 November 2021.
  5. ^ Davies, Joseph (July 2007). "IPv6 Traffic over VPN Connections". The Cable Guy. TechNet Magazine. Archived from the original on 7 November 2021. Retrieved 7 November 2021 – via Microsoft Docs.
  6. ^ RFC 3809 - Generic Requirements for Provider Provisioned Virtual Private Networks. sec. 1.1. doi:10.17487/RFC3809. RFC 3809.
  7. ^ RFC 6434, "IPv6 Node Requirements", E. Jankiewicz, J. Loughney, T. Narten (December 2011)
  8. ^ "1. Ultimate Powerful VPN Connectivity". www.softether.org. SoftEther VPN Project. Archived from the original on 8 October 2022. Retrieved 8 October 2022.
  9. ^ "OpenConnect". Archived from the original on 29 June 2022. Retrieved 8 April 2013. OpenConnect is a client for Cisco's AnyConnect SSL VPN [...] OpenConnect is not officially supported by, or associated in any way with, Cisco Systems. It just happens to interoperate with their equipment.
  10. ^ "Why TCP Over TCP Is A Bad Idea". sites.inka.de. Archived from the original on 6 March 2015. Retrieved 24 October 2018.
  11. ^ "Trademark Status & Document Retrieval". tarr.uspto.gov. Archived from the original on 21 March 2012. Retrieved 8 October 2022.
  12. ^ "ssh(1) – OpenBSD manual pages". man.openbsd.org. Archived from the original on 5 July 2022. Retrieved 4 February 2018.
  13. ^ Salter, Jim (30 March 2020). "WireGuard VPN makes it to 1.0.0—and into the next Linux kernel". Ars Technica. Archived from the original on 31 March 2020. Retrieved 30 June 2020.
  14. ^ "Diff - 99761f1eac33d14a4b1613ae4b7076f41cb2df94^! - kernel/common - Git at Google". android.googlesource.com. Archived from the original on 29 June 2022. Retrieved 30 June 2020.
  15. ^ Younglove, R. (December 2000). "Virtual private networks - how they work". Computing & Control Engineering Journal. 11 (6): 260–262. doi:10.1049/cce:20000602. ISSN 0956-3385.
    • Benjamin Dowling, and Kenneth G. Paterson (12 June 2018). "A cryptographic analysis of the WireGuard protocol". International Conference on Applied Cryptography and Network Security. ISBN 978-3-319-93386-3.
  16. ^ Fuller, Johnray; Ha, John (2002). Red Hat Linux 9: Red Hat Linux Security Guide (PDF). United States: Red Hat, Inc. pp. 48–53. Archived (PDF) from the original on 14 October 2022. Retrieved 8 September 2022.
  17. ^ Titz, Olaf (20 December 2011). "CIPE - Crypto IP Encapsulation". CIPE - Crypto IP Encapsulation. Archived from the original on 18 May 2022. Retrieved 8 September 2022.
  18. ^ Titz, Olaf (2 April 2013). "CIPE - encrypted IP in UDP tunneling". SourceForge. Archived from the original on 8 September 2022. Retrieved 8 September 2022.
  19. ^ "Configuring PFC3BXL and PFC3B Mode Multiprotocol Label Switching" (PDF). Archived (PDF) from the original on 24 November 2020. Retrieved 24 October 2020.
  20. ^ E. Rosen & Y. Rekhter (March 1999). "BGP/MPLS VPNs". Internet Engineering Task Force (IETF). RFC 2547. Archived from the original on 1 September 2022. Retrieved 8 October 2022.
  21. ^ Lewis, Mark (2006). Comparing, designing, and deploying VPNs (1st print. ed.). Indianapolis, Ind.: Cisco Press. pp. 5–6. ISBN 1587051796.
  22. ^ Ethernet Bridging (OpenVPN), archived from the original on 8 October 2022, retrieved 8 October 2022
  23. ^ Hollenbeck, Scott; Housley, Russell. "EtherIP: Tunneling Ethernet Frames in IP Datagrams". Archived from the original on 8 October 2022. Retrieved 8 October 2022.
  24. ^ Glyn M Burton: RFC 3378 EtherIP with FreeBSD Archived 23 March 2018 at the Wayback Machine, 3 February 2011
  25. ^ net-security.org news: Multi-protocol SoftEther VPN becomes open source Archived 8 October 2022 at the Wayback Machine, January 2014
  26. ^ Address Allocation for Private Internets Archived 8 October 2022 at the Wayback Machine, RFC 1918, Y. Rekhter et al., February 1996
  27. ^ RFC 2917, A Core MPLS IP VPN Architecture
  28. ^ RFC 2918, E. Chen (September 2000)
  29. ^ Yang, Yanyan (2006). "IPsec/VPN security policy correctness and assurance". Journal of High Speed Networks. 15: 275–289. CiteSeerX 10.1.1.94.8561.
  30. ^ "Overview of Provider Provisioned Virtual Private Networks (PPVPN)". Secure Thoughts. Archived from the original on 16 September 2016. Retrieved 29 August 2016.
  31. ^ RFC 1702: Generic Routing Encapsulation over IPv4 networks. October 1994.
  32. ^ IETF (1999), RFC 2661, Layer Two Tunneling Protocol "L2TP"
  33. ^ Cisco Systems, Inc. (2004). Internetworking Technologies Handbook. Networking Technology Series (4 ed.). Cisco Press. p. 233. ISBN 9781587051197. Retrieved 15 February 2013. [...] VPNs using dedicated circuits, such as Frame Relay [...] are sometimes called trusted VPNs, because customers trust that the network facilities operated by the service providers will not be compromised.
  34. ^ Layer Two Tunneling Protocol "L2TP" Archived 30 June 2022 at the Wayback Machine, RFC 2661, W. Townsley et al., August 1999
  35. ^ IP Based Virtual Private Networks Archived 9 July 2022 at the Wayback Machine, RFC 2341, A. Valencia et al., May 1998
  36. ^ Point-to-Point Tunneling Protocol (PPTP) Archived 2 July 2022 at the Wayback Machine, RFC 2637, K. Hamzeh et al., July 1999
  37. ^ Phifer, Lisa. "Mobile VPN: Closing the Gap" Archived 6 July 2020 at the Wayback Machine, SearchMobileComputing.com, 16 July 2006.
  38. ^ Willett, Andy. "Solving the Computing Challenges of Mobile Officers" Archived 12 April 2020 at the Wayback Machine, www.officer.com, May, 2006.
  39. ^ Cheng, Roger. "Lost Connections" Archived 28 March 2018 at the Wayback Machine, The Wall Street Journal, 11 December 2007.
  40. ^ Sowells, Julia (7 August 2017). "Virtual Private Network (VPN) : What VPN Is And How It Works". Hackercombat. Archived from the original on 17 June 2022. Retrieved 7 November 2021.

Further reading[edit]

Leave a Reply