چرا امتیاز Wi-Fi روتر شما توان عبوری VPN را پیشبینی نمیکند
نرخ Wi-Fi تبلیغشده و نرخ VPN اندازهگیریشده دو لایه متفاوت را توصیف میکنند. پیش از خرید روتر سریعتر این بررسی منظم را انجام دهید.
روتری با نشان Wi-Fi برابر 3,000 Mbps باز هم میتواند ترافیک رمزنگاریشده را با کسری از این عدد جابهجا کند، و هیچیک از این دو عدد نادرست نیست. امتیاز رادیویی بهترین مدولاسیون ممکن پیوند بیسیمی را توصیف میکند که چیپست پشتیبانی میکند؛ عدد VPN توصیف میکند که یک دستگاه چقدر سریع میتواند بستههای رمزنگاریشده را از پردازنده روتر و از مدار دسترسی شما بیرون بفرستد. اینها لایههای متفاوت، اندازه بستههای متفاوت و روشهای اندازهگیری متفاوتاند. عدد روی جعبه را سقفی بدانید که هیچکس به آن نمیرسد، نه پیشبینی سرعت تونل شما.
گام 1: چهار لایهای را ترسیم کنید که عدد را محدود میکنند
تقریباً هر شکایت درباره روتر کند که روی آن کار کردهام در یکی از چهار سطح میافتد: پیوند بیسیم، نرخ دسترسی WAN، مسیر ارسال (NAT، فایروال، ردیابی اتصال) یا مسیر رمزنگاری VPN. اینها روی هم انباشته میشوند و کندترین سطح نتیجه را تعیین میکند. نرخ Wi-Fi تبلیغشده فقط درباره سطح اول حرف میزند، و دستودلبازانه حرف میزند.
این عدد از تعداد جریانها ضربدر پهنای کانال ضربدر بالاترین مدولاسیونی میآید که چیپست میتواند بر سر آن توافق کند. رادیوی 2x2 روی 5 GHz با 80 MHz و 1024-QAM نزدیک 1,200 Mbps تبلیغ میشود، اما Wi-Fi رسانهای مشترک و نیمهدوطرفه است: کلاینتها نوبت میگیرند، ارسالهای دوباره و ترافیک مدیریت زمان هوا را میسوزانند، و TCP سربار خودش را اضافه میکند. کلاینتی که در شرایط ایدهآل بالاترین نرخ را توافق میکند معمولاً خیلی کمتر از نصف آن را اندازه میگیرد، و با ظاهر شدن شبکههای همسایه کمتر هم میشود.
| Symptom | Tier to suspect first |
|---|---|
| Wired clients are slow too | WAN access or forwarding path |
| Only Wi-Fi clients are slow | Radio, airtime, or channel width |
| One stream is slow, four parallel streams add up | Per-connection CPU path, not the link |
| Every stream is slow and one core sits at 100% | Crypto path |
| Fast to LAN hosts, slow to the internet | WAN, not the tunnel |
اگر جدول به رادیو اشاره میکند، اول سمت بیسیم را درست کنید: باند، پهنای کانال، فاصله. اگر به زیر رادیو اشاره میکند، چهار گام بعدی مهماند و هیچ مقدار خرید آنتن آن را تغییر نمیدهد.
گام 2: پیش از دست زدن به رادیو یک خط پایه سیمی بگیرید
لپتاپ را روی Ethernet بگذارید و اول مسیر را بدون تونل اندازه بگیرید، چون این به شما مخرج میدهد. ابزار توان عبوری را در سمت دور، روی VPS یا سرور خانگی که VPN را پایان میدهد اجرا کنید، و کلاینت را به نشانی عمومی آن نشانه بگیرید تا ترافیک از روتر و مدار دسترسی شما عبور کند.
# on the far host (VPN endpoint)
iperf3 -s
# wired client, direct to the endpoint's public address
iperf3 -c 203.0.113.10 -t 30
# same client, four parallel streams
iperf3 -c 203.0.113.10 -t 30 -P 4
دو عدد از این بلوک به دو پرسش متفاوت پاسخ میدهند. یک جریان سقف هر اتصال را نشان میدهد که شامل رفتار پنجره TCP و هر شکلدهی هر جریان در مسیر است. چهار جریان نشان میدهد آیا پیوند ظرفیتی دارد که از آن استفاده نمیکنید، چون جریانهای موازی میتوانند لولهای را پر کنند که یک جریان پر نمیکند.
آن را صادقانه نگه دارید: همان میزبان، ساعت روز و مدت، بدون چیز دیگری که در خانه پخش شود. انتقال انبوه سیثانیهای واحد درست اینجاست، و RFC 6349، چارچوب آزمون توان عبوری TCP، دقیقاً بر همین استدلال بنا شده، چون انفجارهای کوتاه و درخواستهای کوچک پیوند را چاپلوس میکنند. پیش از تغییر هر چیزی خط پایه را بنویسید.
گام 3: همان آزمون را از داخل تونل اجرا کنید
اکنون آن را علیه نشانی تونل نقطه پایانی تکرار کنید، با همان کلاینت، مدت و تعداد جریان، در حالی که تونل بالا و ترافیک دیگری نیست. نسبت میان دو نتیجه به شما میگوید رمزنگاری و کپسولهسازی روی آن سختافزار چقدر هزینه دارد؛ عدد مطلق میگوید آیا برای کار کافی است.
هنگام اجرای انتقال شمارندهها را بپایید. در WireGuard، wg show بایتهای منتقلشده به ازای هر همتا را گزارش میکند؛ در OpenVPN، پرونده وضعیتی که با فاصله زمانی نوشته میشود همان نما را به شما میدهد.
watch -n 1 'wg show wg0 transfer'
# OpenVPN: add --status /run/openvpn/server.status 10 to the server config
tail -f /run/openvpn/server.status
اگر عدد تونل نزدیک خط پایه سیمی باشد، VPN گلوگاه شما نیست و میتوانید سرزنشش را کنار بگذارید. اگر کسری از خط پایه باشد، افت درون مسیر رمزنگاری و ارسال روتر رخ داده است، و گام بعدی میگوید کدام بخش.
یک هشدار: وقتی IP خروجی تغییر میکند، برخی سرویسهای آزمون سرعت بیصدا سرور اندازهگیری دیگری انتخاب میکنند، بنابراین در نهایت دو مقصد را مقایسه میکنید. نشانی سرور را خودتان ثابت کنید.
گام 4: پردازنده را چون مسیر بخوانید، نه چون میانگین
روتری که 30 درصد کل پردازنده را نشان میدهد باز هم میتواند اشباع باشد: کار یک تونل معمولاً روی یک هسته، یک صف وقفه یا یک رشته هسته میافتد، پس میانگین سقف را پنهان میکند. به جای گیج داشبورد، اعداد هر هسته و softirq را ببینید.
mpstat -P ALL 1
top -H -p $(pgrep -f 'openvpn')
grep -o -m1 aes /proc/cpuinfo
سه چیز در آن خروجی مهم است. یک هسته که نزدیک 100 درصد میخکوب شده در حالی که بقیه بیکارند به محدودیت هر اتصال اشاره میکند. %soft سنگین یا ksoftirqd مشغول روی یک پردازنده به پردازش بسته در سمت دریافت اشاره میکند که میان صفها پخش نمیشود. و نبودن نشان aes یعنی پردازنده دستورهای AES ندارد، پس رمزنگاری متقارن در نرمافزار اجرا میشود و برای هر بسته بسیار بیشتر هزینه دارد.
پیادهسازی هم مهم است. نمونه سنتی OpenVPN در فضای کاربر بستههای یک تونل را عمدتاً در یک جا پردازش میکند، پس یک جعبه سریع چندهستهای میتواند برای آن تونل مانند یک جعبه تکهستهای رفتار کند. WireGuard در هسته کار را میان پردازندهها پخش میکند، و تخلیه کانال داده OpenVPN هم پردازش بسته را به هسته منتقل میکند، اما فقط در بیلدها و پلتفرمهایی که آن را پشتیبانی میکنند. ادعای شتاب سختافزاری در صفحه بازاریابی اثبات آن نیست که مسیر کدی که اجرا میکنید از آن استفاده میکند.
گام 5: تصمیم بگیرید چه چیزی را تغییر دهید، با همین ترتیب
این فهرست را پایین بروید و در نخستین خطی که درست است بایستید، چون تغییر هر چیزی در زیر آن عدد را جابهجا نمیکند.
1. توان عبوری مستقیم سیمی کمتر از چیزی است که برایش پول میدهید: با ارائهدهنده صحبت کنید، چون تونل نمیتواند ظرفیتی بسازد که مدار دسترسی آن را تحویل نمیدهد. 2. مستقیم سیمی خوب است اما یک هسته در آزمون تونل میخکوب میشود: مسیر رمزنگاری روتر حد است. 3. پردازنده بیکار است اما تونل کند است: MTU و قطعهقطعهشدن را بررسی کنید، سپس ظرفیت خود نقطه پایانی دور. 4. فقط کلاینتهای Wi-Fi کندند: باند یا پهنای کانال را تغییر دهید، و بپذیرید که نرخ تبلیغشده هرگز عدد VPN نبوده است.
وقتی روتر واقعاً حد است، گزینههای صادقانه دستگاهی با دستورهای AES و مسیر ارسال سریعتر است، یا تونلی در سمت هسته مانند WireGuard به جای تونل فضای کاربر، یا بردن کلاینت روی خود دستگاه تا روتر رمزنگاری را کنار بگذارد. خاموش کردن رمزنگاری احرازشده برای بردن یک بنچمارک یکی از اینها نیست؛ ویژگی امنیتی را با عددی معاوضه میکند که باز هم با جعبه نمیخواند.
پیش از خرید هر چیزی، گامهای 2 و 3 را روی دستگاه جدید با همان سرور و مدت دوباره اجرا کنید، سپس نسبتها را مقایسه کنید نه قلهها.