الخلاصة

  • جمع RFC 3517 الإقرار التراكمي وكتل SACK في لوحة لدى المرسل، ثم استخدمت SetPipe() هذه الأدلة لتقدير البايتات التي ينبغي معاملتها على أنها ما زالت جارية.
  • كان العد المزدوج لبعض الإعادات تحفظاً أمام الجهل بمصير النسخ. أذن الفرق cwnd - pipe بإرسال تالٍ، ولم يثبت جرد الطريق أو وصول البيانات إلى التطبيق.

يخبر الإقرار التراكمي المرسل بآخر حافة متصلة وصلت. لكن فقد عدة مقاطع في نافذة واحدة يترك جزرًا أعلى تلك الحافة. أعطى RFC 2018 المستقبل وسيلة لوصفها عبر SACK-Permitted وكتل SACK، فقلّ تكرار إرسال بيانات وصلت بالفعل.

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

حوّل RFC 3517 هذا الدليل إلى حالة تشغيل. حدّدت HighACK وHighData وHighRxt وRecoveryPoint المجال. حدّثت Update() اللوحة، واستنتجت IsLost() الفقد بعد ظهور عدد كاف من الكتل المنفصلة أو البايتات الأعلى المقر بها انتقائياً. لم يحدد الاستنتاج موضع الإسقاط أو سببه.

مرّت SetPipe() على فضاء التسلسل بين HighACK وHighData. أضافت البيانات غير المشمولة بـ SACK وغير المصنفة مفقودة لأنها افترضت بقاءها في الشبكة. وأضافت أيضاً البايتات المعاد إرسالها حتى HighRxt. سمّى النص الناتج تقديراً بوضوح.

يكشف العد المزدوج حدود المعرفة. إذا أعاد المرسل البيانات قبل إعلان الأصل مفقوداً، فقد تكون النسخة الأصلية أو المعادة أو كلتاهما ما زالت في الطريق. افتراض خروجهما معاً قد يخفض pipe ويفتح الباب لضخ زائد. لذلك حمل الحساب النسختين في حالات محددة.

عند بدء الاسترداد، أصبحت RecoveryPoint مساوية لـ HighData، وانخفضت نافذة الازدحام، وأعيد أول مقطع مرجح الفقد، ثم حُسبت pipe. حدّث كل ACK لاحق اللوحة. إذا بقي مقدار SMSS واحد في cwnd - pipe اختارت NextSeg() ما سيرسل.

كان ذلك إذناً محلياً، لا قراءة من مستشعر. رفع pipe بعد الإرسال يحدّث حساب المرسل؛ ولا يثبت دخول رتل بعينه أو بقاء الرزمة في الطريق أو وصولها أو استهلاك التطبيق لها. عبور الإقرار التراكمي RecoveryPoint ينهي طوراً واحداً فقط.

أضاف RFC 3042 خوارزمية Limited Transmit لأول إقرارين مكررين. أتاح RFC 2883 لـ D-SACK الإبلاغ عن النسخ المكررة. وضع RFC 5681 إطار الازدحام، ووصف RFC 6582 استرداد NewReno. حسنت هذه القواعد القرار ولم تحول الطريق إلى مخزون مرئي.

ظل مؤقت RTO حداً احتياطياً. بعد انقضائه لا يمكن الاعتماد على SACK القديم أمام احتمال تراجع المستقبل. حتى اللوحة المفصلة لها صلاحية وافتراضات.

أبطل RFC 6675 سريان RFC 3517 وحسّن العتبات والدخول وإعادة الإنقاذ، لكنه أبقى pipe تقديراً. ثم قدم RFC 6937 أسلوب PRR بإيقاع حسابي مختلف. يبين التاريخ أن حساب الاسترداد سياسة ضبط، وليس حقيقة فيزيائية وحيدة.

يمثل RFC 9293 أساس TCP الحالي، ويسجل IANA خياري SACK-Permitted وSACK. يثبت السجل سلطة الرمز، ولا يثبت استخدامه أو وقوع فقد أو نجاح تسليم. قيمة RFC 3517 أنه أتاح فعلاً حذراً من دليل ناقص من دون ادعاء رؤية كاملة.

المصادر