Ինչու ձեր երթուղիչի Wi-Fi գնահատականը չի կանխատեսում VPN-ի թողունակությունը
Գովազդված Wi-Fi արագությունը և չափված VPN արագությունը տարբեր շերտեր են նկարագրում։ Անցեք այս կարգավորված ստուգումը նախքան ավելի արագ երթուղիչ գնելը։
3,000 Mbps Wi-Fi պիտակով երթուղիչը դեռ կարող է գաղտնագրված տրաֆիկը տեղափոխել այդ թվի մեկ փոքր մասի արագությամբ, և երկու թվերից ոչ մեկն անազնիվ չէ։ Ռադիոյի գնահատականը նկարագրում է չիպսեթի աջակցած անլար կապի լավագույն հնարավոր մոդուլյացիան, իսկ VPN-ի թիվը նկարագրում է, թե որքան արագ մեկ սարքը կարող է գաղտնագրված փաթեթները մղել երթուղիչի պրոցեսորով և դուրս ձեր մուտքի շղթայից։ Դրանք տարբեր շերտեր են, տարբեր փաթեթի չափեր և տարբեր չափման մեթոդներ։ Տուփի թվին վերաբերվեք որպես առաստաղի, որին ոչ ոք չի հասնում, ոչ թե ձեր թունելի արագության կանխատեսման։
Քայլ 1. Քարտեզագրեք չորս շերտերը, որոնք սահմանափակում են թիվը
Դանդաղ երթուղիչի գրեթե յուրաքանչյուր բողոք, որի հետ աշխատել եմ, ընկնում է չորս մակարդակներից մեկի մեջ՝ անլար կապ, WAN մուտքի արագություն, փոխանցման ուղի (NAT, firewall, կապերի հետևում) կամ VPN-ի գաղտնագրման ուղի։ Դրանք շերտավորվում են, և ամենադանդաղ մակարդակը որոշում է արդյունքը։ Գովազդված Wi-Fi արագությունը խոսում է միայն առաջին մակարդակի մասին և խոսում է առատաձեռնորեն։
Այդ թիվը գալիս է հոսքերի քանակից բազմապատկած ալիքի լայնությամբ և չիպսեթի սակարկած ամենաբարձր մոդուլյացիայով։ 5 GHz-ի վրա 80 MHz-ով 1024-QAM-ով 2x2 ռադիոն գովազդվում է 1,200 Mbps-ի մոտ, բայց Wi-Fi-ը համատեղ, կիսակրկնակող միջավայր է. հաճախորդները հերթով են աշխատում, կրկնակի ուղարկումներն ու կառավարման տրաֆիկը այրում են օդային ժամանակը, և TCP-ն ավելացնում է իր սեփական ծանրաբեռնվածությունը։ Իդեալական պայմաններում ամենաբարձր արագությունը սակարկող հաճախորդը սովորաբար չափում է դրա կեսից շատ ցածր, և ավելի ցածր, երբ հայտնվում են հարևան ցանցերը։
| 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 |
Եթե աղյուսակը մատնանշում է ռադիոյին, նախ ուղղեք անլար կողմը՝ տիրույթ, ալիքի լայնություն, հեռավորություն։ Եթե այն մատնանշում է ռադիոյից ներքև, կարևոր են հաջորդ չորս քայլերը, և ալեհավաք գնելու ոչ մի քանակ դա չի փոխի։
Քայլ 2. Վերցրեք լարային բազային գիծ նախքան ռադիոյին դիպչելը
Դրեք նոութբուքը Ethernet-ի վրա և նախ չափեք ուղին առանց թունելի, որովհետև դա ձեզ հայտարար է տալիս։ Գործարկեք թողունակության գործիքը հեռավոր կողմում՝ VPN-ն ավարտող VPS-ում կամ տնային սերվերում, և ուղղեք հաճախորդին նրա հանրային հասցեին, որպեսզի տրաֆիկը անցնի ձեր երթուղիչով և մուտքի շղթայով։
# 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-րդ քայլերը նոր սարքում նույն սերվերով և տևողությամբ, ապա համեմատեք հարաբերակցությունները, ոչ գագաթները։