الخلاصة

  • أضاف RFC 3395 أفعال التطبيقات إلى معرّفات بروتوكولات RMON، لكن الفعل قد يمثل معاملة تمتد عبر حزم متعددة واتجاهين، لا أمراً ظاهراً في الحزمة الحالية.
  • ظل على الوكيل أن يحسب كل حزمة مرة واحدة تحت ورقة كاملة. وإذا احتوت عدة أفعال وجب أن ينتقي واحداً وفق سياسة محلية لم يوحّدها المعيار.

تصل وحدة بيانات SNMP من نوع Response. يعرف المسبار أنها استجابة، لكنه لا يستطيع من هذه الحزمة وحدها معرفة إن كانت جواباً عن Get أم GetNext. لا بد أن يعود إلى طلب سابق مر في الاتجاه المعاكس، ثم يربط الطرفين. بذلك يصبح العداد حصيلة ذاكرة زمنية، لا مجرد قراءة لحقل حاضر.

صدر RFC 3395 في سبتمبر 2002 ضمن مسار المعايير، وحدّث مرجع معرّفات البروتوكولات في RFC 2895. كان RMON يفرز الحركة إلى HTTP أو SNMP أو FTP، لكن مجموع البروتوكول لا يبيّن الفارق بين عمليات تختلف في الكلفة والدلالة التشغيلية. قدّم النص قاموساً مشتركاً لمعاملات التطبيق، من دون إنشاء وحدة MIB جديدة أو عمليات إدارة جديدة.

كان الدليل الأصلي يصف مسار التغليف طبقة بعد طبقة. تضيف كل طبقة أربعة ثُمانيات إلى protocolDirID وثُمانية إلى protocolDirParameters، وتدل السلسلة الكاملة على ورقة محددة. جعل RFC 3395 فعل التطبيق طبقة إضافية في تلك السلسلة.

يتكون تمثيلها من أربع ثُمانيات: ثُمانية أولى محجوزة قيمتها صفر، ثم تعداد غير موقّع بطول 24 بت بترتيب بايتات الشبكة. تمتد القيم الصريحة من 1 إلى 16,777,215، ويجب أن تكون فريدة داخل البروتوكول الأب ويُستحسن أن تكون متقاربة. يضاف إلى المعاملات بايت صفري لا يحمل معنى للفعل، لكنه يحفظ انتظام بنية الدليل.

أما الصفر فكان محجوزاً لمعنى محدد. يحصل كل بروتوكول تطبيق ضمناً على connect(0) لحركة إنشاء الجلسة وإنهائها التي لا تنتمي إلى فعل آخر. لا يجوز إعادة تعريف الرقم. لكن الاسم ذاته ليس كلمة ممنوعة عالمياً؛ فمثال HTTP سجّل عملية CONNECT الصريحة أيضاً باسم connect(8). لذلك لا يكفي الاسم من دون الأب والرقم.

تربط صيغة VERB-IDENTIFIER البروتوكول الأب بوصف إلزامي، ومرجع يُستحسن إدراجه عند وجود نص سلطوي، وقائمة الأسماء والتعدادات. الأسماء حساسة لحالة الأحرف وفريدة داخل الأب، ويُفترض استعمال مصطلحات البروتوكول الرسمية. وحّدت هذه الآلية لغة العرض، لكنها لم تجعل طريق الوصول إلى التصنيف واحداً.

تظهر مشكلة الزمن بوضوح في SNMP. لم يجعل المثال Response وReport فعلين مستقلين، بل نسبهما إلى معاملة الطلب المقابل، لأن المعنى يتطلب الاحتفاظ بالحالة. وفي TCP قد تتوزع عملية تطبيق واحدة على مقاطع عدة، فيتعين على المسبار متابعة التدفق وإعادة بناء قدر كاف من البايتات قبل الحكم.

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

لهذا لم يكن «الفعل» مرادفاً لازماً لأمر واحد أو opcode أو نوع PDU. قد تضم المعاملة أنواع رسائل متعددة، بل قد تعبر مدخلات مختلفة في الدليل. في FTP مثلاً يمكن أن يكون حوار التحكم واتصال البيانات المنفصل جزأين من عملية واحدة ذات قيمة للمراقبة. الفعل وحدة تحليل، لا خانة مؤكدة في كل حزمة.

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

ذكر RFC بدائل ممكنة للاختيار: الفعل الأول، أو الأكثر تكراراً، أو صاحب أكبر عدد من الثُمانيات، أو الأهم وفق معرفة البروتوكول. لم يجعل أياً منها قانوناً عاماً. ولذلك قد تستقبل أداتان متوافقتان اللقطة نفسها وتنتجان توزيعين مختلفين من غير أن تخالف إحداهما النص.

تجسدت الطريقة في أمثلة FTP وPOP3 وSNMP وHTTP وSMTP. لكنها رسمت أيضاً حد الدليل. لا يثبت عداد GET هوية المستخدم أو قصده أو تفويضه، ولا نجاح المعاملة أو رؤية المحتوى كاملاً. إنه يثبت أن وكيلاً بعينه، بما امتلكه من حالة وسياسة، نسب الحزم إلى تلك الورقة.

لم تعتبر فقرة الأمن هذه الدقة بلا ثمن. صحيح أن الامتداد لا يضيف عمليات MIB، لكن التجميع حسب الأفعال يكشف أي عمليات تطبيق تُستخدم على الشبكة، وقد يحتاج إلى حماية إضافية. لم تكن عبارة «لا عمليات جديدة» مساوية لعبارة «لا معلومات جديدة».

حل RFC 4502 لاحقاً محل RFC 2021 بوصفه مواصفة RMON-2 MIB. يحدد هذا النسب موقع الفكرة، لكنه لا يثبت انتشار RFC 3395 ولا تماثل المنتجات تحت فقد الحزم أو التشفير أو المسارات غير المتناظرة أو امتلاء جداول الحالة. المعيار عقد قابل للاختبار، أما الانتشار فواقعة تشغيلية.

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

وتقتضي أولوية الشيفرة العاملة حفظ شروط إنتاج الرقم معه: إصدار المسبار والمحللات، وحدود الحالة، والفقد، وسياسة التجميع والاختيار. من دون هذه النَّسَبية، يوحّد الاسم مظهر اللوحات ولا يضمن وحدة الملاحظة.

لا يقول إرث RFC 3395 إن القياس وهم. بل يقول إن للقياس سيرة. ترسل الشبكة الحزم، ويصنع المسبار المعاملة. وحين يقول العداد GET فهو يصف الحركة، ويصف أيضاً ما تذكّرته الآلة وما انتظرته وما اختارته في النهاية.

المصادر