Summary

  • أتاح RFC 3430 استخدام التحكم في تدفق TCP لتبادلات SNMP الكبيرة، لكن التدفق الموثوق لم يثبت أن العملية عولجت.
  • ظل نوع العملية مهماً: بقي snmpV2-trap بلا تأكيد، بينما أفضى inform-request إلى استجابة SNMP ذات معنى محدد لدى المستقبِل.

تدفع عبارة «نقل موثوق» إلى القفز بين الطبقات. يبقى الاتصال مفتوحاً، ويؤكد TCP البايتات، ثم ينتهي الاتصال بإغلاق سليم. فهل يثبت ذلك أن تطبيق الإدارة تلقى الحدث؟ خصص RFC 3430 القسم 2.4 تحديداً للتمييز بين النقل الموثوق والعمليات المؤكدة.

صدر RFC 3430 في ديسمبر 2002 بصفة Experimental، وعرّف ربطاً اختيارياً لبروتوكول Simple Network Management Protocol فوق TCP. لم يستبدل نموذج رسائل SNMP، ولم يحوّل كل إشعار إلى عملية تتطلب تأكيداً. كان هدفه الأساسي دعم نقل الكميات الكبيرة بكفاءة أكبر. وكان على محركات SNMP التي تنفذ هذا الربط الاختياري أن تنفذ أيضاً ربط SNMP فوق UDP الوارد في RFC 3417. كما أن بادئ معاملة الطلب والاستجابة يختار النقل للمعاملة كلها، ولا يجوز تبديله في منتصفها.

قدم TCP التحكم في التدفق والتجزئة، ما قد يقلل عدد التبادلات الصغيرة عند نقل كميات كبيرة من بيانات الإدارة عبر UDP. لكن الاتصالات لها كلفة: إنشاء الاتصال وإنهاؤه والاحتفاظ بحالته يستهلك حركة مرور وموارد من نظام التشغيل. ويمكن لطرف مستجيب يعاني ضغط الموارد أن يرفض اتصالات TCP الجديدة. وأوصى RFC 3430 بضبط مؤقتات إعادة إرسال SNMP لتعمل بعد مؤقتات TCP، حتى لا تنتهي مهلة التطبيق بينما لا يزال TCP يحاول الاستعادة.

غيّر الانتقال من الرزم المنفصلة إلى تدفق البايتات طريقة تحديد حدود الرسائل. فـ UDP يقدم حدود رزمة واحدة لكل رسالة، أما TCP فيقدم سلسلة بايتات لا يلزم أن تتطابق حدود قراءتها مع حدود رسائل SNMP. لذلك ألزم RFC 3430 محرك SNMP المستقبِل باستخدام حقل الطول في ترميز BER للفصل بين رسالة وأخرى. ولا يجوز للمرسِل أن يمزج بايتات رسالتين. ومع ذلك، يمكن لاتصال دائم ثنائي الاتجاه حمل عدة أزواج من الطلب والاستجابة في آن واحد، ولا يلزم أن تعود الاستجابات بترتيب وصول الطلبات. تظل حدود الرسائل صريحة حتى عندما يتغير ترتيب الردود.

لكن التأطير لا يثبت أن التطبيق تصرف. ضمن الحدود التي يذكرها RFC 3430، يحمي TCP تدفق البايتات المرتب بين نقطتي النهاية، لكنه لا يثبت أن عملية SNMP البعيدة حللت الرسالة أو عالجتها. وحتى الإغلاق السليم لاتصال TCP لا يثبت أن محرك TCP لدى المستقبِل سلّم كل البايتات إلى التطبيق. كما أن استخدام TCP لا يضمن وصول البيانات المرسلة إلى النظام البعيد في نهاية المطاف.

توفر عملية SNMP نفسها إيصالاً مختلفاً وأقوى. يقارن RFC 3430 بين snmpV2-trap غير المؤكد وinform-request المؤكد. لا يضيف نقل Trap فوق TCP تأكيد SNMP إليه. وتشير استجابة SNMP إلى Inform، وفقاً لتعريف RFC، إلى أن الإشعار اجتاز النقل ونموذج الأمان ووُضع في قائمة انتظار تطبيق استقبال الإشعارات. أما الاستجابة إلى set-request فتشير إلى أن مستجيب الأوامر عالج عملية الكتابة. لهذه التأكيدات دلالة على مستوى البروتوكول، لكنها لا تثبت أن شخصاً رأى التنبيه أو أن عملية أعمال استجابت أو أن الحالة الواقعية المقصودة قد تغيرت.

ويفصل تعذر إنشاء الاتصال بين النية والإيصال أيضاً. إذا تعذر إنشاء اتصال TCP، تُجهض المعاملة ويُبلغ التطبيق بانتهاء المهلة. يناقش الملحق بدائل منها الانتقال إلى UDP، لكنه لا يعرض تغيير وسيلة النقل على أنه محو لعدم اليقين: فمصدر الإشعارات الذي يحتاج إلى تسليم موثوق عليه الاحتفاظ بسجل محلي للإشعارات التي أخفق اتصالها. ولا يلغي الرجوع إلى UDP أو إعادة المحاولة هذه الحاجة إذا فشلت هي الأخرى. يحفظ السجل عملاً لم يُحسم بعد؛ ولا يثبت أن الوجهة استلمته.

وتظل الحماية طبقة مستقلة. لا يغير ربط TCP آليات الأمان في SNMPv3. ويوصي RFC 3430 بنموذج الأمان القائم على المستخدمين والتحكم في الوصول القائم على العروض، كما يشير إلى مخاطر جديدة لحجب الخدمة، مثل إغراق SYN. فالمصادقة والتفويض وتسليم البايتات ووضع الإشعار في قائمة الانتظار والأثر التشغيلي إيصالات منفصلة.

لذلك فإن الإضافة التاريخية لـ RFC 3430 أدق من القول إن «SNMP فوق TCP موثوق». فقد أتاح تدفقاً لنقل بيانات الإدارة الكبيرة، وحدد حدود الرسائل داخله، وأكد أن موثوقية النقل بديل ضعيف للعملية المؤكدة. يظل Trap هو Trap، ويظل Inform عملية لها استجابة. يمكن للتدفق نقل كليهما من دون أن يقرر ما الذي فعله المستقبِل.

يصف هذا المقال عقد البروتوكول، ولا يدعي انتشاراً حالياً أو دعماً من منتجات بعينها أو أداءً مقاساً أو ارتباطاً بحادث محدد. تفصل سلسلة الأدلة بين إنشاء الاتصال، وتأطير BER، وتسليم البايتات، واستقبال محرك SNMP للعملية أو معالجتها، ووضع الإشعار في قائمة انتظار التطبيق، ثم الإجراء اللاحق. ولا يحدد RFC 3430 استجابة لكل هذه المراحل.

المصادر: RFC 3430؛ RFC 3417؛ RFC 3411؛ RFC 3413؛ RFC 3414؛ RFC 3415؛ RFC 3419؛ RFC 9293. الحالة: RFC Editor.