Pingid vastavad, DNS lahendab ja iga leht, mis vajab täissuuruses segmenti, jääb seisma. Ühendusel, mis lisab omaenda kapselduse, kaotab rada vaikselt paar tosinat baiti eelarvest, ja puhta Etherneti jaoks kirjutatud profiil küsib jätkuvalt pakette, mida liin kanda ei suuda. Ühendus ei ole aeglane; see viskab ära täpselt need paketid, mis loevad.

Kolm valikut saavad seda parandada ja need toimivad erinevatel kihtidel. Vale valik ei tee kas midagi või muudab tunnelid uuel moel hapraks, seega algab otsus sellest, mida rada tegelikult toetab.

Kolm nuppu, kolm erinevat kihti

link-mtu on väline eelarve: krüpteeritud kasulik koormus pluss OpenVPN-i päis, UDP päis ja väline IP päis. See kirjeldab, mis masinast väljub, ja seetõttu on see arv, mida füüsiline rada piirab.

tun-mtu on sisemine eelarve: liides, mida teie liiklus näeb. See on täpselt tunneli ülekulu võrra suurem kui see, mida rada kanda suudab, ja OpenVPN tuletab selle tavaliselt ise, selle asemel et lasta teil seda seada.

mssfix on hoopis teine mehhanism. See kirjutab ümber TCP kätlemiste ajal teatatud maksimaalse segmendi suuruse, et TCP partnerid valiksid segmendid, mis pärast kapseldust ära mahuvad. See ei muuda liidese MTU-d ja ei mõjuta UDP-d üldse.

Kui seate link-mtu selgesõnaliselt, lahutab OpenVPN oma ülekulu, et tuletada sisemine MTU. See ülekulu ei ole fikseeritud konstant; see sõltub šifrist ja autentimisest, mistõttu foorumist kopeeritud väärtus võib teises profiilis vale olla. Mõlema, link-mtu ja tun-mtu, seadmine annab kliendile kaks vastuolulist juhist.

Mõõtke rada enne mis tahes arvu valimist

Mõõtke füüsiliselt liideselt, mitte tunnelist seespoolt, ja pidage meeles, et ping teatab kasuliku koormuse, mitte paketi suuruse. Lisage 28 baiti IPv4 ja ICMP päiste jaoks, enne kui võrdlete kasulikku koormust 1500-baidise kaadriga, ja hoidke seda parandust meeles, kui partner teatab teistsuguse arvu.

Linuxi kliendis keelab ping -M do -s 1472 fragmenteerimise ja ebaõnnestub, kui pakett on liiga suur. Vähendage kasulikku koormust, kuni see läbi läheb, seejärel lisage 28, et saada raja MTU. PPPoE maksab 8 baiti, seega on DSL-i puhul 1492 tavaline. DS-Lite ja mõned mobiilsed rajad maksavad 40 või rohkem, ja vastus on tavaliselt madalam, kui nominaalne lingi kiirus vihjab.

Kui iga pingi suurus õnnestub, aga suured ülekanded jäävad siiski seisma, kahtlustage musta auku, mitte lihtsat suuruspiiri. ICMP teade vajaliku fragmenteerimise kohta filtreeritakse kuskil rajal välja, seega saatja ei õpi kunagi vähendama ja ainult suurt segmenti vajavad vood märkavad seda.

Piirake esmalt TCP-d, kahanage seejärel tunnelit

TCP kätlemised on ainus, mida mssfix puudutab, mistõttu on see tavaliselt kõige vähem segav juhtimisvahend, mida esimesena proovida. Seadke see veidi alla raja tegelikku eelarvet, saatke serverist sama väärtus, et mõlemad otsad nõustuksid, ja testige uuesti suurt allalaadimist. Kui tupik kaob, oli probleem TCP segmendi suurus ja midagi muud ei pea muutma.

Vähendage sisemist MTU-d, kui mõjutatud liiklus ei ole TCP. UDP teenus, tunnel tunneli sees või rakendus, mis saadab täissuuruses datagramme, ebaõnnestub pärast MSS piirangut jätkuvalt, sest miski ei kirjuta ümber selle paketi suurust. Vähendage selleks tun-mtu, või seadke link-mtu ja laske kliendil sisemine väärtus tuletada, kuid mitte kunagi mõlemat.

Ärge haarake vana fragmenteerimisvaliku järele. See lõikas pakette tunnelis, lisas ülekulu ja on heade põhjustega vananenud; kaasaegne OpenVPN eeldab, et rada kirjeldatakse täpselt.

Miks väikesed sondid ikka töötavad

DNS päringud, ICMP kajad ja TCP kätlemised on kõik ebaõnnestuvast suurusest palju väiksemad. Tunnel tundub seetõttu igas kiires testis terve, samal ajal kui TLS kätlemised ja HTTP vastused vaikselt ebaõnnestuvad. Just see kombinatsioon, töötav traceroute ja brauser, mis takerdub esimese suure vastuse peale, on märk, mida otsida. Haarake täissuuruses sondi järele enne, kui haarate uue profiili järele.

Kontrollige liiklusega, mis ebaõnnestus. Laadige suur leht, saatke täissuuruses UDP datagramm, kui see on mõjutatud teenus, ja korrake teiselt kliendilt teisel ühendusel. Pange kirja mõõdetud raja MTU ja valitud väärtus, sest järgmine inimene, kes profiili puutub, peab seda arvu muidu meelevaldseks.

Ärge viige sisemist MTU-d kunagi alla 1280, kui IPv6 jookseb üle tunneli, sest see on miinimum, mida iga IPv6 link peab kandma. Väiksem MTU on fakt raja kohta, mitte jõudluse säte, mida tunde järgi timmida.

Seotud artiklid