Eng interaktiv Shell iwwer den Tunnel fréiert e puer Sekonnen, während eng Dateikopie leeft, a setzt duerno weider, wéi wann näischt geschitt wier. Nëmmen den Download huet e Problem, awer och d'Shell waart, an déi zwou erhuelen sech am selwechte Moment. Dee Muster ass d'Ënnerschrëft vun engem eenzege zouverlässege Stroum, dee vill Gespréicher dréit, an hien iwwersteet bal all Upassung, déi d'Leit als Éischt probéieren.

D'Symptom ass et wäert, suergfälteg ze liesen, well et op e Mechanismus weist an net op eng Astellung: d'Paus ass gedeelt, also ass d'Ursaach gedeelt, an dat gedeelt Objet ass déi baussenzeg Verbindung. Alles anescht am Logbuch gesäit normal aus, während et geschitt.

D'Symptom: alles pauséiert gläichzäiteg

Zwou bannenzeg Verbindunge, déi zesummen hänken, sinn den Hiwäis. En luesen Download an eng lues Shell sinn getrennte TCP-Gespréicher mat getrennten Nummere vun der Reiefolleg an getrenntem Iwwerlaaschtungszoustand, also sollt e Feeler an der enger déi aner net beréieren. Wann se am selwechten Takt pauséieren, ass et eppes iwwer hinnen, wat hir Byten uerdent.

Dat eppes ass den Transport vum Tunnel. Am TCP-Modus schreift OpenVPN déi agepaakte Paketen an eng eenzeg TCP-Verbindung zum Peer, an de Kontrakt vun TCP ass d'Liwwerung an der Rei vun engem eenzegen Bytestroum. Méi spéit Byten ginn net virun de fehlenden un d'Applikatioun ginn, egal zu wéi engem bannenzege Gespréich se gehéieren.

Passt op, wat d'Symptom net seet. Et seet net, datt de Wee futti ass, datt de Server iwwerlaascht ass oder datt d'Verschlësselung lues ass. Déi ginn aner Formen: gläichméisseg niddereg Duerchsetzung, Zäitlimits oder Feeler, déi eng Richtung treffen. Eng gedeelt Paus, déi ophält, wann e verluerene Segment nach eng Kéier geschéckt gëtt, ass genee en Uerdnungseffekt.

En eenzegen äussere Bytestroum, vill bannenzeg Gespréicher

Stellt Iech den Tunnel vir, deen gläichzäiteg en Download an eng Shell dréit. E Segment vun der baussenzeger Verbindung geet verluer. Déi nächst Segmenter kënnen um empfangenden Host ukommen, an de TCP-Stack do bestätegt se, awer en kann se net uewen eraus ginn, bis d'Lach gefëllt ass. Dofir huet OpenVPN näischt fir d'Shell ze liesen, obwuel d'Byten vun der Shell selwer scho laang komm sinn.

Dëst ass eng Blockade am Kapp vun der Schlaang bannent enger Verbindung, an et brauch net, datt déi zwou Applikatiounen eng bannenzeg Verbindung deelen. Si deelen déi baussenzeg, an dat duet.

Den Effekt vun der zweeter Uerdnung mécht et schlëmmer. En bannenzegen Ofsender, deen keng Bestätegungen gesäit, kann Dateien nach eng Kéier schécken, déi déi baussenzeg Schicht schonn ze liwweren probéiert. Déi Neisendung gëtt zousätzlechen Tunneltrafic op engem Wee, dee just bewisen huet, datt hie Segmenter ka verléieren, also konkurréiert d'Erhuelungsaarbecht mat der Erhuelung, déi wichteg ass.

Näischt vun dësem garantéiert e Kollaps. Op engem proppere Wee mat kuerzen Hinnen-an-zréck-Zäiten an grousse Schlaangen kann dës Opstellung Joeren laang ganz brauchbar sinn. De Feeler erschéngt, wann Verloscht, Verzögerung an d'Déift vun der Schlaang zesummenfalen, an dofir sammelen sech d'Rapporten ëm iwwerlaascht Opwärtsverbindungen an mobil Verbindungen an net ëm gutt ageriicht Büroen.

Firwat en längeren bannenzege Timer net ka hëllefen

D'Erhéijung vun der minimaler Neisendungszäit op engem Wee mat rto_min verspéit d'timerbaséiert Neisendung fir lokal produzéierten TCP-Trafic, deen dee Wee benotzt. Et ass e richtegen Hiewel mat enger richteget Wirkung, an hie geet de Problem vun der zweeter Uerdnung un an net deen éischten.

ip route show
ip route show cache 2>/dev/null | head
ss -tin dst 10.70.0.1

Wat hie net kann: baussenzeg Byten aus der Rei erausloossen, dat fehlend Segment méi séier erhuelen oder deen entfernten Applikatiounsserver dozou bréngen, deeselwechten Timer unzehuelen. Den empfangenden Stack liwwert weider an der Rei, an den Ofsender um aneren Enn benotzt weider seng eege Moossnamen.

Hie schalt och net all aner Mechanismen zur Erhuelung vu Verloschter aus. Wou richtege Verloscht eng timerbaséiert Erhuelung brauch, léisst e gréissere Minimum d'Applikatioun méi laang waarden, ier se handelt, wat d'Géigendeel vu deem ass, wat eng latenzempfindlech Sitzung brauch.

En fixe Buedem vun zwielef Sekonnen erschéngt an de Rotschléi zu dësem Thema, wéi wann d'Existenz vun engem TCP-Tunnel en implizéiert. Den Neisendungstimer, deen am RFC 6298 beschriwwen ass, gëtt aus der gemoossener Hinnen-an-zréck-Zäit mat exponentiellem Zréckzuch ofgeleet, also ass e konstante Buedem eng Choix vun der Politik fir e bestëmmte Wee an net eng Fuerderung vum Protokoll. Breit ugewannt, verkleet hien d'Symptom a ännert gläichzäiteg d'Erhuelung fir all Floss, deen dee Wee deckt.

Wat tcp-nodelay mécht an net mécht

D'Optioun vum Tunnel, déi d'Buffering am Nagle-Stil op dem Transportsocket ausschalt, huet en enke Zweck: se hält kleng Schreiwen dovun of, op méi Dateien ze waarden, ier se geschéckt ginn. Dat hëlleft interaktiven Trafic, eng zousätzlech Verzögerung op engem soss gesonde Wee ze vermeiden.

Se mécht den Transport net onuerdentlech, an se verkierzt net d'Erhuelung no engem verluerene Segment. Eng Shell, déi wéinst engem Neisendungs-Zäitlimit pauséiert, pauséiert och mat ageschalt Optioun, well d'Optioun ni d'Reiereegel beréiert huet.

Déi zwou ze verwiesselen ass einfach, well se allen zwou als Latenzkorrekture beschriwwe ginn. Déi eng huet eng kënschtlech Waardezäit ewech, déi d'Buffering agefouert huet, déi aner géif verlaangen, dat z'änneren, wat den Transport garantéiert, an dat mécht keng Socket-Optioun.

Wéi een Transporten éierlech vergläicht

Wann den Operator et erlaabt an déi zwou Servicer existéieren, vergläicht een UDP-Service an en TCP-Service mat der selwechter Aarbechtslaascht iwwer deeselwechte Zougangswee zum deeselwechte Server. De Wiessel vu Land, Ubieder oder Servergeneratioun tëschent den zwou Tester bréngt eng Variabel eran, déi d'Resultat dominéiere wäert.

Kuckt op d'gedeelt Paus an net op eng Duerchsetzungszuel. E puer bannenzeg Applikatiounen, déi zesummen hänken, während en äussere Verloscht besteet, ass d'Observatioun, déi d'Blockade am Kapp vun der Schlaang identifizéiert; eng eenzeg méi niddereg Geschwindegkeetszuel mécht dat net.

Autoriséiert Opnamen um Tunnelinterface an um physikaleschen Interface trennen déi zwou Schichten proppereg, well bannenzeg an äusserzeg Neisendungen zu verschiddenen Verbindungen mat verschiddene Reiefollegsraim gehéieren. Bannenzeg Neisendungen ze gesinn, während den äusseren Stroum eng Lach weist, ass de direkte Beweis.

De Wiessel op UDP hëlt den zousätzleche zouverlässege Stroum ewech an iwwerléisst dem bannenzegen TCP seng eegen Erhuelung. En versprécht net null Verloscht oder niddereg Latenz, an eng saturéiert Opwärtsverbindung, ze grouss Schlaangen oder en MTU-Problem mussen nach ëmmer behuewen ginn. Den Trafic baussen dem Tunnel gëtt ni hannert dem Reiefollegsloch vum Tunnel gehal, obwuel en nach ëmmer ka leiden, wann déi zwou Weeër eng eenzeg iwwerlaascht Verbindung deelen, an dee gedeelten Engpass verdéngt seng eegen Enquête, amplaz hei eragefalt ze ginn.

Ähnlech Artikelen