ప్రోహోస్టర్ > బ్లాగ్ > పరిపాలన > IoT కోసం నెట్వర్కింగ్ మరియు మెసేజింగ్ ప్రోటోకాల్స్ యొక్క అవలోకనం
IoT కోసం నెట్వర్కింగ్ మరియు మెసేజింగ్ ప్రోటోకాల్స్ యొక్క అవలోకనం
హలో, ఖబ్రోవైట్స్! రష్యా యొక్క మొదటి ఆన్లైన్ కోర్సు IoT డెవలపర్ అక్టోబర్లో OTUSలో ప్రారంభించబడుతుంది. కోర్సు కోసం ఎన్రోల్మెంట్ ప్రస్తుతం తెరిచి ఉంది, దీనికి సంబంధించి మేము మీతో ఉపయోగకరమైన మెటీరియల్లను షేర్ చేయడం కొనసాగిస్తున్నాము.
ఇంటర్నెట్ ఆఫ్ థింగ్స్ (IoT, ఇంటర్నెట్ ఆఫ్ థింగ్స్) ప్రస్తుతం గృహాలు/కార్యాలయాలు మరియు ఇంటర్నెట్లో ప్రస్తుతం ఉపయోగిస్తున్న నెట్వర్క్ అవస్థాపన, సాంకేతికతలు మరియు ప్రోటోకాల్ల పైన నిర్మించబడుతుంది మరియు మరిన్నింటిని అందిస్తుంది.
ఈ గైడ్ యొక్క ఉద్దేశ్యం IoT కోసం నెట్వర్కింగ్ మరియు అప్లికేషన్ ప్రోటోకాల్ల సంక్షిప్త అవలోకనాన్ని అందించడం.
IoT ఇప్పటికే ఉన్న TCP/IP నెట్వర్క్లలో రన్ అవుతుంది.
TCP/IP ప్రతి లేయర్ వద్ద నిర్దిష్ట ప్రోటోకాల్లతో నాలుగు-లేయర్ మోడల్ని ఉపయోగిస్తుంది. సెం.మీ. TCP/IP 4 లేయర్ మోడల్ను అర్థం చేసుకోవడం (మేము TCP / IP యొక్క నాలుగు-పొరల నమూనాను అర్థం చేసుకున్నాము).
దిగువ రేఖాచిత్రం ప్రస్తుతం ఉపయోగిస్తున్న ప్రోటోకాల్ల పోలికను చూపుతుంది మరియు IoT కోసం ఎక్కువగా ఉపయోగించబడేవి.
చార్ట్ నోట్స్:
ఫాంట్ పరిమాణం ప్రోటోకాల్ యొక్క ప్రజాదరణను సూచిస్తుంది. ఉదాహరణకు, ఎడమవైపున, IPv4 పెద్దది, ఎందుకంటే ఇది ఆధునిక ఇంటర్నెట్లో బాగా ప్రాచుర్యం పొందింది. అయితే, IoTలో IPv6 మరింత జనాదరణ పొందుతుందని భావిస్తున్నందున ఇది కుడి వైపున చిన్నది.
అన్ని ప్రోటోకాల్లు చూపబడవు.
అన్ని మార్పులు ఛానెల్ (స్థాయిలు 1 మరియు 2) మరియు అప్లికేషన్ స్థాయిలు (స్థాయి 4)లో ఉన్నాయి.
నెట్వర్క్ మరియు రవాణా పొరలు మారకుండా ఉండే అవకాశం ఉంది.
లింక్ లేయర్ ప్రోటోకాల్లు
డేటా లింక్ స్థాయిలో (డేటా లింక్), మీరు పరికరాలను ఒకదానికొకటి కనెక్ట్ చేయాలి. అవి రెండూ దగ్గరగా ఉండవచ్చు, ఉదాహరణకు, స్థానిక నెట్వర్క్లలో (స్థానిక నెట్వర్క్లు) మరియు ఒకదానికొకటి చాలా దూరంలో ఉంటాయి: పట్టణ (మెట్రోపాలిటన్ ఏరియా నెట్వర్క్లు) మరియు గ్లోబల్ నెట్వర్క్లలో (వైడ్ ఏరియా నెట్వర్క్లు).
ప్రస్తుతం, ఈ స్థాయిలో, ఇల్లు మరియు కార్యాలయ నెట్వర్క్లు (LAN) ఈథర్నెట్ మరియు Wi-Fiని ఉపయోగిస్తాయి మరియు మొబైల్ నెట్వర్క్లు (WAN) 3G / 4Gని ఉపయోగిస్తాయి. అయినప్పటికీ, చాలా IoT పరికరాలు సెన్సార్ల వంటి తక్కువ శక్తిని కలిగి ఉంటాయి మరియు బ్యాటరీల ద్వారా మాత్రమే శక్తిని పొందుతాయి. ఈ సందర్భాలలో, ఈథర్నెట్ తగినది కాదు, కానీ తక్కువ శక్తితో కూడిన Wi-Fi మరియు తక్కువ శక్తితో కూడిన బ్లూటూత్ని ఉపయోగించవచ్చు.
ఈ పరికరాలను కనెక్ట్ చేయడానికి ఇప్పటికే ఉన్న వైర్లెస్ టెక్నాలజీలు (Wi-Fi, బ్లూటూత్, 3G/4G) ఉపయోగించడం కొనసాగుతుంది, జనాదరణ పెరిగే అవకాశం ఉన్న IoT అప్లికేషన్ల కోసం ప్రత్యేకంగా రూపొందించబడిన కొత్త సాంకేతికతలను కూడా చూడటం విలువైనదే.
నెట్వర్క్ లేయర్ వద్ద (నెట్వర్కింగ్), దీర్ఘకాలంలో ప్రోటోకాల్ ఆధిపత్యం చెలాయిస్తుంది IPv6. IPv4ని ఉపయోగించడం అసంభవం, కానీ ఇది ప్రారంభ దశల్లో పాత్రను పోషిస్తుంది. స్మార్ట్ లైట్ బల్బుల వంటి చాలా హోమ్ IoT పరికరాలు ప్రస్తుతం IPv4ని ఉపయోగిస్తున్నాయి.
రవాణా పొర
రవాణా పొర (రవాణా) వద్ద, ఇంటర్నెట్ మరియు వెబ్ TCPచే ఆధిపత్యం చెలాయిస్తుంది. ఇది HTTP మరియు అనేక ఇతర ప్రసిద్ధ ఇంటర్నెట్ ప్రోటోకాల్స్ (SMTP, POP3, IMAP4, మొదలైనవి) రెండింటిలోనూ ఉపయోగించబడుతుంది.
MQTT, మెసేజింగ్ కోసం ప్రధాన అప్లికేషన్ లేయర్ ప్రోటోకాల్లలో ఒకటిగా మారాలని నేను భావిస్తున్నాను, ప్రస్తుతం TCPని ఉపయోగిస్తోంది.
అయితే, భవిష్యత్తులో, తక్కువ ఓవర్హెడ్ కారణంగా, IoTకి UDP మరింత జనాదరణ పొందుతుందని నేను ఆశిస్తున్నాను. బహుశా మరింత విస్తృతమైనది MQTT-SN, UDPపై నడుస్తోంది. పోలిక కథనాన్ని చూడండి TCP vs UDP .
అప్లికేషన్ లేయర్ మరియు మెసేజింగ్ ప్రోటోకాల్లు
IoT ప్రోటోకాల్ల కోసం ముఖ్యమైన లక్షణాలు:
వేగం - సెకనుకు బదిలీ చేయబడిన డేటా మొత్తం.
జాప్యం అనేది సందేశాన్ని పంపడానికి పట్టే సమయం.
విద్యుత్ వినియోగం.
సెక్యూరిటీ.
సాఫ్ట్వేర్ లభ్యత.
ప్రస్తుతం, ఈ స్థాయిలో రెండు ప్రధాన ప్రోటోకాల్లు చురుకుగా ఉపయోగించబడుతున్నాయి: HTTP మరియు MQTT.
HTTP బహుశా వెబ్లో (WWW) ఈ స్థాయికి సంబంధించిన అత్యంత ప్రసిద్ధ ప్రోటోకాల్. ఇది IoTకి ముఖ్యమైనదిగా కొనసాగుతుంది, ఇది REST API కోసం ఉపయోగించబడుతుంది - ఇది వెబ్ అప్లికేషన్లు మరియు సేవల మధ్య పరస్పర చర్య కోసం ప్రధాన మెకానిజం. అయినప్పటికీ, అధిక ఓవర్హెడ్ కారణంగా, HTTP ప్రధాన IoT ప్రోటోకాల్గా మారే అవకాశం లేదు, అయినప్పటికీ ఇది ఇంటర్నెట్లో విస్తృతంగా ఉపయోగించబడుతుంది.
MQTT (మెసేజ్ క్యూయింగ్ టెలిమెట్రీ ట్రాన్స్పోర్ట్) దాని తేలిక మరియు సౌలభ్యం కారణంగా IoTలో ప్రధాన సందేశ ప్రోటోకాల్గా మారింది. వ్యాసం చూడండి ప్రారంభకులకు MQTT పరిచయం (ప్రారంభకుల కోసం MQTTకి పరిచయం).
IoT కోసం HTTP మరియు MQTT యొక్క పోలిక
IoT అప్లికేషన్లకు MQTT వేగంగా వాస్తవ ప్రమాణంగా మారుతోంది. ఇది HTTPతో పోల్చినప్పుడు దాని తేలిక మరియు వేగం మరియు ఇది ఒకదానికొకటి (HTTP) కాకుండా ఒకరి నుండి అనేక ప్రోటోకాల్ అనే వాస్తవం కారణంగా ఉంది.
అనేక ఆధునిక వెబ్ అప్లికేషన్లు తమ అభివృద్ధి సమయంలో అందుబాటులో ఉన్నట్లయితే HTTPకి బదులుగా MQTTని సంతోషంగా ఉపయోగిస్తాయి.
రైళ్లు/బస్సులు/విమానాల రాకపోకలు మరియు బయలుదేరడం వంటి బహుళ క్లయింట్లకు సమాచారాన్ని పంపడం మంచి ఉదాహరణ. ఈ దృష్టాంతంలో, HTTP వంటి వన్-టు-వన్ ప్రోటోకాల్ చాలా ఓవర్హెడ్ను కలిగి ఉంటుంది మరియు వెబ్ సర్వర్లపై చాలా లోడ్ను ఉంచుతుంది. ఈ వెబ్ సర్వర్లను స్కేలింగ్ చేయడం కష్టం. MQTTతో, క్లయింట్లు బ్రోకర్కి కనెక్ట్ అవుతారు, ఇది లోడ్ బ్యాలెన్సింగ్ కోసం సులభంగా జోడించబడుతుంది. దాని గురించి వీడియో ట్యుటోరియల్ చూడండి MQTT ద్వారా HTML డేటాను మళ్లీ ప్రచురించండి (విమాన రాక ఉదాహరణ) మరియు వ్యాసం IOT కోసం MQTT vs HTTP.
ఇతర సందేశ ప్రోటోకాల్లు
HTTP IoT అప్లికేషన్ల కోసం రూపొందించబడలేదు, కానీ పేర్కొన్నట్లుగా, ఇది విస్తృతంగా ఉపయోగించడం వల్ల కొంతకాలం పాటు విస్తృతంగా ఉపయోగించబడుతుంది API.
దాదాపు అన్ని IoT ప్లాట్ఫారమ్లు HTTP మరియు MQTT రెండింటికి మద్దతు ఇస్తాయి.
AMQP - (అధునాతన సందేశం క్యూయింగ్ ప్రోటోకాల్). TCP/IPని ఉపయోగిస్తుంది. ప్రచురణకర్త-చందాదారు మరియు పాయింట్-టు-పాయింట్ మోడల్లు.
COAP - (నిబంధిత అప్లికేషన్ ప్రోటోకాల్). UDPని ఉపయోగిస్తుంది. IoT కోసం ప్రత్యేకంగా రూపొందించబడింది, HTTPలో వలె అభ్యర్థన-ప్రతిస్పందన నమూనాను ఉపయోగిస్తుంది. RFC 7252.
ఇందులో వ్యాసం ప్రధాన ప్రోటోకాల్లు మరియు వాటి అప్లికేషన్లు పరిగణించబడతాయి. ఈ కథనం యొక్క ముగింపు ఏమిటంటే, IoT వారి ఉద్దేశించిన ఉపయోగాన్ని బట్టి ప్రోటోకాల్ల సమితిని ఉపయోగిస్తుంది.
అయితే, పునరాలోచనలో, ఇంటర్నెట్ ప్రారంభ సంవత్సరాల్లో, ఆధిపత్యం వహించే HTTP ప్రోటోకాల్ అనేక ప్రోటోకాల్లలో ఒకటి.
HTTP వాస్తవానికి ఫైల్ మరియు ఇమెయిల్ బదిలీ కోసం రూపొందించబడనప్పటికీ, నేడు ఇది రెండింటికీ ఉపయోగించబడుతుంది.
IoTలోని మెసేజింగ్ ప్రోటోకాల్ల విషయంలో కూడా అదే జరుగుతుందని నేను ఆశిస్తున్నాను: చాలా సేవలు ఒక ప్రధానమైన ప్రోటోకాల్ను ఉపయోగిస్తాయి.
గత కొన్ని సంవత్సరాలుగా MQTT, COAP మరియు AMQP యొక్క జనాదరణ ఎలా మారిందో చూపే Google Trends చార్ట్లు క్రింద ఉన్నాయి.
అన్ని మార్పులు ఛానెల్ (స్థాయిలు 1 మరియు 2) మరియు అప్లికేషన్ స్థాయిలు (స్థాయి 4)లో ఉన్నాయి.
నెట్వర్క్ మరియు రవాణా పొరలు మారకుండా ఉండే అవకాశం ఉంది.
అప్లికేషన్ లేయర్ వద్ద, IoT భాగాలు మెసేజింగ్ ప్రోటోకాల్లను ఉపయోగిస్తాయి. IoT అభివృద్ధిలో మేము ఇంకా ప్రారంభ దశలోనే ఉన్నప్పటికీ, ఒకటి లేదా బహుశా రెండు మెసేజింగ్ ప్రోటోకాల్లు ప్రత్యేకంగా నిలిచే అవకాశం ఉంది.
గత కొన్ని సంవత్సరాలుగా, MQTT అత్యంత ప్రజాదరణ పొందింది మరియు నేను ఇప్పుడు ఈ సైట్పై దృష్టి సారిస్తున్నాను.
ఇప్పటికే ఉన్న IoT ప్లాట్ఫారమ్లలో ఇప్పటికే బాగా నిర్మించబడినందున HTTP కూడా ఉపయోగించడం కొనసాగుతుంది.