Miksi reitittimesi Wi-Fi-luokitus ei ennusta VPN:n läpäisyä
Mainostettu Wi-Fi-nopeus ja mitattu VPN-nopeus kuvaavat eri kerroksia. Käy tämä järjestetty tarkistus läpi ennen kuin ostat nopeamman reitittimen.
Reititin, jossa on 3,000 Mbps:n Wi-Fi-merkki, voi silti siirtää salattua liikennettä murto-osalla tästä luvusta, eikä kumpikaan luku ole epärehellinen. Radioluokitus kuvaa langattoman linkin parasta mahdollista modulaatiota, jota piirisarja tukee; VPN-luku kuvaa, kuinka nopeasti yksi laite voi työntää salattuja paketteja reitittimen suorittimen läpi ja ulos liittymästäsi. Ne ovat eri kerroksia, eri pakettikokoja ja eri mittausmenetelmiä. Kohtele laatikon lukua kattona, johon kukaan ei yllä, älä ennusteena tunnelisi nopeudesta.
Vaihe 1: Kartoita neljä kerrosta, jotka rajaavat luvun
Lähes jokainen hitaan reitittimen valitus, jonka kanssa olen työskennellyt, osuu yhteen neljästä tasosta: langaton linkki, WAN-liittymänopeus, välityspolku (NAT, palomuuri, yhteyksien seuranta) tai VPN:n salauspolku. Ne kasautuvat, ja hitain taso määrää tuloksen. Mainostettu Wi-Fi-nopeus puhuu vain ensimmäisestä tasosta, ja puhuu siitä anteliaasti.
Luku tulee virroista kertaa kanavan leveys kertaa korkein modulaatio, jonka piirisarja voi neuvotella. 2x2-radio 5 GHz:llä 80 MHz:llä ja 1024-QAM:lla mainostetaan lähellä 1,200 Mbps, mutta Wi-Fi on jaettu puoliduplex-väline: asiakkaat vuorottelevat, uudelleenlähetykset ja hallintaliikenne polttavat lähetysaikaa, ja TCP lisää oman ylikuormituksensa. Asiakas, joka neuvottelee huippunopeuden ihanteellisissa olosuhteissa, mittaa yleensä selvästi alle puolet siitä, ja vähemmän kun naapuriverkot ilmestyvä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 |
Jos taulukko osoittaa radioon, korjaa ensin langaton puoli: kaista, kanavan leveys, etäisyys. Jos se osoittaa radion alapuolelle, seuraavat neljä vaihetta ratkaisevat, eikä antennien ostaminen muuta sitä.
Vaihe 2: Ota kaapelillinen perustaso ennen kuin kosket radioon
Laita kannettava Ethernetiin ja mittaa ensin reitti ilman tunnelia, koska se antaa sinulle nimittäjän. Aja läpäisutyökalu toisella puolella, VPN:n päättävässä VPS:ssä tai kotipalvelimessa, ja osoita asiakas sen julkiseen osoitteeseen, jotta liikenne kulkee reitittimesi ja liittymäsi kautta.
# 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
Kaksi lukua tuosta lohkosta vastaavat eri kysymyksiin. Yksi virta näyttää yhteyskohtaisen katon, joka sisältää TCP-ikkunan käyttäytymisen ja mahdollisen virtauskohtaisen muotoilun polulla. Neljä virtaa näyttävät, onko linkissä kapasiteettia, jota et käytä, koska rinnakkaiset virrat voivat täyttää putken, jota yksi virta ei täytä.
Pidä se rehellisenä: sama isäntä, vuorokaudenaika ja kesto, eikä mikään muu suoratoista talossa. Kolmekymmentä sekuntia kestävä massasiirto on tässä oikea yksikkö, ja RFC 6349, TCP:n läpäisytestauksen kehys, perustuu juuri tähän ajatukseen, koska lyhyet purskeet ja pienet pyynnöt imartelevat linkkiä. Kirjoita perustaso muistiin ennen kuin muutat mitään.
Vaihe 3: Aja sama testi tunnelin läpi
Toista se nyt päätepisteen tunneliosoitetta vastaan samalla asiakkaalla, kestolla ja virtojen määrällä, tunneli pystyssä eikä muuta liikennettä. Kahden tuloksen suhde kertoo, mitä salaus ja kapselointi maksavat tuolla laitteistolla; absoluuttinen luku kertoo, riittääkö se työhön.
Seuraa laskureita siirron aikana. WireGuardissa wg show raportoi siirretyt tavut kumppania kohden; OpenVPN:ssä välein kirjoitettava tilatiedosto antaa saman näkymän.
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
Jos tunnelin luku on lähellä kaapelillista perustasoa, VPN ei ole pullonkaulasi ja voit lopettaa sen syyttämisen. Jos se on murto-osa perustasosta, häviö tapahtui reitittimen salaus- ja välityspolun sisällä, ja seuraava vaihe kertoo missä osassa.
Yksi varoitus: kun lähtevä IP vaihtuu, jotkin nopeustestipalvelut valitsevat hiljaa toisen mittauspalvelimen, joten vertailet lopulta kahta eri kohdetta. Kiinnitä palvelimen osoite itse.
Vaihe 4: Lue suoritinta polkuna, ei keskiarvona
Reititin, joka näyttää 30 prosenttia kokonaisprosessorista, voi silti olla kylläinen: yhden tunnelin työ osuu yleensä yhdelle ytimelle, yhdelle keskeytysjonolle tai yhdelle ydinsäikeelle, joten keskiarvo piilottaa katon. Katso lukuja ydin- ja softirq-tasolla kojelaudan mittarin sijaan.
mpstat -P ALL 1
top -H -p $(pgrep -f 'openvpn')
grep -o -m1 aes /proc/cpuinfo
Kolme asiaa merkitsee tuossa tulosteessa. Yksi ydin lähes 100 prosentissa muiden ollessa joutilaina viittaa yhteyskohtaiseen rajaan. Raskas %soft tai kiireinen ksoftirqd yhdellä suorittimella viittaa vastaanottopuolen pakettikäsittelyyn, joka ei hajaannu jonoihin. Ja puuttuva aes-lippu tarkoittaa, ettei suorittimessa ole AES-käskyjä, joten symmetrinen salaus ajetaan ohjelmistossa ja maksaa pakettia kohden paljon enemmän.
Myös toteutus merkitsee. Perinteinen käyttäjäavaruuden OpenVPN-instanssi käsittelee yhden tunnelin paketit suurelta osin yhdessä paikassa, joten nopea moniydinkone voi käyttäytyä kuin yksiydinkone tuon tunnelin osalta. Ytimessä toimiva WireGuard jakaa työn suorittimille, ja OpenVPN:n datakanavan purku siirtää myös pakettikäsittelyn ytimeen, mutta vain sellaisissa koosteissa ja alustoilla, jotka tukevat sitä. Väite laitteistokiihdytyksestä markkinointisivulla ei ole todiste siitä, että ajamasi koodipolku käyttää sitä.
Vaihe 5: Päätä, mitä muutat, juuri tässä järjestyksessä
Käy lista alaspäin ja pysähdy ensimmäiseen riviin, joka pitää paikkansa, sillä minkään muuttaminen sen alapuolella ei liikuta lukua.
1. Kaapelillinen suora läpäisy on alle sen, mitä maksat: puhu operaattorille, koska tunneli ei voi luoda kapasiteettia, jota liittymä ei toimita. 2. Kaapelilla suoraan on kunnossa, mutta yksi ydin kiinnittyy tunnelitestin aikana: reitittimen salauspolku on raja. 3. Suoritin on joutilaana, mutta tunneli on hidas: tarkista MTU ja pirstoutuminen, sitten kaukaisen päätepisteen oma kapasiteetti. 4. Vain Wi-Fi-asiakkaat ovat hitaita: vaihda kaistaa tai kanavan leveyttä, ja hyväksy, ettei mainostettu nopeus ollut koskaan VPN-luku.
Kun reititin todella on raja, rehelliset vaihtoehdot ovat laite, jossa on AES-käskyt ja nopeampi välityspolku, ydinpuolen tunneli kuten WireGuard käyttäjäavaruuden tunnelin sijaan, tai asiakkaan siirtäminen itse laitteeseen, jotta reititin lakkaa salaamasta. Todennetun salauksen sammuttaminen vertailutestin voittamiseksi ei ole yksi niistä; se vaihtaa turvaominaisuuden lukuun, joka ei silti täsmää laatikon kanssa.
Ennen kuin ostat mitään, aja vaiheet 2 ja 3 uudella laitteella samalla palvelimella ja kestolla ja vertaa sitten suhteita, älä huippuja.