الخلاصة
- عرّف RFC 1316 منفذ المحارف، المادي أو الافتراضي، ككائن يمكن أن يدعم جلسة أو عدة جلسات من دون أن يخلط المنفذ بتلك الجلسات.
- حالة الإدارة تصف ما تسمح به السياسة المحلية، وحالة التشغيل تصف شرطاً محلياً ملاحظاً؛ كما أن عداد المنفذ الكلي يختلف في نطاقه عن عداد جلسة بعينها.
- كتابة
executeفي reset أو kill تطلب فعلاً محدداً في MIB، لكنها لا تثبت هوية أو محتوى أو استلاماً أو أثراً بعيداً أو نتيجة عمل.
نقطة التوصيل ليست المحادثة كلها
يشمل نموذج RFC 1316 منفذ RS-232 لطرفية مادية، ومنفذ طابعة متوازية، ومنفذ console افتراضي لا يملك موصلاً مادياً. المنفذ المادي يقابل موصل عتاد واحداً لواحد؛ والمنفذ الافتراضي كيان برمجي شبيه به من دون موصل. هذا يحدد سطحاً يمكن للوكيل إدارته، ولا يمنح ذلك السطح اسماً عالمياً أو هوية إنسان أو سجلاً لما حدث في الطرف الآخر.
ثم تأتي الجلسة كوحدة مختلفة. يمكن للمنفذ أن يدعم جلسة واحدة أو أكثر، والجلسة اتصال افتراضي ينقل المحارف بين المنفذ وشريك ما، وغالباً فوق مكدس مثل Telnet فوق TCP. المنفذ إذن موضع حمل، والجلسة علاقة في سياقه. القدرة على ربطهما في جدول لا تجعل أحدهما بديلاً عن الآخر.
اسم المنفذ ذو دلالة إدارية محلية، وفهرسه يحدد صفاً في MIB الوكيل. وحتى ظهور نشاط لا يبين أي جلسة أسهمت فيه، ولا معنى المحارف، ولا ما إذا كان الطرف الآخر قد فسّرها أو تصرف بناء عليها. هذا هو سبب فائدة الفصل: يحتفظ بالصلة ولا يختلق قصة كاملة منها.
الإرادة الإدارية ليست الشرط التشغيلي
charPortAdminStatus هو الحالة المطلوبة مستقلة عن التحكم في التدفق. enabled يسمح بالمحارف والجلسات الجديدة؛ disabled يسمح بالمحارف لا بالجلسات الجديدة؛ off يمنع كليهما؛ وmaintenance يضع المنفذ في وضع خارج التشغيل العادي، مثل الاختبار. إنه تصريح سياسة عن ما ينبغي أن يسمح به المنفذ.
أما charPortOperStatus فيصف الحالة الفعلية: up أو down أو maintenance أو absent أو active. يعرّف RFC active بأنه up مع وجود مستخدم، مثل مستخدم مسجل الدخول. لكن هذا تصنيف تشغيلي لدى الوكيل، لا اسم لذلك المستخدم ولا مصادقة له ولا دليلاً على صلاحية أو على نص كتب أو على قبول الطرف البعيد أو على نجاح تطبيق.
قد تختلف السياسة عن الشرط المرصود، ولا ينبغي إخفاء الفرق. disabled لا يمحو ما سبق من محارف، وmaintenance ليس تقرير نجاح اختبار، وactive ليس إيصالاً بنتيجة. حفظ الحقلين منفصلين يتيح لاحقاً سؤالاً دقيقاً: هل كان التغير في الإذن أم في التشغيل أم في طبقة أخرى؟
العداد الكلي لم يكن محضراً للجلسة
تتضمن عدادات المنفذ أكثر من بيانات جلسة منفردة. فعداد الإدخال يشمل framing ومحارف التحكم بالتدفق مثل XON/XOFF وحالات BREAK والمدخل المعالج محلياً وما يرسل إلى جميع الجلسات. ويشمل عداد الإخراج عناصر تحكم وإخراجاً أنشئ محلياً وإخراجاً من جميع الجلسات. ازدياد العداد مشاهدة تقنية واسعة، لا نسخة حرفية من حوار.
عدادا الإدخال والإخراج في جدول الجلسة هما مجموعتان فرعيتان من عدادي المنفذ. يفيد ذلك في إسناد محلي محدود، لكنه لا يثبت وصول محرف إلى شريك أو فهمه أو اتخاذه إجراءً. وفهرس الجلسة لا معنى له إلا في سياق منفذه، وقد يعاد استعمال العدد نفسه في منفذ آخر. لا يصح أن يتحول رقم بلا منفذ وزمن ووكيل إلى استمرارية مزعومة.
connected كان احتمال تدفق محدوداً
يعدّ المنفذ جلسات connecting وconnected وdisconnecting. وفي charSessState تعني connected أن بيانات المحارف يمكن أن تتدفق في الجانب الشبكي من الجلسة. لا تعني أن محرفاً بعينه تدفق، ولا أن برنامجاً بعيداً قبله، ولا أن إنساناً رآه، ولا أن نتيجة ما تحققت.
يمكن أن تحمل الجلسة بروتوكولاً ومصدر إنشاء unknown أو network أو local ومرجعاً لمعلومات MIB محلية إضافية إن وجدت. وعندما لا توجد هذه المعلومات يمكن أن يكون connection ID فارغاً. هذه مفاتيح ارتباط، لا أدوات لصنع هوية طرف أو تفويض أو أثر من غياب الأدلة.
execute لا يسجل ما بعده
قراءة charPortReset تعيد ready دائماً؛ أما كتابة execute فتحدث reset يقصد به إعادة عتاد وبرمجيات المنفذ إلى حالة أولية نظيفة وفصل الجلسات القائمة. وفي charSessKill تعيد القراءة ready وتسبب كتابة execute إنهاء تلك الجلسة. يحدد RFC سطح التحكم وما يفترض أن تفعله الكتابة في الكائن المدار.
لكن رؤية ready لاحقاً لا تثبت من كتب execute ولا بإذن من، ولا ما كانت الجلسات الموجودة، ولا ما شاهده الشريك، ولا فقداً أو إعادة اتصال أو تعافياً. يجب حفظ طلب التحكم وفاعله ودليل التفويض والحالات قبل/بعد ومشاهدات الطرف أو التطبيق كسجلات منفصلة. لا يجوز تحويل قيمة قراءة إلى سجل تدقيق كامل.
فائدة تاريخية هي ضبط اللغة
كان هدف RFC 1316 عملياً: إدارة طرفيات ومنافذ ووحدات console غير متجانسة. لكنه يقدم أيضاً لغة منضبطة: منفذ له سياسة وحالة، وجلسة لها حالة ومصدر، وعداد كلي أو فرعي، وطلب تحكم. لا يمكن لجملة قصيرة أن تبتلع هذه الحقائق كلها.
عند سماع «المنفذ active» أو «الجلسة connected» أو «تم reset»، يجب السؤال: أي كائن قال ذلك، وما الذي لم يرصده؟ هذا ليس بطئاً في التشغيل، بل شرط يجعل النتيجة قابلة للتصحيح عند ظهور دليل جديد.
المصادر وحدود الدليل
يعتمد هذا المقال على RFC 1316، Definitions of Managed Objects for Character Stream Devices (أبريل 1992). وهو يدعم الفصل بين المنفذ المادي/الافتراضي، والمنفذ/الجلسة، والحالة الإدارية/التشغيلية، والعداد الكلي/الفرعي، ومراحل الجلسة وأدوات reset/kill. ولا يثبت منفذاً حياً أو شخصاً محدداً أو اعتماداً أو تفويضاً أو شريكاً دقيقاً أو محتوى أو تسليماً أو عرضاً أو نتيجة تطبيق أو عملية reset/إنهاء حقيقية.
إحاطة الأعضاء
سياق أعمق للملف الشخصي
سجّل الدخول بمستوى العضوية المناسب لفتح الإحاطة الكاملة وملاحظات المصادر.
للدائرة الاستراتيجية فقط
الدائرة الاستراتيجية
مفتوح لجميع القراء. افتح إحاطات الملف الشخصي بعد الانضمام وتسجيل الدخول.
انضم إلى الدائرة الاستراتيجيةلأعضاء تحالف القيادات فقط
تحالف القيادات
لأصحاب الأصول الفكرية المؤهلين وللإدارة؛ سجّل الدخول للوصول إلى إحاطات التحالف.
انضم إلى تحالف القيادات
