Usmjerivač s Wi-Fi oznakom od 3,000 Mbps ipak može prenositi šifrirani promet tek djelićem tog broja, i nijedan od tih dvaju brojeva nije nepošten. Radijska ocjena opisuje najbolju moguću modulaciju bežične veze koju čipset podupire; brojka za VPN opisuje koliko brzo jedan uređaj može gurati šifrirane pakete kroz procesor usmjerivača i izvan vašega pristupnog voda. To su različiti slojevi, različite veličine paketa i različite metode mjerenja. Brojku na kutiji shvatite kao gornju granicu do koje nitko ne stiže, a ne kao prognozu brzine vašeg tunela.

Korak 1: Preslikajte četiri sloja koji ograničavaju brojku

Gotovo svaka pritužba na spor usmjerivač s kojom sam radio pada u jednu od četiriju razina: bežična veza, brzina WAN pristupa, put prosljeđivanja (NAT, vatrozid, praćenje veza) ili VPN kripto put. Oni se slažu u hrpu, a najsporija razina određuje rezultat. Oglašena Wi-Fi brzina govori samo o prvoj razini i govori o njoj izdašno.

Ta brojka dolazi od broja tokova pomnoženog širinom kanala i najvišom modulacijom koju čipset može dogovoriti. Radio 2x2 na 5 GHz pri 80 MHz s 1024-QAM oglašava se blizu 1,200 Mbps, ali Wi-Fi je dijeljeni poludupleksni medij: klijenti se izmjenjuju, ponovna slanja i upravljački promet troše eterično vrijeme, a TCP dodaje vlastiti teret. Klijent koji dogovori najvišu brzinu u idealnim uvjetima obično izmjeri znatno manje od njezine polovice, a još manje kad se pojave susjedne mreže.

SymptomTier to suspect first
Wired clients are slow tooWAN access or forwarding path
Only Wi-Fi clients are slowRadio, airtime, or channel width
One stream is slow, four parallel streams add upPer-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 internetWAN, not the tunnel

Ako tablica upućuje na radio, prvo popravite bežičnu stranu: pojas, širinu kanala, udaljenost. Ako upućuje ispod radija, važna su sljedeća četiri koraka, i nikakva kupnja antena to neće promijeniti.

Korak 2: Uzmite žičanu osnovnu liniju prije nego dotaknete radio

Stavite prijenosnik na Ethernet i prvo izmjerite put bez tunela, jer vam to daje nazivnik. Pokrenite alat za propusnost na suprotnoj strani, na VPS-u ili kućnom poslužitelju koji završava VPN, i usmjerite klijenta na njegovu javnu adresu kako bi promet prošao kroz vaš usmjerivač i pristupni vod.

# 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

Dvije brojke iz tog bloka odgovaraju na različita pitanja. Jedan tok pokazuje granicu po vezi, uključujući ponašanje TCP prozora i bilo kakvo oblikovanje po toku na putu. Četiri toka pokazuju ima li veza kapacitet koji ne koristite, jer paralelni tokovi mogu napuniti cijev koju jedan tok ne može.

Neka bude pošteno: isti host, doba dana i trajanje, bez ičega drugoga što struji u kući. Prijenos od trideset sekundi prava je jedinica ovdje, a RFC 6349, okvir za testiranje TCP propusnosti, izgrađen je upravo na tom razmišljanju, jer kratki udari i mali zahtjevi laskaju vezi. Zapišite osnovnu liniju prije nego što bilo što promijenite.

Korak 3: Pokrenite isti test kroz tunel

Sad to ponovite prema adresi tunela na odredištu, s istim klijentom, trajanjem i brojem tokova, uz podignut tunel i bez drugog prometa. Odnos dvaju rezultata kaže vam koliko šifriranje i enkapsulacija stoje na tom hardveru; apsolutna brojka kaže je li to dovoljno za posao.

Promatrajte brojače dok prijenos traje. Na WireGuardu wg show izvješćuje o prenesenim bajtovima po partneru; na OpenVPN-u datoteka stanja koja se piše u intervalu daje vam isti pogled.

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

Ako je brojka tunela blizu žičane osnovne linije, VPN nije vaše usko grlo i možete ga prestati kriviti. Ako je tek djelić osnovne linije, gubitak se dogodio unutar kripto i prosljeđivačkog puta usmjerivača, a sljedeći korak kaže koji dio.

Jedno upozorenje: čim se izlazni IP promijeni, neke usluge testiranja brzine tiho odaberu drugi mjerni poslužitelj, pa na kraju uspoređujete dvije različite destinacije. Sami prikvačite adresu poslužitelja.

Korak 4: Čitajte procesor kao put, a ne kao prosjek

Usmjerivač koji pokazuje 30 posto ukupnog opterećenja procesora i dalje može biti zasićen: rad jednog tunela obično pada na jednu jezgru, jedan red prekida ili jednu nit kernela, pa prosjek skriva granicu. Gledajte brojke po jezgri i softirq umjesto mjerila na nadzornoj ploči.

mpstat -P ALL 1
top -H -p $(pgrep -f 'openvpn')
grep -o -m1 aes /proc/cpuinfo

Tri su stvari važne u tom izlazu. Jedna jezgra prikovana blizu 100 posto dok ostale miruju upućuje na ograničenje po vezi. Visok %soft ili zauzet ksoftirqd na jednom procesoru upućuje na obradu paketa na strani primanja koja se ne širi po redovima. A nedostajuća zastavica aes znači da procesor nema AES instrukcije, pa simetrično šifriranje radi u softveru i stoji mnogo više po paketu.

Važna je i implementacija. Tradicionalna OpenVPN instanca u korisničkom prostoru obrađuje pakete jednog tunela velikim dijelom na jednom mjestu, pa se brza višejezgrena kutija za taj tunel može ponašati kao jednojezgrena. WireGuard u kernelu raspoređuje posao po procesorima, a OpenVPN-ovo rasterećenje podatkovnog kanala također premješta obradu paketa u kernel, ali samo u gradnjama i na platformama koje to podupiru. Tvrdnja o hardverskom ubrzanju na marketinškoj stranici nije dokaz da je koristi putanja koda koju pokrećete.

Korak 5: Odlučite što promijeniti, tim redom

Prođite popis prema dolje i zaustavite se na prvom retku koji je istinit, jer promjena bilo čega ispod njega neće pomaknuti brojku.

1. Žičana izravna propusnost niža je od onoga što plaćate: razgovarajte s davateljem, jer tunel ne može stvoriti kapacitet koji pristupni vod ne daje. 2. Žičana izravna veza je u redu, ali jedna se jezgra prikuje tijekom testa tunela: kripto put usmjerivača je granica. 3. Procesor miruje, ali tunel je spor: provjerite MTU i fragmentaciju, zatim vlastiti kapacitet udaljenog odredišta. 4. Spori su samo Wi-Fi klijenti: promijenite pojas ili širinu kanala i prihvatite da oglašena brzina nikada nije bila brojka za VPN.

Kad je usmjerivač doista granica, poštene su mogućnosti uređaj s AES instrukcijama i bržim putem prosljeđivanja, tunel na strani kernela poput WireGuarda umjesto onoga u korisničkom prostoru, ili premještanje klijenta na sam uređaj da usmjerivač prestane šifrirati. Isključivanje autentificiranog šifriranja da biste pobijedili na testu usporedbe nije jedna od njih; ono mijenja sigurnosno svojstvo za brojku koja se ipak neće poklopiti s kutijom.

Prije nego bilo što kupite, ponovno pokrenite korake 2 i 3 na novom uređaju s istim poslužiteljem i trajanjem, pa usporedite odnose, a ne vrhove.

Povezani članci