De ce evaluarea Wi-Fi a routerului nu prezice debitul VPN
O viteză Wi-Fi anunțată și o viteză VPN măsurată descriu straturi diferite. Parcurgeți această verificare ordonată înainte de a cumpăra un router mai rapid.
Un router cu insignă Wi-Fi de 3,000 Mbps poate totuși muta trafic criptat la o fracțiune din acel număr, și niciunul dintre cele două numere nu este necinstit. Evaluarea radio descrie cea mai bună modulare posibilă a legăturii fără fir pe care o suportă chipsetul; cifra VPN descrie cât de repede un singur dispozitiv poate împinge pachete criptate prin procesorul routerului și în afara circuitului dumneavoastră de acces. Sunt straturi diferite, dimensiuni de pachet diferite și metode de măsurare diferite. Tratați numărul de pe cutie ca un plafon pe care nimeni nu îl atinge, nu ca o prognoză a vitezei tunelului.
Pasul 1: Cartografiați cele patru straturi care limitează cifra
Aproape fiecare reclamație despre un router lent cu care am lucrat ajunge într-unul din patru niveluri: legătura fără fir, rata de acces WAN, calea de redirecționare (NAT, firewall, urmărirea conexiunilor) sau calea criptografică a VPN. Ele se suprapun, iar nivelul cel mai lent stabilește rezultatul. O viteză Wi-Fi anunțată vorbește doar despre primul nivel, și vorbește despre el cu generozitate.
Acea cifră provine din fluxuri înmulțite cu lățimea canalului și cu cea mai înaltă modulare pe care chipsetul o poate negocia. Un radio 2x2 la 5 GHz cu 80 MHz și 1024-QAM este anunțat aproape de 1,200 Mbps, dar Wi-Fi este un mediu partajat și semi-duplex: clienții alternează, retransmisiile și traficul de administrare consumă timp de antenă, iar TCP adaugă propriul supliment. Un client care negociază viteza maximă în condiții ideale măsoară de obicei mult sub jumătate, și mai puțin când apar rețele vecine.
| 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 |
Dacă tabelul indică radioul, reparați mai întâi partea fără fir: banda, lățimea canalului, distanța. Dacă indică sub radio, următoarele patru pași contează, și nicio achiziție de antene nu va schimba asta.
Pasul 2: Luați o linie de bază prin cablu înainte de a atinge radioul
Puneți laptopul pe Ethernet și măsurați mai întâi calea fără tunel, pentru că asta vă dă un numitor. Rulați instrumentul de debit în partea cealaltă, pe VPS-ul sau serverul de acasă care termină VPN-ul, și îndreptați clientul spre adresa lui publică, ca traficul să treacă prin router și prin circuitul de acces.
# 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
Două cifre din acel bloc răspund la întrebări diferite. Un singur flux arată plafonul pe conexiune, care include comportamentul ferestrei TCP și orice modelare pe flux în cale. Patru fluxuri arată dacă legătura are capacitate pe care nu o folosiți, pentru că fluxurile paralele pot umple o conductă pe care un singur flux nu o umple.
Țineți-o cinstit: același host, ora din zi și durata, fără nimic altceva care să transmită în casă. Un transfer masiv de treizeci de secunde este unitatea potrivită aici, iar RFC 6349, cadrul pentru testarea debitului TCP, se bazează exact pe acest raționament, pentru că rafalele scurte și cererile mici măgulesc o legătură. Notați linia de bază înainte de a schimba ceva.
Pasul 3: Rulați același test prin tunel
Acum repetați-l către adresa de tunel a punctului final, cu același client, durată și număr de fluxuri, cu tunelul pornit și fără alt trafic. Raportul dintre cele două rezultate vă spune cât costă criptarea și încapsularea pe acel hardware; cifra absolută vă spune dacă este suficientă pentru lucru.
Urmăriți contoarele în timpul transferului. În WireGuard, wg show raportează octeții transferați pe partener; în OpenVPN, un fișier de stare scris la intervale vă dă aceeași imagine.
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
Dacă cifra tunelului este aproape de linia de bază prin cablu, VPN-ul nu este gâtul de sticlă și puteți înceta să îl învinuiți. Dacă este doar o fracțiune din bază, pierderea a apărut în interiorul căii de criptare și redirecționare a routerului, iar pasul următor spune care parte.
Un avertisment: imediat ce IP-ul de ieșire se schimbă, unele servicii de testare a vitezei aleg în liniște alt server de măsurare, așa că ajungeți să comparați două destinații. Fixați singuri adresa serverului.
Pasul 4: Citiți procesorul ca o cale, nu ca o medie
Un router care arată 30 procente de procesor total poate fi totuși saturat: munca unui tunel ajunge de obicei pe un singur nucleu, o singură coadă de întreruperi sau un singur fir al nucleului, așa că media ascunde plafonul. Uitați-vă la cifrele pe nucleu și la softirq în locul indicatorului din panou.
mpstat -P ALL 1
top -H -p $(pgrep -f 'openvpn')
grep -o -m1 aes /proc/cpuinfo
Trei lucruri contează în acea ieșire. Un singur nucleu blocat aproape de 100 procente în timp ce celelalte stau degeaba indică o limită pe conexiune. Un %soft mare sau un ksoftirqd ocupat pe un procesor indică procesarea pachetelor pe partea de recepție care nu se împarte pe cozi. Iar un indicator aes lipsă înseamnă că procesorul nu are instrucțiuni AES, deci criptarea simetrică rulează în software și costă mult mai mult pe pachet.
Și implementarea contează. O instanță tradițională de OpenVPN în spațiul utilizator procesează pachetele unui tunel în mare parte într-un singur loc, așa că o cutie rapidă cu mai multe nuclee se poate comporta ca una cu un singur nucleu pentru acel tunel. WireGuard în nucleu distribuie munca pe procesoare, iar descărcarea canalului de date al OpenVPN mută și ea manipularea pachetelor în nucleu, dar numai în versiunile și pe platformele care o suportă. O afirmație despre accelerare hardware pe pagina de marketing nu este dovada că calea de cod pe care o rulați o folosește.
Pasul 5: Decideți ce schimbați, în această ordine
Parcurgeți lista în jos și opriți-vă la primul rând adevărat, pentru că a schimba orice sub el nu va mișca cifra.
1. Debitul direct prin cablu este sub ce plătiți: discutați cu furnizorul, pentru că tunelul nu poate crea capacitate pe care circuitul de acces nu o livrează. 2. Prin cablu direct este în regulă, dar un nucleu se blochează în timpul testului tunelului: calea criptografică a routerului este limita. 3. Procesorul stă degeaba, dar tunelul este lent: verificați MTU și fragmentarea, apoi capacitatea punctului final îndepărtat. 4. Doar clienții Wi-Fi sunt lenți: schimbați banda sau lățimea canalului și acceptați că viteza anunțată nu a fost niciodată o cifră VPN.
Când routerul este într-adevăr limita, opțiunile cinstite sunt un aparat cu instrucțiuni AES și o cale de redirecționare mai rapidă, un tunel pe partea nucleului precum WireGuard în locul unuia în spațiul utilizator, sau mutarea clientului pe aparatul însuși ca routerul să nu mai cripteze. Oprirea criptării autentificate pentru a câștiga un test comparativ nu este una dintre ele; schimbă o proprietate de securitate pe o cifră care tot nu se va potrivi cu cutia.
Înainte de a cumpăra ceva, rulați din nou pașii 2 și 3 pe aparatul nou cu același server și aceeași durată, apoi comparați rapoarte, nu vârfuri.