Proč Wi-Fi hodnocení routeru nepředpovídá propustnost VPN
Inzerovaná rychlost Wi-Fi a změřená rychlost VPN popisují různé vrstvy. Projděte si tuto uspořádanou kontrolu, než koupíte rychlejší router.
Router s nálepkou Wi-Fi 3,000 Mbps může stále přenášet šifrovaný provoz jen zlomkem tohoto čísla a ani jedno z těch čísel není nepoctivé. Hodnocení rádia popisuje nejlepší možnou modulaci bezdrátového spoje, kterou čipset podporuje; číslo pro VPN popisuje, jak rychle dokáže jedno zařízení protlačit šifrované pakety přes procesor routeru a ven z vašeho přístupového okruhu. To jsou různé vrstvy, různé velikosti paketů a různé metody měření. Berte číslo na krabici jako strop, kterého nikdo nedosáhne, ne jako předpověď rychlosti vašeho tunelu.
Krok 1: Zmapujte čtyři vrstvy, které číslo omezují
Téměř každá stížnost na pomalý router, kterou jsem řešil, spadá do jedné ze čtyř úrovní: bezdrátový spoj, rychlost přístupu WAN, cesta předávání (NAT, firewall, sledování spojení) nebo krypto cesta VPN. Sčítají se a nejpomalejší úroveň určuje výsledek. Inzerovaná rychlost Wi-Fi mluví jen o první úrovni a mluví o ní štědře.
Toto číslo vzniká z počtu toků krát šířka kanálu krát nejvyšší modulace, kterou čipset umí vyjednat. Rádio 2x2 na 5 GHz při 80 MHz s 1024-QAM se inzeruje kolem 1,200 Mbps, ale Wi-Fi je sdílené poloduplexní médium: klienti se střídají, opakované přenosy a řídicí provoz spalují vysílací čas a TCP přidává svou vlastní režii. Klient, který v ideálních podmínkách vyjedná nejvyšší rychlost, obvykle naměří hluboko pod polovinou a ještě méně, jakmile se objeví sousední sítě.
| 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 |
Pokud tabulka ukazuje na rádio, opravte nejprve bezdrátovou stranu: pásmo, šířku kanálu, vzdálenost. Pokud ukazuje pod rádio, rozhodují následující čtyři kroky a žádné nakupování antén to nezmění.
Krok 2: Pořiďte kabelovou základní linii, než se dotknete rádia
Připojte notebook na Ethernet a nejprve změřte cestu bez tunelu, protože tím získáte jmenovatel. Spusťte nástroj propustnosti na vzdálené straně, na VPS nebo domácím serveru, který ukončuje VPN, a namiřte klienta na jeho veřejnou adresu, aby provoz procházel vaším routerem a přístupovým okruhem.
# 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
Dvě čísla z toho bloku odpovídají na různé otázky. Jeden tok ukazuje strop na jedno spojení, který zahrnuje chování okna TCP a jakékoli tvarování toku na cestě. Čtyři toky ukazují, zda má spoj kapacitu, kterou nevyužíváte, protože paralelní toky dokážou naplnit trubku, kterou jeden tok nezaplní.
Držte to poctivé: stejný hostitel, denní doba a doba trvání, a nic dalšího doma nestreamuje. Přenos třicet sekund dlouhý je zde správná jednotka a RFC 6349, rámec pro testování propustnosti TCP, je postaven právě na této úvaze, protože krátké nárazy a malé požadavky spoji lichotí. Zapište základní linii, než cokoli změníte.
Krok 3: Spusťte stejný test tunelem
Teď to zopakujte proti adrese tunelu na koncovém bodu, se stejným klientem, délkou a počtem toků, s tunelem nahoru a bez dalšího provozu. Poměr mezi oběma výsledky vám řekne, co šifrování a zapouzdření na tomto hardwaru stojí; absolutní číslo vám řekne, zda to na danou práci stačí.
Sledujte čítače, dokud přenos běží. U WireGuardu wg show hlásí přenesené bajty na protějšek; u OpenVPN vám soubor se stavem zapisovaný v intervalu dává stejný pohled.
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
Pokud je číslo tunelu blízko kabelové základní linii, VPN není vaše úzké hrdlo a můžete ji přestat obviňovat. Pokud je to zlomek základní linie, ztráta vznikla uvnitř krypto a předávací cesty routeru a příští krok vám řekne, která část.
Jedno upozornění: jakmile se změní výstupní IP, některé služby pro test rychlosti tiše zvolí jiný měřicí server, takže nakonec porovnáváte dvě různé destinace. Adresu serveru si zafixujte sami.
Krok 4: Čtěte procesor jako cestu, ne jako průměr
Router, který ukazuje 30 procent celkového vytížení procesoru, může být stále nasycený: práce jednoho tunelu obvykle padne na jedno jádro, jednu frontu přerušení nebo jedno vlákno jádra, takže průměr strop skrývá. Dívejte se na čísla po jádrech a na softirq místo měřidla na panelu.
mpstat -P ALL 1
top -H -p $(pgrep -f 'openvpn')
grep -o -m1 aes /proc/cpuinfo
V tom výstupu záleží na třech věcech. Jedno jádro přikované blízko 100 procentům, zatímco ostatní zahálí, ukazuje na limit na spojení. Vysoký %soft nebo zaneprázdněný ksoftirqd na jednom procesoru ukazuje na zpracování paketů na straně příjmu, které se nerozkládá mezi fronty. A chybějící příznak aes znamená, že procesor nemá instrukce AES, takže symetrické šifrování běží v softwaru a stojí mnohem víc na paket.
Záleží i na implementaci. Tradiční instance OpenVPN v uživatelském prostoru zpracovává pakety jednoho tunelu z velké části na jednom místě, takže rychlá vícejádrová krabice se pro tento tunel může chovat jako jednojádrová. WireGuard v jádře rozkládá práci mezi procesory a odlehčení datového kanálu u OpenVPN také přesouvá zpracování paketů do jádra, ale jen v sestaveních a na platformách, které to podporují. Tvrzení o hardwarovém zrychlení na marketingové stránce není důkaz, že ho cesta kódu, kterou spouštíte, využívá.
Krok 5: Rozhodněte, co změnit, v tomto pořadí
Projděte seznam dolů a zastavte se u prvního pravdivého řádku, protože změna čehokoli pod ním číslem nepohne.
1. Kabelová přímá propustnost je nižší než to, co platíte: mluvte s poskytovatelem, protože tunel nemůže vytvořit kapacitu, kterou přístupový okruh nedodá. 2. Kabelově přímo je to v pořádku, ale jedno jádro se při testu tunelu přikove: krypto cesta routeru je limit. 3. Procesor zahálí, ale tunel je pomalý: zkontrolujte MTU a fragmentaci, pak vlastní kapacitu vzdáleného koncového bodu. 4. Pomalí jsou jen klienti Wi-Fi: změňte pásmo nebo šířku kanálu a přijměte, že inzerovaná rychlost nikdy nebyla číslem pro VPN.
Když je router skutečně limitem, poctivé možnosti jsou zařízení s instrukcemi AES a rychlejší předávací cestou, tunel na straně jádra jako WireGuard místo toho v uživatelském prostoru, nebo přesun klienta přímo na zařízení, aby router přestal šifrovat. Vypnutí autentizovaného šifrování, abyste vyhráli benchmark, mezi ně nepatří; mění bezpečnostní vlastnost za číslo, které stejně nebude odpovídat krabici.
Než cokoli koupíte, spusťte kroky 2 a 3 na novém zařízení se stejným serverem a délkou a pak porovnávejte poměry, ne špičky.