రెండు లేబుళ్లు ఒకే విషయంలా ఉపయోగించబడతాయి: హార్డ్వేర్ ద్వారా వేగవంతం చేయబడినది మరియు కెర్నెల్కు బదిలీ చేయబడినది. ఒకటి లైబ్రరీ యొక్క AES రొటీన్ ఏ సూచనలను అమలు చేస్తుందో వివరిస్తుంది, మరొకటి ప్యాకెట్ ప్రాసెసింగ్ ఎక్కడ జరుగుతుందో వివరిస్తుంది. VPN మొదటిది రెండవది లేకుండా, రెండవది మొదటిది లేకుండా, లేదా రెండూ కలిసి కలిగి ఉండవచ్చు. పనితీరు గురించి ఏ నిర్ణయమైనా మీరు నిజంగా ఈ రెండింటిలో ఏది మారుస్తున్నారో పేరు పెట్టడంతో ప్రారంభం కావాలి.

రెండు అక్షాలు, ఒక స్కోరు కాదు

మొదటి అక్షం అమలు: AES-256-GCM చేసే కోడ్ ప్రాసెసర్ యొక్క ప్రత్యేక సూచనలను ఉపయోగించే సంస్కరణకు వెళుతుందా లేదా వాటిని సాధారణ అంకగణితంగా అమలు చేసే పోర్టబుల్ రొటీన్కు వెళుతుందా. ఈ ఎంపిక క్రిప్టోగ్రాఫిక్ లైబ్రరీ లోపల నివసిస్తుంది మరియు అది ప్రారంభమైనప్పుడు తీసుకోబడుతుంది.

రెండవ అక్షం స్థానం: ప్యాకెట్ కెర్నెల్ యొక్క రూపాంతర మార్గం గుండా వెళుతుందా లేదా వినియోగదారు స్థలంలోని డీమన్ టన్నెల్ పరికరం నుండి చదివి, ఎన్క్రిప్ట్ చేసి తిరిగి రాస్తుందా.

ఏ అక్షం మరొకదాన్ని పరిమితం చేయదు. AES సూచనలు ఉన్న CPU పై వినియోగదారు స్థల VPN వాటిని ఎల్లప్పుడూ ఉపయోగించవచ్చు, అవి లేని CPU పై కెర్నెల్ మార్గం సాఫ్ట్వేర్ అమలుకు తిరిగి వెళుతుంది. విక్రేతల పదార్థాలలోని లేబుళ్లు ఈ భేదాన్ని అరుదుగా చూపుతాయి, అందుకే రెండు పరిస్థితుల మధ్య కాపీ చేయబడిన ట్యూనింగ్ సలహాలు చాలాసార్లు ఏమీ చేయవు.

అక్షం ఒకటి: ఏ కోడ్ ఎన్క్రిప్షన్ చేస్తుంది

OpenSSL ప్రారంభంలో ప్రాసెసర్ లక్షణాలను గుర్తించి, ఆప్టిమైజ్ చేసిన కోడ్ మార్గాలను ఎంచుకోవడానికి ఫలితాన్ని ఉపయోగిస్తుంది, x86 సామర్థ్యాల పత్రం వివరించినట్లు. AES-NI ఆ పంపకం వెనుక ఉన్న డాక్యుమెంట్ చేయబడిన సామర్థ్యాలలో ఒకటి. వీటిలో ఏదీ లైబ్రరీ కెర్నెల్ భాగం కావాలని కోరదు.

వేగవంతమైన మార్గం ఉపయోగించబడుతోందని భావించే ముందు లక్షణం ప్రక్రియకు కనిపిస్తుందని నిర్ధారించండి. Linux లో మూలం /proc/cpuinfo లోని flags ఫీల్డ్, మరియు అతిథి లోపల అది హైపర్వైజర్ బహిర్గతం చేసేదాన్ని ప్రతిబింబిస్తుంది, భౌతిక హోస్ట్ మోడల్ పేరును కాదు.

grep -m1 '^flags' /proc/cpuinfo | grep -o '\baes\b'
openssl list -providers -verbose

రెండవ ఆదేశం ఆ బిల్డ్లో లోడ్ చేయబడిన ప్రదాతలను పేర్కొంటుంది. VPN సేవ ఏ లైబ్రరీని లింక్ చేసిందో అది చెప్పదు, మరియు ఒక హోస్ట్ రెండు OpenSSL ఇన్స్టాలేషన్లను కలిగి ఉండవచ్చు, అయితే నడుస్తున్న ప్రక్రియ వాటిలో ఒకటి మాత్రమే ఉపయోగిస్తుంది.

అక్షం రెండు: ప్యాకెట్ మార్గం ఎక్కడ నడుస్తుంది

కెర్నెల్లో ఉంచడం అంటే రూపాంతరం కెర్నెల్ యొక్క స్వంత IPsec యంత్రంలో లేదా కెర్నెల్ లోపల ఉన్న టన్నెల్ డ్రైవర్లో జరుగుతుంది, కాబట్టి ప్రతి బ్యాచ్ కోసం ప్యాకెట్లు వినియోగదారు స్థల ప్రక్రియ ద్వారా వెళ్లి రావాల్సిన అవసరం లేదు. ఇది కాపీలు మరియు సందర్భ మార్పులను తగ్గించవచ్చు, మరియు ఒకే థ్రెడ్ డీమన్ చేయలేని విధంగా పనిని కోర్లలో పంపిణీ చేయవచ్చు. మీరు నియంత్రించని సరిహద్దుకు ఆవల పని ఇప్పుడు జరుగుతున్నందున, నిర్గమనం పడిపోయినప్పుడు మీరు చదివే కౌంటర్లు మరియు ట్రేస్లను కూడా ఇది తరలిస్తుంది. దీన్ని పనితీరు నిర్ణయం మాత్రమే కాకుండా డీబగ్గింగ్ ఖర్చుగా పరిగణించండి.

ఇది సూచనల మద్దతును సృష్టించదు, సైఫర్ను కాన్ఫిగర్ చేయదు మరియు ఉన్న మార్గాన్ని పని చేయించదు.

వర్చువలైజేషన్ ఈ అక్షంపై కూడా మడతను జోడిస్తుంది. అతిథికి హోస్ట్ కలిగి ఉన్న లక్షణాలను దాచే ముసుగు CPU మోడల్ ఇవ్వబడవచ్చు, మరియు లోపలి అతిథి ఇంకా తక్కువ చూడవచ్చు. సామర్థ్యాల వీక్షణను VPN నిజంగా నడిచే వాతావరణం లోపలి నుండి చదవండి, హైపర్వైజర్ కన్సోల్ నుండి కాదు.

ప్రతి ఎంపిక ఏమి కొంటుంది, ఏమి చేయలేదు

ఆచరణాత్మక ప్రశ్న సమయం ఎక్కడికి పోతుంది అనేది. ఒక బిజీ థ్రెడ్, పునరావృత బఫర్ కాపీలు లేదా ప్రతి ప్యాకెట్కు సిస్టమ్ కాల్ నిర్గమనాన్ని పరిమితం చేస్తే, ఆ ఖర్చులను తొలగించే మార్గానికి రూపాంతరాన్ని తరలించడం సహాయపడవచ్చు, కెర్నెల్ అవసరమైన రూపాంతరాన్ని అమలు చేస్తే.

పరిమితి రద్దీగా ఉన్న పై లింక్, నష్టం ఉన్న మార్గం, పొడవైన రాకపోకల సమయం, నిండిన గమ్య సేవ లేదా ఒక కోర్కు పిన్ చేయబడిన ఒక థ్రెడ్ అయితే, స్థానం ముఖ్యమైనది ఏదీ మార్చదు. సూచనల ఎంపికకు కూడా ఇదే వర్తిస్తుంది: ప్రత్యేక హార్డ్వేర్పై AES తప్పిపోయిన మార్గాన్ని సరిచేయలేదు మరియు పేరు పరిష్కారం విఫలమై టన్నెల్ నిష్క్రియంగా ఉంటే సహాయపడదు.

రెండూ వర్తించే చోట అవి కలుస్తాయి. కెర్నెల్ మార్గం కెర్నెల్ యొక్క క్రిప్టో API లోపల అదే సూచన-స్థాయి పంపకాన్ని ఉపయోగించవచ్చు, మరియు మంచిగా ఎంచుకున్న లైబ్రరీతో కూడిన వినియోగదారు స్థల మార్గం దాన్ని ఇప్పటికే ఉపయోగిస్తోంది. నిర్ణయం అమూర్తంగా ఏది వేగమైనది అని కాదు; ఏ ఖర్చుకు మీకు సాక్ష్యం ఉంది అనేది.

ఏదైనా మార్చే ముందు నాలుగు వాస్తవాలను రాయండి

సేవ యొక్క బైనరీ మరియు అది లింక్ చేయబడిన క్రిప్టో లైబ్రరీని రాయండి, ఎందుకంటే అవి మొదటి అక్షాన్ని నిర్ణయిస్తాయి. తర్వాత అంగీకరించిన డేటా రక్షణను నమోదు చేయండి, ఎందుకంటే ప్రత్యేక సూచన మార్గం లేని సైఫర్ దానితో ఉన్నదానికంటే భిన్నంగా ప్రవర్తిస్తుంది, మరియు సెట్ను రెండు పక్షాలు ఎంచుకుంటాయి.

తర్వాత, నడుస్తున్న వాతావరణం లోపలి నుండి సామర్థ్యాల వీక్షణ, చివరగా మీరు ప్రారంభమైందని భావించే మోడ్ నిజంగానే అలా ఉందని సాక్ష్యంతో సక్రియ ప్యాకెట్ మార్గం. లోడ్ చేయబడిన మాడ్యూల్ ప్రొఫైల్ దాన్ని ఉపయోగిస్తుందని సాక్ష్యం కాదు, మరియు కాన్ఫిగరేషన్ లైన్ కెర్నెల్ దాన్ని అంగీకరించిందని సాక్ష్యం కాదు.

ఒక విషయాన్ని మార్చి, తర్వాత అదే చివరి పాయింట్లు మరియు అదే బదిలీ దిశతో కూడిన స్థిరమైన పనిభారంతో పోల్చండి. మీరు కొలవని వేగ దావా, బ్యాకెండ్ ఎప్పుడూ సందేహంలో లేదని చెప్పే గమనిక కంటే తక్కువ విలువైనది.

సంబంధిత వ్యాసాలు