మీ రౌటర్ యొక్క Wi-Fi రేటింగ్ VPN థ్రూపుట్ను ఎందుకు ఊహించదు
ప్రచారం చేయబడిన Wi-Fi వేగం మరియు కొలవబడిన VPN వేగం వేర్వేరు పొరలను వివరిస్తాయి. వేగవంతమైన రౌటర్ను కొనుగోలు చేసే ముందు ఈ క్రమబద్ధమైన తనిఖీని పూర్తి చేయండి.
3,000 Mbps Wi-Fi బ్యాడ్జ్ ఉన్న రౌటర్ కూడా గుప్తీకరించిన ట్రాఫిక్ను ఆ సంఖ్యలోని చిన్న భాగం వేగంతో తరలించగలదు, రెండు సంఖ్యలలో ఏదీ నిజాయితీ లేనిది కాదు. రేడియో రేటింగ్ చిప్సెట్ మద్దతు ఇచ్చే వైర్లెస్ లింక్ యొక్క ఉత్తమ సాధ్య మాడ్యులేషన్ను వివరిస్తుంది; VPN సంఖ్య ఒక పరికరం గుప్తీకరించిన ప్యాకెట్లను రౌటర్ ప్రాసెసర్ ద్వారా మరియు మీ యాక్సెస్ సర్క్యూట్ వెలుపలకు ఎంత వేగంగా నెట్టగలదో వివరిస్తుంది. ఇవి వేర్వేరు పొరలు, వేర్వేరు ప్యాకెట్ పరిమాణాలు మరియు వేర్వేరు కొలత పద్ధతులు. పెట్టెపై ఉన్న సంఖ్యను ఎవరూ చేరుకోలేని పై పరిమితిగా భావించండి, మీ టన్నెల్ వేగం యొక్క ఊహగా కాదు.
దశ 1: సంఖ్యను పరిమితం చేసే నాలుగు పొరలను మ్యాప్ చేయండి
నేను పని చేసిన నెమ్మదిగా రౌటర్ ఫిర్యాదులలో దాదాపు అన్నీ నాలుగు స్థాయిలలో ఒకదానిలో పడతాయి: వైర్లెస్ లింక్, WAN యాక్సెస్ వేగం, ఫార్వార్డింగ్ మార్గం (NAT, ఫైర్వాల్, కనెక్షన్ ట్రాకింగ్) లేదా 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 విండో ప్రవర్తన మరియు మార్గంలో ఏదైనా ప్రతి-ప్రవాహ ఆకృతీకరణ ఉంటాయి. నాలుగు స్ట్రీమ్లు లింక్లో మీరు ఉపయోగించని సామర్థ్యం ఉందా అని చూపుతాయి, ఎందుకంటే సమాంతర ప్రవాహాలు ఒక ప్రవాహం నింపలేని గొట్టాన్ని నింపగలవు.
దీన్ని నిజాయితీగా ఉంచండి: అదే హోస్ట్, రోజులోని సమయం మరియు వ్యవధి, ఇంట్లో మరేదీ స్ట్రీమ్ కాకూడదు. ముప్పై సెకన్ల బల్క్ బదిలీ ఇక్కడ సరైన ప్రమాణం, TCP థ్రూపుట్ పరీక్ష యొక్క చట్రం RFC 6349 సరిగ్గా ఆ వాదనపై నిర్మించబడింది, ఎందుకంటే చిన్న పేలుళ్లు మరియు చిన్న అభ్యర్థనలు లింక్ను మెరుగ్గా కనిపించేలా చేస్తాయి. ఏదైనా మార్చే ముందు ఆధార రేఖను రాయండి.
దశ 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ను మళ్లీ అమలు చేయండి, తర్వాత శిఖరాలు కాదు, నిష్పత్తులను పోల్చండి.