الخلاصة

  • لا يعرّف معرّف تعريف الحقول في IPFIX ترتيب الحقول إلا داخل جلسة النقل ونطاق المراقبة المعنيين. ورقم النطاق محلي لعملية التصدير، وليس هوية عالمية لجهاز أو موقع أو عميل.
  • نجاح فك الترميز لا يثبت أن جميع الحزم رُصدت أو أن العد صحيح. الانتقاء وأخذ العينات والتجميع والوساطة والفقد تحدد ما تستطيع السجلات إثباته، حتى حين تكون قناة النقل موثقة الهوية.

جلسة جديدة لا ترث تعريف الجلسة القديمة

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

هذا مثال اختباري افتراضي، لا وصف لعيب في منتج بعينه. يحدد RFC 7011 القاعدة: تُدار معرفات التعريفات بحسب جلسة النقل ونطاق المراقبة. ولا يجوز استخدام تعريف من جلسة سابقة لقراءة مجموعات بيانات جلسة لاحقة، حتى لو لم تتغير عملية التصدير.

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

نطاق المراقبة لا يحدد مكانا عالميا

تفصل بنية IPFIX بين نقطة المراقبة وعملية القياس وعملية التصدير وعملية الجمع. نقطة المراقبة هي موضع إمكان رؤية الحزم. وعملية القياس تصنفها وتدير سجلات التدفقات، ثم ترسل عملية التصدير الرسائل إلى عملية الجمع. هوية المرسل ليست تلقائيا هوية الموقع الذي جرى فيه القياس.

يمثل Observation Domain أكبر مجموعة من نقاط المراقبة تستطيع عملية قياس واحدة تجميع معلومات تدفقاتها. رقمه، المؤلف من 32 بت، فريد داخل Exporting Process. ويوصي RFC 7011 بأن يكون فريدا داخل الجهاز أيضا، لكنه لا يمنحه فرادة عالمية.

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

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

تعريف الحقول يفسر البايتات ولا يضمن حقيقتها

تعريف الحقول هو ترتيب من Information Elements وأطوالها. ويشير Set ID في مجموعة البيانات إلى التعريف الذي يبين كيفية قراءة سجلاتها. تغيير الترتيب يمكن أن يغير المعنى ولو بقي طول السجل كما هو.

يحدد نموذج المعلومات في RFC 7012 وسجل IANA دلالات العناصر المعيارية. وفي العناصر الخاصة بالمؤسسات، يدخل رقم المؤسسة في الهوية. لذا قد يخلط الاحتفاظ برقم العنصر وحده بين تعريفين مختلفين. ويسمح RFC 5610 بنقل معلومات النوع، بينما يقدم RFC 7013 إرشادات لتأليف تعريفات العناصر ومراجعتها. هذه أدوات لاتفاق الأطراف على المعنى، لا شهادات بصحة القياس.

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

لكل تعريف عمر تشغيلي

في النقل القائم على الاتصال، يمكن سحب تعريف ثم إعادة استخدام رقمه وفقا للترتيب المقرر. وبعد السحب، لا يبقى التعريف القديم صالحا لمجموعات البيانات اللاحقة. السجل التاريخي يحتاج إلى النسخة التي كانت تنطبق عليه، لا أحدث نسخة تحمل الرقم نفسه.

يختلف الأمر مع UDP. فقد تضيع رسالة التعريف أو تصل بعد البيانات، وتصبح قواعد التحديث والاستبدال وانتهاء الصلاحية ضرورية. ولا يصح افتراض آلية السحب نفسها التي تعمل في الاتصال القائم. حين تصل بيانات بلا تعريف صالح، يجب توثيق ما إذا كانت حُفظت مؤقتا أو أُسقطت أو قُرئت لاحقا باستخدام نسخة محددة.

استعارة تعريف من نطاق آخر أو جلسة قديمة ليست معالجة صحيحة للنقص. والقوائم والسجلات المتداخلة في RFC 6313 لا تغير هذا الحد. بنية سليمة قد تحمل قيما منتقاة أو مجمعة أو قديمة أو خاطئة.

رقم التسلسل يعد السجلات، لا الشبكة كلها

يزداد Sequence Number بعدد Data Records المرسلة في مسار النقل ونطاق المراقبة المعنيين، بحساب دوري مقداره 2^32. ولا تزيده سجلات تعريف الحقول ولا سجلات تعريف الخيارات. وتُحسب مسارات SCTP بصورة منفصلة.

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

موثوقية TCP لا تعالج كل ما سبق التصدير. فقد يملأ جامع بطيء أو ازدحام مخازن المصدّر، فتُسقط سجلات. ويجب على عملية التصدير احتساب هذا الفقد. لذلك تختلف عبارة «لم نجد فجوة في نطاق التسلسل هذا» عن عبارة «لم نفقد أي دليل عن الحركة».

وللزمن حد مماثل. يدل Export Time في ترويسة الرسالة على وقت خروجها من عملية التصدير، وليس وقت بدء كل تدفق أو انتهائه. تأخير التصدير ونافذة التجميع ودقة الساعة وتزامنها معلومات مستقلة لا تختزلها الترويسة.

قد يتغير المقام قبل ظهور المجموع

يمكن انتقاء الحزم قبل تكوين التدفقات، ثم انتقاء التدفقات نفسها بالوسائل التي يصفها RFC 7014. وقد يكون التدفق «كاملا» بالنسبة إلى الحزم التي اجتازت انتقاء سابقا فقط، لا بالنسبة إلى كل ما عبر الوصلة.

يتيح RFC 7015 تجميع سجلات متعددة بحسب وظائف التجميع. ويمكن للوسيط في إطار RFC 6183 أن يستقبل ويختار ويحول ويجمع ثم يعيد التصدير. تصبح عملية التصدير الجديدة ونطاقها سياقا جديدا للتقرير. وإذا احتاج الاستخدام إلى الأصل، وجب حفظ المصدّر الأول ونطاقه وسلسلة التحولات.

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

توثيق المرسل لا يعاير جهاز القياس

تحمي TLS أو DTLS، عند نشرها بصورة صحيحة، سرية النقل وسلامته وهوية العمليات المتواصلة. وهذا مهم لأن تحريف تعريف واحد قد يفسد قراءة سجلات كثيرة، ولأن بيانات التدفق نفسها تكشف أنماط اتصال حساسة.

لكن التوثيق لا يثبت أن الحساس في الموضع المطلوب أو أن إعداد الانتقاء معتمد. يستطيع مصدّر حقيقي أن ينقل بأمان نتائج عداد خاطئ أو ربط غير صحيح للواجهات. مصدر الرسالة وصحة القياس نتيجتان يجب ألا تذوبا في علامة نجاح واحدة.

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