DNS-ը լուծվում է, SSH նստաշրջանը մնում է, և հետո մեծ վերբեռնումը սառչում է, մինչդեռ նույն հոսթին ուղղված ping-ը դեռ պատասխանում է։ Այդ բաժանումը մատնանշում է փաթեթի չափը, ոչ թե կոտրված թունել։ Ներդրված թունելները դրան հասնում են այնպիսի չափերի դեպքում, որոնց ոչ մի թունել առանձին չէր հասնի։ Ներքին նստաշրջանը նորմալ է, պարզապես նրան տրվում են փաթեթներ, որոնք այլևս չեն տեղավորվում։

Ուր է իրականում գնում ուղու MTU-ն

Յուրաքանչյուր ինկապսուլացիա ծախսում է բայթեր, մինչև հաջորդ շերտը հերթ ստանա։ Ethernet ուղին արտաքին փաթեթին առաջարկում է 1500 բայթ, և արտաքին թունելը վերցնում է իր բաժինը, մինչև դրա ներսում որևէ բան հասցեավորվի։ Մեկ գուշակված գերածախսի արժեքը սխալ կլինի հենց այն չափով, որն էական է։

Թվարկեք շերտերը հերթականությամբ՝ հասանելիության ուղի, արտաքին տրանսպորտ, արտաքին թունել, ներքին տրանսպորտ, ներքին թունել, հավելված։ Հաշվեք յուրաքանչյուր վերնագիր մեկ անգամ, և UDP-ն առանձին պահեք թունելի սեփական վերնագրից ու պիտակից։

Երկու WireGuard շերտ, հաշված մեկ անգամ

Վերցրեք IPv4 հասանելիության ուղի՝ մեկ WireGuard թունելով մյուսի ներսում։ Արտաքին շերտն արժե 20 բայթ IPv4, 8 բայթ UDP և 32 բայթ WireGuard-ի տվյալների վերնագրի ու դրա նույնականացման պիտակի համար։ Դրա ներսում ներքին թունելին անհրաժեշտ են իր սեփական 20 բայթանոց IPv4 վերնագիրը և 8 բայթանոց UDP վերնագիրը՝ նախքան իր երկրորդ 32 բայթ WireGuard գերածախսը։ Մնացածը պարունակում է IPv4 վերնագիր, TCP վերնագիր և տվյալները։ Արտաքին IPv6 ուղին արժե 40՝ 20-ի փոխարեն, և թողնում է 1320։

LayerBytes
Path MTU1500
Outer IPv4 header20
Outer UDP header8
Outer WireGuard header and tag32
Inner transport IPv4 header20
Inner UDP header8
Inner WireGuard header and tag32
Innermost IPv4 header20
TCP header20
Payload that fits1340

Թվաբանությունը հասնում է 1340 բայթի։ Նույն կանոններով մեկ շերտը TCP-ի օգտակար բեռի համար թողնում է 1400, այսինքն՝ 1500 հանած 20, 8, 32, 20 և 20, իսկ 60 բայթ տարբերությունը հենց այն ներքին ինկապսուլացիան է, որն ավելացնում է երկրորդ թունելը։

Կիրառեք 1400-ը ներդրված ուղու վրա, և ներքին թունելին 60 բայթ պակասում է՝ անտեսանելի, մինչև փաթեթը բավական մեծանա, որ դրանք պետք գան։ Լրացումը և արձանագրության սեփական մասնատման տարբերակը կրկին տեղափոխում են թվերը, ուստի վստահեք աղյուսակին։

MTU-ն, MSS-ը և մասնատումը գործում են տարբեր տեղերում

Ինտերֆեյսի MTU-ն սահմանափակում է, թե ինչ կարտահանի ինտերֆեյսը, մինչդեռ TCP MSS սեղմումը փոխում է, թե ինչ պատրաստ է ուղարկել TCP զուգընկերը։ Սեղմումը շտկում է TCP նստաշրջանները և ոչինչ չի անում մեծ UDP դատագրամի համար, այդպես է, որ շտկումը հաջող է թվում մեկ հավելվածի համար և լուռ բաց թողնում հաջորդը։ Արձանագրության սեփական մասնատման տարբերակը երրորդ լծակն է՝ իր ձախողումներով։ Ինտերֆեյսի MTU-ն սովորական առաջին քայլն է և ամենակոպիտը։

Կամրված և երթուղավորված թունելները տարբեր շրջանակներ են տեղափոխում, ուստի այլ տեղակայման թվերը հազվադեպ են փոխանցվում։ Ուղու MTU-ի հայտնաբերումը, որը նկարագրված է RFC 8201-ում, օգնում է միայն այնքան ժամանակ, քանի դեռ դրանից կախված ICMP հաղորդագրությունները թույլատրվում են անցնել։

Պակասող շերտը գտնելը

Ստուգեք յուրաքանչյուր թունել առանձին՝ նախքան դրանք ներդնելը, եթե պահանջները թույլ են տալիս համեմատություն, և ֆիքսված չափի զոնդը որոշում է դա։ ping -M do -s 1472 -c 3 10.8.0.1 այն ուղարկում է ամբողջական 1500 բայթանոց IPv4 փաթեթ այդ շերտի ներսում։ Ավելացրեք երկրորդ շերտը և կրկնեք նույն զոնդը, որպեսզի ցանկացած ձախողում պատկանի հայտնի փոփոխության։

Երբ փոխանցումը կանգ է առնում, միաժամանակ փոխեք մեկ փաստաթղթավորված պարամետր և գրանցեք ձախողվող չափը։ Ստուգեք նաև վերադարձի ուղին, որովհետև ներդրված երթուղիների ռեկուրսիան կարող է բավական ճշգրիտ ընդօրինակել փաթեթի չափի խնդիրը՝ արժենալով մի ամբողջ կեսօր։ Զտված ICMP պատասխանը կարող է թաքցնել իրական սահմանը, ուստի զոնդն ավելի կարևոր է, քան դատողությունը։

Գրեք բյուջեն այնտեղ, որտեղ կգտնի հաջորդ մարդը

Մեկ տողով աղյուսակը յուրաքանչյուր շերտի համար ավելի երկար է ապրում, քան մատի կանոնը։ Պահեք այն թունելի գծապատկերի կողքին, որ ոչ ոք ճնշման տակ նորից չհաշվի թվաբանությունը։

Ավելի շատ թունելներ նշանակում են ավելի շատ կախվածություններ, ուստի հետադարձի պլանը իր տեղն է վաստակում բյուջեի կողքին։ Եթե թվերը դեռ չեն գումարվում, չափեք ուղին՝ նորից գուշակելու փոխարեն։ Նպատակը թվանշան է, որը կարող եք պաշտպանել, ոչ թե հիշել։

Առնչվող հոդվածներ