Nid yw UDP bob amser yn gyflymach: dewis cludo OpenVPN
Mae UDP yn ddewis rhagosodedig synhwyrol ar gyfer OpenVPN, nid yn farn. Cymharwch gludwyr ar yr un llwybr a’r un dasg, a gwiriwch pa wrandawr sy’n rhedeg mewn gwirionedd.
Mae pob canllaw’n dweud bod UDP yn curo TCP ar gyfer OpenVPN, a rhagosodiad yw’r cyngor hwnnw, nid mesuriad. Mae’r cludydd yn newid sut y caiff pecynnau eu danfon a beth sy’n digwydd pan fydd y llwybr yn eu gollwng, nid sut y caiff y twnnel ei amgryptio. Y tu ôl i borth carcharor neu brocsi sy’n caniatáu porth 443 yn unig, y dewis arafach yw’r un sy’n cysylltu o gwbl. Mae’r hyn sy’n dilyn yn gwahanu’r hyn y mae’r protocol yn ei wneud oddi wrth yr hyn y mae eich rhwydwaith mynediad yn ei ganiatáu.
Beth mae’r cludydd yn ei newid mewn gwirionedd
Mae TCP yn danfon ffrwd beit ddibynadwy ac mewn trefn ac yn ailanfon popeth a gollir, fel y mae RFC 9293 yn ei nodi. Mae UDP yn rhoi datagramau i’r rhwydwaith, ac mae OpenVPN yn rhedeg ei haen ddibynadwyedd ei hun dros y soced hwnnw. Mae amgáu TCP y tu mewn i TCP yn pentyrru dwy ddolen adfer, felly gall un segment a gollwyd ddal y ffrwd fewnol yn ôl nes bod yr ail-drosglwyddiad allanol yn cyrraedd. Y rhyngweithiad hwnnw yw gwir reswm dros UDP, ac mae’n ymddangos fel oedi yn hytrach na thrwybwn.
Mae’r effaith yn tyfu gyda cholled ac amser taith gron. Ar lwybr lleol glân mae’r ddau gludydd yn teimlo’n unfath, a dyna pam y mae prawf labordy yn anaml yn ail-greu’r gŵyn. Ar gyswllt symudol orlawn mae’r gwahaniaeth yn ymddangos mewn sesiynau rhyngweithiol ymhell cyn i drosglwyddiad mawr sylwi ar unrhyw beth.
Nid yw dim o hyn yn cyffwrdd cyfrinachedd nac uniondeb. Mae ysgydwad llaw TLS a seiffr y sianel ddata yr un peth ar gyfer y ddau gludydd, felly ni all newid achub seiti seiffr wan.
Lle mae TCP yn ennill ei le
Rhwydweithiau mynediad yw’r rheswm arferol dros ddewis TCP. Gall gwesty, maes awyr neu rwydwaith gwestai ganiatáu 443 allanol a gollwng popeth arall, a gwrandawr TCP ar y porth hwnnw yw’r unig broffil sy’n gweithio. Cyraeddadwyedd yw hyn, nid perfformiad, ac mae’n rheswm digon da ynddo’i hun.
Mae TCP hefyd yn helpu pan fo’r llwybr yn sefydlog ond y blychau canol yn elyniaethus. Mae rhai rhwydweithiau’n ailosod ffrydiau UDP hirhoedlog tra’n goddef sesiynau TCP sy’n edrych fel traffig gwe cyffredin. A yw’r tebygrwydd hwnnw’n llwyddo sy’n briodwedd i’r rhwydwaith penodol, ac ni all unrhyw ganllaw ei addo ar gyfer pob un. Profwch y tu mewn i’r rhwydwaith sy’n methu cyn beio’r protocol.
Nid yw mewngofnodiad a wrthodwyd yn broblem cludo. Mae analluogi dilysu tystysgrif i wthio cysylltiad drwodd yn newid gwahanol gyda chanlyniad llawer gwaeth.
Cadw proffil TCP yn barod yw’r cyfaddawd ymarferol. Mae’r rhan fwyaf o gleientiaid yn storio’r ddau ac yn gadael i chi newid pan fo rhwydwaith yn gwrthod y llwybr UDP, ac nid yw’n costio dim nes bod ei angen arnoch. Yr hyn na ddylech ei wneud yw danfon dau broffil sy’n pwyntio at bwyntiau terfyn gwahanol, oherwydd yna mae’ch cymhariaeth yn mesur y gweinyddwyr.
Gwiriwch pa wrandawr sydd gennych mewn gwirionedd
Cyn cymharu perfformiad, cadarnhewch fod y ddau ben yn cytuno ar y cludydd a’r porth. Nid yw newid proto udp i proto tcp mewn ffeil cleient yn creu gwrandawr gweinydd. Rhaid i’r gweinydd gael ei gyflunio ar gyfer y protocol hwnnw, a rhaid i’r proffil gyd-fynd ag ef.
grep -E '^(proto|port|remote)' /etc/openvpn/server.conf
ss -lunp | grep openvpn
ss -ltnp | grep openvpn
Mae grep yn argraffu’r hyn y dywedwyd wrth y gweinydd i’w ddefnyddio, tra mae’r ddau restr soced yn dangos i beth y mae wedi’i rwymo. Mae gwrandawr UDP yn ymddangos yn y rhestr gyntaf yn unig a gwrandawr TCP yn yr ail yn unig, felly llinell sydd ar goll yw’r ffordd gyflymaf i ddod o hyd i broffil na chafodd ei gymhwyso erioed. Cymharwch y porth hefyd, oherwydd mae proffil TCP ar 1194 yn ymddwyn yn wahanol i un ar 443 yn y rhan fwyaf o rwydweithiau mynediad. Ailgychwynnwch y gwasanaeth ar ôl y newid a darllenwch y llinell yn y cofnod sy’n adrodd am y rhwymo.
Mae cadarnhad ar ochr y cleient yn rhad: rhedwch y cysylltiad gyda --verb 4 a darllenwch y llinell gludo yn y cofnod. Os yw’r cleient yn dweud UDP tra bo’r gweinydd yn gwrando ar TCP, ni fydd yr ysgydwad llaw byth yn dechrau ac ni fydd unrhyw diwnio’n helpu.
Cymharwch y llwyth gwaith, nid label y cludydd
Mae cymhariaeth deg yn cadw popeth ac eithrio’r cludydd yn gyson. Yr un ddyfais, yr un rhwydwaith mynediad, yr un gwesteiwr cyrchfan, yr un cymhwysiad, ac yn ddelfrydol yr un gweinydd. Os yw’r ddau broffil yn pwyntio at westeiwyr gwahanol, rydych yn mesur y gwesteiwyr hynny hefyd.
Cofnodwch dri chanlyniad ar gyfer pob rhediad: a yw’r twnnel yn sefydlu, a yw’n aros i fyny, ac a yw’r dasg yn gorffen. Ceisiadau bach sy’n gweithio tra bo trosglwyddiadau mawr yn mynd yn styc sy’n awgrymu maint pecyn ac MTU, nid y cludydd. Ailgysylltiadau mynych sy’n awgrymu’r llwybr neu derfyn amser blwch canol.
Cadwch y proffil sy’n gweithio o dan yr amodau a gewch mewn gwirionedd, a chadwch y llall wedi’i storio. Mae’r dewis yn perthyn i’r rhwydwaith, nid i’r person, a dyna pam mae unrhyw ateb rhagosodedig sengl yn anghywir yn rhywle.