الخلاصة

  • عرّف RFC 2013 أربعة عدادات Counter32 للقراءة فقط على مستوى كيان UDP كله: رزم سُلّمت إلى مستخدمي UDP، ورزم وصلت من دون تطبيق عند منفذ الوجهة، وأخطاء إدخال أخرى، ورزم أرسلها الكيان.
  • لم يفهرس udpTable المستمع إلا بعنوان IPv4 المحلي والمنفذ المحلي. لم يحتوِ على عنوان أو منفذ بعيد، أو عملية نظام، أو مثيل socket، أو هوية رزمة بعينها.
  • أضاف RFC 4113 لاحقاً أنواع العناوين والقيم والمنافذ المحلية والبعيدة، ومميّز المثيل، ومعرّف العملية. تحسنت هوية نقطة النهاية، لكن معالجة التطبيق ووصول الرد ونتيجة الخدمة بقيت تحتاج إلى أدلة منفصلة.

أربعة مجاميع لا تصنع سجلاً للأحداث

كانت دلالة العدادات محددة. udpInDatagrams يحصي الرزم المسلّمة إلى مستخدمي UDP. udpNoPorts يحصي الرزم المستلمة التي لم تجد تطبيقاً عند منفذ الوجهة. udpInErrors يجمع حالات تعذر التسليم لأسباب أخرى. udpOutDatagrams يحصي الرزم المرسلة من الكيان.

هذه فروق مفيدة داخل طبقة UDP، لكنها مجاميع للكيان كله. لا يحمل أي عداد فهرس نقطة نهاية أو نظيراً بعيداً أو عملية أو وقتاً أو معرّف رسالة أو رابطة بين إدخال وإخراج. ارتفاع عدادين في الفترة نفسها لا يثبت أن أحدهما طلب والآخر رد.

يزيد RFC 1902 الحد وضوحاً: يصعد Counter32 حتى 2^32−1 ثم يعود إلى الصفر، ولا قيمة ابتدائية محددة له، والقراءة الواحدة لا تحمل عادةً محتوى معلوماتياً. قد تعيد تهيئة نظام الإدارة قطع السلسلة. لذلك يحتاج الفرق إلى عينتين ودليل استمرارية، وحتى عند صحته يظل فرقاً على مستوى الكيان كله.

كان الجدول دليلاً للعناوين المحلية فقط

ضم udpTable نقاط النهاية التي كان تطبيق محلي يقبل عليها الرزم آنذاك. كان الفهرس udpLocalAddress مع udpLocalPort. مثّل 0.0.0.0 مستمعاً يقبل على أي واجهة محلية، وتراوح المنفذ بين 0 و65535.

تثبت الصفوف أن agent الإدارة مثّل إحداثياً محلياً معيناً كمستمع وقت القياس. لكنها لا تجيب عن مصدر رزمة محددة. لا يوجد معرّف للعملية، ولا فصل بين sockets تعيد استخدام المجموعة نفسها، ولا عدادات لكل صف.

وصف التطبيق بأنه «يقبل الرزم» لا يعني أنه أكمل عملاً. لا يبين الصف إن كانت الشيفرة قد قرأت payload أو تحققت منه أو أجازت الطلب أو غيّرت الحالة. ولا يبين إن كان رد قد خرج أو وصل أو أفاد المستخدم. معرفة رقم الباب ليست محضر الحديث الذي دار خلفه.

التسليم إلى مستخدم UDP كان حداً وسيطاً

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

لا يسجل العداد أن البرنامج قرأ bytes أو فهمها أو نفذ أمراً. يثبت udpNoPorts غياب تطبيق الوجهة عن الرزم المحسوبة، لكنه لا يحفظ المرسل. يجمع udpInErrors بقية أسباب عدم التسليم. ويتوقف udpOutDatagrams عند الإرسال من الكيان، لا عند الاستلام في host أو تطبيق بعيد.

إثبات محادثة يتطلب ربط هوية الرزمة أو الحدث بحالة نقطة النهاية، ودورة حياة العملية، وإيصال التطبيق، وملاحظة مستقلة للنتيجة.

أعاد RFC 4113 بناء سؤال «أي نقطة نهاية؟»

حل RFC 4113 محل RFC 2013 سنة 2005. أبقى العدادات الأساسية، وأضاف عدادات عالية السعة، وأهمل udpTable القديم لسببين منفصلين: اقتصاره على IPv4، وعجزه عن وصف نقاط UDP «المتصلة». ليست محدودية عائلة العناوين أطروحة هذا المقال؛ أما السبب الثاني فيكشف نقص الهوية المحلية.

استطاع udpEndpointTable تمثيل مستمع يقبل أي بعيد، أو نقطة مقيدة بعنوان ومنفذ بعيدين. شمل الفهرس نوع العنوان والعنوان والمنفذ محلياً وبعيداً، ثم udpEndpointInstance. ميّز المثيل عمليات متعددة تستخدم المجموعة نفسها، ومنها حالات SO_REUSEADDR وSO_REUSEPORT. وأضاف udpEndpointProcess معرّف عملية النظام أو صفراً عند غيابه، مع إمكانية الربط بسجلات موارد host أو التطبيقات.

هذا تحسين لهوية الإدارة، لا تحويل UDP إلى جلسة موثوقة. قد يكون PID صفراً أو يعاد استخدامه. وجود remote مضبوط يصف قيد socket ولا يثبت تبادل رزمة بعينها. ولا يثبت أي حقل parse أو الإجازة أو الرد أو أثر الخدمة.

المعلومات الأوسع أكثر حساسية أيضاً. حذر RFC 4113 من أن الفهارس قد تكشف المنافذ المفتوحة. الجدول للقراءة وليس سطح تدخل، لكن سلطة المشاهدة نفسها تحتاج إلى حماية.

يجب أن يبقى الاستنتاج عند مستوى الملاحظة

لم يعد RFC 2013 بدفتر محادثات كامل. الخطأ هو أن ينسب المحلل عداد الكيان إلى خدمة واحدة، أو يحول منفذاً محلياً إلى طرف بعيد، أو يساوي «أرسل» بـ«وصل»، أو يجعل تسليم UDP دليلاً على اكتمال العمل.

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

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

المصادر

حدود الدليل

تثبت المصادر تسلسل الوثائق وتعريفات الكائنات ودلالة العدادات وتصميم الخلف. لا تثبت تطبيق vendor أو الانتشار أو الإعداد الحالي أو عيباً أو حادثة أو SLA أو traffic مقاساً أو نتيجة تطبيق مكتملة.