تجربه کاربر VPN را بهبود بخشید

این صفحه دستورالعمل‌هایی را برای اپراتورهای شبکه ارائه می‌دهد تا اطمینان حاصل شود که برنامه‌های شبکه خصوصی مجازی (VPN) برای مصرف‌کنندگان و شرکت‌ها، تجربه خوبی را برای کاربر نهایی در شبکه‌هایشان فراهم می‌کنند. اندروید کلاس VpnManager را برای توسعه‌دهندگان فراهم می‌کند تا راه‌حل‌های VPN ایجاد کنند که توسط مصرف‌کنندگان و شرکت‌ها برای رمزگذاری ارتباطات یا مسیریابی آنها به شبکه‌های مختلف استفاده می‌شود.

توصیه می‌کنیم اپراتورهای شبکه این دستورالعمل‌ها را دنبال کنند:

  • از بسته‌های پروتکل IPv6 Encapsulating Security Payload (ESP) (Next Header 50) در شبکه خود پشتیبانی کنید و اطمینان حاصل کنید که این ترافیک عملکردی قابل مقایسه با اتصالات پروتکل داده کاربر (UDP) یا پروتکل کنترل انتقال (TCP) دارد. جلسات ESP باید به دستگاه‌ها اجازه ورود داشته باشند، یا روی زمان‌های وقفه بسیار بالا تنظیم شوند و با نرخ خط ارسال شوند.
  • برای اطمینان از اینکه راهکارهای VPN می‌توانند اتصال قابل اعتمادی را بدون متحمل شدن هزینه‌های اضافی برق حفظ کنند، حداقل ۶۰۰ ثانیه برای زمان‌های وقفه ترجمه آدرس شبکه (NAT) و فایروال وضعیت‌محور برای اتصالات UDP روی پورت ۴۵۰۰ تنظیم کنید .

پشتیبانی از بسته‌های پروتکل ESP IPv6 (سربرگ بعدی ۵۰)

Encapsulating Security Payload (ESP) فرمت بسته‌ای است که به عنوان بخشی از مجموعه پروتکل‌های Internet Protocol Security (IPSec) برای رمزگذاری و احراز هویت بسته‌ها در یک راهکار VPN تعریف شده است. سیستم عامل اندروید این پروتکل امنیتی استاندارد را در راهکار VPN داخلی خود پیاده‌سازی می‌کند.

در شبکه‌هایی که از IPv6 پشتیبانی می‌کنند، بسته‌های ESP مستقیماً در بسته‌های IPv6 با فیلد Next Header برابر با ۵۰ حمل می‌شوند. اگر شبکه‌ای به درستی از این نوع بسته‌ها پشتیبانی نکند، می‌تواند باعث عدم اتصال برای راه‌حل‌های VPN شود که هدفشان استفاده از این پروتکل بدون کپسوله‌سازی بیشتر بسته‌ها است. شبکه ممکن است به دلیل پیکربندی فایروال، این بسته‌ها را از دست بدهد. یا بسته‌های ESP ممکن است به مسیرهای کند در شبکه برخورد کنند و عملکرد گذردهی آنها در مقایسه با اتصالات TCP یا UDP به شدت کاهش یابد.

گروه ویژه مهندسی اینترنت (IETF) توصیه می‌کند که IPsec از طریق فایروال‌های مورد استفاده توسط سرویس‌های دسترسی به اینترنت مصرف‌کننده مجاز باشد. برای مثال، به بخش 3.2.4 از RFC 6092 مراجعه کنید. بسته‌های ESP را می‌توان با خیال راحت از طریق فایروال‌ها در هر دو جهت مجاز دانست، زیرا اگر دستگاهی بسته ESP را دریافت کند که بخشی از یک انجمن امنیتی موجود نباشد، دستگاه بسته را رها می‌کند. در نتیجه، دستگاه نیازی به ارسال بسته‌های keepalive برای حفظ اتصال VPN ندارد، که باعث صرفه‌جویی در عمر باتری می‌شود. ما توصیه می‌کنیم که شبکه‌ها یا همیشه به بسته‌های ESP اجازه دسترسی به دستگاه‌ها را بدهند، یا فقط پس از مدت زمان طولانی عدم فعالیت (به عنوان مثال، 30 دقیقه) به جلسات ESP مهلت زمانی بدهند.

ما به اپراتورهای شبکه توصیه می‌کنیم از بسته‌های پروتکل ESP (بسته‌های IPv6 با سرآیند بعدی ۵۰) در شبکه‌های خود پشتیبانی کنند و آن بسته‌ها را در سخت‌افزار با نرخ خط ارسال کنند. این تضمین می‌کند که راه‌حل‌های VPN با مشکلات اتصال مواجه نمی‌شوند و عملکردی قابل مقایسه با اتصالات UDP یا TCP ارائه می‌دهند.

تنظیم زمان‌های وقفه کافی برای NAT و فایروال stateful

برای حفظ قابلیت اطمینان اتصال، یک راهکار VPN نیاز به حفظ یک اتصال طولانی مدت با سرور VPN دارد که اتصال خروجی و ورودی را فراهم می‌کند (به عنوان مثال، برای دریافت اعلان‌های ورودی، پیام‌های چت و تماس‌های صوتی یا تصویری). اکثر برنامه‌های IPsec VPN از ESP محصور شده در بسته‌های IPv4 UDP با پورت مقصد ۴۵۰۰ استفاده می‌کنند، همانطور که در RFC 3948 توضیح داده شده است.

برای حفظ این اتصال، دستگاه باید به صورت دوره‌ای بسته‌هایی را به سرور ارسال کند. این بسته‌ها باید با فرکانسی بالاتر از زمان‌های وقفه NAT و فایروال که توسط اپراتور شبکه اعمال می‌شود، ارسال شوند. ارسال مکرر بسته‌های اطلاعاتی در سمت کلاینت، مصرف برق بالایی دارد و تأثیر زیادی بر عمر باتری دارد. آنها همچنین ترافیک سیگنالینگ قابل توجهی را در شبکه ایجاد می‌کنند، حتی اگر دستگاه در حالت غیرفعال باشد.

ما توصیه می‌کنیم که اپراتورها زمان وقفه‌های NAT و فایروال stateful را به اندازه کافی بالا ببرند تا از تأثیر باتری جلوگیری شود. زمان وقفه توصیه شده برای کپسوله‌سازی IPsec UDP (پورت ۴۵۰۰) ۶۰۰ ثانیه یا بیشتر است.

در شبکه‌های تلفن همراه، زمان‌های وقفه UDP NAT اغلب پایین نگه داشته می‌شوند زیرا کمبود آدرس IPv4 عوامل استفاده مجدد از پورت بالایی را تحمیل می‌کند. با این حال، هنگامی که یک VPN برقرار می‌شود، شبکه دستگاه نیازی به پشتیبانی از اتصالات TCP با عمر طولانی، مانند آنهایی که برای ارائه اعلان‌های ورودی استفاده می‌شوند، ندارد. بنابراین تعداد اتصالات با عمر طولانی که شبکه باید پشتیبانی کند، در هنگام اجرای VPN در مقایسه با زمانی که VPN اجرا نمی‌شود، یکسان یا کمتر است.