قطع واقعی یا تونل بدون دیتا؟
دو حالت متفاوتاند: در قطع واقعی VpnService و رابط تونل پایین میآیند؛ در حالت دوم رابط باقی میماند اما endpoint یا مسیر شبکه دیگر بستهها را منتقل نمیکند. برای تشخیص، زمان آخرین Handshake و رشد RX/TX را ببینید. سبزبودن دکمه اتصال بهتنهایی کافی نیست.
Doze و Battery Optimization
Android برای کاهش مصرف، اجرای پسزمینه، Wake Lockها، Jobها و دسترسی شبکه را مدیریت میکند. در Doze فعالیت شبکه برنامههای عادی ممکن است به پنجرههای نگهداری محدود شود. VPN باید از Foreground Service درست استفاده کند و سازنده گوشی نیز ممکن است سیاست سختگیرانهتری از Android پایه داشته باشد.
چرا Foreground Service لازم است؟
Foreground Service به سیستم اعلام میکند کار قابل مشاهده و مهمی در پسزمینه ادامه دارد. برای VPN طولانیمدت حذف این سازوکار میتواند باعث توقف سرویس شود. اعلان فنی اتصال بخشی از قرارداد سیستمعامل است؛ اعلان تبلیغاتی یا Push با آن تفاوت دارد. حتی اگر مجوز اعلان عمومی داده نشود، Android همچنان اجرای Foreground Service را در سطح سیستم مدیریت میکند.
تعویض Wi‑Fi و دیتای موبایل
وقتی شبکه عوض میشود، IP مبدأ، interface و NAT mapping تغییر میکند. UDP session قبلی ممکن است دیگر معتبر نباشد. کلاینت باید تغییر شبکه را تشخیص دهد، endpoint را دوباره resolve کند و تونل را با فاصله و محدودیت مناسب بازسازی کند. reconnectهای پشتسرهم هم باتری را مصرف میکنند و هم ممکن است اتصال سالم را خراب کنند.
تنظیمات سازندگان گوشی
نام گزینه در دستگاهها متفاوت است، ولی معمولاً باید این موارد را بررسی کنید:
- Battery usage اپ روی Unrestricted یا No restrictions باشد.
- Background data و Unrestricted data فعال بماند.
- اپ از فهرست Sleeping/Deep sleeping apps خارج شود.
- Auto-start در گوشیهایی که چنین گزینهای دارند مجاز باشد.
- Data Saver برای اپ استثنا داشته باشد.
Always-on VPN و Block connections
Always-on میتواند سرویس VPN را پس از بوت یا توقف دوباره فعال کند. گزینه Block connections without VPN شبیه Kill Switch است و در زمان اختلال، اینترنت مستقیم را میبندد. اگر سرور یا تنظیمات خراب باشد، این گزینه باعث میشود کل اینترنت قطع به نظر برسد. پیش از فعالسازی، حساب و سرور جایگزین را آماده کنید.
DNS و IPv6 پس از Resume
پس از روشنشدن صفحه، ممکن است شبکه IPv6 جدیدی اعلام یا resolver تغییر کند. اگر route و DNS تونل با شبکه جدید هماهنگ نشوند، بعضی اپها کار میکنند و بعضی نه. Dual Stack باید دسترسی واقعی را دوباره ارزیابی کند، نه اینکه نتیجه شبکه قبلی را تا همیشه نگه دارد.
روش آزمایش قابل تکرار
- اپ و سیستم را به آخرین نسخه برسانید.
- به سرور وصل شوید و IP، Handshake و RX/TX اولیه را ثبت کنید.
- صفحه را ۱۵ دقیقه خاموش کنید، سپس بدون قطع VPN یک سایت و DNS را تست کنید.
- همین آزمایش را با جابهجایی Wi‑Fi به دیتا انجام دهید.
- نتیجه را با و بدون Battery Optimization مقایسه کنید.
- اگر مشکل فقط یک سرور است، نام آن را به پشتیبانی بدهید.
رفتار مناسب یک اپ پایدار
اپ باید عبور واقعی اینترنت را از بیش از یک مقصد کنترل کند، خطاهای موقت را با چند نمونه از خرابی واقعی جدا کند، پس از تغییر شبکه تونل را با cooldown بازسازی کند و اگر بازیابی موفق نبود، اتصال ناقص را قطع کند تا گوشی روی اینترنت مرده قفل نشود.
