حداکثر اندازه قطعه

حداکثر اندازه قطعه (MSS) (به انگلیسی: maximum segment size) پارامتری از قسمت گزینه های سرآیند TCP است که بیشترین مقدار داده ، مشخص شده در بایت را مشخص می کند که یک رایانه یا دستگاه ارتباطی می تواند در یک بخش TCP دریافت کند. هدر TCP یا هدر IP را محاسبه نمی کند (برای مثال ، MTU برای برنامه های داده IP). دیتاگرام IP شامل یک بخش TCP ممکن است در یک بسته منفرد باشد ، یا ممکن است از چندین قطعه تکه تکه شده بازسازی شود. به هر صورت ، محدودیت MSS به مقدار کل داده موجود در بخش TCP نهایی و بازسازی شده اعمال می شود.

برای جلوگیری از تکه تکه شدن در IP layer ، یک میزبان باید حداکثر اندازه قطعه را برابر با بزرگترین دیتاگرام IP تعیین کند که میزبان بتواند بدون توجه به اندازه هدر IP و TCP را مدیریت کند. بنابراین ، میزبان های IPv4 می توانند توانایی مدیریت MSS 536 اکتت (= 576 - 20 - 20) و میزبان های IPv6 نیز توانایی مدیریت MSS 1220 اکت (1280 - 40 - 20) را داشته باشند.

مقادیر کوچک MSS باعث کاهش یا از بین رفتن تکه تکه شدن IP می شود اما منجر به overhead بیشتر می شود.

هر جهت جریان داده ها می تواند یک MSS مختلف استفاده کنید.

برای بیشتر کاربران رایانه ، گزینه MSS توسط سیستم عامل ایجاد می شود.

مقدار پیشفرض 
حداکثر اندازه قطعه پیش فرض TCP مقدار 536 است. در جایی که یک میزبان بخواهد حداکثر اندازه قطعه را روی مقداری غیر از پیش فرض تنظیم کند ، ابتدا در بسته TCP SYN در حین TCP handshake حداکثر اندازه قطعه به عنوان گزینه TCP مشخص می شود. بعد از برقراری اتصال نمی توان مقدار را تغییر داد.

ارتباط بین لایه ها 
به منظور اطلاع MSS به انتهای دیگر ، یک ارتباط بین لایه ای به شرح زیر انجام می شود:

 درایور شبکه (ND) یا رابط، باید حداکثر واحد انتقال (MTU) شبکه مستقیماً متصل را بشناسد.
 IP باید از درایور شبکه حداکثر واحد انتقال را بخواهد.
 پروتکل TCP باید IP برای حداکثر اندازه دیتاگرام داده ها (MDDS) بپرسد.که این برابر با MTU منهای طول سرآیند IP است (MDDS = MTU - IPHdrLen).
 هنگام باز کردن اتصال ، TCP می تواند گزینه MSS را با مقداری برابر با: MDDS - TCPHdrLen ارسال کند. به عبارت دیگر ، مقدار MSS برای ارسال عبارت است از: MSS = MTU - TCPHdrLen - IPHdrLen

هنگام ارسال بخش های TCP به انتهای دیگر ، یک ارتباط بین لایه ای به شرح زیر انجام می شود:

 TCP باید حداکثر بخش حجم داده ها (MSDS) از هر دو به طور پیش فرض و یا ارزش دریافت از گزینه MSS تعیین می کند.
 TCP باید تعیین کند که آیا تکه تکه شدن منبع (با پرسیدن IP) امکان پذیر و مطلوب است.
 در این صورت ، TCP ممکن است به IP ، قطعه‌ها (از جمله سرآیند TCP) تا MSDS + TCPHdrLen را تحویل دهد.
 در غیر اینصورت ، TCP ممکن است به IP ، قطعه‌ها (از جمله سرآیند TCP) تا کمتر از (MSDS + TCPHdrLen) و MDDS دست یابد.
 IP طول داده های منتقل شده توسط TCP را بررسی می کند. اگر طول MDDS کمتر یا مساوی باشد ، آی پی هدر IP را متصل می کند و آن را به ND می سپارد. در غیر این صورت ، IP باید تقسیم بندی منبع را انجام دهد.

MSS و MTU 
MSS گاهی با MTU/PMTU ترکیب می شود ، که مشخصه لایه پیوند(link layer) زیرین است ، در حالی که MSS به طور خاص برای TCP و از این رو لایه حمل و نقل(transport layer) اعمال می شود. این دو از این نظر که حداکثر اندازه بار حمل شده توسط واحد داده پروتکل (protocol data unit) مربوطه خود را محدود می کنند (قاب برای MTU ، بخش TCP برای MSS) مشابه هستند ، و از آنجا که MSS نمی تواند برای پیوند اصلی خود از MTU فراتر رود (با در نظر گرفتن سربار از هدرهایی که توسط لایه های زیر TCP اضافه می شوند). با این حال ، تفاوت بین این دو علاوه بر اعمال به لایه های مختلف ، این است که MSS می تواند در هر جهت دارای مقدار متفاوتی باشد و همچنین فریم های فراتر از MTU ممکن است در نهایت توسط لایه انتقال تقسیم شوند ، در حالی که بخشهای بیش از MSS به سادگی دور ریخته می شوند.

مطالعه بیشتر

مطالب مشابه 

 Path MTU Discovery

منابع 

مقاله‌های ایجاد شده توسط ایجادگر
بسته‌ها (فناوری اطلاعات)