MQTT
ایم کیو ٹی ٹی (اصل میں ایم کیو ٹیلی میٹری ٹرانسپورٹ کی ابتدا) ایک ہلکا پھلکا، پبلش-سبسکرائب، مشین ٹو مشین نیٹ ورک پروٹوکول ہے جو میسج کیو/میسج کیوئنگ سروس کے لیے ہے۔ یہ دور دراز مقامات کے ساتھ رابطوں کے لیے ڈیزائن کیا گیا ہے جن میں وسائل کی رکاوٹوں یا محدود نیٹ ورک بینڈوتھ والے آلات ہیں، جیسے کہ انٹرنیٹ آف تھنگز (آئی او ٹی) میں۔ اسے ایک ٹرانسپورٹ پروٹوکول پر چلنا چاہیے جو آرڈرڈ، لاس لیس، دو طرفہ کنکشن فراہم کرتا ہے-عام طور پر، ٹی سی پی/آئی پی، بلکہ ممکنہ طور پر کیو آئی سی پر بھی۔ یہ ایک کھلا او اے ایس آئی ایس معیار اور آئی ایس او کی سفارش (آئی ایس او/آئی ای سی 20922) ہے۔ اینڈی اسٹینفورڈ-کلارک (آئی بی ایم) اور ارلن نیپر (اس وقت یوروٹیک، انکارپوریٹڈ کے لیے کام کر رہے تھے) نے 1999 میں پروٹوکول کا پہلا ورژن تحریر کیا۔ اس کا استعمال ایس سی اے ڈی اے انڈسٹریل کنٹرول سسٹم کے اندر آئل پائپ لائنوں کی نگرانی کے لیے کیا جاتا تھا۔ مقصد یہ تھا کہ ایک ایسا پروٹوکول ہو جو بینڈوتھ سے موثر ہو، ہلکا پھلکا ہو اور بیٹری کی طاقت کم استعمال کرے، کیونکہ آلات سیٹلائٹ لنک کے ذریعے جڑے ہوئے تھے جو اس وقت انتہائی مہنگا تھا۔ تاریخی طور پر، "ایم کیو ٹی ٹی" میں "ایم کیو" آئی بی ایم ایم کیو (اس وقت "ایم کیو سیریز") پروڈکٹ لائن سے آیا تھا، جہاں اس کا مطلب "میسج کیو" ہے۔ تاہم، پروٹوکول پوسٹ اینڈ سبسکرائب میسجنگ فراہم کرتا ہے (نام کے باوجود کوئی قطار نہیں)۔ آئی بی ایم کی طرف سے ورژن 3.1 کے طور پر کھولی گئی تفصیلات میں پروٹوکول کو "ایم کیو ٹیلی میٹری ٹرانسپورٹ" کہا گیا تھا۔ او اے ایس آئی ایس کے جاری کردہ بعد کے ورژن سختی سے پروٹوکول کو صرف "ایم کیو ٹی ٹی" کے طور پر حوالہ دیتے ہیں، حالانکہ تکنیکی کمیٹی کو خود "او اے ایس آئی ایس میسج کیوئنگ ٹیلی میٹری ٹرانسپورٹ ٹیکنیکل کمیٹی" کا نام دیا گیا ہے۔ 2013 سے "ایم کیو ٹی ٹی" کسی چیز کے لیے نہیں ہے۔ 2013 میں، آئی بی ایم نے ایک چارٹر کے ساتھ او اے ایس آئی ایس تفصیلات کے ادارے کو ایم کیو ٹی ٹی v3.1 پیش کیا جس نے اس بات کو یقینی بنایا کہ تفصیلات میں صرف معمولی تبدیلیاں قبول کی جا سکتی ہیں۔ آئی بی ایم سے معیار کی دیکھ بھال سنبھالنے کے بعد، او اے ایس آئی ایس نے 29 اکتوبر 2014 کو ورژن 3.1 جاری کیا۔ ایم کیو ٹی ٹی ورژن 5 میں ایک زیادہ خاطر خواہ اپ گریڈ، جس میں کئی نئی خصوصیات شامل کی گئیں، 7 مارچ 2019 کو جاری کیا گیا۔ ایم کیو ٹی ٹی-ایس این (سینسر نیٹ ورکس کے لیے ایم کیو ٹی ٹی) مرکزی پروٹوکول کی ایک تبدیلی ہے جس کا مقصد غیر ٹی سی پی/آئی پی نیٹ ورکس، جیسے زگبی پر بیٹری سے چلنے والے سرایت شدہ آلات ہیں۔ جائزہ ایم کیو ٹی ٹی پروٹوکول دو قسم کے نیٹ ورک اداروں کی وضاحت کرتا ہے: ایک میسج بروکر اور متعدد کلائنٹ۔ ایم کیو ٹی ٹی بروکر ایک ایسا سرور ہوتا ہے جو کلائنٹس سے تمام پیغامات وصول کرتا ہے اور پھر پیغامات کو مناسب منزل گاہکوں تک پہنچاتا ہے۔ ایم کیو ٹی ٹی کلائنٹ کوئی بھی آلہ ہے (مائیکرو کنٹرولر سے لے کر مکمل سرور تک) جو ایم کیو ٹی ٹی لائبریری چلاتا ہے اور نیٹ ورک پر ایم کیو ٹی ٹی بروکر سے جڑتا ہے۔ معلومات کو موضوعات کے درجہ بندی میں منظم کیا جاتا ہے۔ جب کسی پبلشر کے پاس تقسیم کرنے کے لیے ڈیٹا کا نیا آئٹم ہوتا ہے، تو وہ منسلک بروکر کو ڈیٹا کے ساتھ ایک کنٹرول پیغام بھیجتا ہے۔ اس کے بعد بروکر کسی بھی کلائنٹ کو معلومات تقسیم کرتا ہے جس نے اس موضوع کو سبسکرائب کیا ہے۔ ناشر کو صارفین کی تعداد یا مقامات کے بارے میں کوئی ڈیٹا رکھنے کی ضرورت نہیں ہے، اور صارفین کو، بدلے میں، ناشرین کے بارے میں کسی بھی ڈیٹا کے ساتھ ترتیب دینے کی ضرورت نہیں ہے۔ اگر کسی بروکر کو کسی ایسے موضوع پر پیغام موصول ہوتا ہے جس کے کوئی موجودہ سبسکرائبر نہیں ہیں، تو بروکر اس پیغام کو اس وقت تک خارج کر دیتا ہے جب تک کہ پیغام کا ناشر پیغام کو برقرار رکھے ہوئے پیغام کے طور پر نامزد نہ کرے۔ برقرار رکھا ہوا پیغام ایک عام ایم کیو ٹی ٹی پیغام ہوتا ہے جس میں برقرار رکھا ہوا پرچم درست ہوتا ہے۔ بروکر منتخب موضوع کے لیے آخری برقرار رکھے گئے پیغام اور متعلقہ کوالٹی آف سروس (کیو او ایس) کو محفوظ کرتا ہے۔ ہر کلائنٹ جو ایک موضوع کے نمونے کو سبسکرائب کرتا ہے جو برقرار رکھے ہوئے پیغام کے موضوع سے ملتا جلتا ہے اسے سبسکرائب کرنے کے فورا بعد برقرار رکھا ہوا پیغام موصول ہوتا ہے۔ بروکر فی موضوع صرف ایک برقرار رکھا ہوا پیغام اسٹور کرتا ہے۔ یہ کسی موضوع کے نئے صارفین کو ناشر سے اگلی اپ ڈیٹ کا انتظار کرنے کے بجائے سب سے زیادہ موجودہ قیمت حاصل کرنے کی اجازت دیتا ہے۔ جب کوئی پبلشنگ کلائنٹ پہلی بار بروکر سے رابطہ کرتا ہے، تو وہ صارفین کو بھیجنے کے لیے ایک ڈیفالٹ پیغام ترتیب دے سکتا ہے اگر بروکر کو پتہ چل جائے کہ پبلشنگ کلائنٹ نے غیر متوقع طور پر بروکر سے رابطہ منقطع کر دیا ہے۔ کلائنٹ صرف ایک بروکر کے ساتھ تعامل کرتے ہیں، لیکن ایک نظام میں کئی بروکر سرورز ہو سکتے ہیں جو اپنے موجودہ صارفین کے موضوعات کی بنیاد پر ڈیٹا کا تبادلہ کرتے ہیں۔ ایک کم سے کم ایم کیو ٹی ٹی کنٹرول میسج ڈیٹا کے دو بائٹس سے کم ہو سکتا ہے۔ اگر ضرورت ہو تو ایک کنٹرول میسج تقریبا 256 میگا بائٹس ڈیٹا لے جا سکتا ہے۔ پیغام کی چودہ متعین اقسام ہیں جو کلائنٹ کو بروکر سے جوڑنے اور منقطع کرنے، ڈیٹا شائع کرنے، ڈیٹا کی وصولی کو تسلیم کرنے، اور کلائنٹ اور سرور کے درمیان تعلق کی نگرانی کے لیے استعمال ہوتی ہیں۔ ایم کیو ٹی ٹی ڈیٹا ٹرانسمیشن کے لیے ٹی سی پی پروٹوکول پر انحصار کرتا ہے۔ ایک قسم، ایم کیو ٹی ٹی-ایس این، دوسرے ٹرانسپورٹس جیسے یو ڈی پی یا بلوٹوتھ پر استعمال ہوتا ہے۔ ایم کیو ٹی ٹی سادہ ٹیکسٹ فارمیٹ میں کنکشن کی اسناد بھیجتا ہے اور اس میں سیکیورٹی یا تصدیق کے لیے کوئی اقدامات شامل نہیں ہیں۔ یہ ٹی ایل ایس کا استعمال کرتے ہوئے منتقل شدہ معلومات کو خفیہ کرنے اور مداخلت، ترمیم یا جعل سازی سے بچانے کے لیے فراہم کیا جا سکتا ہے۔ ڈیفالٹ غیر خفیہ شدہ ایم کیو ٹی ٹی پورٹ 1883 ہے۔ خفیہ کردہ بندرگاہ 8883 ہے۔ ایم کیو ٹی ٹی بروکر کمپیوٹر پر چلنے والا سافٹ ویئر کا ایک ٹکڑا ہے (احاطے میں یا کلاؤڈ میں چل رہا ہے)، اور خود ساختہ یا کسی تیسرے فریق کے ذریعہ ہوسٹ کیا جا سکتا ہے۔ یہ اوپن سورس اور ملکیتی نفاذ دونوں میں دستیاب ہے۔ بروکر پوسٹ آفس کے طور پر کام کرتا ہے۔ ایم کیو ٹی ٹی کلائنٹ مطلوبہ وصول کنندہ کا براہ راست کنکشن ایڈریس استعمال نہیں کرتے، لیکن "موضوع" نامی سبجیکٹ لائن استعمال کرتے ہیں۔ جو بھی سبسکرائب کرتا ہے اسے اس موضوع کے تمام پیغامات کی ایک کاپی ملتی ہے۔ متعدد کلائنٹ ایک بروکر سے کسی موضوع کو سبسکرائب کر سکتے ہیں (ایک سے لے کر کئی صلاحیتوں تک)، اور ایک واحد کلائنٹ متعدد بروکرز (کئی سے ایک) کے ساتھ موضوعات کی سبسکرپشن رجسٹر کر سکتا ہے۔ ہر کلائنٹ اشاعت اور سبسکرائب دونوں کے ذریعے ڈیٹا تیار اور وصول کر سکتا ہے، یعنی۔ آلات سینسر ڈیٹا شائع کر سکتے ہیں اور پھر بھی ترتیب کی معلومات یا کنٹرول کمانڈز حاصل کرنے کے قابل ہو سکتے ہیں (ایم کیو ٹی ٹی ایک دو طرفہ مواصلاتی پروٹوکول ہے)۔ یہ ڈیٹا کے اشتراک، آلات کے انتظام اور کنٹرول دونوں میں مدد کرتا ہے۔ ایک کلائنٹ ایک ہی ڈیٹا کو مختلف موضوعات پر نشر نہیں کر سکتا، اور اسے بروکر کو متعدد پیغامات شائع کرنے ہوتے ہیں، جن میں سے ہر ایک کو ایک ہی موضوع دیا جاتا ہے۔ ایم کیو ٹی ٹی بروکر فن تعمیر کے ساتھ، کلائنٹ ڈیوائسز اور سرور ایپلی کیشن منقطع ہو جاتے ہیں۔ اس طرح گاہکوں کو ایک دوسرے کی معلومات سے بے خبر رکھا جاتا ہے۔ ایم کیو ٹی ٹی، اگر ترتیب دیا گیا ہے، تو سرٹیفکیٹ، صارف نام اور پاس ورڈ سے محفوظ کنکشن کے ساتھ ٹی ایل ایس انکرپشن استعمال کر سکتا ہے۔ اختیاری طور پر، کنکشن کو سرٹیفکیٹ فائل کی شکل میں سرٹیفیکیشن کی ضرورت پڑ سکتی ہے جو ایک کلائنٹ فراہم کرتا ہے اور اسے سرور کی کاپی سے ملنا چاہیے۔ ناکامی کی صورت میں، بروکر سافٹ ویئر اور کلائنٹ خود بخود بے کار/خودکار بیک اپ بروکر کے حوالے کر سکتے ہیں۔ بیک اپ بروکرز کو سائٹ پر، کلاؤڈ میں، یا ان کے امتزاج میں متعدد سرورز پر کلائنٹس کے بوجھ کو بانٹنے کے لیے بھی ترتیب دیا جا سکتا ہے۔ بروکر اسپارک پلگ جیسی تعمیل کی خصوصیات کے لیے معیاری ایم کیو ٹی ٹی اور ایم کیو ٹی ٹی دونوں کی حمایت کر سکتا ہے۔ یہ ایک ہی سرور کے ساتھ، ایک ہی وقت میں اور اسی سطح کی سیکیورٹی کے ساتھ کیا جا سکتا ہے۔ بروکر سیشن کی تمام معلومات پر نظر رکھتا ہے جب آلہ آن اور آف ہوتا ہے، ایک فنکشن میں جسے "مستقل سیشن" کہا جاتا ہے۔ اس حالت میں، ایک بروکر ہر کلائنٹ کے لیے کنکشن کی معلومات، ہر کلائنٹ کے سبسکرائب کردہ موضوعات، اور 1 یا 2 کے کیو او ایس کے ساتھ کسی موضوع کے لیے کوئی بھی پیغامات دونوں کو محفوظ کرے گا۔ ایم کیو ٹی ٹی بروکر کے اہم فوائد یہ ہیں: کمزور اور غیر محفوظ کلائنٹ کنکشنز کو ختم کرتا ہے، اگر کنفیگر کیا گیا ہے تو آسانی سے ایک ڈیوائس سے ہزاروں تک اسکیل کر سکتا ہے۔ تمام کلائنٹ کنکشن اسٹیٹس کو منظم اور ٹریک کرتا ہے، بشمول سیکیورٹی اسناد اور سرٹیفکیٹ، اگر سیکیورٹی سے سمجھوتہ کیے بغیر نیٹ ورک کے تناؤ کو کم کرنے کے لیے کنفیگر کیا گیا ہے، اگر کنفیگر کیا گیا ہے (سیلولر یا سیٹلائٹ نیٹ ورک) پیغام کی اقسام کنیکٹ ویٹس سرور کے ساتھ کنکشن قائم کرنے کے لیے اور نوڈس کے درمیان لنک بناتا ہے۔ ایم کیو ٹی ٹی کلائنٹ کو کوئی بھی کام مکمل کرنے کے لیے انتظار منقطع کریں، اور ٹی سی پی/آئی پی سیشن کے منقطع ہونے کے لیے۔ ایم کیو ٹی ٹی کلائنٹ کو درخواست بھیجنے کے بعد درخواست کے دھاگے پر فوری طور پر ریٹرن شائع کریں۔ ورژن 5.0 2019 میں او اے ایس آئی ایس نے سرکاری ایم کیو ٹی ٹی 5.0 معیار جاری کیا۔ ورژن 5 میں درج ذیل بڑی نئی خصوصیات شامل ہیں: وجہ کوڈز: اعترافات اب واپسی کوڈز کی حمایت کرتے ہیں، جو ناکامی کی وجہ فراہم کرتے ہیں۔ مشترکہ سبسکرپشن: کلائنٹس میں لوڈ کو متوازن رہنے دیں اور اس طرح لوڈ کے مسائل کے خطرے کو کم کریں۔ پیغام کی میعاد ختم ہونے کا خطرہ: پیغامات میں میعاد ختم ہونے کی تاریخ شامل ہو سکتی ہے اور اگر وہ اس مدت کے اندر فراہم نہیں کیے جاتے ہیں تو انہیں حذف کر دیا جاتا ہے۔ موضوع عرف: کسی موضوع کے نام کو ایک نمبر MQTT 5 کے ساتھ تبدیل کیا جا سکتا ہے جو کہ QUIC ٹرانسپورٹ پروٹوکول پر MQTT کنکشن کو بھی سپورٹ کرتا ہے۔ ایم کیو ٹی ٹی اوور کیو یو آئی سی کنکشن کے عمل کے دوران تبادلے کی تعداد کو کم کرکے، مجموعی تاخیر کو کم کرکے، اور نیٹ ورک کی بھیڑ اور سوئچنگ کو بہتر طریقے سے سنبھال کر بہتر کارکردگی پیش کرتا ہے۔ خدمت کا معیار بروکر کے ساتھ ہر کنکشن ایک کیو او ایس پیمائش کی وضاحت کر سکتا ہے۔ ان کی درجہ بندی اوور ہیڈ کی بڑھتی ہوئی ترتیب میں کی جاتی ہے: زیادہ سے زیادہ ایک بار-پیغام صرف ایک بار بھیجا جاتا ہے اور کلائنٹ اور بروکر ڈیلیوری کو تسلیم کرنے کے لیے کوئی اضافی قدم نہیں اٹھاتے (فائر اور بھول جائیں)۔ کم از کم ایک بار-پیغام بھیجنے والے کے ذریعہ متعدد بار دوبارہ آزمایا جاتا ہے جب تک کہ اعتراف موصول نہ ہو جائے (تسلیم شدہ ترسیل)۔ بالکل ایک بار-بھیجنے والا اور وصول کنندہ دو سطحوں پر ہاتھ ملاتے ہیں تاکہ یہ یقینی بنایا جا سکے کہ پیغام کی صرف ایک کاپی موصول ہوئی ہے (یقینی ترسیل)۔ یہ فیلڈ بنیادی ٹی سی پی ڈیٹا ٹرانسمیشن کی ہینڈلنگ کو متاثر نہیں کرتا ہے۔ یہ صرف ایم کیو ٹی ٹی بھیجنے والوں اور وصول کنندگان کے درمیان استعمال ہوتا ہے۔ ایم کیو ٹی ٹی پروٹوکول کی سیکیورٹی سیکیورٹی سے 2020 میں اطالوی محققین نے سمجھوتہ کیا تھا، اس طرح کے پروٹوکول پر سلو ڈی او ایس حملے انجام دے رہے ہیں (دیکھیں سی وی ای-2020-13849)۔ ایم کیو ٹی ٹی کے نفاذ کا موازنہ بھی دیکھیں ایڈوانسڈ میسج کیوئنگ پروٹوکول (اے ایم کیو پی) اسٹریمنگ ٹیکسٹ اورینٹڈ میسجنگ پروٹوکول (ایس ٹی او ایم پی) کنسٹرینڈ ایپلی کیشن پروٹوکول (سی او اے پی) اپاچی ایکٹو ایم کیو سولس پبسب + ربیٹ ایم کیو نوٹس حوالہ جات بیرونی لنکس تکنیکی کمیٹی کی آفیشل ویب سائٹ ایم کیو ٹی ٹی وضاحتیں ورژن 5، 2019-03-07: پی ڈی ایف ایڈیشن، ایچ ٹی ایم ایل ایڈیشن ورژن 3.1.1 پلس ایرراٹا 1، 2015-12-10: پی ڈی ایف ایڈیشن، ایچ ٹی ایم ایل ایڈیشن ورژن 3.1.1، 2014-10-29: پی ڈی ایف ایڈیشن، ایچ ٹی ایم ایل ایڈیشن ورژن 3.1.1، 2014-10-29: پی ڈی ایف ای