Рутер са Wi-Fi ознаком од 3,000 Mbps ипак може преносити шифровани саобраћај само делићем тог броја, и ниједан од та два броја није непоштен. Радио оцена описује најбољу могућу модулацију бежичне везе коју чипсет подржава; бројка за VPN описује колико брзо један уређај може да гура шифроване пакете кроз процесор рутера и изван ваше приступне линије. То су различити слојеви, различите величине пакета и различите методе мерења. Третирајте бројку на кутији као плафон до којег нико не стиже, а не као прогнозу брзине вашег тунела.

Корак 1: Мапирајте четири слоја која ограничавају бројку

Скоро свака жалба на спор рутер са којом сам радио пада у један од четири нивоа: бежична веза, брзина WAN приступа, пут прослеђивања (NAT, заштитни зид, праћење веза) или крипто пут VPN-а. Они се натомилавају, а најспорији ниво одређује резултат. Оглашена Wi-Fi брзина говори само о првом нивоу и говори о њему дарежљиво.

Та бројка долази од броја токова помноженог ширином канала и највишом модулацијом коју чипсет може да договори. Радио 2x2 на 5 GHz при 80 MHz са 1024-QAM оглашава се близу 1,200 Mbps, али Wi-Fi је дељени полудуплексни медиј: клијенти се смењују, поновна слања и управни саобраћај троше ваздушно време, а TCP додаје сопствени терет. Клијент који договори највећу брзину у идеалним условима обично измери знатно мање од половине, а још мање кад се појаве суседне мреже.

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

Ако табела упућује на радио, прво поправите бежичну страну: опсег, ширину канала, удаљеност. Ако упућује испод радија, важна су следећа четири корака, и никаква куповина антена то неће променити.

Корак 2: Узмите жичану основну линију пре него што дотакнете радио

Ставите преносник на Ethernet и прво измерите пут без тунела, јер вам то даје именилац. Покрените алат за пропусност на супротној страни, на VPS-у или кућном серверу који завршава VPN, и усмерите клијента на његову јавну адресу да саобраћај прође кроз ваш рутер и приступну линију.

# 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

Два броја из тог блока одговарају на различита питања. Један ток показује границу по вези, укључујући понашање TCP прозора и било какво обликовање по току на путу. Четири тока показују има ли веза капацитет који не користите, јер паралелни токови могу да напуне цев коју један ток не може.

Нека буде поштено: исти домаћин, доба дана и трајање, без ичега другог што стримује у кући. Пренос од тридесет секунди права је јединица овде, а RFC 6349, оквир за тестирање TCP пропусности, изграђен је управо на том размишљању, јер кратки удари и мали захтеви ласкају вези. Запишите основну линију пре него што било шта промените.

Корак 3: Покрените исти тест кроз тунел

Сада то поновите према адреси тунела на одредишту, са истим клијентом, трајањем и бројем токова, уз подигнут тунел и без другог саобраћаја. Однос двају резултата каже вам колико шифровање и инкапсулација коштају на том хардверу; апсолутна бројка каже је ли то довољно за посао.

Пратите бројаче док пренос траје. На WireGuard-у wg show извештава о пренесеним бајтовима по партнеру; на OpenVPN-у датотека стања која се пише у интервалу даје вам исти поглед.

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

Ако је бројка тунела близу жичане основне линије, VPN није ваше уско грло и можете престати да га кривите. Ако је само делић основне линије, губитак се догодио унутар крипто и прослеђивачког пута рутера, а следећи корак каже који део.

Једно упозорење: чим се излазна IP промени, неке услуге тестирања брзине тихо одаберу други мерни сервер, па на крају поредите две различите дестинације. Сами причврстите адресу сервера.

Корак 4: Читајте процесор као пут, а не као просек

Рутер који показује 30 процената укупног процесора и даље може бити засићен: рад једног тунела обично падне на једно језгро, један ред прекида или једну нит кернела, па просек скрива плафон. Гледајте бројке по језгру и softirq уместо мерача на табли.

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

Три ствари су важне у том излазу. Једно језгро приковано близу 100 процената док остала мирују упућује на ограничење по вези. Висок %soft или заузет ksoftirqd на једном процесору упућује на обраду пакета на страни пријема која се не раздваја по редовима. А заставица aes која недостаје значи да процесор нема AES инструкције, па симетрично шифровање ради у софтверу и кошта много више по пакету.

И имплементација је важна. Традиционална OpenVPN инстанца у корисничком простору обрађује пакете једног тунела великим делом на једном месту, па се брза вишејезгарена кутија за тај тунел може понашати као једнојезгарена. WireGuard у кернелу распоређује посао по процесорима, а растерећење податковног канала OpenVPN-а такође премешта обраду пакета у кернел, али само у градњама и на платформама које то подржавају. Тврдња о хардверском убрзању на маркетиншкој страници није доказ да је користи пут кода који извршавате.

Корак 5: Одлучите шта да промените, тим редом

Прођите списак надоле и зауставите се на првом истинитом реду, јер промена било чега испод њега неће померити бројку.

1. Жична директна пропусност нижа је од онога што плаћате: разговарајте са добављачем, јер тунел не може да створи капацитет који приступна линија не даје. 2. Жично директно је у реду, али једно језгро се прикује током теста тунела: крипто пут рутера је граница. 3. Процесор мирује, али тунел је спор: проверите MTU и фрагментацију, затим сопствени капацитет удаљеног одредишта. 4. Спори су само Wi-Fi клијенти: промените опсег или ширину канала и прихватите да оглашена брзина никада није била бројка за VPN.

Кад је рутер заиста граница, поштене опције су уређај са AES инструкцијама и бржим путем прослеђивања, тунел на страни кернела као WireGuard уместо оног у корисничком простору, или премештање клијента на сам уређај да рутер престане да шифрује. Искључивање аутентификованог шифровања да бисте победили на поредбеном тесту није једна од њих; оно мења безбедносно својство за бројку која се ипак неће поклопити са кутијом.

Пре него што било шта купите, поново покрените кораке 2 и 3 на новом уређају са истим сервером и трајањем, па упоредите односе, а не врхове.

Повезани чланци