الحد الأقصى لحجم القطعة
يُعدّ الحد الأقصى لحجم المقطع ( MSS ) أحد معايير حقل الخيارات في رأس بروتوكول التحكم بالنقل (TCP) ، وهو يُحدد أكبر كمية من البيانات، مُقاسة بالبايت ، التي يُمكن لجهاز كمبيوتر أو جهاز اتصالات استقبالها في مقطع TCP واحد . ولا يشمل هذا الحد رأس بروتوكول التحكم بالنقل (TCP) أو رأس بروتوكول الإنترنت (IP ) (على عكس، على سبيل المثال، الحد الأقصى لوحدة النقل ( MTU ) لحزم بيانات بروتوكول الإنترنت). [ 1 ] : §3.7.1 قد تكون حزمة بيانات بروتوكول الإنترنت التي تحتوي على مقطع TCP مُضمنة في حزمة واحدة، أو قد يتم إعادة بنائها من عدة أجزاء مُجزأة ؛ وفي كلتا الحالتين، ينطبق حد MSS على إجمالي كمية البيانات الموجودة في مقطع TCP النهائي المُعاد بناؤه.
لتجنب التجزئة في طبقة بروتوكول الإنترنت (IP) ، يجب على المضيف تحديد الحد الأقصى لحجم القطعة (MSS) بحيث يساوي أكبر حزمة بيانات IP يمكن للمضيف معالجتها مطروحًا منها حجمي رأس IP وTCP. على الرغم من عدم وجود حد أدنى مطلوب لحجم القطعة (MSS) محدد في مواصفات IETF RFC ، إلا أن هناك حدًا أدنى لحجم وحدة النقل القصوى (MTU)، وبالتالي يتم حساب حجم القطعة (MSS) الافتراضي عن طريق طرح الحد الأدنى لحجمي رأس IP وTCP من حجم وحدة النقل القصوى (MTU). على سبيل المثال، عادةً ما يكون حجم القطعة (MSS) الافتراضي لمضيفي IPv4 هو 536 بايت (= 576 - 20 - 20)، بينما يكون حجم القطعة (MSS) الافتراضي لمضيفي IPv6 هو 1220 بايت (= 1280 - 40 - 20). [ 1 ] : §3.7.1
ستؤدي قيم MSS الصغيرة إلى تقليل أو إزالة تجزئة IP ولكنها ستؤدي إلى زيادة الحمل الزائد . [ 2 ]
يمكن لكل اتجاه من اتجاهات تدفق البيانات استخدام MSS مختلف.
بالنسبة لمعظم مستخدمي الكمبيوتر، يتم تحديد خيار MSS بواسطة نظام التشغيل .
يجب خصم حجم خيارات TCP (متغير من 0 إلى 320 بت، بوحدات 32 بت) من حجم MSS في حال تفعيل خيارات TCP. على سبيل المثال، يتم تفعيل طوابع TCP الزمنية افتراضيًا على منصات Linux.
القيمة الافتراضية
يبلغ الحد الأقصى الافتراضي لحجم مقطع TCP لبروتوكول IPv4 536، بينما يبلغ 1220 لبروتوكول IPv6. [ 1 ] : §3.7.1 عندما يرغب المضيف في تغيير الحد الأقصى لحجم المقطع عن القيمة الافتراضية، يتم تحديد هذا الحد كخيار TCP، مبدئيًا في حزمة TCP SYN أثناء عملية المصافحة . ولا يمكن تغيير هذه القيمة بعد إنشاء الاتصال.
التواصل بين الطبقات
لإخطار الطرف الآخر بنظام MSS، يتم إجراء اتصال بين الطبقات على النحو التالي: [ 3 ] : §11
- يجب أن يعرف برنامج تشغيل الشبكة (ND) أو الواجهة وحدة الإرسال القصوى (MTU) للشبكة المتصلة مباشرة.
- ينبغي أن يطلب بروتوكول الإنترنت من برنامج تشغيل الشبكة وحدة الإرسال القصوى.
- ينبغي لبروتوكول TCP أن يطلب من بروتوكول IP تحديد الحد الأقصى لحجم بيانات حزمة البيانات (MDDS). وهو يساوي الحد الأقصى لوحدة الإرسال (MTU) مطروحًا منه طول رأس بروتوكول IP (MDDS = MTU − IPHdrLen).
- عند فتح اتصال، يمكن لبروتوكول TCP إرسال خيار MSS بقيمة تساوي: MDDS − TCPHdrLen. بعبارة أخرى، قيمة MSS المراد إرسالها هي: MSS = MTU − TCPHdrLen − IPHdrLen
أثناء إرسال أجزاء TCP إلى الطرف الآخر، يتم إجراء اتصال بين الطبقات على النحو التالي: [ 3 ] : §11
- ينبغي لبروتوكول TCP تحديد الحد الأقصى لحجم بيانات المقطع (MSDS) إما من القيمة الافتراضية أو القيمة المستلمة لخيار MSS.
- ينبغي لبروتوكول TCP أن يحدد ما إذا كان تجزئة المصدر ممكناً (عن طريق سؤال IP) وما إذا كان مرغوباً فيه.
- إذا كان الأمر كذلك، فقد يقوم بروتوكول TCP بتسليم أجزاء (بما في ذلك رأس TCP) إلى بروتوكول IP حتى MSDS + TCPHdrLen.
- وإلا، فقد يقوم بروتوكول TCP بتسليم أجزاء (بما في ذلك رأس TCP) إلى بروتوكول IP حتى الأقل من (MSDS + TCPHdrLen) و MDDS.
- يقوم بروتوكول الإنترنت (IP) بفحص طول البيانات المُمرَّرة إليه عبر بروتوكول التحكم بالنقل (TCP). إذا كان الطول أقل من أو يساوي MDDS، يُلحق بروتوكول الإنترنت رأس IP ويُسلِّمه إلى مُوَصِّل الشبكة (ND). وإلا، يجب على بروتوكول الإنترنت إجراء تجزئة المصدر.
MSS و MTU
يُخلط أحيانًا بين MSS و MTU/PMTU ، وهي خاصية لطبقة الربط الأساسية ، بينما ينطبق MSS تحديدًا على بروتوكول TCP، وبالتالي على طبقة النقل . يتشابه المصطلحان في كونهما يحددان الحد الأقصى لحجم البيانات التي تحملها وحدة بيانات البروتوكول الخاصة بهما (الإطار لـ MTU، ومقطع TCP لـ MSS)، وهما مرتبطان لأن MSS لا يمكن أن يتجاوز MTU للرابط الأساسي (مع الأخذ في الاعتبار أي رؤوس إضافية تُضاف من الطبقات الأدنى من TCP). مع ذلك، يكمن الاختلاف، بالإضافة إلى تطبيقهما على طبقات مختلفة، في أن: (1) MSS يمكن أن يأخذ قيمة مختلفة في كلا الاتجاهين، و(2) الإطارات التي تتجاوز MTU قد تتسبب في تجزئة الحزم (التي تغلف المقاطع) بواسطة طبقة الشبكة ، بينما يتم تجاهل المقاطع التي تتجاوز MSS ببساطة.
للمزيد من القراءة
- كومر، دوغلاس إي. (2006). الربط الشبكي باستخدام بروتوكول TCP/IP . المجلد 1 (الطبعة الخامسة ). أبر سادل ريفر، نيوجيرسي، الولايات المتحدة الأمريكية: برنتيس هول.
- كوزيروك، تشارلز م. (2005-09-20). دليل بروتوكول TCP/IP ( الإصدار 3.0) . تم الاطلاع عليه بتاريخ 2011-09-08 .
انظر أيضاً
مراجع
- 1 2 3 دبليو. إيدي، محرر. (أغسطس 2022). بروتوكول التحكم في الإرسال (TCP) . فريق عمل هندسة الإنترنت . doi : 10.17487/RFC9293 . ISSN 2070-1721 . STD 7. RFC 9293 . المعيار السابع للإنترنت. يلغي المعايير RFC 793 و 879 و 2873 و 6093 و 6429 و 6528 و 6691 . ويُحدّث المعايير RFC 1011 و 1122 و 5961 .
- ↑ دليل TCP/IP ، الحد الأقصى لحجم مقطع TCP (MSS) وعلاقته بحجم حزمة بيانات IP
- 1 2 ج. بوستل (نوفمبر 1983). الحد الأقصى لحجم مقطع TCP والمواضيع ذات الصلة . مجموعة عمل الشبكة. doi : 10.17487/RFC0879 . RFC 879 .قديم. تم إلغاؤه بموجب RFC 7805 و 9293. تم تحديثه بموجب RFC 6691 .
- الحزم (تكنولوجيا المعلومات)
- بروتوكول التحكم في الإرسال
