درخواست های ارتباط
جستجو تنظیمات
لیست دوستان من
صندوق پیام
همه را دیدم تنظیمات
  • در حال دریافت لیست پیام ها
صندوق پیام
  • در حال دریافت لیست رویدادها
همه رویدادهای من

تفاوت بین MTU ( Maximum Transmission Unit ) با MSS ( Maximum Segment Size) در چیست ؟

8 نظرات
خوب شما هم ممکن است به عنوان یک ITPRO در یک روتر یا مودم اینترنت و در قسمت تنظیمات مربوط به PPPOE مواردی به شکل MTU یا MSS را دیده باشید. MTU در واقع با توجه به معنی لغوی که Maximum Transmission Unit می باشد به معنی حداکثر اندازه واحد قابل انتقال یک بسته IP بر روی یک لینک ارتباطی می باشد. در واقع اگر بسته اطلاعاتی یا Packet ای اندازه ای بزرگتر از اندازه MTU داشته باشد سیستم بصورت خودکار بسته را Fragment یا تکه تکه کرده و تبدیل به تکه های کوچکتر می کند و در قسمت های بعدی ارسال خواهد کرد. توجه کنید که در مکانیزم ارتباطی که در IPv6 استفاده می شود دیگر فرآیند Fragmentation یا تکه تکه سازی انجام نمی شود.اما MSS مخفف Maximum Segment Size می باشد که برای بسته های اطلاعاتی از نوع TCP بیشتر مورد استفاده قرار می گیرد ، برخلاف MTU که اگر بیشتر از اندازه باشد تکه تکه می شود در MSS اگر یک Segment بیشتر از اندازه تعریف شده باشد دیگر تکه تکه نخواهد شد بلکه بصورت کلی Segment مورد نظر نادیده گرفته خواهد شد و اتصال قطع می شود.

تفاوت MTU و MSS در چیست


MSS خودش را درگیر فرآیند TCP Handshake نمی کند و به ازای هر Packet نیز درخواست یک تاییده نمی کند و معمولا به ازای یک Session تاییده ها را دریافت و ارسال می کند. زمانیکه شما از ارتباطات PPPOE استفاده می کنید اگر بار ترافیکی یا Overhead شما زیاد است نیاز دارید که MSS را در مسیر ارتباطی کاهش بدهید . البته اینکار باید با محاسبه و دقیق انجام شود. PPPoE بصورت خودکار 8 بایت ( 6 بایت بصورت PPPoE و 2 بایت بصورت PPP ) بر روی هر چیزی اعم از IP یا TCP اضافه می کند و این بدین معناست که بصورت پیشفرض بر روی شبکه های Ethernet ما عدد 1500 بایت را برای MTU داریم و این در حالی است که عدد 1492 بصورت خودکار برای MSS در تنظیمات پیشفرض قرار گرفته است.علاوه بر اینها برای ساده تر شدن مفهوم توجه کنید که عدد و مقداری که برای MSS در نظر گرفته می شود از عددی که برای MTU قرار داده شده است گرفته می شود. برای مثال اگر شما یک Packet به اندازه 800 بایت داشته باشید یعنی Packet اصلی 2260 بایت اگر باشد ، Packet شما در زمان انتقال به دو قسمت 1460 بایتی و 800 بایتی تقسیم خواهند شد ، این در حالی است که MTU شما عدد 1500 باشد یعنی شکسته شدن یا Fragment شدن بسته اطلاعاتی ، دقت کنید که اگر MSS شما عدد 800 باشد عدد MTU شما حداقل باید 840 باشد ، با توجه به اینکه Overhead ای که PPPOE بر روی سیستم قرار می دهد 8 بایت است ، هر چند می دانم این مطلب کمی مبهم است اما فقط به این توجه داشته باشید که MTU بزرگتر از MSS است و یکی در قالب Packet و دیگری در قالب Segment کار می کنند ، MTU اگر بسته بزرگ دریافت کند می شکند و MSS اینکار را نمی کند برای درک ایندو در حال حاضر کافی است. ITPRO باشید

نویسنده : محمد نصیری
منبع : ITPRO
هرگونه نشر و کپی برداری بدون ذکر منبع و نام نویسنده دارای اشکال اخلاقی می باشد

برچسب ها
مطالب مرتبط
نظرات
  • بسیار کامل و زیبا
    ممنون
    فقط استاد طریقه بدست اوردن رو هم لطف میکنید بگید؟

  • مطلب مفیدی بود ولی همونطوری که فرمودید مقداری مبهم بود.
    اصلا کاربرد MSS چی هست؟ یا بهتر بگم کجا و به چه دلیل به MSS بر می خوریم؟ اصلا چرا باید MSS چک بشه مگه در نهایت MTU سایز رو چک نمی کنه؟

  • بنظرم MSS در ارتباطات غیر اتصال گرا یا همون Connectionless و در مقابل MTU در ارتباطات اتصال گرا یا Connection oriented استفاده میشه.و اینکه MTU بر کل بسته اطلاعاتی اعم از header و payload نظارت داره اما MSS فقط بر payload نظارت میکنه.اگه اشتباه میکنم لطفا بگین...
  • فکر نکنم Connection-less باشه چون همیشه MSS در رابطه با TCP مطرح میشه که میدونیم Connection Oriented هستش.
  • در پاسخ دوستی که اولین پست رو گذاشتند اگر فرض کنیم MTU پیشفرض 1500 و MSS پیشفرض 1460 باشه فرمول محاسبه :
    MSS = MTU - 20(IP header) - 20(TCP Header) = 1460
    
  • در پاسخ به سئوال دوم باید بگم که بحث این هست که TCP//IP یک پروتکل ترکیبی UDP و TCP هست همونطور که از اسمش پیداست ، MSS پارامتری هست که در Option های فیلدهای یک TCP Header بررسی می کنه که اندازه ارسال و دریافت یک Segment در لایه چهارم ( نه در لایه سوم ) چقدر باید باشه ( به بایت ) این پارامتر MSS فقط و فقط مربوط به TCP Segment میشه و هیچکاری با TCP Header نداره که در IP Header قرار گرفته ، بر خلاف MTU که با IP Header کار داره ، ساده تر بگم MSS برای اندازه TCP Header و MTU برای اندازه IP Header استفاده میشن.
  • البته چون بحث Connection Less و Connection Oriented شد باید بگم که IP یک پروتکل Connection Less و TCP یک پروتکل Connection Oriented هست و تجمیع این دو پروتکل ترکیبی به نام TCP//IP شده که سرعت و دقت هر دو نوع پروتکل رو داخلش داره ، بنابراین همزمان باید از MSS و MTU استفاده کرد در TCP//IP
  • یه نکته ای الان به ذهنم رسید گفتم بگم که خالی از لطف نباشه اینکه مفهومی به نام MTU black hole وجود داره که black hole یا همون حفره سیاه در شبکه های کامپیوتری به ناحیه ای گفته میشه که packet ها drop شدن و هرگز از اون ناحیه استفاده نمیشه و دلیل اینکه پکت ها drop میشن اینه که سایز MTU از سایز پکت کوچکتر هستش.

برای ارسال نظر ابتدا به سایت وارد شوید

arrow