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

حداکثر اندازه قطعه (MSS)   پارامتری از قسمت گزینه های پروتکل هدایت انتقال (TCP) است که بیشترین مقدار داده ، مشخص شده در بایت را مشخص می کند که یک رایانه یا دستگاه ارتباطی می تواند در یک بخش تی‌سی‌پی دریافت کند. هدر تی‌سی‌پی یا هدر آی‌پی را محاسبه نمی کند (برای مثال ، MTU برای برنامه های داده IP)RFC 879, page 2, Section 3, "The MSS counts only data octets in the segment, it does not count the TCP header or the IP header.". دیتاگرام آی‌پی شامل یک بخش تی‌سی‌پی ممکن است در یک بسته منفرد باشد ، یا ممکن است از چندین قطعه تکه تکه شده بازسازی شود. به هر صورت ، محدودیت MSS به مقدار کل داده موجود در بخش TCP نهایی و بازسازی شده اعمال می شود.

برای جلوگیری از تکه تکه شدن در لایه اینترنت ، یک میزبان باید حداکثر اندازه قطعه را برابر با بزرگترین دیتاگرام IP تعیین کند که میزبان بتواند بدون توجه به اندازه هدر IP و TCP را مدیریت کند.RFC 2460, page 28, Section 8.3 بنابراین ، میزبان های IPv4 می توانند توانایی مدیریت MSS 536 اکتت (= 576 - 20 - 20)RFC 879, page 1, Section 1 و میزبان های IPv6 نیز توانایی مدیریت MSS 1220 اکت (1280 - 40 - 20)RFC 2460, page 24, Section 5 را داشته باشند.

مقادیر کوچک MSS باعث کاهش یا از بین رفتن تکه تکه شدن IP می شود اما منجر به سربار بیشتر می شود.The TCP/IP Guide, TCP Maximum Segment Size (MSS) and Relationship to IP Datagram Size

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

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

 مقدار پیشفرض 
حداکثر اندازه قطعه پیش فرض TCP مقدار 536 است.RFC 879, page 1, Section 1, "The default TCP Maximum Segment Size is 536." در جایی که یک میزبان بخواهد حداکثر اندازه قطعه را روی مقداری غیر از پیش فرض تنظیم کند ، ابتدا در بسته TCP SYN در حین TCP handshake حداکثر اندازه قطعه به عنوان گزینه TCP مشخص می شود. بعد از برقراری اتصال نمی توان مقدار را تغییر داد.RFC 793, page 19, Section 3.1, "This field must only be sent in the initial connection request (i.e., in segments with the SYN control bit set)."

 ارتباط بین لایه ها 
به منظور اطلاع MSS به انتهای دیگر ، یک ارتباط بین لایه ای به شرح زیر انجام می شود:RFC 879, page 1, Section 11

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

هنگام ارسال بخش های TCP به انتهای دیگر ، یک ارتباط بین لایه ای به شرح زیر انجام می شود:RFC 879, page 1, Section 11

 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 به سادگی دور ریخته می شوند.

 مطالعه بیشتر 




 جستارهای وابسته 

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

 منابع 

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