Cải thiện trải nghiệm người dùng VPN

Trang này cung cấp hướng dẫn cho các nhà khai thác mạng để đảm bảo rằng các ứng dụng mạng riêng ảo (VPN) dành cho người tiêu dùng và doanh nghiệp mang lại trải nghiệm tốt cho người dùng cuối trong mạng của họ. Android cung cấp lớp VpnManager cho các nhà phát triển để tạo ra các giải pháp VPN, được người tiêu dùng và doanh nghiệp sử dụng để mã hóa thông tin liên lạc của họ hoặc định tuyến chúng đến các mạng khác nhau.

Chúng tôi khuyến nghị các nhà khai thác mạng tuân theo các nguyên tắc sau:

  • Hỗ trợ các gói giao thức Tải trọng bảo mật đóng gói (ESP) IPv6 (Tiêu đề tiếp theo 50) trên mạng của bạn , đảm bảo lưu lượng này có hiệu suất tương đương với các kết nối giao thức gói dữ liệu người dùng (UDP) hoặc giao thức điều khiển truyền dẫn (TCP). Các phiên ESP phải được phép gửi đến thiết bị hoặc được đặt ở thời gian chờ rất cao và được chuyển tiếp ở tốc độ đường truyền.
  • Đặt dịch địa chỉ mạng (NAT) và thời gian chờ tường lửa trạng thái tối thiểu là 600 giây cho các kết nối UDP trên cổng 4500 để đảm bảo các giải pháp VPN có thể duy trì kết nối đáng tin cậy mà không phát sinh chi phí điện năng quá cao.

Hỗ trợ các gói giao thức IPv6 ESP (Tiêu đề tiếp theo 50)

Đóng gói tải trọng bảo mật (ESP) là định dạng gói được xác định là một phần của bộ giao thức Bảo mật giao thức Internet (IPSec) để mã hóa và xác thực các gói trong giải pháp VPN. Hệ điều hành Android triển khai giao thức bảo mật tiêu chuẩn này trong giải pháp VPN tích hợp.

Trên các mạng hỗ trợ IPv6, các gói ESP được truyền trực tiếp trong các gói IPv6 với trường Tiêu đề tiếp theo là 50. Nếu mạng không hỗ trợ đúng cách các loại gói này, điều đó có thể gây ra tình trạng thiếu kết nối cho các giải pháp VPN nhằm mục đích sử dụng điều này. giao thức mà không cần đóng gói thêm các gói tin. Mạng có thể loại bỏ các gói này do cấu hình tường lửa. Hoặc các gói ESP có thể đi vào các đường dẫn chậm trên mạng, với hiệu suất thông lượng bị suy giảm nghiêm trọng so với các kết nối TCP hoặc UDP.

Lực lượng đặc nhiệm kỹ thuật Internet (IETF) khuyến nghị cho phép IPsec thông qua tường lửa được sử dụng bởi các dịch vụ truy cập internet của người tiêu dùng. Ví dụ: xem RFC 6092 phần 3.2.4 . Các gói ESP có thể được cho phép đi qua tường lửa một cách an toàn theo cả hai hướng vì nếu một thiết bị nhận được gói ESP không thuộc liên kết bảo mật hiện có thì thiết bị sẽ loại bỏ gói đó. Do đó, thiết bị không cần gửi các gói lưu giữ để duy trì kết nối VPN, giúp tiết kiệm pin. Chúng tôi khuyên các mạng nên luôn cho phép các gói ESP đến thiết bị hoặc chỉ hết thời gian chờ các phiên ESP sau một thời gian dài không hoạt động (ví dụ: 30 phút).

Chúng tôi khuyên các nhà khai thác mạng nên hỗ trợ các gói giao thức ESP (gói IPv6 có Tiêu đề tiếp theo là 50) trên mạng của họ và chuyển tiếp các gói đó trong phần cứng ở tốc độ đường truyền. Điều này đảm bảo các giải pháp VPN không gặp phải sự cố kết nối và cung cấp hiệu suất tương đương với kết nối UDP hoặc TCP.

Đặt đủ NAT và thời gian chờ tường lửa có trạng thái

Để duy trì độ tin cậy của kết nối, giải pháp VPN cần duy trì kết nối lâu dài với máy chủ VPN cung cấp kết nối đi và đến (ví dụ: để nhận thông báo đẩy đến, tin nhắn trò chuyện và cuộc gọi âm thanh/video). Hầu hết các ứng dụng IPsec VPN đều sử dụng ESP được gói gọn trong các gói IPv4 UDP với cổng đích 4500, như được mô tả trong RFC 3948 .

Để duy trì kết nối này, thiết bị cần định kỳ gửi các gói tin đến máy chủ. Các gói này phải được gửi ở tần số cao hơn NAT và thời gian chờ tường lửa do nhà điều hành mạng áp đặt. Việc lưu giữ thường xuyên tiêu tốn nhiều năng lượng ở phía máy khách và có tác động lớn đến tuổi thọ pin. Chúng cũng tạo ra lưu lượng tín hiệu đáng kể trên mạng, ngay cả khi thiết bị không hoạt động.

Chúng tôi khuyên các nhà khai thác nên tăng NAT và thời gian chờ tường lửa có trạng thái đủ cao để tránh ảnh hưởng đến pin. Thời gian chờ khuyến nghị cho việc đóng gói IPsec UDP (cổng 4500) là 600 giây trở lên.

Trong mạng di động, thời gian chờ của UDP NAT thường được giữ ở mức thấp do sự khan hiếm địa chỉ IPv4 dẫn đến hệ số tái sử dụng cổng cao. Tuy nhiên, khi VPN được thiết lập, mạng thiết bị không cần hỗ trợ các kết nối TCP tồn tại lâu dài, chẳng hạn như các kết nối được sử dụng để gửi thông báo gửi đến. Vì vậy, số lượng kết nối lâu dài mà mạng cần hỗ trợ bằng hoặc thấp hơn khi VPN đang chạy so với khi VPN không chạy.