Tuneli hukamilisha handshake yake, maombi madogo hurudi, na uhamishaji mkubwa wa kwanza hukwama. Mchoro huu unaonyesha MTU ya njia mbali kabla ya kuonyesha upitishaji. Kila kiungo kwenye njia hupunguza ukubwa wa pakiti, na ufungashaji hutumia sehemu ya ruhusa hiyo kwa vichwa vya nje, kwa hivyo pakiti ya ndani lazima iwe ndogo kuliko njia ghafi ingedokeza. Kushindwa ni kimya, na hilo ndilo linaloifanya kuwa ghali kuchunguza.

MTU ya njia hupima nini hasa

MTU ya njia ni MTU ndogo zaidi ya kiungo kwenye njia kati ya wenyeji wawili, si MTU iliyochapishwa kwenye kiolesura chako cha ndani. Thamani ya ndani ni mahali ambapo makadirio huanza, na njia huamua mahali inapaswa kuishia. Ndiyo sababu tuneli inayofanana inaweza kufanya kazi kwenye mtandao mmoja wa ufikiaji na kukwama kwenye mwingine: njia ilibadilika, si usanidi. Kupima mara moja na kudhani kila mahali ni kosa linaloendelea kuifanya tatizo hili liwe hai.

Kwa tuneli, nambari muhimu ni MTU ya ndani, ambayo ni ruhusa ya njia ya nje ukiondoa kile ufungashaji hutumia. WireGuard huongeza kichwa cha IP cha nje na kichwa cha UDP; usafirishaji mwingine huongeza vyake. Weka ukubwa wa ndani juu sana na kila pakiti ya ukubwa kamili itahitaji mgawanyiko ambao huenda usitokee kamwe.

Kwa nini tuneli hupunguza pakiti inayoweza kutumika

Ikiwa kiolesura cha tuneli kinahifadhi MTU ya kiungo halisi, kila pakiti kubwa inategemea mtu chini kuwa tayari kuigawanya. IPv4 inaruhusu hilo kwa kanuni, lakini kipanga njia kilichoambiwa kisigawanye hurudisha kosa badala yake. Vipanga njia vya IPv6 havigawanyi kabisa wakati wa usafirishaji, kwa hivyo mpangilio huo huo hujitokeza tofauti kulingana na familia ya anwani. Kwa vyovyote vile, mtumaji hajifunzi chochote hadi kitu kuripoti nyuma.

Matokeo ya kiutendaji ni ukubwa unaotoshea handshake lakini si mzigo. TLS ClientHello au swali la DNS ni ndogo vya kutosha kuvuka njia iliyopunguzwa bila kuguswa, wakati uhamishaji mkubwa hauko hivyo. Kwa hivyo dalili hukusanyika karibu na shughuli maalum na si wenyeji maalum.

Ugunduzi hufanya kazi tu wakati mrejesho unafika

Ugunduzi wa IPv4 hutegemea biti ya don't-fragment: kipanga njia kisichoweza kusambaza pakiti hurudisha ICMP fragmentation-needed pamoja na MTU ya hatua inayofuata, na mtumaji hupunguza makadirio yake. IPv6 hutumia ujumbe wa Packet Too Big badala yake, kwa sababu vipanga njia hawigawanyi wakati wa usafirishaji. Mifumo yote miwili huchukulia kwamba ujumbe utapata njia ya kurudi kwa mtumaji, kupitia tuneli na kupita kizuizi chochote cha moto kwenye njia ya kurudi. Dhana hiyo inaposhindikana, mtumaji huendelea kujaribu ukubwa ambao njia haiwezi kuubeba.

Kizuizi cha moto kinachoruhusu echo request na echo reply si lazima kiruhusu aina hizo za makosa. ICMP ni familia, na wanachama muhimu hapa ni makosa, si jozi ya echo. Angalia sera ya trafiki ya udhibiti kwenye ncha zote mbili za tuneli na kwenye njia kati yao, na fuata mwongozo unaoungwa mkono na jukwaa badala ya kuruhusu kila aina ya ICMP kila mahali.

Uchujaji huo huo unaweza kuwa ndani ya tuneli. Ikiwa njia ya ndani inatupa kosa lakini njia ya nje inalibeba, mtumaji anaweza kujibadilisha kwa kikomo ambacho trafiki iliyofungashwa haioni kamwe kwa kweli.

Jaribu njia badala ya kukisia nambari

Weka mwisho, mtandao wa ufikiaji na tuneli bila kubadilika, kisha badilisha ukubwa wa pakiti pekee. Jaribio la don't-fragment linaloshindikana likiwa na kidokezo cha MTU hukupa kikomo cha hatua inayofuata; rudia hadi ukubwa upite, na rekodi ukubwa na familia ya anwani zote mbili.

ping -M do -s 1400 10.60.20.10
ping -M do -s 1300 10.60.20.10
ping -6 -M do -s 1300 2001:db8::10

Ping inayotoshea haithibitishi kwamba sehemu za ukubwa kamili za programu halisi zinatoshea, kwa hivyo rudia jaribio na uhamishaji ulioshindikana kweli. Linganisha jaribio kubwa zaidi lililofanya kazi na MTU ya tuneli uliyosanidi, na uweke nambari hizo mbili tofauti kwenye madokezo yako. Ikiwa zinatofautiana kwa takriban kichwa kimoja, umepata gharama ya ziada ya ufungashaji na si hitilafu.

PLPMTUD, iliyoelezwa katika RFC 4821, hujaribu kuelekea juu na hutumia uthibitisho wa usafirishaji badala ya kuamini makosa yaliyowasilishwa. Inasaidia kwenye njia zinazochuja ICMP, lakini msaada hutofautiana kwa stack na kwa programu. Mtiririko wa TCP unaweza kujiponya wenyewe wakati programu ya UDP yenye ukubwa maalum wa datagramu inaendelea kushindikana.

Chagua thamani na urekodi sababu

Kupunguza MTU ya tuneli ni uchunguzi na marekebisho halali kwa wakati mmoja mara tu unapojua njia. Si mbadala wa kujua ni njia gani na utaratibu gani wa mrejesho ulihusika, kwa sababu thamani iliyorekebishwa kwa kiungo cha simu itakuwa ndogo bila sababu kwenye muunganisho wa nyuzi. Rekodi ukubwa uliochaguliwa, jaribio lililoihalalisha na hatua ya kurudi nyuma.

Utaratibu wa IPv4 umeelezwa katika RFC 1191 na mwongozo wa upangaji wa IPv6 katika RFC 8201; kutaja zote mbili huzuia mhandisi anayefuata kutoa dhana hiyo upya. Ikiwa uhamishaji bado unakwama kwa ukubwa uliochagua, acha kupunguza nambari na uangalie safu inayofuata. Njia inayoshindikana kwa kila ukubwa si tatizo la MTU.

Makala zinazohusiana