حاسبة MTU إلى MSS
المدخلات
| MTU | 1,500 B |
|---|---|
| ترويسة IP | 20 B |
| ترويسة TCP | 20 B |
حاسبة MTU إلى MSS
احسب حجم المقطع الأقصى (MSS) في TCP من وحدة الإرسال القصوى (MTU) للمسار بطرح ترويستَي IP وTCP، وشاهد ما حصة كل حزمة التي تحمل حمولة فعلية.
المدخلات
أحجام الحزم
النتائج
أدخل قيمة لعرض النتائج.
حجم المقطع الأقصى
كفاءة الحمولة
MTU إلى MSS
حجم المقطع الأقصى (MSS) هو أكبر كتلة من بيانات التطبيق يضعها TCP في حزمة واحدة. وهو مشتق من وحدة الإرسال القصوى (MTU) للمسار — أكبر حزمة IP يمكن للوصلة أن تحملها — بحجز مساحة لترويستَي IP وTCP. وضبط MSS بدقة يُبقي الحزم سليمة: فالقيمة الأكبر من اللازم تفرض التجزئة أو، وهو الأسوأ، فقدًا صامتًا للحزم، بينما القيمة الأصغر من اللازم تهدر السعة على نفقات الترويسة. وتحسب هذه الحاسبة قيمة MSS وكفاءة الحمولة الناتجة من ثلاثة أعداد من البايتات.
الصيغة
MSS=MTU−HIP−HTCP E=MTUMSSحيث هي وحدة الإرسال القصوى بالبايت، و هو حجم ترويسة IP، و هو حجم ترويسة TCP، و هي كفاءة الحمولة — أي حصة كل حزمة كاملة الحجم التي تحمل بيانات فعلية بدلًا من الترويسات.
أحجام الترويسات هي الأجزاء المتغيّرة الوحيدة. ترويسة IPv4 البسيطة 20 بايت، وترويسة TCP البسيطة 20 بايت، لذا تكلّف الاثنتان معًا على مسار إيثرنت قياسي 40 بايت لكل حزمة. ويستخدم IPv6 ترويسة ثابتة أكبر مقدارها 40 بايت، ويمكن لخيارات TCP مثل الطوابع الزمنية وإشعار الاستلام الانتقائي (SACK) أن تضيف بضعة بايتات أخرى.
مثال محلول. مسار إيثرنت قياسي مع IPv4:
MSS=1500−20−20=1460 bytes E=15001460=0.9733=97.3%إذن 1460 بايت من كل حزمة بحجم 1500 بايت تحمل حمولة، ونحو 2.7% تستهلكه ترويستا IP وTCP. والانتقال إلى IPv6 مع MTU نفسه بحجم 1500 بايت يكلّف 20 بايت إضافية من الترويسة، فيهبط MSS إلى 1440 بايت والكفاءة إلى 96.0%.
لماذا يهمّ MSS
يُعلن TCP قيمة MSS الخاصة به للطرف الآخر أثناء مصافحة SYN في بداية كل اتصال. ويَعِد كل طرف بألّا يرسل أبدًا مقطعًا أكبر من القيمة التي تلقّاها، فلا تُنتِج أيٌّ من نقطتَي النهاية حزمة لا يستطيع المسار حملها. وحين يكون حجم MSS مضبوطًا بدقة لأصغر MTU على طول الطريق، تسافر كل مقطع سليمًا ويعمل TCP بكامل الكفاءة.
وتظهر المشكلات حين تكون الحزمة أكبر مما يمكن لإحدى الوصلات حمله. فإما أن يجزّئها الموجّه — مقسّمًا حزمة واحدة إلى عدة حزم، مما يضيف نفقات وعملًا لإعادة التجميع — أو، إن ضُبطت راية «عدم التجزئة»، يُسقطها ويُرسل إشارة بذلك عبر رسالة ICMP. فإن رشّح جدار حماية تلك الرسالة، ظل المُرسِل يعيد إرسال حزمة أكبر من اللازم لا تصل أبدًا، فيتعطّل الاتصال. ويُعرف هذا الإخفاق بثقب MTU الأسود للمسار.
الترويسات وقيم MTU الشائعة
يعتمد MSS كليًا على MTU وعلى أيٍّ من الترويسات تنطبق. وتتكرر بضع قيم مرارًا:
| المسار | MTU (بايت) | ترويستا IP + TCP | MSS (بايت) |
|---|---|---|---|
| إيثرنت، IPv4 | 1500 | 20 + 20 | 1460 |
| إيثرنت، IPv6 | 1500 | 40 + 20 | 1440 |
| PPPoE (DSL)، IPv4 | 1492 | 20 + 20 | 1452 |
| أطر عملاقة، IPv4 | 9000 | 20 + 20 | 8960 |
تغلّف الأنفاق مثل الشبكات الخاصة الافتراضية وGRE وIPsec كل حزمة بترويساتها الخارجية الخاصة، مما يقلّص MTU المتاح للحزمة الداخلية. ولهذا غالبًا ما تُعلن اتصالات الشبكات الخاصة الافتراضية قيمة MSS أقل بكثير من 1460، ولهذا كثيرًا ما «تثبّت» الموجّهات قيمة MSS — معيدةً كتابة القيمة المُعلنة نحو الأسفل — لإبقاء حركة المرور سارية عبر وصلة مغلَّفة.
كفاءة الحمولة وقيم MTU الأكبر
لأن تكلفة الترويسة ثابتة لكل حزمة، يوزّع MTU الأكبر تلك التكلفة على حمولة أكبر ويرفع الكفاءة. فـ MTU بحجم 1500 بايت يحقّق كفاءة 97.3% مع ترويسات IPv4؛ بينما يدفع إطار عملاق بحجم 9000 بايت تلك الكفاءة إلى ما فوق 99.5%. كما تعني الحزم الأكبر عددًا أقل من الحزم في الثانية لمعدّل النقل نفسه، مما يخفّف حمل المعالجة لكل حزمة على الموجّهات وجدران الحماية وبطاقات الشبكة. ولهذا تشيع الأطر العملاقة داخل مراكز البيانات وعلى شبكات التخزين، حيث يمكن ضبط كل جهاز على المسار على قيمة MTU الأكبر.
حاسبات ذات صلة
لتحويل حجم الحزمة إلى معدّل حزم لسرعة وصلة معطاة، استخدم حاسبة حاسبة الحزم في الثانية. ولتقدير المدة اللازمة لنقل ملف بعد معرفة معدّل الحمولة، انظر حاسبة حاسبة زمن نقل البيانات. ولتخطيط الشبكات الفرعية والعناوين على الشبكة نفسها، تُعدّ حاسبة حاسبة الشبكات الفرعية (CIDR) رفيقًا مفيدًا.
الأسئلة الشائعة (FAQ)
ما الفرق بين MTU وMSS؟
MTU (وحدة الإرسال القصوى) هي أكبر حزمة IP يمكن للوصلة أن تحملها، بما في ذلك جميع الترويسات. وMSS (حجم المقطع الأقصى) هي أكبر حمولة TCP تتسع داخل تلك الحزمة، فهي تستبعد ترويستَي IP وTCP.
وبوجود MTU بحجم 1500 بايت وترويستَي IPv4 وTCP بحجم 20 بايت لكلٍّ منهما، يكون MSS هو 1500 − 20 − 20 = 1460 بايت. ويُعلن TCP قيمة MSS الخاصة به أثناء مصافحة الاتصال.
لماذا يكون 1500 هو قيمة MTU الافتراضية؟
1500 بايت هو حجم الحمولة القياسي لإيثرنت، ولأن إيثرنت يهيمن على شبكات الوصول السلكية والواي فاي، تستقرّ معظم مسارات الإنترنت على MTU بحجم 1500 بايت من طرف إلى طرف.
وبعض الوصلات تحمل أقل من ذلك: فاتصالات PPPoE غالبًا ما تستخدم 1492 بايت، وتطرح الأنفاق (الشبكات الخاصة الافتراضية وGRE وIPsec) تغليفها الخاص، تاركةً 1400 بايت أو أقل للحزمة الداخلية.
كيف تغيّر الأطر العملاقة قيمة MSS؟
ترفع الأطر العملاقة قيمة MTU إلى نحو 9000 بايت، وهو أمر شائع داخل مراكز البيانات وشبكات التخزين.
وبوجود MTU بحجم 9000 بايت و40 بايت من ترويستَي IPv4 وTCP، يرتفع MSS إلى 8960 بايت. وعندئذٍ تحمل كل حزمة حمولة أكبر بكثير نسبةً إلى تكلفة ترويستها الثابتة، مما يرفع الكفاءة ويقلّل عدد الحزم التي يجب على العتاد معالجتها لكمية معطاة من البيانات.
ما هو اكتشاف MTU للمسار ولماذا هو مهم؟
يتيح اكتشاف MTU للمسار (PMTUD) لنقاط النهاية أن تجد أصغر MTU على طول الطريق كي تحدّد حجم الحزم بما يتجنّب التجزئة.
وهو يعتمد على رسائل ICMP «التجزئة مطلوبة»؛ وحين تحجب جدران الحماية تلك الرسائل، يفشل PMTUD بصمت وتُسقَط الحزم الكبيرة، مسببةً تعطّل الاتصالات — وهو ما يُعرف بـ«ثقب MTU الأسود». وخفض قيمة MSS المُعلنة، أو تثبيتها عند موجّه، هو الحل المعتاد لذلك.