Nega routeringizning Wi-Fi bahosi VPN o'tkazuvchanligini bashorat qilmaydi
E'lon qilingan Wi-Fi tezligi va o'lchangan VPN tezligi turli qatlamlarni tavsiflaydi. Tezroq router sotib olishdan oldin bu tartibli tekshiruvdan o'ting.
3,000 Mbps Wi-Fi belgisi bo'lgan router ham shifrlangan trafikni bu raqamning faqat kichik bir qismi tezligida ko'chirishi mumkin, va ikkala raqam ham yolg'on emas. Radio bahosi chipset qo'llab-quvvatlaydigan simsiz aloqaning eng yaxshi modulyatsiyasini tavsiflaydi; VPN raqami esa bitta qurilma shifrlangan paketlarni router protsessori orqali va sizning kirish liniyangizdan tashqariga qanchalik tez itarib chiqarishini tavsiflaydi. Bular turli qatlamlar, turli paket o'lchamlari va turli o'lchash usullari. Qutidagi raqamni hech kim yeta olmaydigan yuqori chegara deb biling, tunnelingiz tezligining bashorati deb emas.
1-qadam: raqamni cheklovchi to'rt qatlamni xaritalang
Men ishlagan sekin router shikoyatlarining deyarli barchasi to'rt darajadan biriga tushadi: simsiz aloqa, WAN kirish tezligi, uzatish yo'li (NAT, xavfsizlik devori, ulanishlarni kuzatish) yoki VPN shifrlash yo'li. Ular bir-birining ustiga qatlamlanadi va eng sekin daraja natijani belgilaydi. E'lon qilingan Wi-Fi tezligi faqat birinchi daraja haqida gapiradi va bu haqda saxiylik bilan gapiradi.
Bu raqam oqimlar soni kanal kengligiga va chipset kelisha oladigan eng yuqori modulyatsiyaga ko'paytirilishidan kelib chiqadi. 5 GHz da 80 MHz da 1024-QAM bilan 2x2 radio 1,200 Mbps ga yaqin e'lon qilinadi, lekin Wi-Fi umumiy, yarim dupleks muhit: mijozlar navbat bilan ishlaydi, qayta yuborishlar va boshqaruv trafigi havo vaqtini yoqib yuboradi, TCP esa o'z qo'shimcha yukini qo'shadi. Ideal sharoitda eng yuqori tezlikni kelishgan mijoz odatda uning yarmidan ancha past o'lchaydi, qo'shni tarmoqlar paydo bo'lganda esa undan ham past.
| 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 |
Agar jadval radioni ko'rsatsa, avval simsiz tomonni tuzating: diapazon, kanal kengligi, masofa. Agar u radiodan pastni ko'rsatsa, keyingi to'rt qadam muhim, va qancha antenna sotib olinsa ham bu o'zgarmaydi.
2-qadam: radioga tegishdan oldin simli asosiy chiziqni oling
Noutbukni Ethernet ga ulang va avval tunnelsiz yo'lni o'lchang, chunki bu sizga bo'luvchi beradi. O'tkazuvchanlik vositasini qarama-qarshi tomonda, VPN ni tugatuvchi VPS yoki uy serverida ishga tushiring va mijozni uning ommaviy manziliga yo'naltiring, shunda trafik routeringiz va kirish liniyangizdan o'tadi.
# 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
O'sha blokdagi ikki raqam ikki xil savolga javob beradi. Bitta oqim har bir ulanish uchun chegarani ko'rsatadi, unga TCP oynasining xatti-harakati va yo'lda har bir oqim bo'yicha shakllantirish kiradi. To'rt oqim havolada siz ishlatmayotgan quvvat bor-yo'qligini ko'rsatadi, chunki parallel oqimlar bitta oqim to'ldira olmaydigan quvurni to'ldira oladi.
Buni halol tuting: o'sha host, kunning vaqti va davomiyligi, uyda boshqa hech narsa oqimlanmaydi. O'ttiz soniyalik ommaviy uzatish bu yerda to'g'ri birlik, va RFC 6349, TCP o'tkazuvchanligini sinash doirasi, aynan shu mulohazaga asoslangan, chunki qisqa portlashlar va kichik so'rovlar havolani yaxshiroq ko'rsatadi. Biror narsani o'zgartirishdan oldin asosiy chiziqni yozib qo'ying.
3-qadam: o'sha testni tunnel orqali ishga tushiring
Endi uni oxirgi nuqtaning tunnel manziliga qarshi takrorlang, o'sha mijoz, davomiylik va oqimlar soni bilan, tunnel ochiq va boshqa trafik yo'q. Ikki natija o'rtasidagi nisbat o'sha apparatda shifrlash va inkapsulyatsiya qancha turishini aytadi; mutlaq raqam ish uchun yetarlimi yoki yo'qligini aytadi.
Uzatish davomida hisoblagichlarni kuzating. WireGuard da wg show har bir hamkor uchun uzatilgan baytlarni xabar qiladi; OpenVPN da oraliqda yoziladigan holat fayli sizga xuddi shu ko'rinishni beradi.
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
Agar tunnel raqami simli asosiy chiziqqa yaqin bo'lsa, VPN sizning to'siqingiz emas va uni ayblashni to'xtatishingiz mumkin. Agar u asosiy chiziqning bir qismi bo'lsa, yo'qotish routerning shifrlash va uzatish yo'li ichida sodir bo'lgan, va keyingi qadam qaysi qismda ekanini aytadi.
Bitta ogohlantirish: chiqish IP o'zgarishi bilan ba'zi tezlik sinovi xizmatlari jimgina boshqa o'lchash serverini tanlaydi, shuning uchun oxirida ikki xil manzilni solishtirasiz. Server manzilini o'zingiz qotirib qo'ying.
4-qadam: protsessorni o'rtacha emas, yo'l sifatida o'qing
Umumiy protsessorning 30 foizini ko'rsatadigan router ham to'yingan bo'lishi mumkin: bitta tunnelning ishi odatda bitta yadroga, bitta uzilish navbatiga yoki bitta yadro oqimiga tushadi, shuning uchun o'rtacha chegarani yashiradi. Panel o'lchagichi o'rniga yadro bo'yicha va softirq raqamlarini ko'ring.
mpstat -P ALL 1
top -H -p $(pgrep -f 'openvpn')
grep -o -m1 aes /proc/cpuinfo
Bu chiqishda uchta narsa muhim. Bitta yadroning 100 foizga yaqin qotib turishi, qolganlari bo'sh bo'lsa, har bir ulanish uchun chegarani ko'rsatadi. Og'ir %soft yoki bitta protsessorda band ksoftirqd navbatlarga tarqalmaydigan qabul tomonidagi paket ishlovini ko'rsatadi. Va aes belgisi yo'qligi protsessorda AES ko'rsatmalari yo'qligini bildiradi, shuning uchun simmetrik shifrlash dasturiy ta'minotda ishlaydi va har bir paket uchun ancha qimmatga tushadi.
Amalga oshirish ham muhim. An'anaviy foydalanuvchi fazosidagi OpenVPN nusxasi bitta tunnel paketlarini asosan bir joyda qayta ishlaydi, shuning uchun tez ko'p yadroli quti o'sha tunnel uchun bir yadroli kabi tutishi mumkin. Yadrodagi WireGuard ishni protsessorlarga taqsimlaydi, va OpenVPN ning ma'lumot kanali offload ham paket ishlovini yadroga ko'chiradi, lekin faqat buni qo'llab-quvvatlaydigan buildlar va platformalarda. Marketing sahifasidagi apparat tezlatish haqidagi da'vo siz ishga tushirayotgan kod yo'li undan foydalanishining isboti emas.
5-qadam: nima o'zgartirishni aynan shu tartibda hal qiling
Bu ro'yxatdan pastga yuring va to'g'ri birinchi satrda to'xtang, chunki uning ostidagi biror narsani o'zgartirish raqamni qimirlatmaydi.
1. Simli to'g'ridan-to'g'ri o'tkazuvchanlik siz to'layotganingizdan past: provayder bilan gaplashing, chunki tunnel kirish liniyasi bermagan quvvatni yaratmaydi. 2. Simli to'g'ridan-to'g'ri yaxshi, lekin tunnel sinovi paytida bitta yadro qotib qoladi: routerning shifrlash yo'li chegara. 3. Protsessor bo'sh, lekin tunnel sekin: MTU va fragmentatsiyani, so'ng uzoq oxirgi nuqtaning o'z quvvatini tekshiring. 4. Faqat Wi-Fi mijozlar sekin: diapazon yoki kanal kengligini o'zgartiring, va e'lon qilingan tezlik hech qachon VPN raqami bo'lmaganini tan oling.
Router chindan ham chegara bo'lsa, halol variantlar AES ko'rsatmalari va tezroq uzatish yo'li bo'lgan qurilma, foydalanuvchi fazosi o'rniga WireGuard kabi yadro tomonidagi tunnel, yoki router shifrlashni to'xtatishi uchun mijozni qurilmaning o'ziga ko'chirishdir. Benchmark yutish uchun autentifikatsiyalangan shifrlashni o'chirish ulardan biri emas; u xavfsizlik xususiyatini hali ham qutiga to'g'ri kelmaydigan raqamga almashtiradi.
Biror narsa sotib olishdan oldin yangi qurilmada o'sha server va davomiylik bilan 2 va 3-qadamlarni qayta ishga tushiring, so'ng cho'qqilarni emas, nisbatlarni solishtiring.