CHƯƠNG 1: TỔNG QUAN VỀ MQTTMQTT (Message Quening Telemetry Transport) giaothức gởi dạng publish/subscribe sử dụng cho thiết bị IOT vs băng thông thấp, độ tin cậy vao khả sử dụng mạng lưới không ổ định Do sử dụng băng thông thấp mơi trường có độ trễ cực cao nên MQTT lý tưởng cho ứng ụng M2M (Machine to machine) bit Byte Byte Loại message Cờ DUP Độ dài lại QoS level Retain CHƯƠNG 2: QOS – QUALITIES OF SERVICE Mức chất lượng dịch vụ (the QoS level) thỏa thuận bên gửi bên nhận message xác định việc đảm bảo gửi message Phân loại QoS: Khi nói QoS MQTT cần xem xét hai vấn đề: • Bản tin gửi từ client tới broker • Bản tin từ broker gửi tới client subscribe Broker gửi tin có mức QoS thấp Client subscribe có mức QoS thấp Mức QoS broker gửi phụ thuộc vào mức QoS Client subscribe 2.1 QoS – At most one – Fire and forget • Best – effort delivery • No guarantee of delivery Đặc điểm bật QoS bên nhận không xác nhận nhận tin hay chưa, không gửi lại, không lưu trữ 2.2 QoS – At least once • Đảm bảo tin gửi lần tới bên nhận • Bản tin lưu trữ tới nhận PUBACK packet từ bên nhận xác nhận nhận tin 2.3 QoS – Exactly once • Đảm bảo khơng có tin bị lặp lại • Áp dụng cho hệ thống tốn qua điện thoại,… cần độ xác cao CHƯƠNG 3: RETAIN VÀ DUPLICATE FLAG 3.1 Retained message A retained message is a normal MQTT message with the retained flag set to true The broker stores the last retained message and the corresponding QoS for that topic Retain giúp cho client subscribe cập nhật trạng thái sau subscribe topic Retain giúp loại bỏ chờ đợi client publish cập nhật Sử dụng retain nào? Khi muốn client subscribe nhận message (khơng cần chờ tới client publish cập nhật tiếp Retain hữu ích sử dụng để cập nhật trạng thái thiết bị riêng lẻ 3.2 Duplicate Flag Cờ bật client/server cố chuyển lại gói PUBLISH, PUBREL, SUBSCRIBE UNSUBSCRIBE Sử dụng tin có QoS >= 1, yêu cầu ACK Khi bit DUP set, phần header thay đổi Message ID Phía nhận xem giá trị gợi í để kiểm tra xem gói tin chuyển đến trước hay khơng CHƯƠNG 4: WILL FLAG Trường định nghĩa rằng, message publish server nhân danh cho client mà server kết nối Keep Alive có lỗi I/O q trình kết nối tới Client Phải phân biệt với trường hợp server nhận message DISCONNECT từ client, khơng gửi Will message Nếu cờ set Will QoS Will Retain biểu diễn cờ Connect trường Will Topic Will Message phải có phần payload bit User Name Flag x Passwor d Flag x Will Retain x Will QoS x Will Flag x Clean Sesion x Reserve d x 4.1 Will QoS Một quy định QoS cho message Will trường Will QoS, message gửi để báo event đứt kết nối với client không tự nguyện Nếu cờ Will flag set trường Will QoS bắt buộc, ngồi bị bỏ qua Các giá trị Will QoS (0x00), (0x01), (0x02) 4.2 Will Retain flag Cờ Will Retain flag quy định có hay khơng việc giữ lại message Will published client đứt kết nối bất thường Cờ Will Retain bắt buộc Will flag set, ngồi bị bỏ qua ... thống toán qua điện thoại,… cần độ xác cao CHƯƠNG 3: RETAIN VÀ DUPLICATE FLAG 3.1 Retained message A retained message is a normal MQTT message with the retained flag set to true The broker stores...Broker gửi tin có mức QoS thấp Client subscribe có mức QoS thấp Mức QoS broker gửi phụ thuộc vào mức QoS Client subscribe 2.1 QoS – At most one – Fire and forget • Best – effort delivery •... gói PUBLISH, PUBREL, SUBSCRIBE UNSUBSCRIBE Sử dụng tin có QoS >= 1, yêu cầu ACK Khi bit DUP set, phần header thay đổi Message ID Phía nhận xem giá trị gợi í để kiểm tra xem gói tin chuyển đến trước