بروتوكول تحديد موقع الخدمة

بروتوكول تحديد موقع الخدمة ( SLP ، srvloc ) هو بروتوكول لاكتشاف الخدمات يسمح لأجهزة الكمبيوتر والأجهزة الأخرى بالعثور على الخدمات في الشبكة المحلية دون الحاجة إلى تهيئة مسبقة. صُمم بروتوكول SLP ليتناسب مع مختلف أحجام الشبكات، بدءًا من الشبكات الصغيرة غير المُدارة وصولًا إلى شبكات المؤسسات الكبيرة. وقد تم تعريفه في RFC 2608 وRFC 3224 كوثيقة مرجعية .

ملخص

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

قد يبدو عنوان URL الخاص بالطابعة كالتالي:

خدمة: طابعة: lpr://myprinter/myqueue

يصف هذا الرابط قائمة انتظار تُسمى "myqueue" على طابعة تحمل اسم المضيف "myprinter". البروتوكول المستخدم من قِبل الطابعة هو LPR . تجدر الإشارة إلى أن الطابعة تستخدم مخططًا خاصًا للروابط "service:". عناوين URL التي تبدأ بـ "service:" ليست إلزامية، إذ يُمكن استخدام أي مخطط، ولكنها تُتيح البحث عن جميع الخدمات من النوع نفسه (مثل جميع الطابعات) بغض النظر عن البروتوكول المُستخدم. تُسمى المكونات الثلاثة الأولى من نوع عنوان URL "service:" (service:printer:lpr) أيضًا بنوع الخدمة . أما المكونان الأولان ("service:printer") فيُسميان نوع الخدمة المجرد . في عنوان URL الذي لا يبدأ بـ "service:"، يكون اسم المخطط هو نوع الخدمة (على سبيل المثال "http" في " http://www.wikipedia.org ").

قد تبدو خصائص الطابعة كما يلي:

(اسم الطابعة = هوغو)، (printer-natural-language-configured=en-us), (موقع الطابعة = في مكتبي المنزلي)، (printer-document-format-supported=application/postscript), (printer-color-supported=false), (printer-compression-supported=deflate, gzip)

يستخدم المثال الصيغة القياسية للسمات في SLP، وقد تمت إضافة أسطر جديدة فقط لتحسين قابلية القراءة.

يُحدد تعريف عنوان URL "service:" والخصائص المسموح بها لهذا العنوان بواسطة قالب خدمة ، وهو وصف رسمي لبنية عنوان URL وخصائصه. وقد تم تعريف قوالب الخدمة في RFC 2609.

تتيح خدمة SLP أنواعًا متعددة من الاستعلامات لتحديد مواقع الخدمات والحصول على معلومات عنها:

  • يمكنه البحث عن جميع الخدمات التي لها نفس نوع الخدمة أو نوع خدمة مجرد
  • يمكن دمج الاستعلام مع استعلام عن السمات، باستخدام لغة الاستعلام الخاصة بـ LDAP .
  • يمكن طلب خصائص الخدمة من خلال عنوان URL الخاص بها. في بروتوكول SLP القياسي، لا تُعرض الخصائص ضمن نتيجة الاستعلام، بل يجب جلبها بشكل منفصل. يعمل ملحق قائمة الخصائص (RFC 3059) على حل هذه المشكلة.
  • يمكن الحصول على قائمة بجميع أنواع الخدمات
  • يمكن طلب قائمة بجميع النطاقات الحالية.

الأدوار

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

  • وكلاء المستخدم (UA) هي أجهزة تبحث عن الخدمات
  • أجهزة وكلاء الخدمة (SA) هي أجهزة تعلن عن خدمة واحدة أو أكثر
  • وكلاء الدليل (DA) هي أجهزة تخزن معلومات الخدمات مؤقتًا. تُستخدم في الشبكات الكبيرة لتقليل حجم البيانات المنقولة وتمكين بروتوكول SLP من التوسع. وجود وكلاء الدليل في الشبكة اختياري، ولكن في حال وجودهم، يُطلب من وكلاء المستخدم (UA) ووكلاء الخدمة (SA) استخدامهم بدلًا من التواصل المباشر.

معظم التطبيقات اليوم عبارة عن برامج تعمل في الخلفية ويمكنها أن تعمل كخادم مستخدم (UA) وخادم خدمة (SA). وعادةً ما يمكن تهيئتها لتصبح خادم تطبيق (DA) أيضًا.

بروتوكول الشبكة

بروتوكول SLP هو بروتوكول يعتمد على حزم البيانات. تُرسل معظم الحزم باستخدام بروتوكول UDP ، ولكن يمكن استخدام بروتوكول TCP أيضًا لإرسال الحزم الأطول. نظرًا لاحتمالية عدم موثوقية بروتوكول UDP، يُعيد بروتوكول SLP إرسال جميع عمليات البث المتعدد عدة مرات بفواصل زمنية متزايدة حتى يتم استلام رد. يجب على جميع الأجهزة الاستماع على المنفذ 427 لحزم UDP، كما يجب على وكلاء الخدمة (SA) ووكلاء الدليل (DA) الاستماع لحزم TCP على نفس المنفذ. يستخدم بروتوكول SLP البث المتعدد على نطاق واسع، خاصةً من قِبل الأجهزة التي تنضم إلى الشبكة وتحتاج إلى العثور على أجهزة أخرى.

يختلف عمل بروتوكول SLP اختلافًا كبيرًا، اعتمادًا على وجود جهاز DA في الشبكة من عدمه. عند انضمام عميل إلى شبكة لأول مرة، يرسل استعلامًا متعدد البث للبحث عن أجهزة DA الموجودة على الشبكة. إذا لم يستجب أي جهاز DA، فسيفترض العميل أنه في شبكة خالية من أجهزة DA. من الممكن أيضًا إضافة أجهزة DA لاحقًا، حيث ترسل هذه الأجهزة حزمة "نبضات قلب" متعددة البث على فترات زمنية محددة مسبقًا، والتي ستستقبلها جميع الأجهزة الأخرى. عندما يكتشف جهاز SA جهاز DA، يُطلب منه تسجيل جميع الخدمات في جهاز DA. عند اختفاء خدمة ما، يجب على جهاز SA إخطار جهاز DA وإلغاء تسجيلها.

لإرسال استعلام في شبكة بدون خادم توجيه (DA)، يرسل جهاز المستخدم (UA) حزمة UDP متعددة البث تحتوي على الاستعلام. ترسل جميع خوادم التوجيه (SAs) التي تحتوي على نتائج مطابقة رد UDP إلى جهاز المستخدم. إذا كان الرد كبيرًا جدًا بحيث لا يتسع في حزمة UDP واحدة، فسيتم وضع علامة "تجاوز" على الحزمة، ويصبح بإمكان جهاز المستخدم إرسال الاستعلام مباشرةً إلى خادم التوجيه باستخدام بروتوكول TCP، الذي يمكنه نقل حزم بأي حجم.

لإرسال استعلام في شبكة مزودة بخادم توجيه (DA)، يقوم مستخدم التطبيق (UA) بإرسال حزمة الاستعلام إلى خادم التوجيه باستخدام بروتوكول UDP أو TCP. وبما أن كل خادم خدمة (SA) مُلزم بتسجيل جميع خدماته لدى خادم التوجيه، فإن خادم التوجيه قادر على تلبية الطلب بالكامل وإرسال النتيجة ببساطة إلى مستخدم التطبيق.

حماية

يحتوي بروتوكول SLP على آلية أمان، تعتمد على التشفير بالمفتاح العام ، تسمح بتوقيع إعلانات الخدمة. عمليًا، نادرًا ما يُستخدم.

  • يجب تثبيت المفاتيح العامة لكل مزود خدمة على كل جهاز مستخدم. هذا الشرط يُفقد بروتوكول تحديد مواقع الخدمات (SLP) غرضه الأصلي، وهو القدرة على تحديد مواقع الخدمات دون تهيئة مسبقة.
  • لا يكفي حماية الخدمات فقط. تحتوي عناوين URL الخاصة بالخدمات على أسماء مضيفين أو عناوين IP، وفي الشبكة المحلية، يكاد يكون من المستحيل منع انتحال عناوين IP أو DNS . لذا، فإن ضمان صحة عنوان URL وحده لا يكفي إذا كان بإمكان أي جهاز الاستجابة لهذا العنوان.
  • بما أن العناوين قابلة للتزوير، يجب إثبات صحة الجهاز على مستوى آخر، مثلاً في بروتوكول التطبيق (باستخدام SSL مثلاً ) أو في طبقة الحزم ( IPsec ). ولا يُضيف القيام بذلك في بروتوكول SLP مزيداً من الأمان.

التبني

انظر أيضاً

مراجع

  1. دليل إدارة بروتوكول تحديد موقع الخدمة (ملف PDF) ، شركة صن مايكروسيستمز، فبراير 2000 ، تم الاطلاع عليه بتاريخ 19 أغسطس 2010