IoT için Ağ İletişimi ve Mesajlaşma Protokollerine Genel Bakış

Merhaba Habrovsk sakinleri! Rusya'nın ilk çevrimiçi kursu IoT geliştiricisi Ekim ayında OTUS'ta başlıyor. Kurs kayıtları şu anda açık olduğundan faydalı materyalleri sizlerle paylaşmaya devam ediyoruz.

IoT için Ağ İletişimi ve Mesajlaşma Protokollerine Genel Bakış

Nesnelerin İnterneti (IoT), halihazırda evlerde/ofislerde ve internette kullanılan mevcut ağ altyapısı, teknolojiler ve protokoller üzerine inşa edilecek ve çok daha fazlasını sunacak.

Bu kılavuzun amacı IoT için ağ oluşturma ve uygulama protokollerine kısa bir genel bakış sağlamaktır.

Not. Bilgi sahibi olmalısın ağ teknolojilerinin temelleri.

IoT ağları

IoT mevcut TCP/IP ağlarında çalışacak.

TCP/IP, her katmanda belirli protokoller bulunan dört katmanlı bir model kullanır. Santimetre. TCP/IP 4 katman modelini anlama (dört katmanlı TCP/IP modelini anlıyoruz).

Aşağıdaki grafik şu anda kullanımda olan protokoller ile IoT için kullanılması en muhtemel olanların karşılaştırmasını göstermektedir.

IoT için Ağ İletişimi ve Mesajlaşma Protokollerine Genel Bakış

Grafikle ilgili notlar:

  1. Yazı tipi boyutu protokolün popülerliğini yansıtır. Örneğin, modern internette çok daha popüler olduğu için solda daha fazla IPv4 var. Ancak IPv6'nın IoT'de daha popüler hale gelmesi beklendiğinden sağdaki kısım daha küçüktür.

  2. Tüm protokoller gösterilmemiştir.

  3. Değişikliklerin çoğu kanalda (seviye 1 ve 2) ve uygulama seviyelerinde (seviye 4) meydana gelir.

  4. Ağ ve aktarım katmanları muhtemelen değişmeden kalacaktır.

Bağlantı Katmanı Protokolleri

Veri Bağlantısı katmanında cihazları birbirine bağlamanız gerekir. Örneğin yerel ağlarda yakınlarda veya birbirlerinden çok uzakta bulunabilirler: metropol alan ağlarında ve geniş alan ağlarında.

Şu anda bu düzeyde ev ve ofis ağları (LAN) Ethernet ve Wi-Fi, mobil ağlar (WAN) ise 3G/4G kullanıyor. Ancak birçok IoT cihazı, sensörler gibi düşük güçlüdür ve yalnızca pillerle çalışır. Bu durumlarda Ethernet uygun değildir ancak düşük güçlü Wi-Fi ve düşük güçlü Bluetooth kullanılabilir.

Bu cihazları bağlamak için mevcut kablosuz teknolojiler (Wi-Fi, Bluetooth, 3G/4G) kullanılmaya devam edilecek olsa da, popülaritesinin artması muhtemel olan IoT uygulamaları için özel olarak tasarlanmış yeni teknolojilere de bakmakta fayda var.

Bunlar arasında:

  • BLE – Bluetooth Düşük Enerji

  • LoRaWAN – Uzun Menzilli WAN

  • tilki

  • LTE-M

Makalede daha ayrıntılı olarak açıklanmaktadırlar. IOT kablosuz teknolojilerine genel bakış (kablosuz IoT teknolojilerine genel bakış).

ağ katmanı

Ağ düzeyinde (Ağ İletişimi) protokol uzun vadede hakim olacaktır IPv6. IPv4'ün kullanılması pek olası değildir ancak ilk aşamalarda rol oynayabilir. Akıllı ampuller gibi evdeki IoT cihazlarının çoğu şu anda IPv4 kullanıyor.

Taşıma katmanı 

TCP, İnternet ve web'deki Aktarım katmanına hakimdir. Hem HTTP hem de diğer birçok popüler İnternet protokolünde (SMTP, POP3, IMAP4 vb.) kullanılır.

Mesajlaşma için ana uygulama katmanı protokollerinden biri olmasını beklediğim MQTT şu anda TCP kullanıyor.

Ancak gelecekte daha düşük ek yük nedeniyle UDP'nin IoT için daha popüler olmasını bekliyorum. Muhtemelen daha da yaygınlaşacak MQTT-SN, UDP üzerinde çalışıyor. Karşılaştırma makalesine bakın TCP ve UDP .

Uygulama katmanı ve mesajlaşma protokolleri

IoT protokolleri için önemli özellikler:

  • Hız - saniyede aktarılan veri miktarı.

  • Gecikme, bir mesajın iletilmesi için gereken süredir.

  • Güç tüketimi

  • Güvenlik.

  • Yazılımın kullanılabilirliği.

Şu anda bu seviyede iki ana protokol aktif olarak kullanılıyor: HTTP ve MQTT.

HTTP muhtemelen bu düzeyde Web'in (WWW) temelini oluşturan en iyi bilinen protokoldür. Web uygulamalarının ve hizmetlerinin nasıl etkileşime girdiğinin temel mekanizması olan REST API'leri için kullanıldığından IoT için önemli olmaya devam edecek. Bununla birlikte, yüksek yükü nedeniyle HTTP'nin birincil IoT protokolü haline gelmesi pek olası değildir, ancak yine de İnternette yaygın olarak kullanılacaktır.

MQTT (Message Queuing Telemetri Transport), hafifliği ve kullanım kolaylığı nedeniyle IoT'de baskın mesajlaşma protokolü haline geldi. Makaleye bakın Yeni başlayanlar için MQTT'ye giriş (Yeni Başlayanlar için MQTT'ye Giriş).

IoT için HTTP ve MQTT Karşılaştırması

MQTT hızla IoT uygulamaları için fiili standart haline geliyor. Bunun nedeni, HTTP'ye kıyasla hafifliği ve hızıdır ve bire bir protokol (HTTP) yerine bire çok protokol olmasıdır.

Pek çok modern web uygulaması, geliştirilmeleri sırasında mevcut olsaydı, HTTP yerine MQTT'yi memnuniyetle kullanırdı.

Bunun iyi bir örneği, tren/otobüs/uçak varış ve kalkışları gibi birden fazla müşteriye bilgi göndermektir. Bu senaryoda, HTTP gibi bire bir protokolün yükü yüksektir ve web sunucularına çok fazla yük getirir. Bu web sunucularını ölçeklendirmek zor olabilir. MQTT ile istemciler, yük dengeleme için kolayca eklenebilecek bir aracıya bağlanır. Bu öğreticiyi videolu olarak izleyin HTML Verilerini MQTT Üzerinden Yeniden Yayınlama (Uçuş Varışları Örneği) ve makale IOT için MQTT ve HTTP.

Diğer Mesajlaşma Protokolleri

HTTP, IoT uygulamaları için tasarlanmamıştır ancak belirtildiği gibi yaygın kullanımı nedeniyle bir süre daha yaygın olarak kullanılacaktır. API.

Hemen hemen tüm IoT platformları hem HTTP'yi hem de MQTT'yi destekler.

Ancak dikkate alınması gereken başka protokoller de var.

protokolleri

  • MQTT — (Mesaj Kuyruğa Alma Telemetri Aktarımı). TCP/IP'yi kullanır. Yayıncı-abone modeli bir mesaj komisyoncusu gerektirir.

  • AMQP - (Gelişmiş Mesaj Sıralama Protokolü). TCP/IP'yi kullanır. Yayıncı-abone ve noktadan noktaya modeller.

  • COAP - (Kısıtlı Uygulama Protokolü). UDP'yi kullanır. IoT için özel olarak tasarlanmış olup HTTP'ye benzer bir istek-yanıt modeli kullanır. RFC 7252.

  • DDS — (Veri Dağıtım Hizmeti) 

Bu içinde Makale Ana protokoller ve uygulamaları tartışılmaktadır. Bu makalenin sonucu, IoT'nin amaçlanan uygulamaya bağlı olarak bir dizi protokol kullanacağıdır.

Ancak geriye dönüp bakarsanız, İnternet'in ilk yıllarında, daha sonra baskın protokol haline gelen HTTP, birçok protokolden sadece biriydi.

HTTP başlangıçta dosya aktarımı veya e-posta için tasarlanmasa da bugün her ikisi için de kullanılıyor.

IoT'deki mesajlaşma protokollerinde de aynı şeyin olmasını bekliyorum: çoğu hizmet tek bir baskın protokol kullanacak.

Aşağıda MQTT, COAP ve AMQP'nin popülaritesinin son birkaç yılda nasıl değiştiğini gösteren Google Trendler grafikleri bulunmaktadır.

Google Trendler İncelemesi 

IoT için Ağ İletişimi ve Mesajlaşma Protokollerine Genel Bakış

Platforma göre protokol desteği

  • Microsoft Azure — MQTT, AMQP, HTTP ve HTTPS

  • AWS — Websocket'ler üzerinden MQTT, HTTPS, MQTT

  • IBM Bluemix – MQTT,HTTPS,MQTT

  • Thingworx -MQTT,HTTPS,MQTT,AMQP

Özet

Değişikliklerin çoğu kanalda (seviye 1 ve 2) ve uygulama seviyelerinde (seviye 4) meydana gelir.

Ağ ve aktarım katmanları muhtemelen değişmeden kalacaktır.

Uygulama katmanında IoT bileşenleri mesajlaşma protokollerini kullanacaktır. Her ne kadar IoT gelişiminin henüz erken aşamalarında olsak da bir veya iki mesajlaşma protokolünün ortaya çıkması muhtemeldir.

Geçtiğimiz birkaç yılda MQTT en popüler hale geldi ve şu anda bu sitede buna odaklanıyorum.

HTTP, halihazırda mevcut IoT platformlarına iyi bir şekilde entegre olduğu için kullanılmaya devam edecek.

Bu kadar. Sizi konuyla ilgili ücretsiz bir demo dersine kaydolmaya davet ediyoruz “Cihaza hızlı komutlar vermek için Chatbot”.

Daha fazla oku:

Kaynak: habr.com

Yorum ekle