کشف بیشینه واحد انتقال مسیر

**کشف بیشینه واحد انتقال مسیر** (به انگلیسی: **PMTUD**) یک روش استاندارد شده در شبکه‌های کامپیوتری برای تعیین اندازهٔ بیشینه واحد انتقال (ام‌تی‌یو) در مسیر شبکه بین دو میزبان پروتکل اینترنت (IP)، معمولاً با هدف جلوگیری از چندپارگی IP است. *کشف* *بیشینهٔ واحد انتقال مسیر* در ابتدا برای روترها در نسخهٔ چهار پروتکل اینترنت (IPv4) در نظر گرفته شده بود. با این حال همهٔ سیستم عامل‌های مدرن از آن در نقاط انتهایی استفاده می‌کنند. در IPv6 این عملکرد صریحاً به نقاط انتهایی یک جلسهٔ انتقال محول شد.

PMTUD در  برای IPv4، و در  برای IPv6 استاندارد شده‌است (که ، استاندارد قبلیِ IPv6 PMTUD، را منسوخ کرد).   تعمیمی را برای تکنیک‌ها توصیف می‌کند که بدون پشتیبانی شدن از طرف پروتکل کنترل پیام‌های اینترنتی کار می‌کند.  با معرفی راهنماهایی برای استفاده از PMTUD در لایهٔ بسته‌بندی با UDP و SCTP، نسخهٔ RFC 4821 را به روز کرد.

## پیاده‌سازی
برای بسته‌های IPv4، شیوهٔ *کشف بیشینهٔ واحد انتقال مسیر* با تنظیم *بیت پرچم DF (قطعه قطعه نکن)* در هدرهای IP بسته‌های خروجی است. سپس هر دستگاهی در طول مسیر که ام‌تی‌یو ی آن کوچکتر از بسته باشد، آن را رها کرده و یک پیام پروتکل کنترل پیام‌های اینترنتی (ICMP) *نیاز به قطعه بندی* (نوع ۳، کد ۴) حاوی *ام‌تی‌یو* خود را ارسال می‌کند، که به میزبان منبع اجازه می‌دهد تا مقدار *ام‌تی‌یو مسیر* خود را به درخور آن کاهش دهد. این روند تا زمانی تکرار می‌شود که ام‌تی‌یو به اندازه کافی کوچک باشد تا بتوان کل مسیر را بدون قطعه قطعه شدن طی کرد.

روترهای IPv6 از قطعه قطعه کردن پشتیبانی نمی‌کنند و در نتیجه از گزینه *قطعه قطعه نکن* (DF) *پشتیبانی نمی‌کنند. برای* IPv6، کشف ام‌تی‌یو مسیر کار را با در نظر گرفتن ام‌تی‌یو مسیر مانند ام‌تی‌یو در رابط لایه پیوند (جایی که ترافیک آغاز می‌شود) شروع می‌کند. سپس، مشابه IPv4 هر دستگاهی در طول مسیر که ام‌تی‌یو ی آن از بسته کوچک‌تر باشد، بسته را رها می‌کند و پیام ICMPv6 *Packet Too Big* (نوع ۲) حاوی ام‌تی‌یو ی خود را به عقب می‌فرستد، که به میزبان منبع اجازه می‌دهد تا ام‌تی‌یو ی مسیر خود را درخور آن کاهش دهد. این روند تکرار می‌شود تا زمانی که ام‌تی‌یو به اندازه کافی کوچک باشد تا بتواند کل مسیر را بدون قطعه قطعه شدن طی کند.

اگر بعد از راه اندازی اتصال، ام‌تی‌یو ی مسیر تغییر کند و کمتر از ام‌تی‌یو ی مسیر تع*یین شده از قبل* باشد، اولین بسته بزرگ باعث خطای ICMP می‌شود و ام‌تی‌یو ی جدید مسیر که کم‌تر است پیدا می‌شود. برعکس، اگر PMTUD متوجه شود که مسیر ام‌تی‌یویی بزرگتر از آنچه در لینک قبل امکان‌پذیر است را مجاز می‌داند، سیستم عامل به‌طور دوره ای مجدداً بازبینی می‌کند تا ببیند آیا مسیر تغییر کرده‌است و اکنون بسته‌های بزرگتر را مجاز می‌داند یا خیر. هم در لینوکس و هم در ویندوز این تایمر به صورت پیش فرض روی ده دقیقه تنظیم شده‌است.

## چالش‌ها و مسائل
بسیاری از *دستگاه های* به اصطلاح *امنیتی شبکه* تمام پیام‌های ICMP را برای مزایای امنیتی شناخته شده مسدود می‌کنند. از جمله خطاهایی که برای عملکرد صحیح PMTUD ضروری هستند. توجه داشته باشید که این امر علی‌رغم این که مقاله ارجاعی به‌طور خاص توصیف *ICMP خوب* را انجام می‌دهد*،* مانند آنچه برای عملکرد صحیح PMTUD لازم است، اتفاق می‌افتد. این می‌تواند منجر به اتصالاتی شود که دست دادن سه طرفه TCP را به درستی کامل می‌کنند، اما پس از انتقال داده‌ها قطع می‌شوند. به این حالت *اتصال سیاهچاله* گفته می‌شود.

برخی از پیاده‌سازی‌های PMTUD تلاش می‌کنند تا با استنباط اینکه بسته‌های بزرگ محموله(payload) به دلیل ام‌تی‌یو، و نه به دلیل ازدحام لینک حذف شده‌اند، از این مشکل جلوگیری کنند. با این حال، برای اینکه پروتکل کنترل انتقال (TCP) کارایی بیشتری داشته باشد، *پیام‌های غیرقابل دسترسی* ICMP (نوع ۳) باید مجاز باشند. یک روش قوی برای PMTUD که به TCP یا پروتکل دیگری برای بررسی مسیر با بسته‌های تدریجاً بزرگتر متکی است، در RFC 4821 استاندارد شده‌است.

راهکاری که توسط برخی روترها استفاده می‌شود تغییر حداکثر اندازه قطعه (MSS) در تمام اتصالات TCP است که از طریق پیوندهایی با ام‌تی‌یو ی کم‌تر از پیشفرض ۱۵۰۰ اترنت عبور می‌کنند. این به عنوان *بستن MSS* شناخته می‌شود.

## منابع

رده:پروتکل‌های اینترنت
رده:تحلیل شبکه رایانه