إم كيو تي تي
المحتويات
على سبيل التعريف، برتوكول MQTT هو بروتوكول خفيف بنموذج النشر-الاشتراك يستعمل في نقل الرسائل بين الأجهزة. يعمل البرتوكول على معمارية تي سي بي/آي بي، وقد يعمل كذلك على أي شبكة تقدم اتصالًا مرتبًا ثنائي الاتجاه بلا خسارة في البيانات. البرتوكول مصمم للاتصالات بين أماكن بعيدة حيث تكون هناك حاجة لكود قليل ويتوفر عرض نطاق محدود للشبكة. بروتوكول MQTT هو معيار مفتوح بحسب منظمة OASIS وتوصية من أيزو (ISO/IEC 20922). وتعرض الأقسام التالية جوانب أخرى من الموضوع.
نظرة عامة
وفي هذا الصدد، عندما يتصل ناشر لأول مرة بالوسيط، يمكنه تحديد رسالة افتراضية تُرسل إلى المشتركين في حالة اكتشاف الوسيط أن الناشر قد انفصل عن الاتصال بصفة غير متوقعة.
وفي هذا الصدد، إذا تلقى الوسيط رسالة تتبع موضوعًا ليس له أي مشترك، فإن الوسيط يتجاهل هذه الرسالة إلا إذا حدد الناشر أن الرسالة هي رسالة مستبقاة. الرسالة المستبقاة هي رسالة إم كيو تي تي عادية مع علم استبقاء مرفوع. يخزن الوسيط آخر رسالة مستبقاة ومستوى الخدمة المقابل لها للموضوع المحدد. وكل مشترك يشترك في موضوع الرسالة المستبقاة يتلقى هذه الرسالة بعد اشتراكه مباشرة. ويخزن الوسيط رسالة مستبقاة واحدة لكل موضوع. يسمح هذا للمشتركين بتلقي أحدث البيانات بدلًا من انتظار التحديث التالي من الناشر.
كذلك، العملاء يتعاملون فقط من الوسيط، لكن الشبكة قد تتضمن أكثر من خادم وسيط يتبادلون البيانات حول مواضيع المشتركين.
إضافةً إلى ذلك، يُعرِّف بروتوكول إم كيو تي تي نوعين من كيانات الشبكة: وسيط الرسائل وعدد من العملاء. وسيط رسائل إم كيو تي تي هو خادم يستقبل جميع الرسائل من الأجهزة العميلة ثم يوجه هذه الرسائل إلى الوجهة المناسبة من عملاء آخرين. وعميل إم كيو تي تي هو أي جهاز (بدءًا من المتحكم الدقيق إلى خادم كامل المزايا) يشغل مكتبة إم كيو تي تي ويتصل مع خادم إم كيو تي تي عبر الشبكة.
إضافةً إلى ذلك، المنفذ الافتراضي غير المشفر لإم كيو تي تي هو 1883. والمنفذ المشفر هو 8883.
وعلى صعيد آخر، المعلومات تُنظم في بنية مواضيع. عندما يكون لدى الناشر مادة بيانات جديدة للنشر، يرسل هذا الناشر رسالة تحكم مع البيانات إلى وسيط الرسائل. ثم يوزع الخادم هذه المعلومات إلى أي عميل يشترك في هذا الموضوع. لا يتطلب هذا الاتصال أن يعرف الناشر أي بيانات حول عدد أو مكان المشتركين، كما لا توجد حاجة لتزويد الأجهزة المشتركة في موضوع ما بأي بيانات عن الناشرين.
وسيط إم كيو تي تي
من جهة ثانية، وسيط إم كيو تي تي هو برنامج يعمل على حاسوب (موجود في موقع المنشأة أو في السحابة)، ويمكن أن يطور داخليًّا أو يطوره طرف ثالث. وتوجد له تطبيقات احتكارية ومفتوحة المصدر.
وفي هذا السياق، اللجوء لمعمارية الوسيط يجعل الأجهزة والتطبيقات منفصلة وأكثر أمنًا. يستعمل إم كيو تي تي تشفير أمن طبقة النقل TLS مع اتصالات محمية باسم مستعمل وكلمة مرور، وأيضًا توجد إمكانية اختيارية لاستخدام شهادات يقدمها الجهاز العميل ليصادق عليها الجهاز الخادم. ولا تحصل الأجهزة العميلة على عناوين الآي بي للأجهزة العميلة الأخرى.
بروتوكول التطبيقات المقيدة
ومن جهة أخرى، يعمل الوسيط كما يعمل مكتب البريد، إم كيو تي تي لا يستعمل عنوان المستقبل المراد بل يستعمل موضوع الرسالة، وكل من يرغب في استقبال نسخة من هذه الرسالة عليه الاشتراك في هذا الموضوع. يمكن للعديد من العملاء استقبال رسالة من وسيط واحد (إمكانية واحد إلى كثيرين). وبصورة مشابهة، يمكن لعدد من الناشرين نشر مواضيع لمستقبل واحد (كثيرون إلى واحد).
كذلك، كل عميل يمكن أن يرسل ويستقبل البيانات عبر عمليتي النشر والاشتراك، أي أنه يمكن للجهاز نشر بيانات المستشعرات وفي نفس الوقت يستقبل معلومات الضبط وأوامر التحكم (إذ أن إم كيو تي تي هو بروتوكول اتصال ثنائي الاتجاه). ما يوفر إمكانية مشاركة البيانات والتحكم في الأجهزة.
انظر كذلك
التاريخ
من جانب آخر، في 2013، قدمت آي بي إم الإصدارة 3.1 من إم كيو تي تي لهيئة المعايير في منظمة تقدم معايير المعلومات المهيكلة OASIS مع ميثاق يسمح بتغييرات طفيفة على المعيار. يوجد إصدار فرعي من البرتوكول باسم MQTT-SN مخصص للأجهزة المضمنة في شبكة لا تقوم على تي سي بي/آي بي، مثل زيجبي. بعد أن نُقلت مهمة صيانة المعيار من آي بي إم مع الإصدارة 3.1.1 بإدخال تعديلات طفيفة، أطلق MQTT بصفة معيار OASIS في 29 أكتوبر 2014. وصدرت في 7 مارس 2019 ترقية للإصدارة 5 مع بعض المزايا الجديدة.
ومن ناحية أخرى، الحرفان MQ في اسم البروتوكول يعودان لسلسلة منتجات آي بي إم إم كيو IBM MQ. إلا أن البروتوكول يقدم تراسلًا بنموذج النشر-الاشتراك (من دون ميزة الأرتال Queue، وإن كان هذا مسمى البروتوكول) وصُمم خصيصًا للأجهزة ذات الموارد المحدودة والنطاق العرضي المنخفض ضمن شبكات مثل شبكات الاتصال الهاتفي ووصلات الأقمار الاصطناعية.
في هذا الإطار، في المعيار الذي قدمته آي بي إم تحت الإصدار 3.1، كان الاسم الرسمي للبروتوكول هو MQ Telemetry Protocol (MQTP)، لكن الاختصار MQTT كان مستعملًا بكثافة في نص المعيار. وفي كل الوثائق التي أصدرتها منظمة OASIS، يشار إلى البروتوكول باسم MQTT بصفة حصرية.
من جانب آخر، وضع كل من أندي ستانفورد-كلارك (آي بي إم) وأرلن نبر (الذي كان يعمل في يوروتك آي إن سي) أول إصدارة من البروتوكول في 1999. واستعمل في تطبيقات مراقبة أنابيب النفط ضمن نظام سكادا. كان الهدف هو الحصول على بروتوكول يستعمل النطاق العرضي بكفاءة ويكون خفيف الوزن ولا يستهلك الكثير من الطاقة، لأن الأجهزة كانت متصلة عبر وصلة أقمار اصطناعية، والتي كانت باهظة الثمن في ذلك الوقت.
📝 هل في هذه المقالة خطأ؟
إذا وجدت معلومة تحتاج تصحيحاً أو إضافة، أو أردت حذف المقالة، أرسل لنا طلباً وسنراجعه.
ما رأيك في هذه المقالة؟