Je manjši VPN MTU hitrejši? Primerjajte dejanske dokaze
Nižji MTU lahko obide omejitev poti in še vedno stane prepustnost. Primerjajte dejansko omejitev, stroške glav in obremenitev, preden spremembo obdržite.
Tunel zavrže velike prenose, a spusti ping, zato nasvet pride hitro: znižajte MTU. Popravek včasih deluje, nato pa se uporabi na vsakem profilu v vsakem omrežju. Takrat ciljni popravek postane trajni davek na zmogljivost. Primerjava, ki jo je treba narediti, je med dejansko mejo poti in stroškom pomanjšanja vsakega paketa pod njo.
Kaj se pri znižanju MTU zares zmanjša
Vsak paket nosi glave, preden nosi vaše podatke. Na poti Ethernet s 1500 bajti IPv4 in TCP porabita 40 bajtov in pustita 1460 za koristni tovor; zapiranje doda na vrh zunanje glave IP, UDP in tunela, zato notranji proračun tovora spet pade. Znižanje MTU vmesnika ta proračun namerno zmanjša.
Strošek je sorazmeren s številom paketov, ne s številom bajtov. Ista datoteka, razdeljena na več paketov, potrebuje več prekinitev, več odločitev o usmerjanju in več obdelave na paket na vsaki napravi vzdolž poti. Na usmerjevalniku, ki je že blizu meje paketov na sekundo, je to resnična upočasnitev in ne napaka zaokroževanja. Strošek se pokaže tudi, ko sam prenos uspe.
Zato je manjši MTU obvoz okoli omejitve, ne splošna optimizacija. Kupi zanesljivost proti poti, ki ne more nositi večjega okvira, in zaračuna dodatne stroške za vsak paket, ki pomanjšanja ni potreboval.
Kdaj je manjši MTU pravi popravek
Klasičen simptom je konkreten: rokovanje TCP se zaključi, prispejo majhni odgovori, velik prenos pa se ustavi ali ponastavi. Ping z bitom »ne drobi« pri 1472 bajtih ne uspe, medtem ko ping s 1400 bajti uspe, kar kaže na pot, ki ne more nositi paketa polne velikosti in ne dostavi sporočila ICMP, ki bi pošiljatelju povedalo, naj zmanjša.
Odkrivanje MTU poti je odvisno od teh sporočil ICMP o potrebnem drobljenju. Ko jih požarni zid zavrže, pošiljatelj vedno znova poskuša z velikim paketom in povezava se zdi obešena. Znižanje MTU na strani tunela se izogne ponavljanju, in to je legitimno popravilo za to omrežje.
Tudi dostopne tehnologije postavljajo svoje meje: PPPoE se običajno ustavi pri 1492, nekatere mobilne in DSL poti so nižje, gnezdni tuneli pa odštejejo stroške dvakrat. Izmerite dejansko pot, namesto da kopirate številko iz vodnika, in ne pozabite, da IPv6 zahteva vsaj 1280 bajtov MTU na vsaki povezavi, ki ga prenaša, kot določa RFC 8200.
Primerjajte tri krmilnike, preden enega spremenite
MTU, MSS in drobljenje so različni krmilniki na različnih plasteh, in zamenjava napačnega pusti simptom na mestu.
| Control | Layer | What it changes | Where it misleads |
|---|---|---|---|
| Interface MTU | IP link | Largest frame the interface will send | Penalizes every protocol, not just the one that failed |
| TCP MSS clamp | TCP | Segment size advertised in the handshake | Leaves UDP and QUIC untouched |
| DF and fragmentation | IP | Whether a router may split a packet | Can break path MTU discovery and security assumptions |
| Tunnel overhead | Encapsulation | Inner MTU after outer headers | Mismatch shows up only for large inner packets |
Omejevanje MSS je pogosto najmanj invazivno popravilo, ker vpliva le na TCP in pusti vmesnik prost za drug promet. Nižji MTU vmesnika je širši in lažje premišljen, zato je pogost na domačih usmerjevalnikih, vendar vsakemu protokolu zaračuna težavo enega protokola.
Izklop vedenja »ne drobi« skrije simptom tako, da dovoli drobljenje, in običajno poslabša zakasnitev, hkrati pa zlomi povratno informacijo, ki bi našla pravo velikost. Izogibajte se temu kot trajnemu popravilu.
Izmerite kompromis, ne eno številko
Poiščite mejo poti s sondo »ne drobi«, začnite visoko in se spuščajte, dokler ne pride odgovor:
ping -M do -s 1472 203.0.113.10
ping -M do -s 1400 203.0.113.10
tracepath 203.0.113.10Nato primerjajte dejansko nalogo pri obeh nastavitvah: isti prenos datoteke, isto končno točko in isto omrežje. Zabeležite čas dokončanja in ponovne prenose, na primer s nstat -az TcpRetransSegs, in opazujte CPU naprave, če se tunel konča na majhnem usmerjevalniku. Kratek sintetični test prepustnosti lahko zgreši zastoj, ki se pojavi šele po nekaj megabajtih.
Števci paketov bodo po zmanjšanju narasli, ker isti prenos zdaj uporablja več paketov. To je pričakovano in ni dokaz višje prepustnosti. Primerjajte dokončane podatke aplikacije, število ponovnih prenosov in odzivnost, ne le hitrosti paketov.
Spremembo uvajajte postopoma in jo ohranite omejeno
Zabeležite prvotno vrednost, spremenite en krmilnik in pred trajno uvedbo meritev ponovite. Če dokazi ne pokažejo koristi, obnovite prejšnjo vrednost z istim ukazom vmesnika, s katerim ste jo nastavili:
ip link set dev wg0 mtu 1420
ip link set dev wg0 mtu 1500Rezultat omejite na omrežje, ki ga je potrebovalo. Profil, ki mora delovati v hotelskem Wi-Fi, na mobilni dostopni točki in v pisarniškem LAN, ne bi smel podedovati najnižje vrednosti, ki jo zahteva katero koli od njih, razen če odjemalec ne more zaznati poti.
Pravilna vrednost je največji MTU, ki preživi pot, ne najmanjši, ki povzroči, da simptom izgine. Dokumentirajte pot, rezultat sonde in vrnitev, in nastavitev ponovno preglejte, ko se dostopno omrežje spremeni.