Flippendo
๐Ÿ“š Networking Basics

VPN Protocols Explained: WireGuard vs. OpenVPN vs. IKEv2

Every VPN app has a protocol setting most people never touch. Here's what WireGuard, OpenVPN, and IKEv2 actually do differently โ€” and which one is the right default for your situation.

Guidesโ€บNetworking Basics
5 min readยท

Open the settings menu of almost any VPN app and there's a protocol picker โ€” usually WireGuard, OpenVPN, and IKEv2/IPsec, sometimes alongside a provider's own branded variant. Most people never touch it, and most of the time the default is a reasonable choice. But the protocol is what actually determines how fast your connection is, how it behaves when your phone switches from WiFi to cellular mid-download, and whether it gets through a network that's actively trying to block VPN traffic.

This guide covers what each of the three mainstream protocols actually does differently under the hood, and which one is the right default for the situation you're actually in.

The short version

WireGuard, OpenVPN, and IKEv2 compared on speed, codebase size, and their strongest use caseWireGuardOpenVPNIKEv2/IPsecSPEEDFastest โ€” lowest overheadSlower (esp. TCP)FastCODEBASESmallLarge, 20+ yrs battle-testedModerateBEST FOREveryday default โ€”streaming, gaming, general useStrict firewalls โ€” TCP/443blends in as ordinary HTTPSMobile โ€” reconnects fastswitching WiFi โ†” cellularNeither OpenVPN/443 nor IKEv2 hides a VPN handshake from real DPI โ€” see the DPI guide for what obfuscation actually requires
All three use strong, current encryption โ€” the real differences are overhead, codebase maturity, and reconnection behavior, not security strength.

WireGuard โ€” the modern default

WireGuard is the newest of the three, built from scratch rather than extending an older design, and it shows in the codebase: Linus Torvalds reviewed it for inclusion in the Linux kernel and called it "a work of art" by comparison to "the horrors that are OpenVPN and IPSec." It was merged into mainline Linux in January 2020 and shipped in kernel 5.6 that March โ€” a level of trust a VPN protocol rarely gets this fast.[1]โ€ฏ[2]

Technically, WireGuard uses a fixed, modern cryptographic suite โ€” ChaCha20 for encryption, Poly1305 for authentication, Curve25519 for key exchange โ€” and a streamlined Noise-based handshake, rather than the negotiable cipher menus older protocols support. It runs over UDP only, rekeys automatically on a timer rather than in response to packet activity, and its smaller, purpose-built codebase gives it a meaningfully smaller attack surface to audit than a general-purpose, decades-old implementation.[1]

โ„น๏ธ

A fixed cipher suite is a feature, not a limitation

Older protocols support many possible encryption algorithms partly for legacy compatibility โ€” which also means a misconfigured server can be talked down to a weaker one. WireGuard skips that entirely: there's one modern cipher suite, so there's nothing to misconfigure and no downgrade path to worry about.

OpenVPN โ€” the 20-year-old workhorse

OpenVPN has been around since 2001, and that age is its real advantage: two decades of public scrutiny, real-world deployment at massive scale, and a design that leans on OpenSSL for its cryptography rather than a bespoke implementation. It supports a wide range of ciphers up to 256-bit encryption, and โ€” unlike WireGuard โ€” it can run over either UDP or TCP.[3]

That TCP option matters for one specific reason: OpenVPN over TCP can be configured to run on port 443, the same port all ordinary HTTPS web traffic uses. On a restrictive network โ€” a corporate firewall, a school network, a hotel that blocks non-standard ports โ€” that alone is often enough to get through, because the network never sees anything on a port associated with VPN traffic in the first place. The trade-off is speed: TCP adds retransmission and flow-control overhead on top of what's already a heavier, userspace implementation than WireGuard's kernel-level design, and running one reliability layer (TCP) inside another (the VPN's own error correction) can compound under packet loss.[3]

โš ๏ธ

Port 443 gets past a firewall, not a DPI system

Using port 443 works against networks that filter by port number, since a firewall watching for known VPN ports simply never sees anything unusual. It does not work against real Deep Packet Inspection, which fingerprints the OpenVPN handshake's structure regardless of which port it's running on โ€” the port number is invisible to that kind of check. See our guide on how DPI actually works for what genuine obfuscation requires instead.[4]

IKEv2/IPsec โ€” built for switching networks

IKEv2 (Internet Key Exchange version 2), paired with IPsec for the actual data encryption, was developed jointly by Microsoft and Cisco and has native, built-in support on iOS and Windows rather than needing a separate app to implement it. Its standout feature is an extension called MOBIKE, which lets an active VPN session survive a change in network address โ€” the exact thing that happens every time a phone moves from WiFi to cellular data โ€” without tearing down and rebuilding the whole encrypted tunnel from scratch.[5]

Windows has shipped a related feature, VPN Reconnect, since Windows 7, built specifically on this same IKEv2/MOBIKE capability to resume a dropped connection without full renegotiation. In practice, this is why IKEv2 tends to be the protocol that "just works" best on a phone moving between rooms, buildings, or out of WiFi range entirely โ€” the reconnection is fast enough that most users never notice it happened.[5]

Provider-specific variants: usually WireGuard underneath

Some providers ship their own branded protocol rather than exposing WireGuard or OpenVPN by name. ExpressVPN's Lightway is one example: a protocol built on the wolfSSL cryptography library, independently audited by Cure53 and Praetorian, and designed from scratch with a deliberately minimal codebase โ€” the same "less code to audit, smaller attack surface" logic behind WireGuard's design, just from a different vendor. Others build their branded protocol as a wrapper around WireGuard itself, typically to solve WireGuard's one structural gap: it has no built-in mechanism for a server to assign rotating internal IP addresses to clients, which vanilla WireGuard implementations often work around with a static local address per user. A well-implemented wrapper protocol solves that using rotating internal IP assignment, so the small privacy gap doesn't require a trade-off against WireGuard's speed advantage.[6]

Which one should you actually pick

  • Default choice for streaming and gaming: WireGuard โ€” lowest overhead, matters most for 4K streaming bitrates and latency-sensitive traffic
  • Strict firewall (school, office, some hotels): OpenVPN over TCP, port 443 โ€” gets through port-based filtering, though not real DPI
  • Actively censored network with DPI (China, Iran, similar): neither of the above โ€” you need genuine obfuscation, covered in our DPI guide
  • Mobile, frequently switching between WiFi and cellular: IKEv2/IPsec โ€” MOBIKE keeps the tunnel alive through the handoff
  • Not sure / just want a sane default: WireGuard, unless your provider's own guidance says otherwise for a specific case above

All three protocols in mainstream, up-to-date VPN apps use strong, current encryption โ€” none of them is "insecure" in any way that should drive your choice. The real differences are overhead, reconnection behavior, and how the traffic looks to whatever network sits between you and the VPN server, which is exactly why the right pick depends on your specific network and use case rather than there being one universally "best" protocol.

See which VPNs implement these protocols well

Our rankings check actual measured overhead and protocol availability per platform, not just which acronyms appear on a features page.

Compare VPNs โ†’

Common questions

Is WireGuard less secure than OpenVPN because it's newer?
No โ€” age isn't what determines security here. WireGuard uses a fixed, modern cryptographic suite (ChaCha20, Curve25519) and has been reviewed carefully enough to be merged directly into the Linux kernel. OpenVPN's advantage is a longer public track record, not stronger cryptography.
Does running OpenVPN over port 443 make it undetectable?
It gets past firewalls that filter by port number, since the traffic arrives on the same port ordinary HTTPS uses. It does not get past real Deep Packet Inspection, which identifies the OpenVPN handshake's structure regardless of port โ€” that requires genuine protocol obfuscation, not just a port change.
Which protocol is best for gaming?
WireGuard, in almost all cases โ€” its lower overhead translates directly into less added latency, which is what actually matters for gaming. See our guide on VPNs and gaming ping for how much overhead to expect from a VPN in general.
Why does my VPN switch protocols automatically sometimes?
Some apps auto-select a protocol based on network conditions โ€” falling back from WireGuard to OpenVPN TCP if UDP traffic is being blocked, for example. This is usually a deliberate reliability feature, not a bug, though most apps let you pin a specific protocol manually if you want consistent behavior.

Sources

  1. [1]WireGuard โ€” Protocol & Cryptographyยท verified 2026-08-05
  2. [2]Wikipedia โ€” WireGuardยท verified 2026-08-05
  3. [3]Wikipedia โ€” OpenVPNยท verified 2026-08-05
  4. [4]Cloudflare Learning Center โ€” What is deep packet inspection?ยท verified 2026-08-05
  5. [5]Wikipedia โ€” Internet Key Exchange (IKEv2, MOBIKE)ยท verified 2026-08-05
  6. [6]ExpressVPN โ€” Lightway protocolยท verified 2026-08-05

Related guides