ภาพรวมของเครือข่ายและโปรโตคอลการส่งข้อความสำหรับ IoT

สวัสดีชาว Khabrovites! ผู้พัฒนาหลักสูตรออนไลน์ IoT หลักสูตรแรกของรัสเซีย เปิดตัวใน OTUS ในเดือนตุลาคม การลงทะเบียนสำหรับหลักสูตรเปิดอยู่ในขณะนี้ ซึ่งเรายังคงแบ่งปันเนื้อหาที่เป็นประโยชน์กับคุณต่อไป

ภาพรวมของเครือข่ายและโปรโตคอลการส่งข้อความสำหรับ IoT

Internet of Things (IoT, Internet of Things) จะสร้างขึ้นบนโครงสร้างพื้นฐานของเครือข่าย เทคโนโลยี และโปรโตคอลที่มีอยู่ในปัจจุบันที่ใช้ในบ้าน/สำนักงาน และอินเทอร์เน็ต และจะให้บริการอื่นๆ อีกมากมาย

จุดประสงค์ของคู่มือนี้คือเพื่อให้ภาพรวมโดยย่อของเครือข่ายและโปรโตคอลแอปพลิเคชันสำหรับ IoT

บันทึก. คุณต้องมีความรู้ พื้นฐานของเทคโนโลยีเครือข่าย.

เครือข่าย IoT

IoT จะทำงานบนเครือข่าย TCP/IP ที่มีอยู่

TCP/IP ใช้โมเดลสี่เลเยอร์พร้อมโปรโตคอลเฉพาะในแต่ละเลเยอร์ ซม. ทำความเข้าใจโมเดลเลเยอร์ TCP/IP 4 (เราเข้าใจรูปแบบสี่เลเยอร์ของ TCP / IP)

แผนภาพด้านล่างแสดงการเปรียบเทียบโปรโตคอลที่ใช้อยู่ในปัจจุบันและโปรโตคอลที่น่าจะใช้สำหรับ IoT มากที่สุด

ภาพรวมของเครือข่ายและโปรโตคอลการส่งข้อความสำหรับ IoT

หมายเหตุแผนภูมิ:

  1. ขนาดตัวอักษรบ่งบอกถึงความนิยมของโปรโตคอล ตัวอย่างเช่น ทางด้านซ้าย IPv4 มีขนาดใหญ่กว่าเนื่องจากเป็นที่นิยมมากกว่าในอินเทอร์เน็ตสมัยใหม่ อย่างไรก็ตาม ด้านขวามีขนาดเล็กกว่าเนื่องจาก IPv6 คาดว่าจะได้รับความนิยมใน IoT มากกว่า

  2. ไม่แสดงโปรโตคอลทั้งหมด

  3. การเปลี่ยนแปลงส่วนใหญ่อยู่ที่แชนเนล (ระดับ 1 และ 2) และระดับแอปพลิเคชัน (ระดับ 4)

  4. เลเยอร์เครือข่ายและการขนส่งมีแนวโน้มที่จะไม่เปลี่ยนแปลง

ลิงค์เลเยอร์โปรโตคอล

ที่ระดับดาต้าลิงค์ (Data Link) คุณต้องเชื่อมต่ออุปกรณ์ต่างๆ เข้าด้วยกัน พวกเขาสามารถอยู่ใกล้กันเช่นในเครือข่ายท้องถิ่น (เครือข่ายท้องถิ่น) และในระยะทางไกลจากกัน: ในเมือง (เครือข่ายปริมณฑล) และเครือข่ายทั่วโลก (เครือข่ายบริเวณกว้าง)

ปัจจุบันในระดับนี้ เครือข่ายที่บ้านและที่ทำงาน (LAN) ใช้อีเธอร์เน็ตและ Wi-Fi และเครือข่ายมือถือ (WAN) ใช้ 3G / 4G อย่างไรก็ตาม อุปกรณ์ IoT จำนวนมากใช้พลังงานต่ำ เช่น เซ็นเซอร์ และใช้พลังงานจากแบตเตอรี่เท่านั้น ในกรณีเหล่านี้ อีเธอร์เน็ตไม่เหมาะ แต่สามารถใช้ Wi-Fi พลังงานต่ำและบลูทูธพลังงานต่ำได้

แม้ว่าเทคโนโลยีไร้สายที่มีอยู่ (Wi-Fi, Bluetooth, 3G/4G) จะถูกนำมาใช้เพื่อเชื่อมต่ออุปกรณ์เหล่านี้ต่อไป แต่ก็คุ้มค่าที่จะมองหาเทคโนโลยีใหม่ที่ออกแบบมาโดยเฉพาะสำหรับแอปพลิเคชัน IoT ซึ่งมีแนวโน้มที่จะได้รับความนิยมเพิ่มขึ้น

ในหมู่พวกเขา:

  • BLE – บลูทูธพลังงานต่ำ

  • LoRaWAN - WAN ระยะไกล

  • ซิกฟ็อกซ์

  • LTE-เอ็ม

มีการอธิบายรายละเอียดเพิ่มเติมในบทความ ภาพรวมของเทคโนโลยีไร้สาย IOT (ภาพรวมของเทคโนโลยี IoT แบบไร้สาย)

ชั้นเครือข่าย

ที่เลเยอร์เครือข่าย (Networking) โปรโตคอลจะครอบงำในระยะยาว IPv6. ไม่น่าจะมีการใช้ IPv4 แต่อาจมีบทบาทในระยะแรก ปัจจุบันอุปกรณ์ IoT ในบ้านส่วนใหญ่ เช่น หลอดไฟอัจฉริยะ ใช้ IPv4

ชั้นขนส่ง 

ที่เลเยอร์การขนส่ง (Transport) อินเทอร์เน็ตและเว็บถูกครอบงำโดย TCP ใช้ใน HTTP และโปรโตคอลอินเทอร์เน็ตยอดนิยมอื่น ๆ อีกมากมาย (SMTP, POP3, IMAP4 เป็นต้น)

MQTT ซึ่งฉันคาดว่าจะกลายเป็นหนึ่งในโปรโตคอลชั้นแอปพลิเคชันหลักสำหรับการส่งข้อความ ปัจจุบันใช้ TCP

อย่างไรก็ตาม ในอนาคต เนื่องจากค่าใช้จ่ายที่ลดลง ฉันคาดว่า UDP จะเป็นที่นิยมมากขึ้นสำหรับ IoT น่าจะแพร่หลายมากขึ้น MQTT-SNทำงานบน UDP ดูบทความเปรียบเทียบ TCP เทียบกับ UDP .

ชั้นแอปพลิเคชันและโปรโตคอลการส่งข้อความ

ลักษณะสำคัญสำหรับโปรโตคอล IoT:

  • ความเร็ว - จำนวนข้อมูลที่ถ่ายโอนต่อวินาที

  • เวลาแฝงคือเวลาที่ใช้ในการส่งข้อความ

  • การใช้พลังงาน

  • ความปลอดภัย

  • ความพร้อมใช้งานของซอฟต์แวร์

ปัจจุบัน มีการใช้งานโปรโตคอลหลักสองโปรโตคอลในระดับนี้: HTTP และ MQTT

HTTP น่าจะเป็นโปรโตคอลที่เป็นที่รู้จักมากที่สุดในระดับนี้ซึ่งอยู่ภายใต้เว็บ (WWW) จะยังคงมีความสำคัญต่อ IoT เนื่องจากใช้สำหรับ REST API ซึ่งเป็นกลไกหลักสำหรับการโต้ตอบระหว่างเว็บแอปพลิเคชันและบริการต่างๆ อย่างไรก็ตาม เนื่องจากค่าใช้จ่ายสูง HTTP ไม่น่าจะกลายเป็นโปรโตคอลหลักของ IoT แม้ว่าจะยังคงใช้กันอย่างแพร่หลายบนอินเทอร์เน็ต

MQTT (Message Queuing Telemetry Transport) ได้กลายเป็นโปรโตคอลการส่งข้อความหลักใน IoT เนื่องจากความเบาและใช้งานง่าย ดูบทความ รู้เบื้องต้นเกี่ยวกับ MQTT สำหรับผู้เริ่มต้น (ความรู้เบื้องต้นเกี่ยวกับ MQTT สำหรับผู้เริ่มต้น)

การเปรียบเทียบ HTTP และ MQTT สำหรับ IoT

MQTT กำลังกลายเป็นมาตรฐานอย่างรวดเร็วสำหรับแอปพลิเคชัน IoT เนื่องจากความเบาและความเร็วเมื่อเทียบกับ HTTP และเป็นโปรโตคอลแบบหนึ่งต่อกลุ่มมากกว่าหนึ่งต่อหนึ่ง (HTTP)

เว็บแอปพลิเคชันสมัยใหม่จำนวนมากยินดีที่จะใช้ MQTT แทน HTTP หากมีให้บริการในขณะที่พัฒนา

ตัวอย่างที่ดีคือการส่งข้อมูลไปยังลูกค้าหลายราย เช่น การมาถึงและออกจากรถไฟ/รถบัส/เครื่องบิน ในสถานการณ์นี้ โปรโตคอลแบบหนึ่งต่อหนึ่ง เช่น HTTP มีค่าใช้จ่ายจำนวนมากและทำให้เว็บเซิร์ฟเวอร์โหลดจำนวนมาก การปรับขนาดเว็บเซิร์ฟเวอร์เหล่านี้อาจเป็นเรื่องยาก ด้วย MQTT ลูกค้าจะเชื่อมต่อกับโบรกเกอร์ ซึ่งสามารถเพิ่มสำหรับโหลดบาลานซ์ได้อย่างง่ายดาย ดูวิดีโอสอนเกี่ยวกับเรื่องนี้ เผยแพร่ข้อมูล HTML ซ้ำผ่าน MQTT (ตัวอย่างเที่ยวบินขาเข้า) และบทความ MQTT กับ HTTP สำหรับ IOT.

โปรโตคอลการส่งข้อความอื่นๆ

HTTP ไม่ได้ออกแบบมาสำหรับแอปพลิเคชัน IoT แต่ดังที่ได้กล่าวไปแล้ว มันจะถูกใช้อย่างแพร่หลายในบางครั้งเนื่องจากมีการใช้งานอย่างแพร่หลายใน API.

แพลตฟอร์ม IoT เกือบทั้งหมดรองรับทั้ง HTTP และ MQTT

อย่างไรก็ตาม มีโปรโตคอลอื่นๆ ที่ควรพิจารณา

โปรโตคอล

  • MQTT - (การจัดคิวข้อความ Telemetry Transport) ใช้ TCP/IP รูปแบบการเผยแพร่และสมัครสมาชิกต้องใช้นายหน้าข้อความ

  • แอมคิวพี - (โปรโตคอลการจัดคิวข้อความขั้นสูง) ใช้ TCP/IP Publisher-Subscriber และโมเดลแบบ Point-to-Point

  • COAP - (โปรโตคอลแอปพลิเคชันที่มีข้อ จำกัด ) ใช้ UDP ออกแบบมาโดยเฉพาะสำหรับ IoT ใช้โมเดลการตอบกลับคำขอเช่นเดียวกับใน HTTP RFC 7252.

  • ท.บ. - (บริการกระจายข้อมูล) 

ในเรื่องนี้ статье โปรโตคอลหลักและแอปพลิเคชันได้รับการพิจารณา บทสรุปของบทความนี้คือ IoT จะใช้ชุดของโปรโตคอลโดยขึ้นอยู่กับจุดประสงค์ในการใช้งาน

อย่างไรก็ตาม เมื่อมองย้อนกลับไปในช่วงปีแรก ๆ ของอินเทอร์เน็ต โปรโตคอล HTTP ที่จะกลายเป็นที่โดดเด่นเป็นเพียงหนึ่งในหลาย ๆ โปรโตคอล

แม้ว่าเดิมที HTTP จะไม่ได้สร้างขึ้นสำหรับการถ่ายโอนไฟล์และอีเมล แต่ปัจจุบันมีการใช้ทั้งสองอย่าง

ฉันคาดหวังว่าสิ่งเดียวกันนี้จะเกิดขึ้นกับโปรโตคอลการส่งข้อความใน IoT: บริการส่วนใหญ่จะใช้โปรโตคอลเด่นเพียงตัวเดียว

ด้านล่างนี้คือแผนภูมิ Google Trends ที่แสดงให้เห็นว่าความนิยมของ MQTT, COAP และ AMQP เปลี่ยนแปลงไปอย่างไรในช่วงไม่กี่ปีที่ผ่านมา

ภาพรวมของ Google Trends 

ภาพรวมของเครือข่ายและโปรโตคอลการส่งข้อความสำหรับ IoT

รองรับโปรโตคอลตามแพลตฟอร์ม

สรุป

การเปลี่ยนแปลงส่วนใหญ่อยู่ที่แชนเนล (ระดับ 1 และ 2) และระดับแอปพลิเคชัน (ระดับ 4)

เลเยอร์เครือข่ายและการขนส่งมีแนวโน้มที่จะไม่เปลี่ยนแปลง

ที่ชั้นแอปพลิเคชัน ส่วนประกอบ IoT จะใช้โปรโตคอลการส่งข้อความ แม้ว่าเราจะยังอยู่ในช่วงเริ่มต้นของการพัฒนา IoT แต่มีแนวโน้มว่าโปรโตคอลการส่งข้อความหนึ่งหรือสองรายการจะมีความโดดเด่น

ในช่วงไม่กี่ปีที่ผ่านมา MQTT ได้กลายเป็นที่นิยมมากที่สุด และตอนนี้ฉันกำลังมุ่งเน้นไปที่ไซต์นี้

HTTP จะยังคงใช้งานต่อไปเนื่องจากสร้างไว้แล้วอย่างดีในแพลตฟอร์ม IoT ที่มีอยู่

นั่นคือทั้งหมด เราขอเชิญคุณลงทะเบียนเพื่อรับบทเรียนสาธิตฟรีในหัวข้อ "Chatbot สำหรับสั่งงานเข้าเครื่องอย่างรวดเร็ว".

อ่านเพิ่มเติม:

ที่มา: will.com

เพิ่มความคิดเห็น