WireGuard vs OpenVPN vs IKEv2: So Sánh Thực Tế
Mở hầu hết ứng dụng VPN và màn hình quyết định cách nó thực sự hoạt động thường bị chôn vùi trong phần cài đặt: bộ chọn giao thức. WireGuard vs OpenVPN vs IKEv2 không phải là lựa chọn tiếp thị.
Nó ảnh hưởng đến tốc độ đường hầm, mức tiêu hao pin, tốc độ phục hồi khi điện thoại chuyển từ Wi-Fi sang mạng di động, và lượng mã nguồn nằm giữa lưu lượng của bạn và mạng.
Đây là cái nhìn bình tĩnh, từ góc độ kỹ sư thực chiến về ba giao thức bạn sẽ thấy trong các ứng dụng VPN trên iPhone và Mac năm 2026. Không cường điệu, không bảng xếp hạng từ trang affiliate. Chỉ là từng giao thức thực sự là gì, điểm mạnh, điểm yếu, và cái nào thường là lựa chọn mặc định đúng đắn cho di động hiện đại.
Tại sao lựa chọn giao thức lại quan trọng
Giao thức VPN là tập quy tắc mà hai máy tính dùng để thiết lập đường hầm mã hóa và truyền gói tin qua đó. Giao thức quyết định cách trao đổi khóa, mật mã nào bảo vệ dữ liệu, kết nối tồn tại thế nào khi mạng thay đổi, và mỗi gói tin tốn bao nhiêu tài nguyên tính toán.
Nghe có vẻ trừu tượng cho đến khi bạn nhận thấy hậu quả thực tế. Bắt tay nặng hơn nghĩa là kết nối đầu tiên chậm hơn. Codebase lớn hơn nghĩa là bề mặt tấn công rộng hơn cho lỗi bảo mật. Giao thức không thể duy trì kết nối khi đổi mạng sẽ phá đường hầm mỗi lần bạn ra khỏi Wi-Fi quán cà phê. Giao thức chạy trong kernel sẽ tiêu tốn ít pin hơn so với giao thức chạy ở user space.
Vì vậy khi mọi người hỏi VPN nào “nhanh nhất” hay “an toàn nhất”, họ thực ra đang hỏi về giao thức mà không biết. Đây là câu trả lời thẳng thắn.
WireGuard
WireGuard là giao thức mới nhất trong ba loại và là giao thức đã thay đổi nhiều nhất cách xây dựng VPN hiện đại. Nó được thiết kế có chủ đích để nhỏ gọn.
Bản triển khai tham chiếu có khoảng 4.000 dòng mã. OpenVPN, để so sánh, có hàng chục nghìn dòng một khi tính cả các phụ thuộc OpenSSL. Số dòng mã không phải là bảo đảm bảo mật, nhưng là ước tính bề mặt kiểm toán. Một codebase nhỏ có thể được đọc từ đầu đến cuối bởi một nhóm có năng lực trong thời gian hợp lý. Một codebase đồ sộ thực tế là không thể làm điều đó.
WireGuard cũng chọn các nguyên thủy mã hóa thay vì đàm phán chúng. Chỉ có một mật mã (ChaCha20-Poly1305), một trao đổi khóa (Curve25519), một hàm băm (BLAKE2s). Không có menu bộ mật mã, không cần lo lắng về tấn công hạ cấp. Nếu giao thức cần thay đổi một nguyên thủy, số phiên bản thay đổi và các client cũ ngừng kết nối. Điều đó bất thường và là có chủ đích.
Quá trình bắt tay là stateless từ góc nhìn của server: server không cần nhớ địa chỉ mạng hiện tại của client để duy trì đường hầm. Đây là điều làm WireGuard cảm thấy nhanh khi bạn di chuyển giữa các mạng. Điện thoại chuyển từ Wi-Fi sang LTE, gửi một gói tin từ IP mới, và đường hầm tiếp tục hoạt động. Không có bước đàm phán lại.
Có một điểm chỉ trích thẳng thắn về WireGuard đáng đề cập. Theo mặc định, một peer giữ cùng IP nội bộ qua các phiên, vì server nhận dạng client theo khóa công khai thay vì theo lease theo phiên. Điều đó ổn với mạng doanh nghiệp. Đối với sản phẩm bảo mật riêng tư, nhà cung cấp phải xử lý có chủ đích: xoay vòng IP nội bộ, giới hạn thời gian tồn tại của peer, đảm bảo log không biến địa chỉ tĩnh đó thành định danh lâu dài. Giao thức cung cấp các khối xây dựng; nhà cung cấp phải sử dụng chúng đúng cách.
WireGuard chỉ dùng UDP. Đó là lựa chọn thiết kế có chủ đích và cũng là điểm yếu thực tế lớn nhất của nó. Trên mạng chặn UDP hoặc chỉ cho phép lưu lượng trên cổng TCP 443 (một số Wi-Fi khách sạn, một số mạng khách doanh nghiệp, một số môi trường kiểm duyệt), WireGuard đơn giản sẽ không kết nối được. Không có cơ chế dự phòng TCP tích hợp sẵn.
Điều đáng biết nữa là WireGuard có trong kernel Linux chính thức. Điều đó có nghĩa là trên máy chủ Linux, đường dẫn dữ liệu chạy với tốc độ kernel, không cần sao chép qua user space. Trên iOS và macOS, bản triển khai chạy trong tiến trình Network Extension được hệ thống quản lý, đây là tương đương gần nhất trên nền tảng không cho phép tiện ích mở rộng kernel của bên thứ ba. Vẫn là tiến trình user space sandboxed, nhưng framework mạng của Apple chuyển gói tin cho nó hiệu quả và chi phí thực tế nhỏ.
OpenVPN
OpenVPN là giao thức cũ nhất trong ba loại. Nó đã được triển khai và vá lỗi trong môi trường thực tế từ năm 2001, nghĩa là hầu hết các tình huống hỏng hóc bạn có thể tưởng tượng đã được gặp, báo cáo và sửa trong mạng của ai đó rồi. Đó là giá trị thực.
Nó hỗ trợ cả UDP và TCP. UDP cho hiệu suất tốt hơn trong điều kiện bình thường. TCP, thường trên cổng 443, cho phép đường hầm giả dạng lưu lượng HTTPS thông thường. Trong các mạng hạn chế, đây đôi khi là cách duy nhất để kết nối qua được. Nếu bạn đã từng kết nối từ Wi-Fi hội nghị chặn mọi thứ trừ duyệt web, bạn có thể đã đánh giá cao tính năng dự phòng TCP/443.
Mã hóa được cung cấp bởi OpenSSL. Điều này linh hoạt, được hiểu rõ, và cung cấp cho người vận hành nhiều lựa chọn mật mã. Nhưng đây cũng là bề mặt tấn công lớn hơn đáng kể so với các nguyên thủy bị khóa chặt của WireGuard. Heartbleed năm 2014 là ví dụ điển hình: một lỗ hổng trong thư viện được triển khai rộng rãi đã âm thầm ảnh hưởng đến mọi sản phẩm phụ thuộc vào nó, kể cả các triển khai OpenVPN sử dụng các bản OpenSSL bị ảnh hưởng. Bản vá luôn đến. Vấn đề là bề mặt rộng hơn những gì WireGuard phơi bày.
Câu chuyện về hiệu suất là thẳng thắn: quá trình bắt tay của OpenVPN nặng hơn (thực hiện đàm phán kiểu TLS đầy đủ), và chi phí trên mỗi gói tin cao hơn. Trên kết nối nhanh bạn sẽ đo được sự khác biệt. Trên kết nối chậm có thể bạn không nhận ra. Mức tiêu hao pin trên di động cũng cao hơn vì nhiều công việc xảy ra ở user space.
Vị trí của OpenVPN ngày nay không phải “nhanh nhất” hay “nhẹ nhất”. Đó là “tương thích nhất”. Trên mạng tích cực can thiệp vào lưu lượng VPN, OpenVPN qua TCP/443 vẫn đi qua được trong các trường hợp WireGuard không thể. Cái giá của sự tương thích đó là hiện tượng TCP-over-TCP meltdown: khi lớp TCP bên ngoài truyền lại vì lớp TCP bên trong đã truyền lại rồi, thông lượng có thể sụp đổ trên đường truyền không ổn định. Đây là lối thoát đúng, không phải đường hầm hằng ngày đúng.
IKEv2 / IPsec
IKEv2 (Internet Key Exchange phiên bản 2) là phần trao đổi khóa của đường hầm IPsec. Trên các nền tảng Apple, đây là giao thức mà hệ điều hành hiểu natively. Bạn có thể cấu hình profile IKEv2 trong Cài đặt iOS mà không cần cài bất kỳ ứng dụng bên thứ ba nào. Đó là lợi thế thực sự khi bạn không muốn phần mềm bổ sung trong vòng lặp.
Tính năng nổi bật của IKEv2 trên di động là MOBIKE — một tiện ích mở rộng nhỏ cho phép đường hầm tồn tại khi địa chỉ IP thay đổi mà không cần đàm phán lại. Khi bạn đi từ Wi-Fi sang mạng di động, MOBIKE nói với server “Tôi vẫn là tôi, chỉ là đang ở địa chỉ mới”, và phiên tiếp tục. Thời gian kết nối lại thực tế bằng không đối với người dùng.
Bên dưới, mặt phẳng dữ liệu là IPsec, được triển khai trong kernel trên các nền tảng Apple. Điều đó có nghĩa là thông lượng tốt và chi phí CPU thấp — tương đương WireGuard trong nhiều trường hợp, mặc dù hầu hết các benchmark độc lập vẫn xếp WireGuard cao hơn.
Điểm khó là độ phức tạp cấu hình. IPsec có nhiều tùy chọn (thuật toán mã hóa, xác thực, perfect forward secrecy, thời gian tồn tại IKE, khoảng cách rekey), và sự kết hợp sai có thể để lại đường hầm hoạt động nhưng yếu hơn vẻ ngoài. Giao thức thì ổn. Rủi ro cấu hình sai là có thật.
IKEv2 cũng ít được hệ sinh thái mã nguồn mở quan tâm hơn WireGuard, điều đó có nghĩa là sự đổi mới của client đã chậm lại so với WireGuard. Bản thân giao thức ổn định và trưởng thành, khó có thể gây bất ngờ theo cả hai hướng. Mặt trái: bạn thừa hưởng bất cứ thứ gì hệ điều hành cung cấp, kể cả giao diện kill switch và quy tắc on-demand, thường hạn chế hơn những gì một client chuyên dụng có thể cung cấp.
Bảng so sánh
| Thuộc tính | WireGuard | OpenVPN | IKEv2 |
|---|---|---|---|
| Tốc độ (điển hình) | Nhanh nhất | Chậm hơn | Nhanh |
| Pin trên di động | Tốt nhất | Tệ nhất | Tốt |
| Kết nối lại khi đổi mạng | Nhanh (stateless) | Chậm (đàm phán lại) | Nhanh (MOBIKE) |
| Kích thước mã / khả năng kiểm toán | ~4.000 dòng | Hàng chục nghìn dòng | Lớn (stack IPsec) |
| Linh hoạt về cổng | Chỉ UDP | UDP và TCP, mọi cổng | UDP 500/4500 |
| Thân thiện với di động | Xuất sắc | Chấp nhận được | Xuất sắc |
| Nguyên thủy mã hóa hiện đại | Hiện đại, bị khóa chặt | Có thể cấu hình, bao gồm legacy | Có thể cấu hình, có tùy chọn hiện đại |
| Hỗ trợ native iOS/macOS | Network Extension | Network Extension | Native, không cần ứng dụng |
Một vài lưu ý khi đọc bảng này thẳng thắn. “Nhanh nhất” là thật nhưng nhỏ. Trên kết nối gia đình thông thường bạn sẽ không nhận ra 50 Mbps khác biệt. Các benchmark bên thứ ba khác nhau nhiều tùy thuộc vào phần cứng, khoảng cách, và cách chạy thử nghiệm, nhưng thứ tự tương đối giữa ba giao thức đã nhất quán trong nhiều năm. “Pin tốt nhất” là thật và bạn sẽ nhận thấy khi kết nối kéo dài. “Kích thước mã” là lập luận về bề mặt kiểm toán, không phải số lượng lỗ hổng.
Kết nối lại trên điện thoại, thực tế
Chiều mà các giao thức khác nhau nhiều nhất trên điện thoại là điều xảy ra khi mạng của bạn thay đổi. Ra khỏi văn phòng, lên tàu, chuyển từ Wi-Fi captive-portal sang LTE vì trang portal không bao giờ tải được: một VPN di động dành phần lớn thời gian xử lý các chuyển đổi này.
WireGuard xử lý điều này gần như vô hình. Vì server là stateless về địa chỉ của client, điện thoại chỉ cần gửi một gói tin từ IP mới và đường hầm tiếp tục. IKEv2 với MOBIKE hoạt động tương tự theo thiết kế: cùng một security association di chuyển sang địa chỉ mới. Thời gian kết nối lại trên cả hai thực tế bằng không.
OpenVPN xử lý thay đổi mạng tệ nhất trong ba giao thức. Hành vi mặc định là phát hiện đường truyền đã thay đổi, phá đường hầm, và xây dựng lại từ đầu — một quá trình bắt tay kiểu TLS đầy đủ. Điều đó đáng chú ý trên điện thoại, thường một đến hai giây và đôi khi lâu hơn nếu lần thử đầu tiên thất bại. Các client OpenVPN hiện đại che đậy điều này bằng logic kết nối lại, nhưng bản thân giao thức vẫn chậm nhất trong việc phục hồi.
Nhận định thẳng thắn
Đối với VPN di động hiện đại, WireGuard là lựa chọn mặc định đúng. Mã hóa hiện đại và không thể thương lượng, codebase đủ nhỏ để thực sự kiểm toán, bắt tay nhanh, chi phí pin thấp, và kết nối lại giữa các mạng sạch. Đây không phải là quyết định theo xu hướng. Đây là điều mà mọi nhóm VPN di động nghiêm túc đã hội tụ về trong năm năm qua.
OpenVPN vẫn có trường hợp sử dụng thực: dự phòng TCP/443 trên các mạng hạn chế. Nếu công việc của bạn đôi khi đặt bạn trên mạng chặn mọi thứ trừ lưu lượng web, một client OpenVPN trong túi sau của bạn thực sự hữu ích. Đối với người dùng tiêu dùng hằng ngày trên điện thoại, đây là lựa chọn mặc định sai.
IKEv2 là lựa chọn hoàn toàn hợp lý nếu bạn muốn profile VPN mà không cần cài ứng dụng. Cấu hình iOS native là chắc chắn và kết nối lại sạch. Sự đánh đổi là bạn mất các tính năng mà một client thực sự cung cấp — nhật ký kết nối bạn có thể đọc, giao diện kill switch rõ ràng, bộ chọn máy chủ, chuyển đổi nhanh. Profile native rất tốt cho cấu hình doanh nghiệp always-on và hơi thiếu sức cho sử dụng cá nhân.
Giao thức không giải quyết phần còn lại của câu hỏi quyền riêng tư. Nhà cung cấp vẫn phải trung thực về chính sách không lưu log thực sự có nghĩa là gì, ứng dụng vẫn phải xử lý khóa đúng cách, và VPN không thể ngăn hệ điều hành hoặc trình duyệt của bạn rò rỉ thông tin về bạn cho các bên khác. Giao thức là một phần của câu trả lời, không phải toàn bộ câu trả lời.
Kết luận
Nếu bạn đang chọn giao thức VPN năm 2026 và ưu tiên của bạn là đường hầm iPhone hoạt động kết nối nhanh, tiết kiệm pin, và tồn tại qua chuyến tàu từ Wi-Fi sang LTE — chọn WireGuard. Nếu bạn thường xuyên cần kết nối từ các mạng gây khó dễ, hãy giữ OpenVPN như bản dự phòng. Nếu bạn muốn profile native không cần cài ứng dụng, IKEv2 là câu trả lời đúng.
Snap VPN chỉ dùng WireGuard. Chúng tôi đưa ra quyết định đó vì khi thực sự so sánh các giao thức theo các chiều quan trọng trên điện thoại (tốc độ, pin, kết nối lại, khả năng kiểm toán) không có lý do thẳng thắn nào để đưa các giao thức kia vào làm mặc định. Thêm giao thức bổ sung sẽ có nghĩa là nhiều mã hơn trong đường hầm, nhiều menu mật mã hơn, nhiều cấu hình có thể sai hơn, và mặc định chậm hơn cho người dùng sẽ không bao giờ thay đổi bộ chọn giao thức. Chúng tôi muốn làm một việc tốt.
WireGuard vs OpenVPN thực sự không phải cuộc chiến thú vị trên iPhone hiện đại. WireGuard đã thắng so sánh đó về ưu điểm kỹ thuật vài năm trước. Câu hỏi thú vị là liệu phần còn lại của sản phẩm xung quanh giao thức có được xây dựng với cùng sự kiềm chế: danh tính ẩn danh, không log lưu lượng, kill switch thực sự hoạt động, codebase client nhỏ.
Nếu bạn muốn thấy WireGuard hoạt động đúng cách trên iOS, Snap đang có trên App Store, với macOS sắp ra mắt. Không cần đăng ký email. Không log lưu lượng. Không định danh gắn với người thật. Ẩn danh theo thiết kế, trên giao thức xứng đáng là mặc định.