Einhver segir þér að VPN-ið "tapi pökkum vegna MTU", þú setur göngin í 1400 og flutningurinn virkar aftur. Þessi niðurstaða líður eins og greining. Venjulega er þetta tilviljun í reikningnum: þú valdir tölu sem er nógu lítil til að komast undir mörk sem þú greindir aldrei, og þú munt hitta sömu mörk aftur á næsta neti með annarri fjárveitingu.

Tvær kenningar valda mestum hluta þessa. Sú fyrsta er að MTU göngutengisins sé MTU slóðarinnar. Sú önnur er að innpökkun kosti "einn haus" og að PPPoE kosti ekkert sem sé þess virði að telja. Báðar eru rangar á þann hátt að talan sem þú velur virðist handahófskennd þótt hún sé í raun ákveðin.

Kenning ein: MTU ganganna er MTU slóðarinnar

Gildið sem þú setur á göngutengi er staðbundið loforð um stærsta innri pakkann sem útfærslan mun afhenda niður. Raunveruleg afkastageta slóðarinnar er eiginleiki hverrar hlekkjar milli þín og fjarlæga endans, og hún getur breyst þegar leið breytist, þegar farsímatenging fer yfir eða þegar umferð tekur aðra peering. Uppsett 1500 segir þér hvað hýsillinn þinn byggir, ekki hvað netið ber.

Uppgötvun slóðar-MTU er til að sætta þessi tvö og fer eftir endurgjöf. Með IPv4 á leiðari sem getur ekki sent áfram pakka í fullri stærð að senda ICMP skilaboð "fragmentation needed", og sendandinn lækkar mat sitt. Með IPv6 er samsvarandi skilaboð Packet Too Big, og leiðarar sundra alls ekki í gegnumferð. Þegar þessi endurgjöf er síað heldur sendandinn áfram að framleiða pakka sem slóðin getur ekki borið, og ekkert segir honum hvers vegna.

Kenning tvö: innpökkun kostar einn haus

Teldu ytri lögin heiðarlega. Ytri IP-haus er 20 bæti með IPv4 eða 40 með IPv6. UDP-innpökkun fyrir NAT-gegnumferð bætir við 8. Göngusamskiptareglurnar bæta við eigin haus, frumstillingarvigri eða nonce, fyllingu að blokkar- eða jöfnunarmörkum dulritunarinnar, endabút og heilleikaprófunargildi. Eftir samskiptareglum og dulritun er samtalan þægilega í tugum bæta áður en innri pakkinn byrjar jafnvel.

Dragðu svo aftur frá fyrir eigin hausa innri pakkans. TCP-hluti inni í göngunum ber sinn eigin 20 bæta IP-haus og 20 bæta TCP-haus, og MSS TCP er leiddur af MTU, ekki af nafnverði nytsemis ganganna. Þess vegna getur ping með minna nytsemi tekist á meðan skráarflutningur stöðvast: verkfærin prófa ólíka hluti, og aðeins eitt þeirra notar TCP-hluta í fullri stærð.

ip link show tun0
ping -M do -s 1472 192.0.2.10
ping -M do -s 1400 192.0.2.10

Fyrsta skipunin greinir frá uppsettu MTU ganganna. Prófin tvö senda 1472 bæta nytsemi, sem með 28 bætum af IPv4 og ICMP hausum er 1500 bæta pakki, og svo minni. Ef stóra prófið mistekst algjörlega og það litla tekst, hefur þú bilun sem fer eftir stærð en ekki almenn leiðavandamál.

Kenning þrjú: PPPoE gefur þér enn hrein 1500

Hefðbundin PPPoE-aðgangstenging ber ekki 1500 bæta IP-pakka. PPPoE-hausinn ásamt PPP-samskiptareglusviðinu taka 8 bæti inni í Ethernet-rammanum, sem skilur 1492 eftir fyrir IP-pakkann. Þetta er hefðbundna markið sem lýst er í RFC 2516. Ef þú keyrir VPN yfir slíka tengingu kemur yfirbygging ganganna úr þessum 1492, ekki úr 1500.

RFC 4638 skilgreinir leið til að semja um stærri PPP-nytsemi þegar bæði aðgangsþéttirinn og búnaður viðskiptavinarins styðja það, og þess vegna sannar "þessi tenging notar PPPoE" eitt sér ekki ákveðna tölu. Staðbundin stilling getur ekki þvingað millitæki til að samþykkja pakka sem það var aldrei stillt fyrir, svo gagnlega spurningin er hvað tengingin samdi í raun um, ekki hvað merkimiðinn segir.

Hvers vegna bilunin virðist sértæk

Að litlar beiðnir takist og stórir flutningar stöðvist er klassískt einkenni svarthols í slóðar-MTU. Handabandið, DNS-fyrirspurnin og API-kallið komast öll fyrir; magnflutningurinn framleiðir hluta í fullri stærð sem deyja á einni hlekk, og ICMP-skilaboðin sem áttu að tilkynna vandamálið berast aldrei. Tengingin virðist í lagi og niðurhalið hangir, sem fær fólk til að horfa á netþjóninn í stað slóðarinnar.

Önnur, skyld mistök eru að rugla saman þremur tölum: MTU tengisins, MSS TCP og eigin sundrunar- eða fyllingarstillingu samskiptareglnanna. MSS-þrenging á leiðara endurskirfar tilkynnt MSS svo sendandinn byggi minni hluta; hún breytir ekki MTU ganganna og hjálpar ekki UDP-umferð. Að gefa öllum þremur sömu tölu vegna þess að þær virðast skyldar er leiðin sem velviljuð breyting brýtur vinnandi uppsetningu.

Hverju á að breyta, og í hvaða röð

Byrjaðu á sönnunargögnum. Staðfestu með prófunum hér að ofan að bilunin fari eftir stærð, og finndu þá minnstu stærð sem kemst í gegn og þá stærstu sem mistekst. Athugaðu raunverulegt MTU aðgangstengingarinnar áður en þú kennir göngunum um; PPPoE-tenging takmarkar fjárveitinguna áður en VPN-ið snertir hana. Skráðu upprunalegu gildin svo hægt sé að afturkalla breytinguna.

Beittu svo minnstu aðlöguninni sem biðlarinn skjalfestir. Margir biðlarar bjóða MTU ganganna ásamt MSS-viðgerðarvalkosti, og MSS-valkosturinn er oft betri lyftistöng fyrir TCP því hann nær sendandanum án þess að minnka hvern pakka. Prófaðu sama áfangastað og sama flutning aftur, og skráðu tölurnar sem þú lentir á. Göngugildi sem virkar á einu aðgangsneti er ekki alheimsfasti, og næsti staður mun hafa sína eigin fjárveitingu.

Tengdir greinar