Is VPN a layer 3 concept? says "VPN is not a protocol".

Is VPN an application instead?

Why is VPN not a protocol?

How can I tell if something is a protocol or not?


2 Answers 2


A protocol is a set of rules for how to accomplish something, and network protocols are sets of rules for how to communicate on a network.

VPN is a concept, and a VPN uses protocols to accomplish the concept, but VPN itself is not a protocol. For example, a VPN could could use SSH (a protocol), that uses TCP (a protocol), that uses IPv4 (a protocol), etc. but the VPN concept is not a protocol.

Think about it this way, there are many kinds of VPNs and tunnels, and each uses one or more specific protocols to accomplish the VPN, but the VPNs themselves are not protocols.


As an alternative to the already excellent answer:

You can distinguish protocols from higher level concepts with the following heuristic:

  • Protocols are defined by rules
  • Higher level concepts are usually defined by purposes

Consider "file transfer". It's a purpose: getting files from host 1 to host 2, and there are a great number of programs, using a great number of protocols, to achieve this. (List at Wikipedia.)

Another question to distinguish protocols from purposes: "Where is the definition so I can start coding?" If the answer is "Such and such document", it's a protocol.

Consider "FTP", "kermit", and "rsync": all are for the purpose of getting files from A to B, but they are protocols, defined respectively by the rules in RFC 959, da Cruz's BYTE articles and subsequent book (see refs at Wikipedia), and Tridgell's PhD thesis. They are designed to cover different circumstances and deal with different problems, but what's common about them are their purposes.

Your particular question about VPNs is only trickier than file transfer because VPNs are normally used underneath end-user-applications. They are defined by their purpose: "provide the private network functionality of dedicated links in a virtual way". There is no document you can read and start coding. But if you want GRE as your protocol, you can read RFC 1701 and start programming.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.