MQTT
MQTT (முதலில் MQ டெலிமெட்ரி டிரான்ஸ்போர்ட்டின் துவக்கம்) என்பது ஒரு இலகுரக, வெளியீடு-சந்தா, செய்தி வரிசை/செய்தி வரிசை சேவைக்கான இயந்திர நெட்வொர்க் நெறிமுறை ஆகும். இன்டர்நெட் ஆஃப் திங்ஸ் (ஐஓடி) போன்ற வளக் கட்டுப்பாடுகள் அல்லது வரையறுக்கப்பட்ட நெட்வொர்க் அலைவரிசை கொண்ட சாதனங்களைக் கொண்ட தொலைதூர இடங்களுடனான இணைப்புகளுக்காக இது வடிவமைக்கப்பட்டுள்ளது. இது ஒரு போக்குவரத்து நெறிமுறையின் மீது இயங்க வேண்டும், இது ஆர்டர் செய்யப்பட்ட, இழப்பற்ற, இரு-திசை இணைப்புகளை வழங்குகிறது-பொதுவாக, TCP/IP, ஆனால் ஒருவேளை QUIC இது ஒரு திறந்த OASIS தரநிலை மற்றும் ஒரு ISO பரிந்துரை (ISO/IEC 20922) ஆகும். ஆன்டி ஸ்டான்போர்ட்-கிளார்க் (ஐபிஎம்) மற்றும் ஆர்லென் நிப்பர் (பின்னர் யூரோடெக், இன்க் நிறுவனத்தில் பணிபுரிந்தனர்) 1999 இல் நெறிமுறையின் முதல் பதிப்பை எழுதினர். SCADA தொழில்துறை கட்டுப்பாட்டு அமைப்பிற்குள் எண்ணெய் குழாய்களைக் கண்காணிக்க இது பயன்படுத்தப்பட்டது. அலைவரிசை திறனுள்ள, இலகுரக மற்றும் குறைந்த பேட்டரி சக்தியைப் பயன்படுத்தும் ஒரு நெறிமுறையைக் கொண்டிருப்பது குறிக்கோளாக இருந்தது, ஏனெனில் சாதனங்கள் செயற்கைக்கோள் இணைப்பு வழியாக இணைக்கப்பட்டிருந்தன, இது அந்த நேரத்தில் மிகவும் விலை உயர்ந்ததாக இருந்தது. வரலாற்று ரீதியாக, "எம். க்யூ. டி. டி" இல் உள்ள "எம். க்யூ" ஐபிஎம் எம். க்யூ (அப்போதைய 'எம். க்யூ சீரிஸ்') தயாரிப்பு வரிசையில் இருந்து வந்தது, அங்கு அது "மெசேஜ் க்யூ" என்பதைக் குறிக்கிறது. இருப்பினும், நெறிமுறை வெளியீடு மற்றும் சந்தா செய்தியை வழங்குகிறது (பெயர் இருந்தபோதிலும், வரிசைகள் இல்லை). ஐபிஎம் பதிப்பு 3.1 என திறந்த விவரக்குறிப்பில் நெறிமுறை "எம். க்யூ டெலிமெட்ரி டிரான்ஸ்போர்ட்" என்று குறிப்பிடப்பட்டது. OASIS ஆல் வெளியிடப்பட்ட அடுத்தடுத்த பதிப்புகள் நெறிமுறையை "MQTT" என்று கண்டிப்பாக குறிப்பிடுகின்றன, இருப்பினும் தொழில்நுட்பக் குழுவே "OASIS மெசேஜ் க்யூயிங் டெலிமெட்ரி டிரான்ஸ்போர்ட் டெக்னிகல் கமிட்டி" என்று பெயரிடப்பட்டுள்ளது. 2013 முதல், "MQTT" என்பது எதற்கும் பொருந்தாது. 2013 ஆம் ஆண்டில், ஐபிஎம் எம். க்யூ. டி. டி v3.1 ஐ OASIS விவரக்குறிப்பு அமைப்புக்கு ஒரு சாசனத்துடன் சமர்ப்பித்தது, இது விவரக்குறிப்பில் சிறிய மாற்றங்களை மட்டுமே ஏற்றுக்கொள்ள முடியும் என்பதை உறுதி செய்தது. ஐபிஎம் நிறுவனத்திடமிருந்து தரநிலையின் பராமரிப்பை எடுத்துக் கொண்ட பிறகு, ஒயாஸிஸ் அக்டோபர் 29,2014 அன்று பதிப்பு 3.1.1 ஐ வெளியிட்டது. MQTT பதிப்பு 5 க்கு கணிசமான மேம்படுத்தல், பல புதிய அம்சங்களைச் சேர்த்து, மார்ச் 7,2019 அன்று வெளியிடப்பட்டது. MQTT-SN (சென்சார் நெட்வொர்க்குகளுக்கான MQTT) என்பது ஜிக்பீ போன்ற TCP/IP அல்லாத நெட்வொர்க்குகளில் பேட்டரி மூலம் இயங்கும் உட்பொதிக்கப்பட்ட சாதனங்களை இலக்காகக் கொண்ட முக்கிய நெறிமுறையின் மாறுபாடு ஆகும். MQTT நெறிமுறை இரண்டு வகையான நெட்வொர்க் நிறுவனங்களை வரையறுக்கிறதுஃ ஒரு செய்தி தரகர் மற்றும் பல வாடிக்கையாளர்கள். ஒரு எம். க்யூ. டி. டி தரகர் என்பது வாடிக்கையாளர்களிடமிருந்து அனைத்து செய்திகளையும் பெற்று பின்னர் பொருத்தமான இலக்கு வாடிக்கையாளர்களுக்கு செய்திகளை வழிநடத்தும் ஒரு சேவையகமாகும். ஒரு MQTT கிளையன்ட் என்பது ஒரு MQTT நூலகத்தை இயக்கும் மற்றும் ஒரு நெட்வொர்க்கில் ஒரு MQTT தரகருடன் இணைக்கும் எந்த சாதனமும் (மைக்ரோ கன்ட்ரோலரிலிருந்து ஒரு முழுமையான சேவையகம் வரை) ஆகும். தகவல் தலைப்புகளின் படிநிலையில் ஒழுங்கமைக்கப்பட்டுள்ளது. ஒரு வெளியீட்டாளர் விநியோகிக்க ஒரு புதிய தரவைக் கொண்டிருக்கும்போது, அது இணைக்கப்பட்ட தரகரிடம் தரவுகளுடன் ஒரு கட்டுப்பாட்டு செய்தியை அனுப்புகிறது. தரகர் பின்னர் அந்த தலைப்புக்கு சந்தா செலுத்திய எந்தவொரு வாடிக்கையாளருக்கும் தகவல்களை விநியோகிக்கிறார். வெளியீட்டாளர் சந்தாதாரர்களின் எண்ணிக்கை அல்லது இருப்பிடம் குறித்த எந்த தரவையும் வைத்திருக்க வேண்டிய அவசியமில்லை, மேலும் சந்தாதாரர்கள், வெளியீட்டாளர்களைப் பற்றிய எந்த தரவையும் கட்டமைக்க வேண்டியதில்லை. தற்போதைய சந்தாதாரர்கள் இல்லாத ஒரு தலைப்பில் ஒரு தரகர் ஒரு செய்தியைப் பெற்றால், செய்தியின் வெளியீட்டாளர் செய்தியை தக்கவைத்த செய்தியாக குறிப்பிடாவிட்டால் தரகர் செய்தியை நிராகரிக்கிறார். தக்கவைக்கப்பட்ட செய்தி என்பது ஒரு சாதாரண MQTT செய்தியாகும், தக்கவைக்கப்பட்ட கொடி உண்மை என்று அமைக்கப்பட்டுள்ளது. தரகர் கடைசியாக தக்கவைத்த செய்தியையும், தேர்ந்தெடுக்கப்பட்ட தலைப்புக்கான தொடர்புடைய சேவையின் தரத்தையும் (கியூஓஎஸ்) சேமிக்கிறார். தக்கவைக்கப்பட்ட செய்தியின் தலைப்புடன் பொருந்தக்கூடிய ஒரு தலைப்பு வடிவத்திற்கு சந்தா செலுத்தும் ஒவ்வொரு வாடிக்கையாளரும் அவர்கள் சந்தா செலுத்திய உடனேயே தக்கவைக்கப்பட்ட செய்தியைப் பெறுகிறார்கள். தரகர் ஒரு தலைப்புக்கு ஒரு தக்கவைக்கப்பட்ட செய்தியை மட்டுமே சேமிக்கிறார். இது ஒரு தலைப்புக்கு புதிய சந்தாதாரர்கள் ஒரு வெளியீட்டாளரிடமிருந்து அடுத்த புதுப்பிப்புக்காக காத்திருப்பதை விட மிகவும் தற்போதைய மதிப்பைப் பெற அனுமதிக்கிறது. ஒரு வெளியீட்டு வாடிக்கையாளர் முதலில் தரகருடன் இணைக்கும்போது, வெளியீட்டு வாடிக்கையாளர் எதிர்பாராத விதமாக தரகரிடமிருந்து துண்டிக்கப்பட்டிருப்பதை தரகர் கண்டறிந்தால், சந்தாதாரர்களுக்கு அனுப்ப வேண்டிய இயல்புநிலை செய்தியை அது அமைக்கலாம். வாடிக்கையாளர்கள் ஒரு தரகருடன் மட்டுமே தொடர்பு கொள்கிறார்கள், ஆனால் ஒரு அமைப்பில் பல தரகர் சேவையகங்கள் இருக்கலாம், அவை அவற்றின் தற்போதைய சந்தாதாரர்களின் தலைப்புகளின் அடிப்படையில் தரவைப் பரிமாறிக்கொள்கின்றன. குறைந்தபட்ச எம். க்யூ. டி. டி கட்டுப்பாட்டு செய்தி இரண்டு பைட்டுகள் தரவைப் போல சிறியதாக இருக்கலாம். ஒரு கட்டுப்பாட்டு செய்தி தேவைப்பட்டால் கிட்டத்தட்ட 256 மெகாபைட் தரவை எடுத்துச் செல்ல முடியும். ஒரு தரகரிடமிருந்து ஒரு வாடிக்கையாளரை இணைக்கவும் துண்டிக்கவும், தரவை வெளியிடவும், தரவைப் பெறுவதை அங்கீகரிக்கவும், வாடிக்கையாளருக்கும் சேவையகத்திற்கும் இடையிலான இணைப்பை மேற்பார்வையிடவும் பதினான்கு வரையறுக்கப்பட்ட செய்தி வகைகள் பயன்படுத்தப்படுகின்றன. MQTT தரவு பரிமாற்றத்திற்கான TCP நெறிமுறையை நம்பியுள்ளது. ஒரு மாறுபாடு, MQTT-SN, யுடிபி அல்லது புளூடூத் போன்ற பிற போக்குவரத்துகளில் பயன்படுத்தப்படுகிறது. MQTT இணைப்பு சான்றுகளை எளிய உரை வடிவத்தில் அனுப்புகிறது மற்றும் பாதுகாப்பு அல்லது அங்கீகாரத்திற்கான எந்த நடவடிக்கைகளையும் சேர்க்காது. இடைமறிப்பு, மாற்றம் அல்லது மோசடி ஆகியவற்றிலிருந்து மாற்றப்பட்ட தகவல்களை குறியாக்கம் செய்வதற்கும் பாதுகாப்பதற்கும் TLS ஐப் பயன்படுத்துவதன் மூலம் இதை வழங்க முடியும். முன்னிருப்பாக குறியாக்கம் செய்யப்படாத MQTT துறைமுகம் 1883 ஆகும். மறைகுறியாக்கப்பட்ட துறைமுகம் 8883 ஆகும். MQTT தரகர் என்பது ஒரு கணினியில் இயங்கும் மென்பொருளின் ஒரு பகுதியாகும் (வளாகத்தில் அல்லது மேகக்கட்டத்தில் இயங்குகிறது), மேலும் இது சுயமாக கட்டமைக்கப்படலாம் அல்லது மூன்றாம் தரப்பினரால் ஹோஸ்ட் செய்யப்படலாம். இது திறந்த மூல மற்றும் தனியுரிம செயல்பாடுகள் ஆகிய இரண்டிலும் கிடைக்கிறது. தரகர் ஒரு தபால் நிலையமாக செயல்படுகிறார். MQTT வாடிக்கையாளர்கள் விரும்பிய பெறுநரின் நேரடி இணைப்பு முகவரியைப் பயன்படுத்துவதில்லை, ஆனால் "தலைப்பு" என்று அழைக்கப்படும் பொருள் வரியைப் பயன்படுத்துகிறார்கள். சந்தா செலுத்தும் எவரும் அந்த தலைப்புக்கான அனைத்து செய்திகளின் நகலையும் பெறுகிறார்கள். பல வாடிக்கையாளர்கள் ஒரு தரகரிடமிருந்து ஒரு தலைப்புக்கு சந்தா செலுத்தலாம் (ஒன்று முதல் பல திறன் வரை), மேலும் ஒரு வாடிக்கையாளர் பல தரகர்களுடன் (பல முதல் ஒன்று வரை) தலைப்புகளுக்கான சந்தாக்களைப் பதிவு செய்யலாம். ஒவ்வொரு வாடிக்கையாளரும் வெளியிடுதல் மற்றும் சந்தா செலுத்துதல் ஆகிய இரண்டின் மூலமும் தரவை உற்பத்தி செய்து பெறலாம், அதாவது. சாதனங்கள் சென்சார் தரவை வெளியிடலாம் மற்றும் இன்னும் உள்ளமைவு தகவல் அல்லது கட்டுப்பாட்டு கட்டளைகளைப் பெற முடியும் (MQTT என்பது இரு-திசை தகவல்தொடர்பு நெறிமுறை). இது தரவைப் பகிர்வதற்கும், சாதனங்களை நிர்வகிப்பதற்கும் கட்டுப்படுத்துவதற்கும் உதவுகிறது. ஒரு வாடிக்கையாளர் ஒரே தரவை பல தலைப்புகளுக்கு ஒளிபரப்ப முடியாது, மேலும் தரகரிடம் பல செய்திகளை வெளியிட வேண்டும், ஒவ்வொன்றும் ஒரு தலைப்புடன் கொடுக்கப்பட வேண்டும். MQTT தரகர் கட்டமைப்புடன், கிளையன்ட் சாதனங்கள் மற்றும் சர்வர் பயன்பாடு துண்டிக்கப்படுகின்றன. இந்த வழியில், வாடிக்கையாளர்கள் ஒருவருக்கொருவர் தகவல்களை அறியாமல் வைக்கப்படுகிறார்கள். MQTT, கட்டமைக்கப்பட்டிருந்தால், சான்றிதழ், பயனர்பெயர் மற்றும் கடவுச்சொல் பாதுகாக்கப்பட்ட இணைப்புகளுடன் TLS குறியாக்கத்தைப் பயன்படுத்தலாம். விருப்பப்படி, இணைப்புக்கு சான்றிதழ் தேவைப்படலாம், ஒரு வாடிக்கையாளர் வழங்கும் சான்றிதழ் கோப்பின் வடிவத்தில் மற்றும் சேவையகத்தின் நகலுடன் பொருந்த வேண்டும். தோல்வியுற்றால், தரகர் மென்பொருள் மற்றும் வாடிக்கையாளர்கள் தானாகவே தேவையற்ற/தானியங்கி காப்புப்பிரதி தரகரிடம் ஒப்படைக்க முடியும். தளத்தில், மேகக்கட்டத்தில் அல்லது இவற்றின் கலவையில் பல சேவையகங்களில் வாடிக்கையாளர்களின் சுமையைப் பகிர்ந்து கொள்ள காப்புப்பிரதி தரகர்களையும் அமைக்கலாம். தரகர் ஸ்பார்க் பிளக் போன்ற இணக்கமான விவரக்குறிப்புகளுக்கு நிலையான MQTT மற்றும் MQTT இரண்டையும் ஆதரிக்க முடியும். இது ஒரே சேவையகத்துடன், அதே நேரத்தில் அதே அளவிலான பாதுகாப்புடன் செய்யப்படலாம். "தொடர்ச்சியான அமர்வுகள்" என்று அழைக்கப்படும் ஒரு செயல்பாட்டில், சாதனம் இயங்கும்போது மற்றும் அணைக்கப்படும்போது, அனைத்து அமர்வின் தகவல்களையும் தரகர் கண்காணிக்கிறார். இந்த நிலையில், ஒரு தரகர் ஒவ்வொரு வாடிக்கையாளருக்கும் இணைப்புத் தகவல், ஒவ்வொரு வாடிக்கையாளரும் சந்தா செலுத்திய தலைப்புகள் மற்றும் 1 அல்லது 2 இன் QoS உடன் ஒரு தலைப்புக்கான எந்தவொரு செய்தியையும் சேமிப்பார். MQTT தரகர் முக்கிய நன்மைகள்ஃ பாதிக்கப்படக்கூடிய மற்றும் பாதுகாப்பற்ற கிளையன்ட் இணைப்புகளை நீக்குகிறது, ஒரே சாதனத்திலிருந்து ஆயிரக்கணக்கான வரை எளிதில் அளவிட முடியும் பாதுகாப்பு சான்றுகள் மற்றும் சான்றிதழ்கள் உட்பட அனைத்து கிளையன்ட் இணைப்பு நிலைகளையும் நிர்வகிக்கிறது மற்றும் கண்காணிக்கிறது, பாதுகாப்பை சமரசம் செய்யாமல் நெட்வொர்க் அழுத்தத்தைக் குறைப்பதாக உள்ளமைக்கப்பட்டால், (செல்லுலார் அல்லது செயற்கைக்கோள் நெட்வொர்க்) செய்தி வகைகளுக்கு உள்ளமைக்கப்பட்டால் சேவையகத்துடன் இணைப்பை நிறுவுவதற்கான காத்திருப்பு இணைப்புகள் மற்றும் முனைகளுக்கு இடையில் ஒரு இணைப்பை உருவாக்குகிறது. MQTT கிளையன்ட் செய்ய வேண்டிய எந்த வேலையையும் முடிப்பதற்கும், TCP/IP அமர்வு துண்டிக்கப்படுவதற்கும் காத்திருப்புகளை துண்டிக்கவும். எம். க்யூ. டி. டி கிளையண்ட்டுக்கு கோரிக்கையை அனுப்பிய பிறகு விண்ணப்ப நூலுக்கு உடனடியாக ரிட்டர்ன்களை வெளியிடவும். 2019 ஆம் ஆண்டில், OASIS அதிகாரப்பூர்வ MQTT 5 தரநிலையை வெளியிட்டது. பதிப்பு 5 இல் பின்வரும் முக்கிய புதிய அம்சங்கள் உள்ளனஃ காரணக் குறியீடுகள்ஃ ஒப்புதல்கள் இப்போது திரும்பக் குறியீடுகளை ஆதரிக்கின்றன, அவை தோல்விக்கு ஒரு காரணத்தை வழங்குகின்றன. பகிரப்பட்ட சந்தாக்கள்ஃ வாடிக்கையாளர்களிடையே சுமை சமநிலையாக இருக்க அனுமதிக்கவும், இதனால் சுமை சிக்கல்களின் அபாயத்தைக் குறைக்கவும் செய்தி காலாவதிஃ செய்திகளில் காலாவதி தேதி இருக்கலாம் மற்றும் இந்த காலத்திற்குள் அவை வழங்கப்படாவிட்டால் அவை நீக்கப்படும். தலைப்பு மாற்றுப்பெயர்ஃ ஒரு தலைப்பின் பெயரை ஒற்றை எண்ணுடன் மாற்றலாம் MQTT 5.0 மேலும் QUIC போக்குவரத்து நெறிமுறை மூலம் MQTT இணைப்புகளை ஆதரிக்கிறது. QUIC மீது MQTT இணைப்புச் செயல்பாட்டின் போது பரிமாற்றங்களின் எண்ணிக்கையைக் குறைப்பதன் மூலமும், ஒட்டுமொத்த தாமதத்தைக் குறைப்பதன் மூலமும், நெட்வொர்க் நெரிசல் மற்றும் மாறுதலை சிறப்பாகக் கையாள்வதன் மூலமும் மேம்பட்ட செயல்திறனை வழங்குகிறது. சேவையின் தரம் தரகருடனான ஒவ்வொரு இணைப்பும் ஒரு QoS அளவீட்டைக் குறிப்பிடலாம். இவை மேல்நிலை அதிகரிப்பு வரிசையில் வகைப்படுத்தப்பட்டுள்ளனஃ அதிகபட்சம் ஒரு முறை-செய்தி ஒரு முறை மட்டுமே அனுப்பப்படுகிறது மற்றும் வாடிக்கையாளர் மற்றும் தரகர் விநியோகத்தை அங்கீகரிக்க கூடுதல் நடவடிக்கைகளை எடுக்கவில்லை (தீ மற்றும் மறந்துவிடுங்கள்). குறைந்தபட்சம் ஒரு முறையாவது-ஒப்புதல் பெறப்படும் வரை (அங்கீகரிக்கப்பட்ட விநியோகம்) அனுப்புநரால் செய்தி பல முறை மீண்டும் முயற்சிக்கப்படுகிறது. சரியாக ஒரு முறை-செய்தியின் ஒரு நகல் மட்டுமே பெறப்படுவதை உறுதிசெய்ய அனுப்புநரும் பெறுநரும் இரண்டு நிலை கைகுலுக்கலில் ஈடுபடுகிறார்கள் (உறுதியான விநியோகம்). இந்த புலம் அடிப்படை TCP தரவு பரிமாற்றங்களைக் கையாள்வதை பாதிக்காது; இது MQTT அனுப்புநர்களுக்கும் பெறுநர்களுக்கும் இடையில் மட்டுமே பயன்படுத்தப்படுகிறது. MQTT நெறிமுறையின் பாதுகாப்பு பாதுகாப்பு 2020 ஆம் ஆண்டில் இத்தாலிய ஆராய்ச்சியாளர்களால் சமரசம் செய்யப்பட்டது, அத்தகைய நெறிமுறையில் மெதுவான DoS தாக்குதல்களை இயக்கியது (CVE-2020-13849 ஐப் பார்க்கவும்). MQTT அமலாக்கங்களின் ஒப்பீடு மேம்பட்ட செய்தி வரிசை நெறிமுறை (AMQP) ஸ்ட்ரீமிங் உரை சார்ந்த செய்தியிடல் நெறிமுறை (STOMP) கட்டுப்படுத்தப்பட்ட பயன்பாட்டு நெறிமுறை (CoAP) அப்பாச்சி ஆக்டிவ்எஂக்யூ சொலேஸ் பப்சப் + ராபிட்எஂக்யூ குறிப்புகள் வெளிப்புற இணைப்புகள் தொழில்நுட்பக் குழுவின் அதிகாரப்பூர்வ வலைத்தளம் MQTT விவரக்குறிப்புகள் பதிப்பு 5,2019-03-07: PDF பதிப்பு, HTML பதிப்பு பதிப்பு 3.1.1 பிளஸ் எர்ராட்டா 01,2015-12-10: PDF பதிப்பு, HTML பதிப்பு பதிப்பு 3.1.1,2014-10-29: PDF பதிப்பு, HTML பதிப்பு பதிப்பு 3.1.1,2010: PDF பதிப்பு, HTML பதிப்பு-SN விவரக்குறிப்புகள் பதிப்பு 1.2,2013-11-14: P