بروتوكول واجهة المستخدم الموسعة - NetBIOS

اقرأ في هذا المقال


ما هو بروتوكول واجهة مستخدم (NetBIOS)؟

في عام 1983، كان هدف تصميم IBM و Sytek لنظام الإدخال والإخراج الأساسي للشبكة.
(NetBIOS) ،(NetBIOS Extended User Interface): هو بناء بروتوكول صغير وسريع من شأنه أن يسمح بأسماء الأجهزة التي يعيّنها الإنسان، مثل My Computer والتي يسهل استخدامها تذكر من مخطط ترقيم معقد و NetBIOS هو فعال IBMs API لأجهزة الحاسوب للوصول إلى مرافق LAN ولم يكن حجم الشبكة في ذلك الوقت أكثر من 72 جهازًا على الوصول إلى النطاق العريض.

يتطلب NetBIOS، كونه واجهة فعالة بدلاً من بروتوكول، بروتوكول شبكة لتنفيذ جلساته عبر الشبكة وتقليدياً، تم تلبية هذه الحاجة مع NetBEUI و تم تصميم NetBEUI بواسطة IBM في عام 1985 كبروتوكول الشبكة الذي يكمل متطلبات نقل NetBIOS باستخدام خادم IBMs LAN Manager وكان الدافع وراء اختراع NetBEUI هو إدخال Token Ring في عام 1985 والذي يمكن أن يستوعب ما يصل إلى 260 جهازًا في حلقة واحدة.
NetBEUI هو NetBIOS يعمل عبر شبكة LAN بدون بروتوكول حامل طبقة 3 وإنه كما يوحي اسمه امتداد لواجهة برمجة تطبيقات NetBIOS ويستخدم (NetBEUI) بروتوكول OSI Layer 2 802.2 LLC2 وهو بروتوكول موجه لاتصال طبقة ارتباط البيانات المستخدم لحركة مرور SNA أيضًا و NetBEUI سريع جدًا ولكنه أيضًا متعطش لعرض النطاق الترددي نظرًا لأن المحطات التي تبحث عن بعضها البعض تبث طلباتها كثيرًا لطالما كان NetBEUI هو التكوين الافتراضي لأجهزة SMB لأنه من السهل جدًا إعداده ومع ذلك فهو غير قابل للتطوير لأنه لا يمكن توجيه NetBEUI، نظرًا لكونه بروتوكول LLC2 فقط، لا يمكن ربطه إلا.
إصدار NetBEUI الذي يأتي مع حزم Windows الحديثة هو الإصدار 3.0 (أو 4.0) وهو ليس بدقة NetBEUI بل هو بروتوكول تنسيق إطار (NetBIOS (NBF الذي يتعامل مع Windows واجهة سائق النقل (TDI) في النهاية السفلية و NetBIOS في الأعلى النهاية و NetBEUI 3.0 / 4.0 متوافق مع الإصدارات الأقدم من NetBEUI. NBF أكثر اتساقًا من إصدارات NetBIOS الأقدم فيما يتعلق بتنسيقات الإطارات.
في الوقت الحاضر، بروتوكول النقل المستخدم لـ NetBIOS هو IP أو في بعض الأحيان IPX و تتطلب تطبيقات مثل SAMBA فعليًا تشغيل NetBIOS عبر IP على الرغم من أن بعض إصدارات SAMBA يمكن تشغيلها عبر IPX.

كيفية تنسيق الإطار:

يستخدم NetBIOS و LLC النوع 1 (خدمات مخطط البيانات) و LLC النوع 2 (خدمات الجلسة) على شبكة LAN و (NetBIOS (NBF في LLC، حيث الوجهة والمصدر SAP هو F0.

ما هي خدمات (NetBIOS)؟


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

الاستعلام عن إضافة الاسم:

هذا الأمر له قيمة 0x01 ويستخدم لإضافة اسم فريد للشبكة.

إضافة استعلام المجموعة:

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

إضافة اسم الرد:

هذا الأمر له قيمة (0x0D) ويتم إرساله من قبل محطة كاستجابة للاستعلامات السابقة إذا كان الاسم مستخدمًا بالفعل ويمكن أن يحتوي حقل “البيانات 1” على القيم التالية:

  • 0 – إضافة اسم ليس قيد المعالجة.
  • 1 – إضافة الاسم قيد المعالجة.

يمكن أن يحتوي حقل “البيانات 2” على القيم التالية:

  • 0 – اسم فريد.
  • 1 – اسم المجموعة.

التعارض مع الأسماء المتشابهة:

هذا الأمر له قيمة 0x02 ويتم إرساله إذا كان هناك أكثر من محطة واحدة لها نفس الاسم الفريد أو كان هناك تعارض بين اسم فريد واسم مجموعة ولا يُسمح للمستخدم الذي يتلقى هذه الرسالة بالانضمام إلى الشبكة واسم المصدر هو الاسم الخاص لـ NAME NUMBER 1.
من أجل أن يتم اكتشاف الاسم، أي لمحول الشبكة الموجود على الكمبيوتر المرسل للعثور على محول الشبكة على محول الاستقبال، يوجد لهذا الأمر FIND_NAME و لحذف اسم (أي عكس تسجيل الاسم)، يوجد أمر DELETE_NAME.

ما هي خدمات التشخيص في (NetBIOS)؟

يمكن العثور على حالة العقد البعيدة والمحلية على الشبكة باستخدام بروتوكول التشخيص والمراقبة (DMP)، تحتوي هذه المعلومات على عدد إطارات الرفض التي تم إرسالها واستلامها، وعدد عمليات الإرسال التي تم إحباطها وعدد وحدات بيانات بروتوكول التحكم المنطقي (LPDU) التي تم تلقيها عن طريق الخطأ.

ما هي محتويات بروتوكول (DMP)؟

استعلام الحالة:

هذا الأمر له قيمة 0x03 ويستخدم للحصول على معلومات حول المحول البعيد ويتم استخدام ثماني بتات Data1 للإشارة إلى حالة الطلب ويشير 0x0 إلى طلب نوع 1.x أو 2.0 ويشير 0x01 إلى طلب NetBIOS 2.1 وتشير القيم الأكبر من 1 إلى طلب NetBIOS 2.1 ويتم استخدام وحدتي بايت من حقل Data2 للإشارة إلى طول المخزن المؤقت لحالة المستخدم وفي حقول الاسم ، ستة عشر ثماني بتات تحدد اسم جهاز الاستقبال متبوعة بستة عشر ثماني بتات تشير إلى NAME_NUMBER_1 لعقدة الإرسال .

استجابة الحالة:

هذا الأمر له قيمة 0x0F ويستخدم كاستجابة لطلب إطار الحال و يتم استخدام ثماني بتات Data1 للإشارة إلى حالة الاستجابة و يشير 0x0 إلى استجابة نوع 1.x أو 2.0 وتشير القيم الأكبر من 0x0 إلى استجابة NetBIOS 2.1 وتعتبر ثماني بتات من حقل Data2 سلسلة 16 بت؛ يتم ضبط البتة الأولى على 1 إذا تجاوز طول بيانات الحالة حجم الرتل؛ يتم تعيين البت الثاني على 1 إذا تجاوز الطول حجم المخزن المؤقت للمستخدم؛ تشير الـ 14 بت المتبقية إلى طول بيانات الحالة المرسلة وتشير ستة عشر ثماني بتات إلى NAME_NUMBER_1 للعقدة المستقبلة ويتبعها ستة عشر ثماني بتات أخرى تشير إلى اسم عقدة الإرسال.

إنهاء التتبع:

هذا الأمر له قيمة 0x07 ويستخدم لإنهاء التتبع عند عقدة بعيدة.

إنهاء التتبع المحلي عن بعد:

هذا الأمر له قيمة 0x13 ويستخدم لإنهاء التتبع في العقدة المحلية والبعيدة.

ما هي خدمات مخطط البيانات في (NetBIOS)؟

بروتوكول مخطط بيانات مستخدم NetBIOS أو(UDP) يكافئ IP من حيث أنه يُستخدم لنقل البيانات من جهاز إلى جهاز ولكن ليس لنقل بروتوكولات الطبقة العليا (كما في IP / UDP)، وتُستخدم مخططات البيانات عندما لا تكون الاستجابة مطلوبة (على عكس خدمة الجلسة)، ويمكن إرسال مخططات البيانات إلى تطبيق واحد فقط أو إلى مجموعة تطبيقات NetBIOS أو إلى كافة التطبيقات.

تعد مخططات بيانات NetBIOS بدون اتصال ولا يمكن الاعتماد عليها ويمكنها فقط إدارة الرسائل التي يصل طولها إلى 512 بايت. يتطلب الأمر Send_Datagram من المتصل تحديد اسم الوجهة وإذا كان التطبيق الوجهة اسمًا فريدًا، فيمكن لهذا التطبيق فقط تلقي مخطط البيانات وإذا كانت الوجهة عبارة عن اسم مجموعة، فيمكن لكل عضو في المجموعة تلقي مخطط البيانات ويجب أن يحدد المتصل بأمر Receive_Datagram الاسم المحلي الذي يريد أن يتلقى مخططات البيانات من أجله .

يقوم الأمر Receive_Datagram أيضًا بإرجاع اسم المرسل، بالإضافة إلى بيانات مخطط البيانات الفعلية وإذا تلقى NetBIOS مخطط بيانات و لكن لا توجد أوامرReceive_Datagram معلقة، فسيتم تجاهل مخطط البيانات، أي يجب على التطبيق المستلم أولاً إصدار أمر Receive_Datagram وإلا فلن يتمكن من تلقي مخططات البيانات.
وبالمثل، يرسل الأمر إرسال مخطط بيانات البث الرسالة إلى كل نظام NetBIOS على الشبكة المحلية وعندما يتم تلقي مخطط بيانات البث بواسطة عقدة NetBIOS، فإن كل عملية أصدرت مسبقًا أمر تلقي بث البيانات تتلقى مخطط البيانات واذا لم يكن أي من هذه الأوامر معلقًا عند تلقي مخطط بيانات البث، فسيتم تجاهل مخطط البيانات.

البيانات:

هذا الأمر له قيمة 0x08 ويستخدم لإرسال مخطط بيانات إلى اسم حقول البيانات والارتباط غير مستخدمة.

إذاعة البيانات:

هذا الأمر له قيمة 0x09 ويستخدم لإرسال مخطط بيانات لجميع الأسماء وحقول البيانات والارتباط غير مستخدمة.

ما هي خدمات الجلسة في (NetBIOS)؟

بمجرد إنشاء الأسماء القانونية، تحدث الجلسة بين اسمين من NetBIOS (أجهزة أو تطبيقات) وتنشئ خدمة الجلسة الجلسات وتحافظ عليها حيث تشتمل صيانة الجلسة على اكتشاف الأخطاء والتحكم فيها ويتم ترقيم كل جلسة، ويجب الاعتراف بكل إطار خلال مهلة محددة بحيث يمكن أن يكون هناك أكثر من جلسة واحدة بين اسم وآخر.

يتطلب إنشاء جلسة NetBIOS التعاون بين المحطتين ويجب أن يكون أحد التطبيقات قد أصدر بالفعل أمر استماع عندما يصدر تطبيق آخر أمر اتصال ويشير الأمر الاستماع إلى اسم في جدول أسماء NetBIOS الخاص به، وكذلك الاسم البعيد الذي يجب أن يستخدمه التطبيق للتأهل كشريك جلسة عمل وإذا لم يكن المتلقي يستمع بالفعل، فلن تنجح المكالمة.
في حالة نجاح المكالمة يتلقى كل تطبيق إشعارًا بإنشاء الجلسة باستخدام معرف الجلسة ويقوم الأمر بإرسال واستقبال بعد ذلك بنقل البيانات في نهاية الجلسة، يمكن لأي تطبيق إصدار أمر Hang-Up ويمكن إرسال رسائل يصل حجمها إلى 64 كيلوبايت.

يتم إنشاء الجلسة بالطريقة التالية:

  1. ترسل محطة الإرسال استعلامًا عن الاسم باعتباره مستكشف الشجرة الممتدة (ST).
  2. يجمع الإطار بيانات RIF أثناء عبوره للشبكة. في شبكة شجرة الامتداد الموجه من المصدر ، تصل نسخة واحدة فقط من الإطار إلى الوجهة ، وإلا تصل نسخ متعددة إلى الوجهة.
  3. إذا تعرفت واجهة NetBIOS على طلب أحد التطبيقات الخاصة به، فإنه يرسل مرة أخرى اسم بث تم التعرف عليه كافة مستكشف المسارات (ARE).
  4. تقوم المناطق العائدة بجمع معلومات RIF في طريق عودتهم إلى المحطة الأصلية.
  5. تتلقى المحطة الأصلية نسخًا متعددة من نافذة الاسم التي تم التعرف عليها.
  6. يتم أخذ أول إطار تم التعرف عليه بالاسم تستقبله المحطة الأصلية ويستخدم RIF لإطارات الإطارات الموجهة المحددة (SRF) التالية إلى المحطة الوجهة.
  7. في هذه المرحلة ، تبدأ جلسة بين المحطتين وليس هناك حاجة لأسماء NetBIOS من الآن فصاعدًا.

التفاصيل التالية توضح الأمرين اللذين تمت مناقشتهما للتو ويستخدمان نفس تنسيق إطار NetBIOS الموضح سابقًا:

استعلام عن الاسم:

هذا الأمر له قيمة 0x0Aويتم تعيين حقل Data2 إلى “ttss” حيث يشير “tt” إلى نوع الاسم الذي يتم استدعاؤه و 00 لاسم فريد و 01 لاسم مجموعة؛ يتم استخدام ‘s’ للإشارة إلى رقم الجلسة.

الاعتراف بالاسم:

هذا الأمر له قيمة 0x0E. يتم تعيين حقل Data2 إلى “ttss” حيث يشير “tt” إلى نوع الاسم الذي يتم استدعاؤه و 00 لاسم فريد و 01 لاسم مجموعة؛ يتم استخدام ‘s’ للإشارة إلى حالة الاسم: يتم استخدام 0x00 عندما لا تستمع المحطة لهذا الاسم ويتم استخدام 0xFF عندما تستمع المحطة لهذا الاسم ولكن لا يمكن إنشاء جلسة و 0x01 إلى 0xFE تستخدم كرقم يحدد هذه الجلسة بالذات.

المصدر: NetBIOSNetBEUI (NetBIOS Extended User Interface)


شارك المقالة: