setakit.com
setakit.com

MSS یا maximum segment size چیست؟

MSS یا maximum segment size چیست؟

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

در صورتی که پکت داده ها را با کامیون مخصوص حمل و نقل مقایسه کنیم، خود کامیون، همان هدر است و باری که حمل می کند، payload است. سپس MSS، همانند ترازو، فقط تریلر را اندازه می گیرد. در صورتی که وزن تریلر بسیار زیاد باشد، کامیون مجاز به ادامه مسیر خود نمی باشد.

اگر بخواهیم به طور دقیق تر بیان کنیم، MSS بزرگ ترین TCP (پروتکل Transport Control) است که یک دستگاه متصل به شبکه می تواند دریافت کند. در حقیقت، MSS، اندازه گیری هر بخش (segment) را به صورت طول payload انجام می دهد، و هدر ضمیمه ی آن را اندازه گیری نمی کند. قابل ذکر است اندازه گیری MSS بر اساس بایت می باشد.

MSS توسط MTU یا maximum transmission unit تعیین می شود که شامل TCP و IP می باشد. برای ادامه تشبیه می توان گفت، MTU، مجموع وزن کامیون به همراه تریلر و باری که حمل می کند را اندازه گیری می کند.

اساسا می توان گفت MSS معادل MTU منهای سایز هدر TCP و هدر IP می باشد.

MTU – (TCP header + IP header) = MSS

یکی از تفاوت های اساسی بین MTU و MSS این است که چنانچه یک پکت بیشتر از MTU دستگاه باشد، آن را به قسمت های کوچک تر تقسیم می نماید. در مقابل، در صورتی که یک پکت بیشتر از MSS باشد، آن را رها نموده و به مقصد نمی رساند.

TCP چیست؟

پروتکل کنترل انتقال یا TCP، پروتکلی است که اطمینان حاصل می کند، پکت های داده، به ترتیب تحویل و دریافت می شوند و هیچ یک از بین نمی روند. مانند خدمات تحویل کالا که زودتر از موعد تحویل بسته با دریافت کننده، تماس گرفته و مطمئن می شود که در منزل هستند، سپس تایید تحویل کالا را برای فرستنده ارسال می کند. TCP نیز تا حدودی به همین روش کار می کند و نحویل صحیح پکت ها را ضمانت می کند.

طول هدرهای TCP و IP  چقدر است؟

هدرهای TCP تقریبا همیشه، به اندازه ی ۲۰ بایت طول دارند. IP header نیز ۲۰ بایت طول دارد و شامل اطلاعاتی نظیر مبدا و مقصد آدرس آی پی می باشد. هم پکت های TCPو هم IP شامل هدرهای اختیاری هستند که باعث می شود طولانی تر شوند، اما هرگز مورد استفاده قرار نمی گیرند.

استفاده از IPSec چگونه بر MSS تاثیر می گذارد؟

IPsec ا(Internet Protocol Security) نسخه ی رمزگذاری شده ی IP می باشد. پکت داده ای که با استفاده از IPSec ارسال می شوند، به هم ریخته می شوند به طوری که تنها دو دستگاه متصل به هم قادر به تفسیر آن ها می باشند، و محتوای آن ها از هر فردی که ممکن است به پکت ها دسترسی پیدا کند، ایمن نگه می دارد. قابل ذکر است غالبا از IPSec برای راه اندازی شبکه های خصوصی مجازی یا V.P*N ها استفاده می شود.

IPSec چندین بایت به طول پکت می افزاید. در ارتباطاتی که از این رمزگذاری  استفاده می شود، MSS می بایست IPSec را نیز این طور در نظر بگیرد:

MTU – (TCP header + IP header + IPsec) = MSS

MSS معیاری برای لایه ی شبکه است یا لایه ی انتقال؟

MSS معیاری برای لایه ی ۴ یا لایه انتقال است و به همراه TCP یا پروتکل لایه انتقال، مورد استفاده قرار می گیرد. با این حال، ارتباط نزدیکی با MTU دارد که در لایه ۳ یا لایه شبکه اعمال می شود.

MSS clamping چیست؟

گاهی اوقات، یک روتر در طول مسیر شبکه، دارای مقدار MTU کمتر از ۱۵۰۰ بایت می باشد. این امر منجر به از دست رفتن پکت می شود و تشخیص آن نیز بسیار دشوار است.

به منظور کسب اطمینان از این که در چنین شرایطی بسته به مقصد می رسد، گزینه ای که در اختیار است کاهش سایز payload ورودی پکت می باشد.  با تنظیم و پیکربندی سرور به منظور اعمال MSS clamp می توان به این گزینه دست پیدا کرد. سرور می تواند MSS را در حین TCP handshaker برای بسته هایی که مایل به دریافت هستند، علامت گذاری کند و سایز payloadها را از سرورهای دیگر به حداکثر برسد. به عنوان مثال، در صورتی که سرورهای A و B از طریق TCP با یکدیگر ارتباط برقرار کنند، و سرور B با MSS 1436بایت ارتباط داشته باشد، سرور A پکت ها را با حداکثر سایز payload 1436بایت در مدت زمان ارتباط، ارسال می کند.

یکی دیگر از کاربردهای MSS clamping در  GRE tunneling است که در آن یک هدر ۲۴بایتی به پکت اصلی اضافه شده تا آن را به مقصد جدید ارسال کند. اگر پکت اصلی بزرگ تر از ۱۴۷۶بایت بود، می توانست بسته ی جدید ایجاد نماید که بیشتر از ۱۵۰۰byte MTU باشد. MSS clamp را می توان در مورد پکت های ورودی کمتر از ۱۵۰۰ بایت نیز اعمال کرد حتی اگر بعد از اعمال GRE header باشد.

 

سایر مطالب مرتبط

تفاوت tcp و udp          لایه شبکه ستاک فناوری ویرا    packet داده ها چیست ستاک فناوری ویرا

تفاوت TCP و UDP                         لایه شبکه                              پکت داده ها