Mqtt nedir

Nesnelerin İnterneti (IoT) ve makineden makineye (M2M) teknolojileri, uzak bir konumdan bilgi alışverişi yapmak için bir mesajlaşma ve bağlantı protokolü kullanmalıdır. MQTT bu ihtiyacı karşılamak için geliştirilmiş ve oldukça yaygın şekilde kullanılan bir haberleşme protokolüdür. Öte yandan, bazı sorular da getiriyor: MQTT nedir? MQTT nasıl çalışır? MQTT’nin kullanım alanları nelerdir? Bu yazıda MQTT’nin ne olduğu ve nasıl uygulanacağı ile ilgili tüm cevapları sizler için paylaşıyoruz.

MQTT Nedir?

MQTT (MQ Telemetry Transport), kaynak kısıtlı ağ istemcilerine telemetri bilgilerini dağıtmak için basit bir yol sağlayan hafif bir mesajlaşma protokolüdür. Yayınlama / abone olma iletişim modelini kullanan protokol, makineden makineye (M2M) haberleşme için kullanılır ve nesnelerin internette (IoT) önemli bir rol oynar.

MQTT, kaynaklarla kısıtlanmış IoT cihazlarının, MQTT mesaj brokeri olarak çalışan bir sunucuya belirli bir konu hakkında bilgi göndermesini veya yayınlamasını sağlar. Aracı daha sonra bilgileri daha önce istemcinin konusuna abone olan istemcilere iletir. Bir insan için, bir konu hiyerarşik bir dosya yoluna benziyor. Müşteriler bir konunun hiyerarşisinin belirli bir seviyesine abone olabilir veya birden çok seviyeye abone olmak için joker karakter kullanabilir.

MQTT protokolü, zaman zaman bant genişliği kısıtlamaları veya güvenilir olmayan bağlantılar nedeniyle farklı düzeylerde gecikme yaşayan kablosuz ağlar için iyi bir seçimdir. Abone olan bir müşteriden bir aracıya olan bağlantı koparsa, aracı iletileri yeniden arabelleğe alır ve tekrar çevrimiçi olduğunda aboneye gönderir. Yayıncı istemciden aracıya olan bağlantının haber verilmeden kesilmesi durumunda, aracı bağlantıyı kapatabilir ve abonelere yayıncının talimatlarını içeren önbelleğe alınmış bir mesaj gönderebilir.

MQTT nasıl çalışır?

Bir MQTT oturumu dört aşamaya ayrılır: bağlantı, kimlik doğrulama, iletişim ve sonlandırma. Bir istemci, sunucu tarafından tanımlanan standart bir bağlantı noktasını veya özel bir bağlantı noktasını kullanarak aracıya bir TCP/IP bağlantısı oluşturarak başlar. Bağlantıyı oluştururken yeniden kullanılmış bir istemci kimliği sağlanmışsa, sunucunun eski bir oturuma devam edebileceğini bilmek önemlidir.

Standart bağlantı portu şifrelenmemiş iletişim için 1883 ve SSL / TLS kullanarak şifreli iletişim için 8883’tür. SSL / TLS anlaşması sırasında, istemci sunucuyu doğrulamak için sunucu sertifikasını doğrular. İstemci ayrıca kimliğini doğrulamak için kullanabileceği el sıkışma sırasında sunucuya bir sertifika sağlayabilir. Özellikle MQTT spesifikasyonunun bir parçası olmasa da, brokerların SSL / TLS müşteri tarafı sertifikalarıyla müşteri kimlik doğrulamasını desteklemesi alışılmış hale geldi.

Why You Need MQTT in Your IoT Architecture | BehrTech Blog

MQTT protokolü, kaynak kısıtlı ve IoT cihazları için bir protokol olmayı hedeflediğinden, SSL / TLS her zaman bir seçenek olmayabilir ve bazı durumlarda istenmeyebilir. Bu gibi durumlarda kimlik doğrulama, istemci tarafından sunucuya paket sırasının bir parçası olarak gönderilen açık metin kullanıcı adı ve parola olarak sunulur. Bazı brokerler, özellikle de internette yayınlanan brokerlar isimsiz müşterileri kabul edecektir. Bu gibi durumlarda, kullanıcı adı ve şifre sadece boş bırakılır.

MQTT’ye hafif bir protokol denir, çünkü tüm mesajları küçük bir kod alanına sahiptir.

Üç farklı hizmet kalitesi, içeriğin MQTT protokolü tarafından nasıl yönetildiğini belirler.

En basit QoS seviyesi onaylanmamış bir servistir. Bu QoS seviyesi bir PUBLISH paket dizisi kullanır; yayıncı bir kez aracıya mesaj gönderir ve aracı, mesajı bir kez abonelere iletir. Mesajın doğru bir şekilde alındığından emin olmak için hiçbir mekanizma yoktur ve aracı mesajı kaydetmez. Bu QoS seviyesi aynı zamanda en fazla bir kez, QoS0 veya ateşle ve unut olarak da adlandırılabilir.

MQTT protokolü uygulamaları ve kullanım örnekleri

Facebook şu anda mesajlaşma uygulamaları için MQTT kullanıyor. Sadece cep telefonundan telefona mesajlaşma sırasında pil gücünü koruduğu için değil. Aynı zamanda dünya genelinde tutarsız internet bağlantılarına rağmen, protokolün mesajların milisaniyede verimli bir şekilde iletilmesini sağladığı için .

AWS, Google Cloud, IBM Bluemix ve Microsoft Azure dahil olmak üzere çoğu büyük bulut hizmeti sağlayıcısı, ThingOn IoT Platform‘da olduğu gibi MQTT’yi destekliyor.

MQTT ile rekabet eden diğer protokoller

Kısıtlı kaynaklara sahip IoT cihazları için değerlendirilen diğer aktarım protokolleri arasında, bir istek / yanıt iletişim modeli kullanan Sınırlı Uygulama Protokolü (CoAP) ve MQTT gibi bir yayın / abone iletişim kullanan Gelişmiş Message Queuing Protokolü (AMQP) bulunur.

Güvenlik, birlikte çalışabilirlik ve kimlik doğrulama

MQTT protokolü güvenlik düşünülerek tasarlanmadığından, protokol geleneksel olarak uygulamaya özel amaçlar için güvenli arka uç ağlarda kullanılmıştır. MQTT’nin konu yapısı kolayca büyük bir ağaç oluşturabilir ve bir ağacı federasyon haline getirilebilecek daha küçük mantıksal alanlara bölmenin açık bir yolu yoktur. Bu, global olarak ölçeklenebilir bir MQTT ağı oluşturmayı zorlaştırır, çünkü konu ağacının boyutu büyüdükçe, karmaşıklık artar.

Daha önce değinildiği gibi, MQTT protokolde yerleşik olan minimum doğrulama özelliğine sahiptir. Kullanıcı adı ve şifreler açık metin olarak gönderilir. MQTT’nin güvenli kullanımı için herhangi bir şekilde ne yazık ki hafif bir protokol olmayan SSL/TLS kullanılmalıdır.

Ayrıca, mesajın alıcının asıl mesajı kimin gönderdiğini bilmesinin bir yolu yoktur, çünkü bu mesaj asıl mesajda yer almıyorsa. MQTT’ye özel bir şekilde uygulanması gereken güvenlik özellikleri, kod ayakizini artırır ve uygulamaları daha da zorlaştırır.

MQTT Nedir? isimli bu yazımızdan faydalanmanız dileklerimizle.

ThingsOn IoT Platform MQTT protokolünü tam olarak destekler.

Share This On Your Favorite Social Media!

Scroll to Top
ThingsOn Iot Platform

ThingsOn Canlı Demo Formu

Lütfen aşağıdaki formu doldurup “Gönder” butonuna tıklayın.

Hızlı destek
Merhaba 👋
Size nasıl yardımcı olabiliriz?