ضبط TCP

تُعدّل تقنيات ضبط بروتوكول التحكم بالنقل (TCP) معايير تجنب ازدحام الشبكة لاتصالات هذا البروتوكول عبر الشبكات ذات النطاق الترددي العالي وزمن الاستجابة العالي . ويمكن للشبكات المضبوطة جيدًا أن تعمل بسرعة تصل إلى عشرة أضعاف في بعض الحالات. [ 1 ] مع ذلك، فإن اتباع التعليمات بشكل أعمى دون فهم عواقبها الحقيقية قد يُؤثر سلبًا على الأداء.

خصائص الشبكة والنظام

حاصل ضرب عرض النطاق الترددي والتأخير (BDP)

منتج عرض النطاق الترددي والتأخير (BDP) هو مصطلح يستخدم بشكل أساسي بالاقتران مع TCP للإشارة إلى عدد البايتات اللازمة لملء "مسار" TCP، أي أنه يساوي الحد الأقصى لعدد البتات المتزامنة التي يتم نقلها بين المرسل والمستقبل.

تتميز الشبكات عالية الأداء بنطاقات بيانات كبيرة جدًا. على سبيل المثال، قد يصل حجم البيانات غير المُستلمة في حال وجود عقدتين تتواصلان عبر وصلة قمر صناعي ثابت بالنسبة للأرض ، بزمن استجابة ذهابًا وإيابًا (RTT) يبلغ 0.5 ثانية وعرض نطاق ترددي 10 جيجابت/ثانية، إلى 0.5 × 10 جيجابت ، أي 5  جيجابت. وعلى الرغم من انخفاض زمن الاستجابة في وصلات الألياف الضوئية الأرضية مقارنةً بوصلات الأقمار الصناعية، إلا أنها قد تتميز بنطاقات بيانات كبيرة جدًا نظرًا لسعة وصلاتها الهائلة. وقد صُممت أنظمة التشغيل والبروتوكولات التي طُورت قبل بضع سنوات فقط، عندما كانت الشبكات أبطأ، لنطاقات بيانات أصغر بكثير، مما أدى إلى محدودية الأداء المُمكن تحقيقه.

المخازن المؤقتة

كانت إعدادات بروتوكول TCP الأصلية تدعم مخازن مؤقتة بحجم نافذة استقبال تصل إلى 65535 بايت (64 كيلوبايت - 1)، وهو ما كان كافيًا للوصلات البطيئة أو ذات زمن الاستجابة القصير. أما خيارات الأداء العالي الموضحة أدناه فتتطلب مخازن مؤقتة أكبر.

يُستخدم التخزين المؤقت في جميع أنظمة الشبكات عالية الأداء للتعامل مع التأخيرات في النظام. وبشكل عام، يجب أن يتناسب حجم المخزن المؤقت طرديًا مع كمية البيانات المتداولة في أي وقت. بالنسبة للتطبيقات عالية الأداء جدًا التي لا تتأثر بتأخيرات الشبكة، يُمكن إدخال تأخيرات تخزين مؤقت كبيرة من البداية إلى النهاية عن طريق وضع نقاط تخزين بيانات وسيطة في النظام، ثم استخدام عمليات نقل بيانات آلية ومجدولة غير فورية لإيصال البيانات إلى نقاط النهاية النهائية.

حدود سرعة بروتوكول TCP

يتحدد الحد الأقصى لمعدل نقل البيانات الممكن تحقيقه لاتصال TCP واحد بعوامل مختلفة. أحد هذه العوامل، وهو الحد الأقصى لعرض النطاق الترددي لأبطأ رابط في المسار، هو عامل أساسي. ولكن هناك أيضًا حدود أخرى أقل وضوحًا لمعدل نقل البيانات في TCP. يمكن أن تُشكل أخطاء البتات قيودًا على الاتصال، وكذلك زمن الاستجابة (RTT).

حجم النافذة

في شبكات الحاسوب ، تُعرف نافذة استقبال TCP (RWIN ) بأنها كمية البيانات التي يمكن للحاسوب استقبالها دون تأكيد من المُرسِل. إذا لم يتلقَّ المُرسِل تأكيدًا على الحزمة الأولى التي أرسلها، فسيتوقف وينتظر، وإذا تجاوز هذا الانتظار حدًا معينًا، فقد يُعيد الإرسال . هكذا يُحقق بروتوكول TCP نقل البيانات بشكل موثوق .

حتى في حال عدم وجود فقدان للحزم في الشبكة، قد يحدّ تقسيم البيانات إلى نوافذ من معدل نقل البيانات. ولأن بروتوكول TCP ينقل البيانات حتى حجم النافذة قبل انتظار تأكيدات الاستلام، فقد لا يتم استخدام كامل عرض النطاق الترددي للشبكة دائمًا. ويمكن حساب القيد الناتج عن حجم النافذة كما يلي:

تيحرouزحصuتRدبليوأناشمالRتيتي{\displaystyle \mathrm {Throughput} \leq {\frac {\mathrm {RWIN} }{\mathrm {RTT} }}\,\!}

حيث RWIN هي نافذة استقبال TCP و RTT هو وقت الرحلة ذهابًا وإيابًا للمسار.

في أي لحظة، تتوافق نافذة الاستقبال التي يُعلن عنها جانب الاستقبال في بروتوكول TCP مع مقدار ذاكرة الاستقبال المتاحة التي خصصها لهذا الاتصال. وإلا فإنه سيخاطر بإسقاط الحزم المستلمة بسبب نقص المساحة.

لتحقيق أداء جيد، ينبغي على جانب الإرسال تخصيص نفس مقدار الذاكرة التي يخصصها جانب الاستقبال. ذلك لأنه حتى بعد إرسال البيانات عبر الشبكة، يجب على جانب الإرسال الاحتفاظ بها في الذاكرة إلى حين استلام تأكيد استلامها بنجاح، تحسبًا لاحتمالية إعادة إرسالها. إذا كان المُستقبِل بعيدًا، فسيستغرق وصول تأكيدات الاستلام وقتًا طويلاً. وإذا كانت ذاكرة الإرسال صغيرة، فقد تمتلئ وتمنع الإرسال. تُعطي عملية حسابية بسيطة نفس حجم ذاكرة الإرسال الأمثل كما هو الحال بالنسبة لحجم ذاكرة الاستقبال المذكور أعلاه.

فقدان الحزمة

عند حدوث فقدان للحزم في الشبكة، يتم فرض حد إضافي على الاتصال. [ 2 ] في حالة فقدان الحزم الخفيف إلى المتوسط، عندما يكون معدل TCP محدودًا بواسطة خوارزمية تجنب الازدحام ، يمكن حساب الحد وفقًا للصيغة (ماثيس وآخرون):

تيحرouزحصuتمSSRتيتيPلoss{\displaystyle \mathrm {الإنتاجية} \leq {\frac {\mathrm {MSS} }{\mathrm {RTT} {\sqrt {P_{\mathrm {loss} }}}}}}

حيث يمثل MSS الحد الأقصى لحجم القطعة، و P loss احتمال فقدان الحزم. إذا كان فقدان الحزم نادرًا لدرجة أن نافذة TCP تتمدد بالكامل بانتظام، فإن هذه الصيغة لا تنطبق.

خيارات TCP للأداء العالي

تم إدخال عدد من التوسعات على بروتوكول TCP على مر السنين لزيادة أدائه عبر روابط RTT السريعة عالية السرعة ("الشبكات الطويلة السمينة" أو LFNs).

تؤدي الطوابع الزمنية لبروتوكول TCP (RFC 1323) دورًا مزدوجًا: فهي تتجنب الغموض الناتج عن التفاف حقل رقم التسلسل ذي 32 بت، وتتيح تقديرًا أكثر دقة لزمن الاستجابة (RTT) في حال وجود عدة حالات فقدان لكل زمن استجابة. مع هذه التحسينات، يصبح من المنطقي زيادة حجم نافذة TCP إلى ما يزيد عن 64  كيلوبايت، وهو ما يمكن تحقيقه باستخدام خيار تغيير حجم النافذة (RFC 1323).

يُتيح خيار الإقرار الانتقائي لبروتوكول TCP (SACK، RFC 2018) لمستقبل TCP إبلاغ مُرسِل TCP بدقة عن الأجزاء المفقودة. وهذا يُحسّن الأداء على الروابط ذات زمن الاستجابة العالي (RTT)، حيث يكون فقدان أجزاء متعددة في كل نافذة أمرًا واردًا.

تتجنب خاصية اكتشاف وحدة النقل القصوى للمسار الحاجة إلى التجزئة داخل الشبكة ، مما يزيد من الأداء في حالة فقدان الحزم.

ضبط الاتصالات البطيئة

يبلغ طول قائمة انتظار بروتوكول الإنترنت (IP) الافتراضي 1000، وهو حجم كبير جدًا في الغالب. تخيل محطة قاعدة واي فاي بسرعة 20  ميجابت/ثانية ومتوسط ​​حجم حزمة بيانات 750 بايت. ما هو الحجم الأمثل لقائمة انتظار بروتوكول الإنترنت؟ يجب أن يكون عميل الصوت عبر بروتوكول الإنترنت قادرًا على إرسال حزمة بيانات كل 20 مللي ثانية. وبالتالي، سيكون الحد الأقصى المُقدَّر لعدد حزم البيانات أثناء النقل كما يلي:

حجم المخزن المؤقت المُقدَّر = 20000000 * 0.020 / 8 / 750 = 66

سيكون طول قائمة الانتظار الأفضل كالتالي:

ifconfig wlan0 mtu 1492 txqueuelen 100

انظر أيضاً

مراجع

  1. "بروتوكول SSH/SCP عالي الأداء - HPN-SSH" . Psc.edu . تم الاطلاع عليه بتاريخ 23 يناير 2020 .
  2. "السلوك الكلي لخوارزمية تجنب الازدحام في بروتوكول التحكم بالنقل" . Psc.edu . مؤرشف من الأصل في 11 مايو 2012. تم الاطلاع عليه في 3 يناير 2017 .