الخلاصة

  • ينص RFC 7145 على أن طبقة iSER لدى الجهة البادئة لا يجوز أن تعتمد على النظير لإبطال STag محلي؛ فآلية Send with Invalidate اختيارية، وعندما يكون الإبطال متوقعاً يجب على الطبقة المحلية فحص العلامة وإبطالها إن ظلت صالحة.
  • المسألة تتعلق بعمر المورد أيضاً: بقاء STag صالحاً قد يترك مخزن الإدخال والإخراج متاحاً عبر RDMA بعد انتهاء المهمة التي أعلنت عنه.

انتهى الأمر، لكن الصلاحية قد تبقى

نهاية أمر التخزين واضحة عادةً: تصل الاستجابة، تُغلق المهمة، ويستعد البرنامج لإعادة استخدام المخزن. لكن RDMA يترك سؤالاً أقل ظهوراً: هل سُحبت فعلاً قدرة الطرف البعيد على الوصول إلى تلك الذاكرة؟ في iSER، تحدد علامة التوجيه (STag) مخزن إدخال وإخراج يعلنه أحد الطرفين كي يتمكن الآخر من قراءته أو الكتابة فيه مباشرة عبر RDMA. العلامة ليست البيانات نفسها؛ إنها جزء من مسار الوصول إليها.

صدر RFC 7145 عام 2014 بديلاً عن RFC 5046، وبيّن من يتحمل الفحص الأخير. يمكن لرسالة Send with Invalidate أن تبطل العلامة تلقائياً عند حملها استجابة SCSI، إذا كان بروتوكول RDMA الأساسي يدعم ذلك. لكن استخدام هذه الرسالة اختياري. لذلك لا يجوز للجهة البادئة أن تفترض أن النظير اختارها. فإذا كان المطلوب أن تصبح STag غير صالحة بعد اكتمال المهمة، فعلى طبقة iSER المحلية فحص حالتها وإبطالها إذا بقيت صالحة. RFC 7145

استلام الاستجابة وتغيّر تسجيل الذاكرة المحلية حقيقتان منفصلتان. يوصي المعيار بإبطال STag المعلنة عند الاكتمال الطبيعي، لكن الأوامر ثنائية الاتجاه أو حالات الانتهاء غير الطبيعي قد تمنع الإبطال التلقائي المتوقع. كما أن رسالة Send with Invalidate لا تحمل إلا علامة واحدة؛ لذلك قد يتعين على الجهة البادئة إبطال علامة أخرى صراحةً في بعض الحالات ثنائية الاتجاه. وإذا انتهت المهمة من دون إرسال وحدة بيانات استجابة، يحدد RFC 7145 مساراً مستقلاً لتحرير مواردها والعثور على العلامات المرتبطة بها وإبطالها.

السبب هو مدة التعرض. فإذا احتُفظ بـ STag، مثلاً لتخزينها مؤقتاً وإعادة استخدامها، ظل مخزن الإدخال والإخراج معرضاً للوصول عبر RDMA بعد انتهاء عملية iSCSI الأصلية. ولا يثبت الاحتفاظ بها وقوع إساءة استخدام؛ لكنه يطيل الفترة التي يظل فيها المورد قابلاً للوصول. لذا فإن اكتمال الأمر وحده لا يثبت إغلاق نافذة الوصول.

لا يمنع التصميم التحسينات. يمكن استخدام الإبطال التلقائي عندما يدعمه بروتوكول RDMA. لكن لا يمكن اتخاذ إجراء بعيد اختياري دليلاً وحيداً على انتقال الحالة المحلية. لا يوثق RFC 7145 اختراقاً محدداً أو عيباً لدى مورّد أو معدل عدم امتثال. كما أن إبطال العلامة لا يحل محل المصادقة وبقية متطلبات أمن iSCSI وRDMA. ويذكر سجل تغييرات RFC 5046 أن RFC 7145 أوضح، لأسباب أمنية، أن مسؤولية الإبطال المحلي تقع على الجهة البادئة. RFC 5046 · RFC 7143 المصادر: صفحة معلومات RFC Editor.