الخلاصة
- مسحت RFC 3135 وكلاء تحسين الأداء الذين عالجوا TCP فوق وصلات الأقمار الاصطناعية والشبكات اللاسلكية عبر تنظيم ACK أو ترشيحه، والإقرار وإعادة الإرسال محلياً، وتقسيم الاتصال، والضغط، وإخفاء فترات الانقطاع.
- حين يصدر الوكيل ACK فهو يثبت أنه تسلّم البيانات في نقطة وسطية؛ لا يثبت وصولها إلى TCP البعيد ولا قبول التطبيق لها. لذلك نقل تحسين الأداء أيضاً واجب الاسترداد وحالة الاتصال إلى داخل الشبكة.
عاد الإقرار قبل أن تعبر البيانات الجزء الأصعب
تفرض وصلة قمر اصطناعي ثابت بالنسبة إلى الأرض زمناً فيزيائياً طويلاً. إذا انتظر مرسل TCP إقراراً يقطع المسار كله ذهاباً وإياباً قبل أن يوسّع نافذته، فقد تبقى سعة متاحة بلا استخدام.
يمكن لوكيل قريب من المرسل أن يستقبل المقاطع ويرد فوراً. يرى المرسل زمناً أقصر ويضع بيانات أكثر في الطريق. ويمكن إصلاح فقد راديوي قرب موضع الفقد بدلاً من انتظار دورة كاملة وجعل المرسل البعيد يتعامل مع خلل محلي كأنه ازدحام في المسار بأكمله.
لكن سرعة الإقرار لا تعني أن البايتات تقدمت بالسرعة نفسها. قد تبقى في ذاكرة الوكيل، تنتظر القمر أو الراديو أو الوكيل المقابل أو TCP في الطرف الآخر أو التطبيق. وإذا فُقدت بعد الإقرار المحلي، يكون المرسل الأصلي قد تلقى بالفعل دليلاً على التقدم. تصبح استعادة البيانات مسؤولية الوسيط.
سمّت RFC 3135 هذه الفئة Performance Enhancing Proxies، أو PEPs. صدرت في يونيو 2001 بوصفها وثيقة Informational، لا معياراً يفرض جهازاً واحداً ولا توصية عامة بالنشر. وصفت أساليب لمواجهة التأخير، وعدم تماثل السعة، والأخطاء، وضيق النطاق والانقطاع، ودوّنت ما تغيّره هذه الأساليب في السلطة على الاتصال.
القيمة التاريخية ليست في القول إن الوكيل أسرع. إنها في تحديد أن الإقرار الأسرع جاء من شاهد أقرب، ولذلك كان نطاق شهادته أقصر.
لم تكن PEP بنية واحدة
عمل بعض الوكلاء في طبقة النقل، ففحصوا TCP وعدّلوا سلوكه مع إبقاء بروتوكول التطبيق بين الطرفين. وعمل آخرون في طبقة التطبيق ففهموا الرسائل أو ضغطوها أو حوّلوها وأنهوا الحوار بأنفسهم.
قد يكون الوكيل مكوّناً واحداً عند الحد بين شبكة سلكية ووصلة لاسلكية. وقد يكون زوجاً موزعاً يحيط بالوصلة المتدهورة. وفي مسار غير متماثل يستطيع كل جانب تنفيذ وظيفة مختلفة: يؤكد جانب البيانات محلياً ليملأ القناة الواسعة، بينما يقلل الجانب الآخر ACKs في قناة الرجوع الضيقة.
في الاتصال المقسوم ينتهي TCP الذي بدأه المضيف عند الوكيل، وينشئ الوكيل اتصالاً ثانياً نحو الوجهة. وبين وكيلين موزعين قد توجد علاقة ثالثة محسّنة للوصلة، وربما بروتوكول خاص فوق UDP. وقد تحمل تلك العلاقة بيانات عدة اتصالات للمستخدمين.
لم تكن كل آلية بهذا العمق. تنظيم المسافة الزمنية بين ACKs يغيّر توقيتها من دون أن يغيّر مصدرها. ترشيح الإقرارات يوفر النطاق في الاتجاه العكسي. آلية شبيهة بـ Snoop تحتفظ بالمقاطع عند المحطة وتصلح الفقد محلياً. الضغط يقلل عدد البايتات. لذلك لا تكفي كلمة وكيل للحكم على المعنى.
وفصلت RFC 3135 بين الشفافية والمحافظة على دلالة الطرفين. قد يكون الوكيل خفياً عن المضيفين لكنه ينهي اتصالهم. وقد يكون معلوماً للمستخدم مع بقاء إقرار التطبيق من الطرف البعيد. الشفافية تجيب عمن يعرف بوجود الوسيط، لا عمن استلم البيانات.
من يؤكد مبكراً يتحمل واجب الإصلاح
حتى ACK العادي في TCP دليل محدود. فهو يعني أن تنفيذ TCP النظير استلم البيانات، ولا يضمن أن التطبيق قرأها أو تحقق منها أو حفظها أو نفذ العمل. التطبيق الذي يحتاج إلى اكتمال موثوق يحتاج إلى فحص أو إقرار من طرف إلى طرف يناسب دلالته.
أضاف الإقرار المحلي وصلاً أسبق في السلسلة. أوضحت RFC 3135 أن الوكيل الذي يرسل ACK محلياً يتحمل عبء استرداد أي بيانات تضيع بعد ذلك. يحتاج إلى نسخة من البايتات، وحالة التسلسل، ومؤقتات، ومراقبة الإقرارات في الجزء التالي، وقواعد لإعادة الإرسال.
كانت الفائدة عملية. يمكن إصلاح فقد لاسلكي من دون انتظار الطرف البعيد. وخلال انقطاع الوصلة يستطيع الوكيل وقف استقبال المزيد، وإعلان نافذة صفرية أو استخدام التحكم العادي في التدفق، والاحتفاظ بالحالة ثم الاستئناف عند عودة الوصلة. ويمكن لاتصال مقسوم أن يؤخر تدفقاً منخفض الأولوية مدة طويلة من دون أن يطلق في المرسل الأصلي سلسلة التوقيتات نفسها.
لكن الوعد المبكر يحتاج إلى إثبات الحفظ. هل المخزن مؤقت متطاير؟ هل ثبتت كل البايتات قبل ACK؟ ماذا يحدث عند امتلائه أو إعادة تشغيل العملية؟ وما الحدث الذي يثبت انتقال المسؤولية لاحقاً إلى TCP البعيد ثم التطبيق؟
قد يكون ACK الوكيل صادقاً تماماً: «وصلت البيانات إليّ». الخطأ يبدأ حين تعرضه لوحة القياس بوصفه «وصلت البيانات إلى الوجهة».
خمسة إيصالات لتيار واحد
يسلم التطبيق المرسل البايتات أولاً إلى TCP المحلي. ثم يقبلها PEP ويخزنها وربما يؤكدها. بعد ذلك تعبر الجزء المتدهور. ثم يستلمها TCP البعيد. وأخيراً يقرر التطبيق البعيد المعنى الذي يهمه: فُسرت الرسالة، أو دخلت قائمة، أو حُفظت بصورة دائمة، أو أُنجزت المعاملة.
لا يملأ إيصال فراغ إيصال آخر. وحتى ACK التطبيق يحتاج إلى تعريف؛ فقد يعني «في قائمة الانتظار» لا «حُفظ نهائياً».
أوردت RFC 3135 مثال وسيط البريد. يستطيع MTA وسيط كتابة الرسالة على تخزين غير متطاير، وإصدار إقرار في طبقة التطبيق، ثم تحمل مسؤولية المحاولات اللاحقة للتسليم. لا يقدم ذلك ضماناً مطلقاً بالوصول النهائي، لكنه يجعل انتقال العهدة واضحاً وقابلاً للتدقيق.
عادة لا يصدر PEP في طبقة النقل إقراراً تطبيقياً مبكراً؛ يترك بروتوكول التطبيق يعمل بين الطرفين. هذه حدود مهمة للخطر. لكنها لا تحول ACK النقل الأول إلى نسخة مسبقة من إيصال التطبيق. ما زالت بينهما الوصلة والمضيف والعمل الذي يقوم به التطبيق.
أصبحت حالة الوكيل جزءاً من مصير الاتصال
في تصميم الطرفين، تبقى الحالة الضرورية عند المضيفين. إذا فشل موجه وكانت هناك طريق أخرى، يمكن للحزم أن تلتف مع بقاء ذاكرة الاتصال في الطرفين.
أما PEP الذي يحتفظ ببيانات أكدها وبحالة اتصال مقسوم، فلا يمكن تجاوزه كأنه موجه عديم الحالة. قد يؤدي انهياره إلى إنهاء الجلسة رغم بقاء مسار IP بديل. الاتصال الشبكي موجود، لكن ذاكرة الوعد اختفت مع الوسيط.
لم تصف RFC 3135 هذا التبادل بأنه غير مقبول دائماً. كثير من الوكلاء خدموا آخر وصلة لا بديل لها. وإذا طال فشل الراديو فقد تنهار الجلسة في كل الأحوال. قد يختار المستخدم أداءً أفضل غالب الوقت مقابل نقطة فشل إضافية.
كان الشرط هو الاختيار الواعي: فهم الأثر، والتحكم في الاستخدام، والقدرة حيث أمكن على اختيار IP بين الطرفين من دون التحسين. يضعف هذا الشرط عندما تفرض شبكة الوصول وكيلاً شفافاً لا يعرف المستخدم حتى أنه مصدر ACK.
تحصل الجهة المشغلة على تحسن إجمالي. ويحدد المورد طريقة التخزين والاسترداد. ويتحمل التطبيق نتيجة الفقد. إذا انفصلت الفائدة عن المسؤولية، فلا بد من سجل عهدة يربط الأطراف.
حجب IPsec الرؤية التي احتاجها الوكيل
يحتاج التعرف على ACK وأرقام التسلسل والنوافذ والخيارات إلى رؤية رأس TCP. ويتطلب تقسيم الاتصال إنهاء النقل. أما التحويل في طبقة التطبيق فيحتاج إلى المحتوى نفسه.
أخفى ESP بين الطرفين الرأس والحمولة عن العقدة الوسطية. ذكرت RFC 3135 أن عدداً كبيراً من PEPs لن يعمل على الوجه الأمثل أو لن يعمل إطلاقاً. حتى تنظيم ACK، الذي قد يحافظ على الدلالة، يحتاج أولاً إلى معرفة أي حزم هي الإقرارات المعنية.
يمكن إنهاء الأمن عند الوكيل وإنشاء ارتباط آخر نحو الوجهة. يظل كل جزء مشفراً أثناء العبور، لكن البيانات تُكشف داخل PEP للمعالجة. ويجب أن يثق الطرفان به. كما قد يختلف مستوى الحماية بين الجزأين، فيتوهم أحد الطرفين أن المستوى الذي تفاوض عليه يغطي المسار كله.
يمكن حماية الجزء بين الوكيلين، أو تجاوز التحسين لبعض التدفقات، أو استخدام أمن التطبيق. كلها حلول محتملة، لكنها تعيد رسم حدود الثقة ولا تستعيد تلقائياً خاصية الطرفين.
استمرت القضية في وثائق لاحقة. اشترطت RFC 3449 رؤوس IP/TCP ظاهرة وتمييز التدفقات لعدد من أساليب معالجة عدم التماثل. وسجلت RFC 8404 وRFC 8517 التوتر اللاحق بين التشفير ووظائف النقل في الشبكة. وراعت RFC 8684 احتمال أن يؤكد PEP البيانات استباقياً عند وضع قواعد إعادة الإرسال في Multipath TCP. هذه استمرارية في التصميم، لا إحصاء لنشر 2001.
إخفاء الانقطاع غيّر دليل الأعطال
قد يكون إخفاء انقطاع لاسلكي قصير ميزة حقيقية. يحفظ الوكيل الحالة، يوقف المرسل ويستأنف عند عودة الراديو، فلا يحتاج المستخدم إلى إعادة الاتصال.
لكن الآلية نفسها تؤخر اكتشاف الانقطاع الطويل. يبقى الطرف في حالة TCP تبدو معقولة بينما لا يتقدم الجزء التالي. وقد يتأخر تطبيق يملك وسيلة بديلة عن التحول إليها لأن الوسيط يخفي الفشل.
لا يحسم ping أو traceroute المسألة. قد تسلك ICMP طريقاً حول PEP، أو تمر عبر العقدة من دون معالجة TCP نفسها، أو يرد الوكيل نيابة عن المضيف البعيد. قد يثبت ping نجاح الوصول إلى الوكيل فقط. ويعرض traceroute عقد التوجيه من دون أن يظهر أين انقسم TCP أو ماذا ينتظر في المخزن.
قد يجعل التوجيه غير المتماثل أحد الاتجاهين يتجاوز جزءاً من الزوج الموزع. وتحتاج حركة المضيف إلى نقل حالة الوكيل إلى عقدة جديدة بسرعة. أما التوسع فيستهلك معالجة وذاكرة لكل تدفق أكثر من التوجيه العادي، وقد يفرض وكلاء متوازيين وآلية إضافية لحفظ ارتباط التدفق بالحالة الصحيحة.
أصبح الجهاز المصمم لإخفاء عيب الوصلة بحاجة إلى دليل مستقل يثبت أنه لا يخفي عيبه هو.
المسح المعلوماتي ليس حكماً عاماً
كانت RFC 3135 وثيقة Informational. أمثلتها عن VSAT وWAN اللاسلكية وWAP وSnoop توضح دوافع وتصاميم، ولا تقدم تعداداً للسوق أو مقارنة مضبوطة للمنتجات أو إثباتاً بأن كل وكيل يهدم الأمن والموثوقية.
أبقى المؤلفون مبدأ الطرفين نهجاً سائداً. ينبغي استخدام PEP في بيئات محددة حيث لا توجد آلية طرفية تعطي التحسين نفسه، وينبغي تصميم تقنيات الوصل الجديدة بحيث لا تحتاج إليه كلما أمكن. وفي الوقت نفسه لا يزول التأخير الفيزيائي أو الكلفة بمجرد التمسك بالمبدأ.
وضعت RFC 3234 لاحقاً PEP ضمن تصنيف أوسع للوسطاء. واستخدمت RFC 3426 الوثيقة مثالاً لموازنة المنفعة والكلفة: أداء أفضل مقابل تعطيل IPsec بين الطرفين، ونقطة فشل جديدة، وتشخيص أصعب، وتعقيد في التوجيه غير المتماثل والحركة. لا تكتمل المحاسبة بذكر جانب واحد.
قياس الأداء مع حفظ سلسلة العهدة
يبدأ الاختبار الموثوق بوصف المشكلة: الاتجاه، والطوبولوجيا، وRTT الأصلي، والأخطاء، وعدم التماثل، والانقطاع، والحمل، ومعيار نجاح التطبيق. ثم يسجل مالك PEP وإصداره وموضعه وآلياته وشفافيته وتقسيم الاتصال وإمكان تجاوزه.
لكل عملية، تُفصل لحظة الإرسال، وACK الوكيل، ودخول المخزن واستمراريته، والإرسال التالي، وإعادة الإرسال المحلية، وACK TCP البعيد، وإقرار التطبيق، والاكتمال الدائم. ويسجل من أعاد الإرسال، وأي مؤقت تحرك، وماذا محا restart، وما الطريق في كل اتجاه، وما نتيجة handover أو failover.
ويجب حفظ أطراف التشفير، والرؤوس الظاهرة، وأي plaintext داخل الوكيل، وقواعد التجاوز، والفروق بين مستويات الحماية. تقارن النتيجة throughput وRTT الظاهر مع زمن التطبيق وصحته واكتماله.
التناقضات هي إشارات التصعيد: ACK قبل عهدة موثوقة؛ restart يفقد بيانات مؤكدة؛ ping سليم وTCP متوقف؛ التشفير يعطل الوظيفة بصمت؛ مسار الرجوع يتجاوز الحالة؛ الحركة تفقدها؛ تحسن transport بينما تسوء نتيجة التطبيق.
قصّرت RFC 3135 حلقة التحكم، لا سلسلة الحقيقة. يستطيع الوكيل أن يقول بدقة «وصلت البايتات إليّ». وحتى يصدر التطبيق البعيد دليله، لا يستطيع أن يقول «وصلت إليه».
Sources
- https://www.rfc-editor.org/rfc/rfc3135.txt
- https://www.rfc-editor.org/info/rfc3135
- https://www.rfc-editor.org/rfc/rfc3135.html
- https://www.rfc-editor.org/rfc/rfc793.html
- https://www.rfc-editor.org/rfc/rfc1122.html
- https://www.rfc-editor.org/rfc/rfc2401.html
- https://www.rfc-editor.org/rfc/rfc2488.html
- https://www.rfc-editor.org/rfc/rfc2760.html
- https://www.rfc-editor.org/rfc/rfc2775.html
- https://www.rfc-editor.org/rfc/rfc3234.html
- https://www.rfc-editor.org/rfc/rfc3426.html
- https://www.rfc-editor.org/rfc/rfc3449.html
- https://www.rfc-editor.org/rfc/rfc8404.html
- https://www.rfc-editor.org/rfc/rfc8517.html
- https://www.rfc-editor.org/rfc/rfc8684.html
إحاطة الأعضاء
سياق أعمق للملف الشخصي
سجّل الدخول بمستوى العضوية المناسب لفتح الإحاطة الكاملة وملاحظات المصادر.
للدائرة الاستراتيجية فقط
الدائرة الاستراتيجية
مفتوح لجميع القراء. افتح إحاطات الملف الشخصي بعد الانضمام وتسجيل الدخول.
انضم إلى الدائرة الاستراتيجيةلأعضاء تحالف القيادات فقط
تحالف القيادات
لأصحاب الأصول الفكرية المؤهلين وللإدارة؛ سجّل الدخول للوصول إلى إحاطات التحالف.
انضم إلى تحالف القيادات
