الخلاصة

  • يحسب RFC 6298 مهلة إعادة الإرسال من زمن الرحلة الملساء وتباينه، ويرفض العينات الملتبسة التي قد تنسب ACK إلى نسخة الإرسال الخطأ.
  • قد يبدأ الانتظار الأول من ثانية واحدة؛ وإذا انتهت مهلة SYN يعود المؤقت إلى ثلاث ثوانٍ للبيانات، ثم تضاعف كل مهلة لاحقة قيمة RTO.

الصمت دليل ضعيف. قد يضيع المقطع، أو يضيع ACK، أو لا يضيع أي منهما. إعادة الإرسال مبكراً تصنع نسخة وتضيف حملاً إلى مسار قد يكون مزدحماً. والانتظار طويلاً يترك فقداً حقيقياً بلا إصلاح. يختار RTO بين هذين الخطأين من دون ادعاء معرفة السبب.

يحمل التقدير الزمن وعدم اليقين

قبل أول قياس لـRTT، يوصي RFC بقيمة RTO مقدارها ثانية واحدة، ويسمح بقيمة أكبر وأكثر تحفظاً. مع أول عينة R، تُضبط SRTT = R وRTTVAR = R/2 ثم RTO = SRTT + max(G, 4*RTTVAR)، حيث G دقة الساعة.

في العينات التالية يجب تحديث RTTVAR أولاً باستعمال SRTT القديمة؛ beta تساوي الربع وalpha الثمن وK يساوي أربعة. بعد ذلك تُحدّث SRTT. يجعل هذا الترتيب التباين يقيس مفاجأة العينة مقارنة بالتقدير السابق. تبقى RTO مجموع الزمن الملساء والأكبر بين G وأربعة أضعاف التباين.

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

ليس كل ACK عينة صالحة

خوارزمية Karn إلزامية. بعد إعادة الإرسال، قد يقر ACK النسخة الأولى أو الثانية، لذلك لا يصبح عينة RTT إلا إذا أزال خيار TCP Timestamps الالتباس. من دون الطوابع ينبغي عادة أخذ عينة واحدة على الأقل في كل RTT؛ ومعها يمكن أخذ عينات أكثر من دون إلغاء قواعد المقدر.

هذا الدور غير PAWS: الطابع هنا يحدد أي إرسال حصل على الإقرار، ولا يرفض أرقام تسلسل قديمة بعد الالتفاف.

مؤقت واحد لأقدم بيانات غير مقرة

عند إرسال بيانات جديدة والمؤقت متوقف، يبدأ بقيمة RTO الحالية. ACK يغطي كل البيانات المعلقة يوقفه. ACK يقر بيانات جديدة مع بقاء بيانات معلقة يعيد تشغيله بالقيمة الحالية.

عند انتهاء المهلة، يعيد TCP إرسال أقدم مقطع غير مقر، ويضاعف RTO، ثم يبدأ المؤقت بالقيمة المضاعفة. يجعل التراجع الأسي التصرف بعد الصمت المتكرر أكثر كلفة. وقد تخفض عينة نظيفة لاحقة RTO؛ وبعد عدة تراجعات يمكن مسح SRTT وRTTVAR إذا لم تعودا تصفان المسار.

للثانية الأولى استثناء. إذا انتهت مهلة SYN بقيمة أقل من ثلاث ثوانٍ، يجب إعادة RTO إلى ثلاث ثوانٍ عندما يثبت الاتصال وتبدأ البيانات. لقد نقض المسار الفرضية السريعة.

المؤقت أداة تحكم لا تشخيص

يمكن لمهاجم تأخير حزمة مقاسة لرفع RTO أو محاولة خفضه بحركة مزورة. يحد التنعيم والتراجع من استمرار الأثر، لكنهما لا يصادقان على مصدر التأخير. انتهاء المهلة فعل تحت عدم اليقين، لا إثبات لفقد حزمة بعينها.

المصدر الوحيد هو RFC 6298، المنشور على مسار المعايير في يونيو 2011. يحدد الخوارزمية وأساسها التاريخي، ولا يثبت الإعدادات الحالية أو RTT في شبكة محددة.