الخلاصة
- يثبت ACK التراكمي أن كل البايتات السابقة لرقم معين وصلت. إذا غاب أول مقطع، لا يتحرك الرقم ولو كان المستقبل يحتفظ بما جاء بعده.
- يضيف SACK، بعد تفاوض في بداية الاتصال، حدود كتل غير متجاورة. تبقى دلالة ACK الأصلية كما هي، ويبقى قرار الإصلاح عند المرسل.
- التقرير محدود واستشاري وقد يتراجع عنه المستقبل. لذلك يحتفظ المرسل بالبيانات، ويلتزم بنافذة الازدحام، وينتظر الإقرار التراكمي قبل اعتبار التسليم نهائياً.
سبعة مقاطع لا تظهر خلف الرقم 5000
ينتظر المستقبل البايت 5000. يضيع المقطع الذي يبدأ به، ثم تصل سبعة مقاطع تملأ المجال من 5500 إلى 9000. يظل رقم الإقرار 5000. لا يعني ذلك أن ما بعده لم يصل؛ بل يعني أن المستقبل لا يستطيع التصديق على تيار متصل يتجاوز الفجوة.
هذه إجابة قوية لحفظ ترتيب البايتات، لكنها ضعيفة لتوجيه الإصلاح. تكرار الرقم نفسه لا يخبر المرسل إن كان المفقود مقطعاً واحداً أم مجموعة. إعادة النافذة كلها تستهلك السعة بنسخ وصلت بالفعل، واكتشاف فجوة واحدة في كل زمن ذهاب وعودة يجعل المسارات البعيدة بطيئة في التعافي.
عرّف RFC 793 الإقرار التراكمي بحيث يعني ACK X وصول كل ما دون X، وأن X هو البايت التالي المنتظر. يمنح هذا التعهد أساساً لتحرير المخازن لاحقاً. وهو، لقوته نفسها، لا يسمح للمستقبل بأن يعامل وصولاً متقطعاً كأنه اكتمال متصل.
اقتراح منشور لم يصبح تنفيذاً مشتركاً
اقترح RFC 1072 سنة 1988 خيارين. يعلن SACK-Permitted في SYN القدرة على استخدام الآلية، ثم يصف خيار SACK أثناء الاتصال كتل البيانات المستلمة وغير المتجاورة. وإذا لم يفهم الطرف الآخر الخيار، يستمر الإقرار التراكمي القديم.
لكن الصيغة لم تنتشر كما كُتبت. يسجل RFC 2018 خلافاً بشأن جمعها مع توسيع النافذة. هنا يفصل التاريخ بين الوثيقة والكود: النشر يحدد اقتراحاً قابلاً للنقاش، ولا يجعل الأجهزة المتفرقة متوافقة في يوم واحد.
احتفظت مراجعة 1996 بالتفاوض في SYN، واستخدمت حافتين كاملتين من 32 بت لكل كتلة. الحافة اليسرى أول بايت موجود، واليمنى رقم البايت الذي يلي آخر بايت. وهكذا يبقى ACK عند 5000، بينما يقول SACK إن المجال [5500, 9000) محفوظ. صار ممكناً التعبير عن الاستمرارية والملاحظة الجزئية معاً.
تقرير أصغر من قائمة المستقبل
لا تزيد مساحة خيارات TCP على أربعين بايتاً. يستهلك النوع والطول بايتين، وكل كتلة ثمانية. تتسع الرسالة لأربع كتل وحدها، وغالباً لثلاث مع الطابع الزمني. قد تكون لدى المستقبل جزر أكثر مما يمكنه الإعلان عنه في حزمة واحدة.
لذلك يبدأ التقرير بالكتلة التي غيّرها أحدث مقطع، ويكرر بعض الكتل الحديثة في إقرارات لاحقة. فطريق العودة يفقد الحزم أيضاً. يجمع المرسل التقارير القصيرة ليبني صورة داخلية أمتن من أي تقرير منفرد.
لم يفرض المعيار كشف قائمة الانتظار أو طريقة إدارة الذاكرة. وحّد فقط معنى حافتين في فضاء التسلسل. تستطيع الأنظمة أن تختلف داخلياً ما دامت تتفق على أصغر معلومة لازمة للتشغيل البيني.
المعلومة الاستشارية ليست إيصالاً نهائياً
يسمي RFC 2018 معلومات SACK استشارية. قد يتخلص المستقبل لاحقاً من بيانات سبق أن أبلغ عنها، وهو ما يسمى reneging. يستطيع المرسل تجاوز تلك المجالات مؤقتاً في الإصلاح المعتاد، لكنه لا يحذف نسخته حتى يتقدم ACK التراكمي فوقها.
إذا انتهت مهلة إعادة الإرسال، يجب أن يفترض أن العلامات القديمة قد لا تبقى صحيحة، وأن يضمن البيانات من الحافة اليسرى. يحفظ هذا الرجوع فرقاً مهماً بين صورة قابلة للمراجعة وتعهد لا رجعة فيه.
وتبقى آلية الفعل عند المرسل. فهو يدير قائمة إعادة الإرسال، ويدمج الكتل، ويستنتج الفجوات، ويختار المقطع التالي. وصف RFC 6675 لاحقاً لوحة نتائج لدى المرسل وخوارزمية محافظة لتقدير ما بقي في الشبكة. يقدم المستقبل منظوراً ولا يملك المشغل.
وضوح الفقد لا يمنح حصة أكبر من الشبكة
لم يلغ SACK ضبط الازدحام. يطلب RFC 2018 الحفاظ على قواعده: لا يكفي إقرار واحد خارج الترتيب لإثبات الفقد، ويظل الإرسال محدوداً أثناء التعافي، وتُخفض النافذة عند ظهور دليل الازدحام.
لهذا تختلف القصة عن علاج انهيار الازدحام سنة 1986. تجيب نافذة الازدحام عن مقدار ما يجوز وضعه في الطريق؛ ويجيب SACK عن البايتات التي تستحق إعادة الإرسال ضمن ذلك المقدار. دقة الخريطة لا توسع الطريق.
وسّع D-SACK الآلية سنة 2000 ليبلغ عن البيانات المكررة. يمكن للمرسل أن يستدل على إعادة الترتيب، أو فقد ACK، أو تكرار الحزمة، أو مهلة مبكرة. لم يفرض RFC 2883 استجابة واحدة، وحذر من أن تقرير المستقبل ليس موثوقاً بالضرورة. ازدادت القدرة على التشخيص ولم تنتقل سلطة القرار.
المصادر وحدود الدليل
تأتي دلالة الإقرار التراكمي من RFC 793، والاقتراح الأول من RFC 1072، والصيغة المنقحة من RFC 2018. يعرّف RFC 2883 D-SACK، ويحفظ RFC 5681 حدود الازدحام، ويسجل RFC 6247 الحالة التاريخية للمقترح القديم، ويصف RFC 6675 خوارزمية التعافي المحافظة.
تثبت النصوص التعريفات والتسلسل والقيود، ولا تثبت تاريخ تشغيل عالمي أو تحسناً متماثلاً في كل مسار. ولا يكشف مجال SACK مكان الفقد أو سببه ولا يصادق على هوية الطرف المبلّغ.
إحاطة الأعضاء
سياق أعمق للملف الشخصي
سجّل الدخول بمستوى العضوية المناسب لفتح الإحاطة الكاملة وملاحظات المصادر.
للدائرة الاستراتيجية فقط
الدائرة الاستراتيجية
مفتوح لجميع القراء. افتح إحاطات الملف الشخصي بعد الانضمام وتسجيل الدخول.
انضم إلى الدائرة الاستراتيجيةلأعضاء تحالف القيادات فقط
تحالف القيادات
لأصحاب الأصول الفكرية المؤهلين وللإدارة؛ سجّل الدخول للوصول إلى إحاطات التحالف.
انضم إلى تحالف القيادات
