التوصيل والتشغيل العالمي

Universal Plug and Play ( UPnP ) عبارة عن مجموعة من بروتوكولات الشبكات على بروتوكول الإنترنت (IP) التي تسمح للأجهزة المتصلة بالشبكة، مثل أجهزة الكمبيوتر الشخصية والطابعات وبوابات الإنترنت ونقاط وصول Wi-Fi والأجهزة المحمولة، باكتشاف وجود بعضها البعض على الشبكة وإنشاء خدمات شبكة وظيفية. تم تصميم UPnP في المقام الأول للشبكات السكنية التي لا تحتوي على أجهزة من فئة المؤسسات.
يفترض UPnP أن الشبكة تدير IP، ثم تستخدم HTTP أعلى IP لتوفير وصف الجهاز/الخدمة والإجراءات ونقل البيانات وإشعارات الأحداث . يتم دعم طلبات البحث عن الجهاز والإعلانات من خلال تشغيل HTTP أعلى UDP ( المنفذ 1900) باستخدام البث المتعدد (المعروف باسم HTTPMU). يتم أيضًا إرسال الاستجابات لطلبات البحث عبر UDP، ولكن يتم إرسالها بدلاً من ذلك باستخدام البث الأحادي (المعروف باسم HTTPU).
من الناحية النظرية، يمتد UPnP من التوصيل والتشغيل —وهي تقنية لتوصيل الأجهزة بشكل ديناميكي مباشرة بجهاز كمبيوتر— إلى الشبكات ذات التكوين الصفري للشبكات اللاسلكية السكنية والمنزلية . أجهزة UPnP هي توصيل والتشغيل بمعنى أنه عند توصيلها بشبكة، فإنها تنشئ تلقائيًا تكوينات عاملة مع أجهزة أخرى، مما يزيل الحاجة إلى قيام المستخدمين بتكوين الأجهزة وإضافتها يدويًا من خلال عناوين IP . [1]
يُنظر إلى UPnP بشكل عام على أنه غير مناسب للنشر في إعدادات الأعمال لأسباب تتعلق بالاقتصاد والتعقيد والاتساق: حيث تجعله أساس البث المتعدد ثرثارًا، ويستهلك الكثير من موارد الشبكة على الشبكات التي تحتوي على عدد كبير من الأجهزة؛ ولا تتوافق عناصر التحكم في الوصول المبسطة بشكل جيد مع البيئات المعقدة؛ ولا توفر قواعد تكوين موحدة مثل بيئات CLI الخاصة بـ Cisco IOS أو JUNOS. [ بحاجة لمصدر ]
ملخص
تسمح بنية UPnP بالربط بين الأجهزة الإلكترونية الاستهلاكية والأجهزة المحمولة وأجهزة الكمبيوتر الشخصية والأجهزة المنزلية المتصلة بالشبكة . وهو بروتوكول مفتوح موزع يعتمد على معايير ثابتة مثل مجموعة بروتوكولات الإنترنت (TCP/IP) و HTTP و XML و SOAP . نقاط التحكم في UPnP (CPs) هي أجهزة تستخدم بروتوكولات UPnP للتحكم في الأجهزة التي يتم التحكم فيها بواسطة UPnP (CDs). [2]
تدعم بنية UPnP الشبكات بدون تكوين. يمكن لأي جهاز متوافق مع UPnP من أي بائع الانضمام إلى شبكة بشكل ديناميكي، والحصول على عنوان IP، والإعلان عن اسمه، والإعلان عن قدراته أو نقلها عند الطلب، والتعرف على وجود وقدرات الأجهزة الأخرى. تعد خوادم بروتوكول تكوين المضيف الديناميكي (DHCP) ونظام اسم المجال (DNS) اختيارية ولا تُستخدم إلا إذا كانت متوفرة على الشبكة. يمكن للأجهزة قطع الاتصال بالشبكة تلقائيًا دون ترك معلومات الحالة .
تم نشر UPnP كمعيار دولي مكون من 73 جزءًا ISO/IEC 29341 في ديسمبر 2008. [3] [4] [5] [6] [7] [8]
تتضمن ميزات UPnP الأخرى ما يلي:
- استقلالية الوسائط والأجهزة
- يمكن تشغيل تقنية UPnP على العديد من الوسائط التي تدعم IP، بما في ذلك Ethernet و FireWire وIR ( IrDA ) والأسلاك المنزلية ( G.hn ) وRF ( Bluetooth و Wi-Fi ). لا يلزم دعم برنامج تشغيل جهاز خاص ؛ يتم استخدام بروتوكولات الشبكة الشائعة بدلاً من ذلك.
- التحكم في واجهة المستخدم (UI)
- اختياريًا ، يتيح تصميم UPnP للأجهزة تقديم واجهة مستخدم من خلال متصفح الويب (انظر العرض التقديمي أدناه).
- الاستقلال عن نظام التشغيل ولغة البرمجة
- يمكن استخدام أي نظام تشغيل وأي لغة برمجة لبناء منتجات UPnP. تتوفر مجموعات UPnP لمعظم المنصات وأنظمة التشغيل في كل من الأشكال المغلقة والمفتوحة المصدر.
- التحكم البرمجي
- يتيح تصميم UPnP أيضًا التحكم البرمجي للتطبيق التقليدي. [ يحتاج إلى توضيح ]
- قابلية التوسعة
- يمكن أن يشتمل كل منتج UPnP على خدمات خاصة بالجهاز يتم وضعها فوق البنية الأساسية. بالإضافة إلى الجمع بين الخدمات التي يحددها منتدى UPnP بطرق مختلفة، يمكن للموردين تحديد أنواع الأجهزة والخدمات الخاصة بهم، ويمكنهم توسيع الأجهزة والخدمات القياسية من خلال الإجراءات التي يحددها المورد، ومتغيرات الحالة، وعناصر بنية البيانات، وقيم المتغيرات.
بروتوكول
يستخدم UPnP تقنيات الإنترنت الشائعة . يفترض أن الشبكة يجب أن تعمل ببروتوكول الإنترنت (IP) ثم يستخدم HTTP و SOAP و XML أعلى IP، من أجل توفير وصف الجهاز/الخدمة والإجراءات ونقل البيانات والأحداث. يتم دعم طلبات البحث عن الجهاز والإعلانات من خلال تشغيل HTTP أعلى UDP باستخدام البث المتعدد (المعروف باسم HTTPMU). يتم أيضًا إرسال الاستجابات لطلبات البحث عبر UDP، ولكن يتم إرسالها بدلاً من ذلك باستخدام البث الأحادي (المعروف باسم HTTPU). يستخدم UPnP UDP بسبب انخفاض النفقات العامة في عدم مطالبته بتأكيد البيانات المستلمة وإعادة إرسال الحزم التالفة. تم تقديم HTTPU وHTTPMU في البداية كمسودة إنترنت ، لكنها انتهت صلاحيتها في عام 2001؛ [9] تم دمج هذه المواصفات منذ ذلك الحين في مواصفات UPnP الفعلية.
يستخدم UPnP منفذ UDP 1900، ويتم اشتقاق جميع منافذ TCP المستخدمة من رسائل SSDP النشطة والاستجابة. [10]
معالجة
إن الأساس لشبكات UPnP هو عنونة IP. يجب على كل جهاز تنفيذ عميل DHCP والبحث عن خادم DHCP عندما يتم توصيل الجهاز بالشبكة لأول مرة. إذا لم يتوفر خادم DHCP، فيجب على الجهاز تعيين عنوان لنفسه. تُعرف العملية التي يعين بها جهاز UPnP عنوانًا لنفسه داخل بنية جهاز UPnP باسم AutoIP . في بنية جهاز UPnP الإصدار 1.0، [3] يتم تعريف AutoIP داخل المواصفات نفسها؛ في بنية جهاز UPnP الإصدار 1.1، [4] يشير AutoIP إلى IETF RFC 3927. إذا حصل الجهاز أثناء معاملة DHCP على اسم مجال، على سبيل المثال، من خلال خادم DNS أو عبر إعادة توجيه DNS، فيجب على الجهاز استخدام هذا الاسم في عمليات الشبكة اللاحقة؛ وإلا، فيجب على الجهاز استخدام عنوان IP الخاص به.
اكتشاف
بمجرد إنشاء جهاز لعنوان IP، فإن الخطوة التالية في شبكات UPnP هي الاكتشاف. يُعرف بروتوكول اكتشاف UPnP باسم بروتوكول اكتشاف الخدمة البسيطة (SSDP). عندما تتم إضافة جهاز إلى الشبكة، يسمح SSDP لهذا الجهاز بالإعلان عن خدماته لنقاط التحكم على الشبكة. يتم تحقيق ذلك عن طريق إرسال رسائل SSDP النشطة. عندما تتم إضافة نقطة تحكم إلى الشبكة، يسمح SSDP لنقطة التحكم هذه بالبحث بنشاط عن الأجهزة ذات الأهمية على الشبكة أو الاستماع بشكل سلبي إلى رسائل SSDP النشطة للأجهزة. التبادل الأساسي هو رسالة اكتشاف تحتوي على بعض التفاصيل الأساسية حول الجهاز أو إحدى خدماته، على سبيل المثال، نوعه ومعرفه ومؤشر (موقع الشبكة) إلى معلومات أكثر تفصيلاً.
وصف
بعد اكتشاف نقطة التحكم لجهاز ما، لا تزال نقطة التحكم لا تعرف سوى القليل جدًا عن الجهاز. لكي تتعلم نقطة التحكم المزيد عن الجهاز وقدراته، أو للتفاعل مع الجهاز، يجب على نقطة التحكم استرداد وصف الجهاز من الموقع ( عنوان URL ) الذي يوفره الجهاز في رسالة الاكتشاف. يتم التعبير عن وصف جهاز UPnP في XML ويتضمن معلومات الشركة المصنعة الخاصة بالبائع مثل اسم الطراز والرقم والرقم التسلسلي واسم الشركة المصنعة وعناوين URL لمواقع الويب الخاصة بالبائع وما إلى ذلك. يتضمن الوصف أيضًا قائمة بأي خدمات مضمنة. لكل خدمة، تسرد وثيقة وصف الجهاز عناوين URL للتحكم والأحداث ووصف الخدمة. يتضمن كل وصف خدمة قائمة بالأوامر أو الإجراءات التي تستجيب لها الخدمة والمعلمات أو الحجج لكل إجراء؛ يتضمن وصف الخدمة أيضًا قائمة بالمتغيرات ؛ تقوم هذه المتغيرات بنمذجة حالة الخدمة في وقت التشغيل ويتم وصفها من حيث نوع بياناتها ونطاقها وخصائص الحدث.
يتحكم
بعد استرجاع وصف الجهاز، يمكن لنقطة التحكم إرسال إجراءات إلى خدمة الجهاز. للقيام بذلك، ترسل نقطة التحكم رسالة تحكم مناسبة إلى عنوان URL للتحكم الخاص بالخدمة (الموضح في وصف الجهاز). يتم التعبير عن رسائل التحكم أيضًا في XML باستخدام بروتوكول الوصول إلى الكائنات البسيط (SOAP). تمامًا مثل استدعاءات الوظيفة ، تعيد الخدمة أي قيم خاصة بالإجراء استجابةً لرسالة التحكم. يتم نمذجة تأثيرات الإجراء، إن وجدت، من خلال التغييرات في المتغيرات التي تصف حالة وقت تشغيل الخدمة.
إشعار الحدث
إن إحدى قدرات شبكات UPnP هي إعلام الأحداث ، أو تنظيم الأحداث . يُعرف بروتوكول إعلام الأحداث المحدد في بنية جهاز UPnP باسم بنية إعلام الأحداث العامة (GENA). يتضمن وصف UPnP لخدمة قائمة بالإجراءات التي تستجيب لها الخدمة وقائمة بالمتغيرات التي تحاكي حالة الخدمة في وقت التشغيل. تنشر الخدمة التحديثات عندما تتغير هذه المتغيرات، وقد تشترك نقطة التحكم لتلقي هذه المعلومات. تنشر الخدمة التحديثات عن طريق إرسال رسائل الأحداث. تحتوي رسائل الأحداث على أسماء متغير حالة واحد أو أكثر والقيمة الحالية لتلك المتغيرات. يتم التعبير عن هذه الرسائل أيضًا في XML. يتم إرسال رسالة حدث أولية خاصة عندما تشترك نقطة التحكم لأول مرة؛ تحتوي رسالة الحدث هذه على أسماء وقيم جميع المتغيرات التي تم تنظيم الأحداث فيها وتسمح للمشترك بتهيئة نموذجه لحالة الخدمة. لدعم السيناريوهات التي تحتوي على نقاط تحكم متعددة، تم تصميم تنظيم الأحداث لإبقاء جميع نقاط التحكم على علم متساوٍ بتأثيرات أي إجراء. لذلك، يتم إرسال جميع رسائل الأحداث إلى جميع المشتركين، ويتلقى المشتركون رسائل الأحداث لجميع المتغيرات "الحدثية" التي تغيرت، ويتم إرسال رسائل الأحداث بغض النظر عن سبب تغير متغير الحالة (إما استجابةً لإجراء مطلوب أو لأن الحالة التي تقوم الخدمة بنمذجتها تغيرت).
عرض تقديمي
الخطوة الأخيرة في شبكات UPnP هي العرض. إذا كان الجهاز يحتوي على عنوان URL للعرض، فيمكن لنقطة التحكم استرداد صفحة من عنوان URL هذا، وتحميل الصفحة في متصفح الويب ، واعتمادًا على إمكانيات الصفحة، السماح للمستخدم بالتحكم في الجهاز و/أو عرض حالة الجهاز. تعتمد درجة إنجاز كل من هذه المهام على الإمكانيات المحددة لصفحة العرض والجهاز.
معايير السمعية والبصرية
هندسة UPnP AV هي امتداد صوتي وفيديو لـ UPnP، وتدعم مجموعة متنوعة من الأجهزة مثل أجهزة التلفاز وأجهزة تسجيل الفيديو ومشغلات الأقراص المضغوطة/أقراص الفيديو الرقمية/أجهزة الجوك بوكس وأجهزة فك التشفير وأنظمة الاستريو ومشغلات MP3 وكاميرات الصور الثابتة وكاميرات الفيديو وإطارات الصور الإلكترونية (EPFs) وأجهزة الكمبيوتر الشخصية. تسمح هندسة UPnP AV للأجهزة بدعم أنواع مختلفة من التنسيقات لمحتوى الترفيه، بما في ذلك MPEG2 وMPEG4 وJPEG وMP3 وWindows Media Audio (WMA) وbitmaps (BMP) وتنسيقات NTSC أو PAL أو ATSC. يتم دعم أنواع متعددة من بروتوكولات النقل، بما في ذلك IEEE 1394 وHTTP وRTP وTCP/IP. [11]
في 12 يوليو 2006، أعلن منتدى UPnP عن إصدار الإصدار 2 من مواصفات UPnP Audio and Video، [12] مع فئتي MediaServer (MS) الإصدار 2.0 و MediaRenderer (MR) الإصدار 2.0 الجديدتين. يتم إنشاء هذه التحسينات عن طريق إضافة إمكانيات إلى فئتي جهاز MediaServer وMediaRenderer، مما يسمح بمستوى أعلى من التوافق بين المنتجات التي تصنعها شركات تصنيع مختلفة. تم تسويق بعض الأجهزة المبكرة التي تتوافق مع هذه المعايير بواسطة Philips تحت اسم العلامة التجارية Streamium .
منذ عام 2006، تم نشر الإصدارين 3 و4 من بروتوكولات التحكم في أجهزة الصوت والفيديو UPnP. [13] في مارس 2013، تم نشر مواصفات محدثة لهندسة الصوت والفيديو uPnP، والتي تتضمن بروتوكولات التحكم في الأجهزة المحدثة. [11] تم إصدار UPnP Device Architecture 2.0 في أبريل 2020.
تمت الإشارة إلى معايير UPnP AV في المواصفات التي نشرتها منظمات أخرى بما في ذلك إرشادات قابلية التشغيل البيني للأجهزة الشبكية لتحالف الشبكات الحية الرقمية ، [14] واللجنة الكهروتقنية الدولية IEC 62481-1، [15] وبروتوكول الشبكات المنزلية OpenCable التابع لمختبرات التلفزيون الكبلي . [16]
مكونات الصوت والفيديو
بشكل عام، يتكون هيكل الصوت والفيديو (AV) UPnP من: [17]
- نقطة التحكم: جهاز يكتشف خوادم الوسائط ومقدمي الوسائط، ثم يربطهم
- خادم الوسائط: هو الخادم الذي يخزن المحتوى على الشبكة ليتم الوصول إليه بواسطة مقدمي الوسائط
- مُقدم الوسائط: جهاز يقوم بتقديم ('تشغيل') المحتوى المستلم من خادم الوسائط.
خادم الوسائط
أخادم الوسائط UPnP AV هو خادم UPnP ("الجهاز الرئيسي") الذي يوفر معلومات مكتبة الوسائط ويبث بيانات الوسائط (مثل الصوت/الفيديو/الصورة/الملفات) إلى عملاء UPnP على الشبكة. إنه نظام كمبيوتر أو جهاز رقمي مشابه يخزن الوسائط الرقمية، مثل الصور الفوتوغرافية أو الأفلام أو الموسيقى ويشاركها مع أجهزة أخرى.
توفر خوادم الوسائط UPnP AV خدمة لأجهزة عميل UPnP AV، ما يسمى بنقاط التحكم ، لاستعراض محتوى الوسائط الخاص بالخادم وطلب من خادم الوسائط تسليم ملف إلى نقطة التحكم للتشغيل.
تتوفر خوادم الوسائط UPnP لمعظم أنظمة التشغيل والعديد من منصات الأجهزة. يمكن تصنيف خوادم الوسائط UPnP AV على أنها تعتمد على البرامج أو تعتمد على الأجهزة. يمكن تشغيل خوادم الوسائط UPnP AV المعتمدة على البرامج على جهاز كمبيوتر شخصي . يمكن تشغيل خوادم الوسائط UPnP AV المعتمدة على الأجهزة على أي أجهزة NAS أو أي أجهزة محددة لتوصيل الوسائط، مثل DVR . اعتبارًا من مايو 2008، كان عدد خوادم الوسائط UPnP AV المعتمدة على البرامج أكبر من عدد الخوادم المعتمدة على الأجهزة.
المكونات الأخرى
- نقطة التحكم في UPnP MediaServer - وهو عميل UPnP (جهاز "تابع") الذي يمكنه الكشف تلقائيًا عن خوادم UPnP على الشبكة لاستعراض ملفات الوسائط/البيانات وبثها منها.
- UPnP MediaRenderer DCP - وهو جهاز "ثانوي" يمكنه عرض (تشغيل) المحتوى.
- UPnP RenderingControl DCP - التحكم في إعدادات MediaRenderer؛ مستوى الصوت، والسطوع، وRGB، والحدة، والمزيد.
- عميل/خادم واجهة المستخدم عن بعد UPnP (RUI) - الذي يرسل/يستقبل أوامر التحكم بين عميل UPnP وخادم UPnP عبر الشبكة (مثل التسجيل والجدولة والتشغيل والإيقاف المؤقت والتوقف، وما إلى ذلك).
- Web4CE (CEA 2014) لواجهة المستخدم عن بعد UPnP [ 18] - معيار CEA-2014 الذي صممته لجنة الشبكة المنزلية R7 التابعة لجمعية الإلكترونيات الاستهلاكية . بروتوكول وإطار عمل قائم على الويب لواجهة المستخدم عن بعد على شبكات UPnP والإنترنت (Web4CE). يسمح هذا المعيار لجهاز الشبكة المنزلية القادر على UPnP بتوفير واجهته ( خيارات العرض والتحكم) كصفحة ويب لعرضها على أي جهاز آخر متصل بالشبكة المنزلية. وهذا يعني أنه يمكن للمرء التحكم في جهاز الشبكة المنزلية من خلال أي طريقة اتصالات قائمة على متصفح الويب لأجهزة CE على شبكة منزلية UPnP باستخدام إيثرنت وإصدار خاص من HTML يسمى CE-HTML .
- QoS (جودة الخدمة) - هي وظيفة خدمة مهمة (ولكن ليست إلزامية) للاستخدام مع UPnP AV (الصوت والفيديو). يشير QoS (جودة الخدمة) إلى آليات التحكم التي يمكنها توفير أولوية مختلفة لمستخدمين مختلفين أو تدفقات بيانات مختلفة، أو ضمان مستوى معين من الأداء لتدفق البيانات وفقًا للطلبات من برنامج التطبيق. نظرًا لأن UPnP AV يهدف في الغالب إلى تقديم وسائط متدفقة غالبًا ما تكون قريبة من الوقت الفعلي أو بيانات صوت/فيديو في الوقت الفعلي والتي من الأهمية بمكان تسليمها في غضون وقت محدد أو انقطاع التدفق. تعد ضمانات جودة الخدمة مهمة بشكل خاص إذا كانت سعة الشبكة محدودة، على سبيل المثال الشبكات العامة، مثل الإنترنت .
- تتكون جودة الخدمة لـ UPnP من وظائف خدمة جهاز المصدر (جانب العميل/الواجهة الأمامية) وجهاز المصدر (جانب الخادم/الواجهة الخلفية). مع فئات مثل؛ فئة حركة المرور التي تشير إلى نوع حركة المرور في مجرى حركة المرور، (على سبيل المثال، الصوت أو الفيديو). معرف حركة المرور (TID) الذي يحدد حزم البيانات على أنها تنتمي إلى مجرى حركة مرور فريد. مواصفات حركة المرور (TSPEC) التي تحتوي على مجموعة من المعلمات التي تحدد خصائص مجرى حركة المرور، (على سبيل المثال متطلبات التشغيل والجدولة). مجرى حركة المرور (TS) وهو تدفق أحادي الاتجاه للبيانات ينشأ عند جهاز مصدر وينتهي عند جهاز أو أكثر من أجهزة المجرى.
- الوصول عن بعد - يحدد طرق توصيل مجموعات أجهزة UPnP التي ليست في نفس نطاق البث المتعدد.
عبور NAT
يتم تنفيذ أحد الحلول لاجتياز NAT ، والذي يسمى بروتوكول التحكم في جهاز بوابة الإنترنت (بروتوكول UPnP IGD)، عبر UPnP. تعرض العديد من أجهزة التوجيه وجدران الحماية نفسها كأجهزة بوابة إنترنت، مما يسمح لأي نقطة تحكم UPnP محلية بإجراء مجموعة متنوعة من الإجراءات، بما في ذلك استرداد عنوان IP الخارجي للجهاز، وحصر تعيينات المنافذ الموجودة، وإضافة تعيينات المنافذ أو إزالتها. من خلال إضافة تعيين منفذ، يمكن لوحدة تحكم UPnP خلف IGD تمكين اجتياز IGD من عنوان خارجي إلى عميل داخلي.
توجد العديد من مشكلات التوافق بسبب التفسيرات المختلفة لمواصفات IGDv1 وIGDv2 المتوافقة مع الإصدارات السابقة الضخمة جدًا. أحد هذه المشكلات هو عميل UPnP IGD المتكامل مع أنظمة Microsoft Windows وXbox الحالية مع أجهزة توجيه IGDv2 المعتمدة. لا تزال مشكلة التوافق موجودة منذ تقديم عميل IGDv1 في Windows XP في عام 2001، وجهاز توجيه IGDv2 بدون حل بديل يجعل تعيين منفذ جهاز التوجيه مستحيلًا. [19]
إذا تم استخدام UPnP فقط للتحكم في تعيينات منافذ جهاز التوجيه والثقوب الدقيقة، فهناك بروتوكولات بديلة أحدث وأبسط وأخف وزنًا مثل PCP و NAT-PMP ، وكلاهما تم توحيدهما كـ RFCs بواسطة IETF. لا يُعرف حتى الآن أن هذه البدائل تعاني من مشكلات التوافق بين العملاء والخوادم المختلفة، لكن التبني لا يزال منخفضًا. بالنسبة لأجهزة التوجيه الاستهلاكية، يُعرف حاليًا أن AVM ومشاريع برامج التوجيه مفتوحة المصدر OpenWrt و OPNsense و pfSense فقط تدعم PCP كبديل لـ UPnP. كان تنفيذ Fritz!Box UPnP IGDv2 وPCP الخاص بـ AVM مليئًا بالأخطاء منذ تقديمه. في كثير من الحالات لا يعمل. [20] [21] [22] [23] [24]
المشاكل
المصادقة
لا ينفذ بروتوكول UPnP، افتراضيًا، أي مصادقة ، لذا يجب على تنفيذات أجهزة UPnP تنفيذ خدمة حماية الجهاز الإضافية ، [25] أو تنفيذ خدمة أمان الجهاز . [26] يوجد أيضًا حل غير قياسي يسمى UPnP-UP (التوصيل والتشغيل العالمي - ملف تعريف المستخدم) [27] [28] والذي يقترح امتدادًا للسماح بآليات مصادقة المستخدم والترخيص لأجهزة وتطبيقات UPnP. تفتقر العديد من تنفيذات أجهزة UPnP إلى آليات المصادقة، وتفترض افتراضيًا أن الأنظمة المحلية ومستخدميها جديرون بالثقة تمامًا. [29] [30]
عندما لا يتم تنفيذ آليات المصادقة، تكون أجهزة التوجيه وجدران الحماية التي تعمل ببروتوكول UPnP IGD عرضة للهجوم. على سبيل المثال، تكون برامج Adobe Flash التي تعمل خارج صندوق الحماية الخاص بالمتصفح (على سبيل المثال، يتطلب هذا إصدارًا معينًا من Adobe Flash مع مشكلات أمنية معترف بها) قادرة على إنشاء نوع معين من طلبات HTTP التي تسمح لجهاز التوجيه الذي ينفذ بروتوكول UPnP IGD بالتحكم فيه بواسطة موقع ويب ضار عندما يقوم شخص ما لديه جهاز توجيه ممكّن لـ UPnP بزيارة هذا الموقع ببساطة. [31] ينطبق هذا فقط على ميزة "ثقب جدار الحماية" في UPnP؛ ولا ينطبق عندما لا يدعم جهاز التوجيه/جدار الحماية UPnP IGD أو تم تعطيله على جهاز التوجيه. أيضًا، لا يمكن لجميع أجهزة التوجيه أن يكون لديها أشياء مثل إعدادات خادم DNS التي تم تغييرها بواسطة UPnP لأن الكثير من المواصفات (بما في ذلك تكوين مضيف الشبكة المحلية) اختيارية لأجهزة التوجيه الممكّنة لـ UPnP. [6] ونتيجة لذلك، يتم شحن بعض أجهزة UPnP مع إيقاف تشغيل UPnP افتراضيًا كإجراء أمني.
الوصول من الانترنت
في عام 2011، طوّر الباحث دانييل جارسيا أداة مصممة لاستغلال خلل في بعض مجموعات أجهزة UPnP IGD التي تسمح بطلبات UPnP من الإنترنت. [32] [33] تم الإعلان عن الأداة في DEFCON 19 وتسمح بطلبات تعيين المنفذ إلى عناوين IP الخارجية من الجهاز وعناوين IP الداخلية خلف NAT. تنتشر المشكلة على نطاق واسع في جميع أنحاء العالم، حيث تُظهر عمليات المسح ملايين الأجهزة المعرضة للخطر في وقت واحد. [34]
في يناير 2013، أعلنت شركة الأمن Rapid7 في بوسطن [35] عن برنامج بحثي مدته ستة أشهر. قام الفريق بمسح الإشارات من الأجهزة التي تدعم بروتوكول UPnP والتي تعلن عن توفرها للاتصال بالإنترنت. استجاب حوالي 6900 منتج مدرك للشبكة من 1500 شركة على 81 مليون عنوان IP لطلباتهم. 80٪ من الأجهزة عبارة عن أجهزة توجيه منزلية؛ وتشمل الأجهزة الأخرى الطابعات وكاميرات الويب وكاميرات المراقبة. باستخدام بروتوكول UPnP، يمكن الوصول إلى العديد من هذه الأجهزة و/أو التلاعب بها.
في فبراير 2013، استجاب منتدى UPnP في بيان صحفي [36] من خلال التوصية بإصدارات أحدث من مجموعات UPnP المستخدمة، وتحسين برنامج الشهادة ليشمل عمليات التحقق لتجنب المزيد من مثل هذه المشكلات.
مراقبة IGMP وموثوقيتها
غالبًا ما يكون UPnP هو تطبيق البث المتعدد الوحيد المهم المستخدم في الشبكات المنزلية الرقمية؛ لذلك، قد يظهر سوء تكوين شبكة البث المتعدد أو أوجه القصور الأخرى كمشكلات UPnP بدلاً من مشكلات الشبكة الأساسية.
إذا تم تمكين IGMP snooping على مفتاح، أو بشكل أكثر شيوعًا جهاز توجيه/مفتاح لاسلكي، فسوف يتداخل مع اكتشاف جهاز UPnP/DLNA (SSDP) إذا تم تكوينه بشكل غير صحيح أو غير كامل (على سبيل المثال بدون مستعلم نشط أو وكيل IGMP)، مما يجعل UPnP يبدو غير موثوق به.
تتضمن السيناريوهات النموذجية التي تمت ملاحظتها ظهور خادم أو عميل (مثل التلفزيون الذكي) بعد تشغيل الطاقة، ثم اختفائه بعد بضع دقائق (غالبًا 30 دقيقة حسب التكوين الافتراضي) بسبب انتهاء صلاحية عضوية مجموعة IGMP.
ثغرة إعادة الاتصال
في 8 يونيو 2020، تم الإعلان عن خلل آخر في تصميم البروتوكول. [37] أطلق عليه مكتشفه اسم "CallStranger" [38] ، وهو يسمح للمهاجم بتخريب آلية اشتراك الحدث وتنفيذ مجموعة متنوعة من الهجمات: تضخيم الطلبات للاستخدام في هجمات الحرمان من الخدمة الموزعة؛ والترقيم؛ واستخراج البيانات.
نشرت OCF إصلاحًا لمواصفات البروتوكول في أبريل 2020، [39] ولكن نظرًا لأن العديد من الأجهزة التي تعمل بنظام UPnP لا يمكن ترقيتها بسهولة، فمن المرجح أن يظل CallStranger يشكل تهديدًا لفترة طويلة قادمة. [40] أثار CallStranger دعوات للمستخدمين النهائيين للتخلي عن UPnP بسبب الفشل المتكرر في أمان تصميمه وتنفيذه. [41]
تاريخ
هذا القسم يحتاج إلى التحديث . ( أغسطس 2017 ) |
تفتقر هذه المقالة إلى معلومات حول UPnP DA 2.0، 2015 (تمت مراجعته في عام 2020)، والفرق الموضح في [1]. ( أبريل 2023 ) |
تم الترويج لبروتوكولات UPnP بواسطة منتدى UPnP (الذي تم تشكيله في أكتوبر 1999)، [42] وهي مبادرة لصناعة الكمبيوتر لتمكين الاتصال البسيط والقوي بالأجهزة المستقلة وأجهزة الكمبيوتر الشخصية من العديد من البائعين المختلفين. يتكون المنتدى من أكثر من 800 بائع مشارك في كل شيء من الإلكترونيات الاستهلاكية إلى الحوسبة الشبكية. منذ عام 2016، تم إدارة جميع جهود UPnP بواسطة مؤسسة الاتصال المفتوح (OCF).
في خريف عام 2008، صادق منتدى UPnP على خليفة هندسة الأجهزة UPnP 1.0، UPnP 1.1. [43] كان معيار Devices Profile for Web Services (DPWS) خليفة مرشحًا لـ UPnP، ولكن تم اختيار UPnP 1.1 بواسطة منتدى UPnP. تم توحيد الإصدار 2 من IGD. [44]
يحتوي معيار جهاز بوابة الإنترنت UPnP (IGD) [6] على خدمة WANIPConnection، والتي توفر وظائف مماثلة لبروتوكول التحكم في المنفذ القياسي IETF . تحتوي مواصفات NAT-PMP على قائمة بالمشكلات المتعلقة بـ IGDP [45] : 26–32 والتي دفعت إلى إنشاء NAT-PMP وخليفته PCP.
لقد تم تعريف عدد من المعايير الإضافية لهندسة جهاز UPnP:
- يقوم تحالف Wi-Fi بتعريف مجموعة من
urn:schemas-wifialliance-org:device:WFADeviceخدمات "جهاز WFA" ( ) المرتبطة بنقطة الوصول اللاسلكية.- تُعد خدمة WFAWLANConfig جزءًا مطلوبًا وتحدد طرق الاستعلام عن قدرات نقطة الوصول اللاسلكية وإعداد الاتصالات اللاسلكية. [46] تُستخدم هذه الخدمة في أنواع AP-ER وUPnP-C من Wi-Fi Protected Setup . [47]
انظر أيضا
- مقارنة بين خوادم الوسائط UPnP AV
- ملف تعريف الأجهزة لخدمات الويب
- تحالف شبكة المعيشة الرقمية (DLNA)
- بروتوكول جهاز بوابة الإنترنت (UPnP IGD)
- قائمة بخوادم وعملاء وسائط UPnP AV
- بروتوكول تعيين منفذ NAT (NAT-PMP)
- المنفذ (شبكات الكمبيوتر)
- بروتوكول التحكم في الموانئ (PCP)
- زيروكونف
مراجع
- ^ Velimirovic, Andreja (13 يناير 2022). "ما هو UPnP (التوصيل والتشغيل العالمي)؟". مدونة phoenixNAP . تم الاسترجاع في 27 سبتمبر 2023 .
- ^ "استخدام واجهة برمجة تطبيقات نقطة التحكم UPnP". شبكة مطوري Microsoft . 14 سبتمبر 2012. تم الاسترجاع في 11 سبتمبر 2014 .
- ^ "UPnP Device Architecture v1.0" (PDF) . upnp.org . منتدى UPnP. 15 أكتوبر 2008.
- ^ "UPnP Device Architecture v1.1" (PDF) . openconnectivity.org . UPnP Forum. 15 أكتوبر 2008.
- ^ "UPnP Device Architecture v2.0" (PDF) . openconnectivity.org . OCF . 17 أبريل 2020.
- ^ اي بي سي "UPnP InternetGatewayDevice v1.0/v2.0". openconnectivity.org . منتدى بنب. 10 ديسمبر 2010.
- ^ "معيار ISO/IEC الخاص بهندسة جهاز UPnP يجعل إنشاء الشبكات أمرًا بسيطًا وسهلاً". المنظمة الدولية للمعايير . 10 ديسمبر 2008. تم الاسترجاع في 11 سبتمبر 2014 .
- ^ "مواصفات UPnP تُسمى المعيار الدولي لتوافق الأجهزة مع الأجهزة الشبكية القائمة على بروتوكول الإنترنت" (PDF) . منتدى UPnP . 5 فبراير 2009. مؤرشف من الأصل (PDF) في 1 أبريل 2014 . تم الاسترجاع في 11 سبتمبر 2014 .
- ^ Goland, Yaron Y.; Schlimmer, Jeffrey C. (2 October 2000). "Multicast and Unicast UDP HTTP Messages". UPnP Forum Technical Committee. مؤرشف من الأصل في 30 ديسمبر 2006. تم الاسترجاع في 11 سبتمبر 2014 .
- ^ "كيف يؤثر جدار حماية Windows على إطار عمل UPnP في Windows XP Service Pack 2". Microsoft . 23 مايو 2014 . تم الاسترجاع في 11 سبتمبر 2014 .
- ^ "UPnP AV Architecture" (PDF) . منتدى UPnP . 31 مارس 2013 . تم الاسترجاع في 11 سبتمبر 2014 .
- ^ "منتدى UPnP يصدر مواصفات AV محسنة تأخذ الشبكة المنزلية إلى المستوى التالي" (PDF) . منتدى UPnP . 12 يوليو 2006 . تم الاسترجاع في 11 سبتمبر 2014 .
- ^ "بروتوكولات التحكم في الأجهزة". منتدى UPnP . تم الاسترجاع في 11 سبتمبر 2014 .
- ^ "دليل التشغيل البيني للأجهزة المتصلة بشبكة DLNA". تحالف الشبكات الحية الرقمية . مارس 2014. تم الاسترجاع في 11 سبتمبر 2014 .
- ^ "دليل التشغيل البيني للأجهزة المنزلية المتصلة بشبكة تحالف الشبكات الحية الرقمية (DLNA) - الجزء 1: البنية والبروتوكولات". اللجنة الكهروتقنية الدولية . 23 أكتوبر 2013. تم الاسترجاع في 11 سبتمبر 2014 .
- ^ "OpenCable Specifications Home Networking 2.0 - Home Networking Protocol 2.0 Revision 10" (PDF) . Cable Television Laboratories . 30 مايو 2013. مؤرشف من الأصل (PDF) في 11 سبتمبر 2014 . تم الاسترجاع في 11 سبتمبر 2014 .
- ^ EDN (9 سبتمبر 2005). "كيف ستمكن تقنية DLNA وUPnP من إنشاء شبكات فيديو منزلية سهلة". EDN . تم الاسترجاع في 27 سبتمبر 2023 .
- ^ "CEA-2014-B (ANSI) - بروتوكول وإطار عمل قائم على الويب لواجهة المستخدم عن بعد على شبكات UPnP والإنترنت (Web4CE)". لجنة الشبكة المنزلية CEA R7 . 1 يناير 2011. مؤرشف من الأصل في 29 أبريل 2013. تم الاسترجاع في 11 سبتمبر 2014 .
- ^ "اكتشاف FDSSDP كعميل Microsoft · miniupnp/miniupnp@8381867". GitHub . تم الاسترجاع في 18 سبتمبر 2023 .
- ^ 12 Fehler in der AVM UPnP IGD- und PCP-Implementation (aller FritzBoxen).
- ^ "UPnP لا يعمل مع FRITX!Box الخاص بي". منتدى مجتمع Syncthing . 12 أبريل 2022. تم الاسترجاع في 18 سبتمبر 2023 .
- ^ "UPNP_GetValidIGD يعيد عنوان IPv6 المؤقت، مما يتسبب في فشل UPNP_AddPinHole مع 606 · العدد #600 · miniupnp/miniupnp". GitHub . تم الاسترجاع في 18 سبتمبر 2023 .
- ^ "يظهر upnpc مدة خاطئة لإعادة توجيه المنفذ لأكثر من 120 ثانية · العدد #222 · miniupnp/miniupnp". GitHub . تم الاسترجاع في 18 سبتمبر 2023 .
- ^ "miniupnp.tuxfamily.org :: عرض الموضوع - إعداد إعادة توجيه المنفذ لا يعمل". miniupnp.tuxfamily.org . تم الاسترجاع في 18 سبتمبر 2023 .
- ^ "Device Protection V 1.0". منتدى UPnP . مؤرشف من الأصل في 17 أكتوبر 2014. تم الاسترجاع في 11 سبتمبر 2014 .
- ^ "Device Security and Security Console V 1.0". منتدى UPnP . مؤرشف من الأصل في 31 أغسطس 2014. تم الاسترجاع في 11 سبتمبر 2014 .
- ^ "UPnP-UP - Universal Plug and Play - User Profile". مؤرشف من الأصل في 10 ديسمبر 2013. تم الاسترجاع 1 يناير 2012 .
- ^ Sales, Thiago; Sales, Leandro; Almeida, Hyggo; Perkusich, Angelo (نوفمبر 2010). "امتداد UPnP لتمكين مصادقة المستخدم والترخيص في الأنظمة الشاملة". مجلة جمعية الحاسبات البرازيلية . 16 (4): 261-277. doi : 10.1007/s13173-010-0022-2 .
- ^ Eastep, Thomas M. (4 يونيو 2014). "Shorewall and UPnP" . تم الاسترجاع في 11 سبتمبر 2014 .
- ^ "جهاز بوابة إنترنت UPnP لنظام Linux - التوثيق - الأمان" . تم الاسترجاع في 11 سبتمبر 2014 .
- ^ "اختراق شبكة الإنترنت". 12 يناير 2008. تم الاسترجاع في 11 سبتمبر 2014 .
- ^ جارسيا، دانييل. "UPnP Mapping" (PDF) . تم الاسترجاع في 11 سبتمبر 2014 .
- ^ "US-CERT Vulnerability Note VU#357851". CERT/CC . 30 نوفمبر 2012 . تم الاسترجاع في 11 سبتمبر 2014 .
- ^ "ملايين الأجهزة معرضة للخطر عبر UPnP - تحديث". The H. 30 يناير 2013. تم الاسترجاع في 11 سبتمبر 2014 .
- ^ مور، إتش دي (29 يناير 2013). "ورقة بيضاء: عيوب أمنية في التوصيل والتشغيل الشامل: افصل التوصيل ولا تقم بالتشغيل" . تم الاسترجاع في 11 سبتمبر 2014 .
- ^ "منتدى UPnP يستجيب لخلل أمني تم اكتشافه مؤخرًا في LibUPnP/MiniUPnP" (ملف PDF) . منتدى UPnP . 8 فبراير 2013. تم الاسترجاع في 11 سبتمبر 2014 .
- ^ "ملاحظة حول ثغرة CERT/CC VU#339275".
- ^ "CallStranger CVE-2020-12695". مؤرشف من الأصل في 16 يونيو 2020 . تم الاسترجاع 14 يونيو 2020 .
- ^ "OCF - معايير وهندسة UPnP".
- ^ "CVE-2020-12695: ثغرة CallStranger في Universal Plug and Play (UPnP) تعرض مليارات الأجهزة للخطر". 8 يونيو 2020.
- ^ "تعطيل UPnP على جهاز التوجيه اللاسلكي الخاص بك بالفعل". Lifehacker . 12 يونيو 2020 . تم الاسترجاع في 14 يونيو 2020 .
- ^ "OCF - معايير وهندسة UPnP". مؤسسة الاتصال المفتوح (OCF) . تم الاسترجاع في 27 سبتمبر 2023 .
- ^ Bodlaender, MP (فبراير 2005). "UPnP 1.1 - التصميم من أجل الأداء والتوافق". IEEE Transactions on Consumer Electronics . 51 (1): 69–75. doi :10.1109/TCE.2005.1405701. S2CID 11792030.
- ^ "لجنة عمل بوابة منتدى UPnP: تحسينات IGD:2 على IGD:1" (PDF) . منتدى UPnP . 10 مارس 2009 . تم الاسترجاع في 11 سبتمبر 2014 .
- ^ S. Cheshire; M. Krochmal (أبريل 2013). "RFC 6886: NAT Port Mapping Protocol (NAT-PMP)". Internet Engineering Task Force (IETF). doi : 10.17487/RFC6886 . تم الاسترجاع في 8 أغسطس 2014 .
{{cite journal}}: تتطلب المجلة الاستشهاد بها|journal=( مساعدة ) - ^ "WFA WLANConfig Service 1.0 Service Template Version 1.01" (PDF) . يناير 2006. مؤرشف من الأصل (PDF) في 8 ديسمبر 2022.
- ^ "مواصفات إعداد Wi-Fi المحمي الإصدار 2.0.8" (PDF) . مؤرشف من الأصل (PDF) في 22 مارس 2021.
قراءة إضافية
- جولدن جي ريتشارد: اكتشاف الخدمة والأجهزة: البروتوكولات والبرمجة ، ماكجرو هيل بروفيشنال، رقم ISBN 0-07-137959-2
- مايكل جيرونيمو، جاك ويست: تصميم UPnP بالمثال: دليل مطوري البرامج للتوصيل والتشغيل الشامل ، Intel Press، ISBN 0-9717861-1-9
روابط خارجية
- منتدى UPnP في Wayback Machine (تم أرشفته في 2015-12-18)
- معايير وهندسة UPnP في مؤسسة Open Connectivity Foundation
- ايزو/اي اي سي 29341-1:2011
