VPN korporatibo baten atzean dagoen container baten barruan, DNSak ebazten du, saio-hasierako orria kargatzen da, osasun-endpoint batek erantzuten du, eta gero HTTPS eskaera bat trabatzen da denbora-muga bete arte. Irudia berreraikitzeak eta proxy aldagaiak aldatzeak ez du ezer aldatzen, huts egiten duen zatia ez baitago irudian. Bezeroa garraio baten bidez autentifikatzen da eta datu masiboak beste baten bidez mugitzen ditu, eta bigarrena bakarrik dago hondatuta.

Bi garraio, sintoma nahasgarri bat

TLSn oinarritutako bezero korporatibo batek normalean TLS konexio arrunt baten bidez autentifikatzen da, eta gero UDPn oinarritutako bigarren datu kanal bat negoziatzen du saiorako. Bigarren hanka hori funtzionatzen duenean, errendimendua eta latentzia hobetzen dira. Iragazten denean edo bidean sartzen ez denean, transferentzia masiboa baino lehenagoko guztiak arrakasta du eta transferentzia bera gelditzen da, hau da, goiko eredua zehatz-mehatz.

Container batek ez du negoziazio hori aldatzen; kanpoko paketeek hartzen duten bidea aldatzen du. Hostak container fluxua itzultzen du, beraz UDP datagramak bezeroaren socket lokalaz beste iturri-portu batetik irteten dira, eta TCP fluxu ezarri batena baino askoz timer laburragoarekin iraungitzen den itzulpen-sarrera batetik itzultzen dira. Tunela hostean funtzionatzen badu eta containerrean huts egiten badu, konparatu bi fluxu horiek aplikazioari errua bota aurretik. Konparazio horrek irudiaren berreraikuntza orok baino gehiago erabakitzen du.

Erabaki esperimentuz, ez intuizioz

Esperimentu merkeenean UDP datu kanala desaktibatzen da eta eskaera errepikatzen da. Erabili komando-lerroko bezeroa mahaigaineko bilgarriaren ordez, bandera benetan aplika dadin: openconnect vpn.example.net --user=you --interface=tun0 --no-dtls. Trabaturik zegoen eskaera orain osatzen bada, DTLS hanka zen arazoa eta gainerakoa zarata zen.

Berretsi emaitza bi noranzkoetan container beretik: eskaera masibo bat banderarekin eta beste bat gabe. Bandera jarraitzen duen portaera-aldaketa froga da; azkenean kargatzen den orria ez da froga.

Banderak konpontzen badu, erabaki zergatik

Hiru baldintzek sintoma bera sortzen dute, eta erantzun desberdinak eskatzen dituzte. Bideak UDP guztiz iragazi dezake, eta horrek bandera sare horretarako erantzun iraunkor egokia bihurtzen du. Bideak UDP onar dezake baina datagrama handiak bota, eta horrek MTUra eramaten du, ez iragazketara. Edo bideak nahikoa galera izan dezake UDP hanka TCPk baino okerrago aritzeko, eta hori gaitasun-erabakia da, ez iristeko erabakia.

Bereizi itzazu konponbide alternatibo bat dokumentatu aurretik. Iragazketak pakete tamaina guztietan irauten du, MTU arazoak atalase batetik gora bakarrik agertzen dira, eta galerak birsorkuntza eta atzerapen aldakor gisa agertzen dira, ez trabatze garbi gisa. Proba bakoitzak arrazoia estutzen du bezeroaren konfigurazioa aldatu gabe.

Egiaztatu paketearen tamaina konponbidea mantendu aurretik

Tamaina bada arrazoia, tunelaren interfazeak bideak eraman ezin dituen paketeak onartzen ditu, eta arazoa edozein garraioren bidez itzultzen da karga handitzen den bezain laster. Konparatu interfazeak: ip link show tun0 hostean, gero docker network inspect bridge sare-aukeretan erregistratutako MTUa irakurtzeko. Gutxiago garraiatzen duen tunel baten azpian oraindik 1500 byteetan dagoen container zubia da ohiko aurkikuntza.

Probeatu gora ezagutzen den tamaina on batetik, tunelaren barruan zatikatze-ukapen proba batekin, gero jaitsi container sarearen MTUa edo estutu TCP MSS tunelaren gainean. Bi zuzenketatatik edozeinek sarritan UDP bidea berriro erabilgarri egiten du eta banderaren beharra kentzen du, eta hori da emaitza hobea iragazketa arrazoia ez denean.

Erabaki zer trukatzeko prest zauden

Datu kanala desaktibatuta, tunelak bere karga TCP konexio baten barruan eramaten du. Bide garbian hori motelagoa besterik ez da; galerak dituen bidean, galdutako segmentu batek atzeratzen du atzetik datorren guztia eta kanpoko birsorkuntzak barrukoarekin lehiatzen du. Truke hori garapen interaktiboari eta API dei txikiei datorkie, eta gaizki egokitzen da transferentzia masiboekin edo estekak mugikorren bidezko saio luzerekin.

Edozein aukera hautatzen duzula ere, erregistratu zein garraio erabili zuen tunelek azkenean eta zergatik. Duela hilabete batzuk norbaitek gehitu zuen bandera baten isilka menpe dagoen container bat da hurrengo etenaldia, eta hura arazten duenak ez daki bandera iragazketarako konponbide bat izan zen ala MTU esperimentu baten hondarra.

Erlazionatutako artikuluak