Mặc dù đã tồn tại trong hơn một thập kỷ nhưng chỉ khi có sự ra đời của Internet of Things (IoT) và M2M (máy để truyền thông máy) mới làm cho MQTT trở thành một giao thức phổ biến. Theo dõi bài viết dưới đây để tìm hiểu kỹ hơn về giao thức này nhé!
Do giao thức MQTT sử dụng các tin nhắn gọn nhẹ nên MQTT là gì thường được sử dụng dùng để liên lạc giữa các thiết bị với nhau. Ban đầu, MQTT là gì chỉ được sử dụng cho các mạng SCADA. Nhưng sau đó với sự phát triển mạnh mẽ của xu hướng Internet vạn vật (IoT – Internet of Things) thì MQTT là gì đang dần trở nên phổ biến do nhu cầu kết nối giữa nhiều thiết bị với nhau ngày càng nhiều. Theo dõi tiếp bài viết dưới đây để được 123job bật mí giao thức MQTT là gì nhé!
I. Bạn đã hiểu MQTT là gì chưa?
1. MQTT là gì?
MQTT là tên viết tắt của cụm từ Tiếng anh Message Queuing Telemetry Transport là một giao thức truyền thông điệp (message) dựa theo mô hình publish/subscribe (cung cấp/thuê bao), được sử dụng cho các thiết bị IoT với băng thông thấp, có độ tin cậy cao và khả năng sử dụng trong mạng lưới không ổn định. Giao thức MQTT là gì dựa trên một Broker (tạm dịch là “Máy chủ môi giới”) “nhẹ” và được thiết kế có tính mở (có nghĩa là không đặc trưng cho một ứng dụng cụ thể nào cả), đơn giản và dễ dàng cho việc cài đặt.
Bạn đã hiểu MQTT là gì chưa?
2. Lịch sử hình thành MQTT là gì?
- Vào cuối năm 1999, MQTT là gì được phát minh bởi Andy Stanford - Clark (IBM) và Arlen Nipper (EUROTECH) khi mà nhiệm vụ lớn nhất của họ lúc này là tạo ra một giao thức làm sao cho sự hao phí về năng lượng và băng thông là đạt ở mức thấp nhất để có thể kết nối đến đường ống dẫn dầu thông qua sự kết nối của vệ tinh.
- Vào năm 2011, IBM và Eurotech đã trao lại MQTT là gì cho một dự án của Eclipse mang tên là Paho.
- Năm 2013 MQTT là gì đã được đệ trình lên OASIS. là tên viết tắt của Organization for the Advancement of Structured Information Standards để chuẩn hóa.
II. Những thông tin cần biết về MQTT là gì?
1. Vị trí của MQTT trong mô hình IoT
MQTT là một trong những giao thức được sử dụng phổ biến nhất có liên quan trực tiếp đến IoT. MQTT là gì cho phép các thiết bị IoT hạn chế về tài nguyên gửi hoặc có thể là xuất bản thông tin về một chủ đề nhất định tới một máy chủ khác có chức năng như một message broker MQTT. Sau đó, broker sẽ đẩy thông tin ra bên ngoài cho những máy khác đã subscribe chủ đề trước đó.
2. Tính năng, đặc điểm nổi bật
- Dạng truyền thông điệp theo mô hình publish/subscribe cung cấp việc truyền tin phân tán một chiều, tách biệt hoàn toàn với phần ứng dụng.
- Việc truyền thông điệp là ngay lập tức và nhanh chóng mà nó không hề quan tâm nhiều đến nội dung được truyền.
- Sử dụng TCP/IP là một giao thức nền.
- Tồn tại ba mức độ tin cậy cho việc truyền dữ liệu (QoS: Quality of service) đó là:
- QoS 0: Broker/client sẽ gửi dữ liệu đúng một lần duy nhất, quá trình gửi được xác nhận chỉ bởi giao thức TCP/IP.
- QoS 1: Broker/client sẽ gửi dữ liệu với ít nhất là một lần xác nhận từ đầu bên kia, có nghĩa là có thể có nhiều hơn một lần xác nhận đã nhận được dữ liệu.
- QoS 2: Broker/client đảm bảo khi dữ liệu được gửi đi thì phía nhận chỉ nhận được đúng một lần duy nhất, quá trình này phải trải qua 4 bước bắt tay.
- Phần bao bọc dữ liệu truyền nhỏ và được giảm đến mức tối thiểu nhất để giảm tải cho đường truyền.
Những thông tin cần biết về MQTT là gì?
3. Ưu điểm của giao thức MQTT là gì?
- Truyền thông tin nhanh chóng và hiệu quả hơn.
- Tăng khả năng mở rộng.
- Giảm thiểu đi đáng kể lượng tiêu thụ băng thông mạng.
- Rất phù hợp cho việc điều khiển và do thám.
- Tối đa hóa băng thông có sẵn.
- Chi phí thấp.
- Rất an toàn, bảo mật.
- Được sử dụng trong các ngành công nghiệp dầu khí, cho các công ty lớn ví dụ như Amazon, Facebook....
- Tiết kiệm được khá nhiều thời gian phát triển.
- So với giao thức cũ thì giao thức publish/subscribe thu thập được nhiều dữ liệu hơn và còn tốn ít băng thông hơn.
III. Mô hình Pub/Sub
1. Thành phần
MQTT là gì bao gồm 2 thành phần chính là Broker và Clients:
- Broker: Đóng vai trò như là một nơi trung tâm hay một Hub – điểm giao nhau của tất cả các kết nối đến với Clients. Broker sẽ nhận thông điệp/tin nhắn từ publisher, sau đó sắp xếp chúng rồi chuyển thông điệp đến một địa chỉ cụ thể nào đó.
- Client: Được chia thành hai nhóm là Publisher và Subscriber. Client chỉ làm ít nhất một trong hai việc đó là publish các thông điệp lên một/nhiều topic cụ thể hoặc subscribe một/nhiều topic nào đó để nhận thông điệp từ topic này.
Những điều cần biết về mô hình Pub/Sub
2. Ưu điểm
- Kết nối riêng rẽ, độc lập.
- Khả năng mở rộng.
- Thời gian tách biệt với nhau (Time decoupling).
- Đồng bộ riêng rẽ.
3. Nhược điểm
- Broker - Máy chủ môi giới không cần thông báo về trạng thái gửi thông điệp, chính vì vậy nên không có cách nào để có thể phát hiện xem thông điệp đã gửi đúng hay là chưa.
- Publisher không hề biết gì về trạng thái của subscribe và tương tự ngược lại.
- Những kẻ xấu (Malicious Publisher) có thể gửi những thông điệp không tốt và các Subscriber sẽ vô tình truy cập vào những thứ mà họ không nên nhận.
IV. Cơ chế hoạt động của MQTT theo mô hình Pub/ Sub
1. Tính chất và những đặc điểm riêng
a. Tính chất
- Không gian tách biệt.
- Thời gian tách biệt.
- Sự đồng bộ riêng rẽ.
b. Đặc điểm riêng
- MQTT là gì sử dụng cơ chế lọc thông điệp dựa trên tiêu đề (subject-based)
- MQTT là gì có một tầng gọi là chất lượng dịch vụ (Quality of Services – QoS). Tác dụng của nó là giúp dễ dàng trong việc nhận biết được là message có được truyền thành công hay là không.
2. Cơ chế tổng quan
- MQTT là gì hoạt động theo cơ chế client/server, nơi mà mỗi cảm biến là một khách hàng (client) và kết nối đến một máy chủ. Broker chịu trách nhiệm chính trong việc điều phối tất cả các thông điệp giữa phía gửi đến đúng với bên nhận.
- MQTT là giao thức định hướng bản tin, mỗi một bản tin là một đoạn rời rạc của tín hiệu và broker không thể nhìn thấy được. Mỗi một bản tin được publish một địa chỉ cụ thể, có thể hiểu như một kênh (Topic). Client đăng kí vào một vài kênh để nhận/gửi dữ liệu được gọi là subscribe và nó có thể subscribe vào nhiều kênh khác nhau.
V. Các giao thức cạnh tranh với MQTT
Các giao thức cạnh tranh với MQTT
- CoAP là tên viết tắt của cụm tử Constrained Application Protocol: Sử dụng kiểu giao tiếp chính là request/response (yêu cầu/phản hồi).
- AMQP là tên viết tắt của cụm từ Advanced Message Queuing Protocol: Giống giao thức MQTT là gì, AMQP sử dụng kiểu giao tiếp publish/subscribe.
- SIOMP là tên viết tắt của cụm từ Simple/Streaming Text Oriented Messaging Protocol là một giao thức dựa trên nền tảng văn bản.
- Mosquitto là một mã nguồn mở của giao thức MQTT broker.
- SMCP là tên viết tắt của cụm từ Simple Media Control Protocol: Là một ngăn xếp CoAP được sử dụng ở trong môi trường nhúng.
- SSI là tên viết tắt của cụm từ Simple Sensor Interface: Là một giao thức truyền thông giúp dễ dàng giao tiếp dữ liệu giữa máy tính và cảm biến.
- DDS là tên viết tắt của cụm từ Data Distribution Service: Có thể publish/ subscribe trực tiếp trong một khoảng thời gian thực cho các hệ thống nhúng.
VI. Kết luận
Trên đây là toàn bộ những thông tin cần biết về MQTT là gì, cơ chế hoạt động của MQTT theo mô hình Pub/Sub mà 123job muốn chia sẻ tới bạn đọc. Hy vọng qua những chia sẻ ở bài viết giúp bạn hiểu hơn về MQTT là gì cùng những ưu điểm nổi bật của nó. 123job chúc bạn có thật nhiều niềm vui và thành công trong công việc cũng như trong cuộc sống.