男人喜欢什么样的女人做老婆| 什么是省控线| 老是想吐是什么原因| 什么是化石| 5.3什么星座| 浮躁什么意思| ami是什么| 优甲乐是治什么病的| 涵字属于五行属什么| 9月初是什么星座| 秦始皇陵为什么不敢挖| 中药先煎是什么意思| 指鼻试验阳性代表什么| 电饭煲煮粥为什么会溢出来| 逝者已矣生者如斯是什么意思| 什么马不能骑| 英五行属什么| 雪村和赵英俊什么关系| 四离日是什么意思| 鼻子发痒是什么原因引起的| 散瞳快散和慢散有什么区别| 鼻渊是什么意思| 64年出生属什么| 沫沫是什么意思| 福州有什么好玩的地方| 喝酒吃头孢有什么反应| 心不在焉是什么意思| 尿酸高去医院挂什么科| 腹部ct能检查出什么| 失代偿期是什么意思| fisherman是什么意思| 增肌是什么意思| 钾是什么| 钛色是什么颜色| 食物链是什么意思| 2023年是属什么生肖| 副县长什么级别| 血稠是什么原因引起的| 大便有酸味是什么原因| 家里停电了打什么电话| 什么是三级片| 日光性皮炎用什么药膏| 神经损伤吃什么药| 一晚上尿五六次是什么原因| 多是什么结构的字| 阴道出血吃什么药| 唇炎抹什么药膏最有效| 经常肚子痛什么原因| 一个骨一个宽是什么字| 早上起来眼皮肿是什么原因| b是什么单位| 大专跟本科有什么区别| 脾肺两虚吃什么中成药| 透亮是什么意思| 转什么为什么成语| 鱼翅是什么鱼身上的| 819是什么意思| 乐字五行属什么| 金丝檀木是什么木头| 言音读什么| 蜂蜜什么时候喝比较好| 8月14日是什么星座| 草莓什么季节种植| 草金鱼吃什么| 子宫内膜增生有什么症状| ebv病毒是什么| 三宫六院是什么意思| 买二手苹果手机要注意什么| kh什么意思| 祎字五行属什么| 脾胃不好吃什么药效果好| 轮回什么意思| 1928年属什么生肖| 食神生财是什么意思| 警察为什么叫蜀黍| 大便次数多吃什么药| 食物中毒吃什么解毒最快| 肋骨疼挂什么科| 小节是什么意思| 男字五行属什么| 缄默什么意思| 中焦湿热吃什么中成药| 你在纠结什么| 白是什么结构的字| 稷是什么作物| 武昌鱼是什么鱼| 蚊虫叮咬擦什么药膏| 学架子鼓有什么好处| 人尽可夫什么意思| 贾宝玉大名叫什么| 散光400度是什么概念| 人为什么会打呼噜| 猪咳嗽用什么药好得快| 百合是什么| 纳少是什么意思| 姜子牙姓什么| 乳房检查挂什么科| 什么叫比例| 双向什么意思| 2月24号是什么星座| DHL是什么| 专车是什么意思| 正科级是什么级别| 胃消化不好吃什么调理| 港式按摩是什么意思| 徐峥的老婆叫什么名字| 46什么意思| 头部爱出汗是什么原因| 穷是什么意思| 阴虚火旺吃什么药| 例假少是什么原因| 秦皇岛有什么特产| 伽蓝菩萨保佑什么| 蠓虫叮咬后涂什么药膏| 脸上为什么长斑| 窦性心动过缓吃什么药| 胆怯的什么| 秋老虎是什么意思| 等回声结节是什么意思| 骨膜炎用什么药| 鹅蛋脸适合什么刘海| 梦到火是什么意思| 1987年什么命| 梦见妯娌是什么意思| 体寒的女人吃什么能调理好身体| 小人难防前一句是什么| 舌头臭是什么原因| 第一次同房是什么感觉| 修面皮是什么皮| 梦到吃肉是什么意思周公解梦| 红景天是什么药| 外阴起红点是什么病| 晚上吃什么有助于减肥| 肌酐清除率是什么意思| 虚岁30岁属什么生肖| 肾结石有什么症状| 什么情况下| 腹泻能吃什么食物| 舌裂吃什么药| 支原体感染吃什么药| 尿血吃什么药最好| 吃什么药可以流产不用去医院| 黑色碳素笔是什么笔| 乙肝小三阳是什么| cpb是什么意思| 81年属什么的| 哈字五行属什么| 窗口期是什么意思| 左顾右盼的顾是什么意思| 甲状腺低是什么意思| 猫咪睡姿代表什么图解| 兔子不吃窝边草是什么意思| 天运子什么修为| 常吃山药有什么好处和坏处| 抑郁症吃什么药| 水险痣是什么意思| 气体交换受损与什么有关| 闪光点是什么意思| 毛肚是什么动物身上的| 孩子为什么要躲百天| 戊辰五行属什么| 李子什么时候吃最好| 抛锚是什么意思| 什么补钾最快| 什么秒必争| 孩子说话晚是什么原因| 治类风湿用什么方法好| 指甲容易断裂是什么原因| 变化不著是什么意思| 反应性增生是什么意思| 随性是什么意思| 直肠增生性的息肉是什么意思| 卧室放什么花最好健康| 剖腹产什么时候可以洗澡| 左胸上方隐痛什么原因| 肾阴阳两虚吃什么药| 3ph是什么意思| 真菌性龟头炎用什么药| jerry英文名什么意思| 两侧肋骨疼是什么原因| 束脚裤配什么鞋子| 加盟什么店最赚钱投资小| 胃酸过多吃什么食物好| 福肖指什么生肖| 喝生姜水有什么好处| 哺乳期发烧吃什么药不影响哺乳| 四月是什么星座| 一片片什么| 婆家是什么意思| 益母草煮鸡蛋有什么功效| 什么克水| 什么食物清肺化痰| 调制乳粉是什么意思| 繁字五行属什么| 骨盐量偏高代表什么| 动漫ova是什么意思| 固体玉米糖浆是什么| 济南有什么景点| 榴莲为什么那么贵| 反流性食管炎吃什么食物好| 海棠花什么时候开花| 淡奶是什么| 考拉是什么意思| 伏特加是用什么酿造的| 背疼挂什么科室最好| 眉毛上长痘是什么原因| 为什么会心衰| 包皮是什么样子的| 开口腔诊所需要什么条件| 乳腺彩超能查出什么| 什么是维生素| 73年属什么| 正月初八是什么星座| 音乐制作人是干什么的| 尿肌酐低说明什么原因| 金丝玉是什么玉| 雪媚娘是什么| 生化有什么症状和反应| 医疗行业五行属什么| 饮鸩止渴什么意思| 什么中毒查不出来| 手电筒的金属外壳相当于电路中的什么| 不老莓是什么| 圆周率是什么| 宝宝拉黑色大便是什么原因| 无花果什么时候结果| 高血压可以喝什么饮料| 眼皮有痣代表什么| 抑郁症是什么原因造成| 里字五行属什么| obsidian什么意思| 锲而不舍下一句是什么| 1952属什么生肖| 失眠是什么意思| 指什么生肖| 身份证后四位是什么意思| 为什么不建议小孩打流感疫苗| 信天翁是什么鸟| 醋加小苏打有什么作用| ngs什么意思| 禾加一笔是什么字| 柠檬和什么一起泡减肥| 不丹为什么不跟中国建交| 宝宝发烧是什么原因引起的| 深渊什么意思| 暑假是什么时候| 运动后体重增加是什么原因| 正月初十是什么星座| jumper是什么衣服| mect是什么意思| 手指麻木是什么原因引起的| 消谷善饥是什么意思| 甚微是什么意思| 老铁是什么意思| 六爻是什么意思| 肾囊肿是什么原因引起的| 咖啡喝了有什么好处| 梦见闹离婚是什么意思| 蚂蚱和蝗虫有什么区别| 光阴是什么意思| 双手抽筋是什么原因| 呕吐后吃什么食物好| 拖鞋什么材质的好| hgh是什么意思| 百度Jump to content

因犯罪剧走红的青衣小花 马思纯徐冬冬焦俊艳杨蓉

From Wikipedia, the free encyclopedia
MQTT
MQTT logo
StatusPublished
Year started1999
Latest version5.0[1]
7 March 2019
Organization
CommitteeOASIS Message Queuing Telemetry Transport Technical Committee[3]
EditorsAndrew Banks (IBM), Ed Briggs (Microsoft), Ken Borgendale (IBM), Rahul Gupta (IBM)[1]
Related standardsMQTT-SN[4]
Websitemqtt.org
百度 关于搜车的合法性,AnthonyLitterello警官称,由于周立波不懂英语,车内的乘客唐爽充当翻译,在唐爽的帮助下,警方查验了周立波的驾驶证件。

MQTT[a] is a lightweight, publish–subscribe, machine-to-machine network protocol for message queue/message queuing service. It is designed for connections with remote locations that have devices with resource constraints or limited network bandwidth, such as in the Internet of things (IoT). It must run over a transport protocol that provides ordered, lossless, bi-directional connections—typically, TCP/IP.[1] It is an open OASIS standard and an ISO recommendation (ISO/IEC 20922).

History

[edit]

Andy Stanford-Clark (IBM) and Arlen Nipper (then working for Eurotech, Inc.) authored the first version of the protocol in 1999.[5] It was used to monitor oil pipelines within the SCADA industrial control system.[6] The goal was to have a protocol that is bandwidth-efficient, lightweight and uses little battery power, because the devices were connected via satellite link, which was extremely expensive at that time.[7]

Historically, the "MQ" in "MQTT" came from the IBM MQ (then "MQSeries") product line, where it stands for "Message Queue". However, the protocol provides publish-and-subscribe messaging (no queues, in spite of the name).[8] In the specification opened by IBM, as version 3.1, the protocol was referred to as "MQ Telemetry Transport".[9][10] Subsequent versions released by OASIS strictly refer to the protocol as just "MQTT", although the technical committee itself is named "OASIS Message Queuing Telemetry Transport Technical Committee".[3] Since 2013, "MQTT" does not stand for anything.[11][8]

In 2013, IBM submitted MQTT v3.1 to the OASIS specification body with a charter that ensured only minor changes to the specification could be accepted.[3] After taking over maintenance of the standard from IBM, OASIS released version 3.1.1 on October 29, 2014.[12][13] A more substantial upgrade to MQTT version 5, adding several new features,[14] was released on March 7, 2019.[1]

MQTT-SN (MQTT for Sensor Networks) is a variation of the main protocol aimed at battery-powered embedded devices on non-TCP/IP networks,[15] such as Zigbee.[16]

Overview

[edit]

The MQTT protocol defines two types of network entities: a message broker and a number of clients. An MQTT broker is a server that receives all messages from the clients and then routes the messages to the appropriate destination clients.[17] An MQTT client is any device (from a microcontroller up to a full-fledged server) that runs an MQTT library and connects to an MQTT broker over a network.[18]

Information is organized in a hierarchy of topics. When a publisher has a new item of data to distribute, it sends a control message with the data to the connected broker. The broker then distributes the information to any clients that have subscribed to that topic. The publisher does not need to have any data on the number or locations of subscribers; and subscribers, in turn, do not have to be configured with any data about the publishers.

If a broker receives a message on a topic for which there are no current subscribers, the broker discards the message unless the publisher of the message designated the message as a 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 quality of service (QoS) for the selected topic. Each client that subscribes to a topic pattern that matches the topic of the retained message receives the retained message immediately after they subscribe. The broker stores only one retained message per topic.[19] This allows new subscribers to a topic to receive the most current value rather than waiting for the next update from a publisher.

When a publishing client first connects to the broker, it can set up a default message to be sent to subscribers if the broker detects that the publishing client has unexpectedly disconnected from the broker.

Clients only interact with a broker, but a system may contain several broker servers that exchange data based on their current subscribers' topics.

A minimal MQTT control message can be as little as two bytes of data. A control message can carry nearly 256 megabytes of data if needed. There are fourteen defined message types used to connect and disconnect a client from a broker, to publish data, to acknowledge receipt of data, and to supervise the connection between client and server.

MQTT relies on the TCP protocol for data transmission. A variant, MQTT-SN, is used over other transports such as UDP or Bluetooth.

MQTT sends connection credentials in plain text format and does not include any measures for security or authentication. This can be provided by using TLS to encrypt and protect the transferred information against interception, modification or forgery.

The default unencrypted MQTT port is 1883. The encrypted port is 8883.[20]

MQTT broker

[edit]

The MQTT broker is a piece of software running on a computer (running on-premises or in the cloud), and could be self-built or hosted by a third party. It is available in both open source and proprietary implementations.

The broker acts as a post office. MQTT clients don't use a direct connection address of the intended recipient, but use the subject line called "Topic". Anyone who subscribes receives a copy of all messages for that topic. Multiple clients can subscribe to a topic from a single broker (one to many capability), and a single client can register subscriptions to topics with multiple brokers (many to one).

Each client can both produce and receive data by both publishing and subscribing, i.e. the devices can publish sensor data and still be able to receive the configuration information or control commands (MQTT is a bi-directional communication protocol). This helps in both sharing data, managing and controlling devices. A client cannot broadcast the same data to a range of topics, and must publish multiple messages to the broker, each with a single topic given.

With the MQTT broker architecture, the client devices and server application become decoupled. In this way, the clients are kept unaware of each other's information. MQTT, if configured to, can use TLS encryption with certificate, username and password protected connections. Optionally, the connection may require certification, in the form of a certificate file that a client provides and must match with the server's copy.

In case of failure, the broker software and clients can automatically hand over to a redundant/automatic backup broker. Backup brokers can also be set up to share the load of clients across multiple servers on site, in the cloud, or a combination of these.

The broker can support both standard MQTT and MQTT for compliant specifications such as Sparkplug.[21] This can be done with the same server, at the same time and with the same levels of security.

The broker keeps track of all the session's information as the device goes on and off, in a function called "persistent sessions". In this state, a broker will store both connection info for each client, topics each client has subscribed to, and any messages for a topic with a QoS of 1 or 2.[22]

The main advantages of an MQTT broker are:

  1. Elimination of vulnerable and insecure client connections (when appropriately configured).
  2. Ability to easily scale from a single device to thousands.
  3. Management and tracking of client connection states, including security credentials and certificates (when appropriately configured).
  4. Reduction of strain on cellular or satellite networks without compromising security (when appropriately configured).

Message types

[edit]

Connect

[edit]
Example of an MQTT connection (QoS 0) with connect, publish/subscribe, and disconnect. The first message from client B is stored due to the retain flag.

Waits for a connection to be established with the server and creates a link between the nodes.

Disconnect

[edit]

Waits for the MQTT client to finish any work it must do, and for the TCP/IP session to disconnect.

Publish

[edit]

Returns immediately to the application thread after passing the request to the MQTT client.

Version 5.0

[edit]

In 2019, OASIS released the official MQTT 5.0 standard.[1] Version 5.0 includes the following major new features:[23]

  • Reason codes: Acknowledgements now support return codes, which provide a reason for a failure.
  • Shared subscriptions: Allow the load to be balanced across clients, thus reducing the risk of load problems.
  • Message expiry: Messages can include an expiry date and are deleted if they are not delivered within this time period.
  • Topic alias: The name of a topic can be replaced with a single number.

Quality of service

[edit]

Each connection to the broker can specify a QoS measure.[24] These are classified in increasing order of overhead:

  • At most once – the message is sent only once and the client and broker take no additional steps to acknowledge delivery (fire and forget).
  • At least once – the message is re-tried by the sender multiple times until acknowledgement is received (acknowledged delivery).
  • Exactly once – the sender and receiver engage in a two-level handshake to ensure only one copy of the message is received (assured delivery).

This field does not affect handling of the underlying TCP data transmissions; it is only used between MQTT senders and receivers.

Security

[edit]

Security of the MQTT protocol was compromised[25] in 2020 by Italian researchers, executing slow DoS attacks on such protocol.[26]

Clustering

[edit]

MQTT clustering is a technique employed to ensure high availability, fault tolerance, and scalability in MQTT deployments.[27] As an efficient and lightweight messaging protocol, MQTT clustering allows for the creation of a resilient network of interconnected broker nodes, ensuring continuous and reliable message delivery even in the face of hardware failures or network disruptions.

See also

[edit]

Notes

[edit]
  1. ^ Originally an initialism of MQ Telemetry Transport. MQ stands for "message queues", as derived from the IBM MQ product name.

References

[edit]
  1. ^ a b c d e "MQTT Version 5.0". OASIS. 2025-08-04. Retrieved 2025-08-04.
  2. ^ "ISO/IEC 20922:2016 Information technology — Message Queuing Telemetry Transport (MQTT) v3.1.1". Retrieved 2025-08-04.
  3. ^ a b c "OASIS Message Queuing Telemetry Transport (MQTT) Technical Committee Charter". OASIS. Retrieved 2025-08-04.
  4. ^ "MQTT SN Subcommittee". OASIS. Retrieved 2025-08-04.
  5. ^ "10th birthday party". MQTT.org. July 2009. Archived from the original on March 15, 2015. Retrieved April 25, 2015.
  6. ^ "Transcript of IBM podcast" (PDF). IBM.com. November 2011. Retrieved January 7, 2021.
  7. ^ "Getting Started with MQTT". HiveMQ. 2025-08-04.
  8. ^ a b Team, The HiveMQ. "Introducing the MQTT Protocol – MQTT Essentials: Part 1". HiveMQ. Retrieved 2025-08-04.
  9. ^ "MQTT v3.1 and MQTT v3.1.1 Differences". OASIS Message Queuing Telemetry Transport (MQTT) TC. 12 February 2015. Retrieved 19 August 2021.
  10. ^ "MQTT V3.1 Protocol Specification". Eurotech, International Business Machines Corporation (IBM). 2010. Retrieved 2025-08-04.
  11. ^ "OASIS MQTT Technical Committee Minutes of for the meeting of Thursday, 25th April 2013 Teleconference" (PDF).
  12. ^ "MQTT Version 3.1.1". 2025-08-04. Retrieved 2025-08-04.
  13. ^ "6 facts why it's worth upgrading to the brand new MQTT 3.1.1 version". 2025-08-04. Retrieved 2025-08-04.
  14. ^ "Differences between 3.1.1 and 5.0". GitHub.
  15. ^ Stanford-Clark, Andy; Hong Linh Truong (November 14, 2013). "MQTT For Sensor Networks (MQTT-SN) Protocol Specification Version 1.2" (PDF). OASIS Open. OASIS Message Queuing Telemetry Transport (MQTT) Technical Committee. p. 28. Retrieved 2025-08-04.
  16. ^ "Introduction to MQTT-SN (MQTT for Sensor Networks)". 25 January 2017. Retrieved 2025-08-04.
  17. ^ Yuan, Michael. "Getting to know MQTT". IBM Developer. Retrieved 13 October 2019.
  18. ^ "Client, Broker / Server and Connection Establishment - MQTT Essentials: Part 3". HiveMQ. 17 July 2019. Retrieved 13 October 2019.
  19. ^ "Retained Messages – MQTT Essentials: Part 8". HiveMQ. 2 March 2015. Retrieved 13 October 2019.
  20. ^ "FAQ – Frequently Asked Questions". MQTT.org. Retrieved 2025-08-04.
  21. ^ "MQTT Sparkplug/Tahu". www.cirrus-link.com. Retrieved November 5, 2019.
  22. ^ Cope, Stephen (2020). MQTT For Complete Beginners. Wydawca nieznany. p. 17. ISBN 9798779030762.
  23. ^ "What is MQTT? Definition and Details". www.paessler.com. Retrieved 2025-08-04.
  24. ^ "IBM Knowledge Center - IBM MQ - Using MQTT with IBM Integration Bus - Quality of service and connection management". www.ibm.com. Retrieved 2025-08-04.
  25. ^ Vaccari, I., Aiello, M., Cambiaso, E. (2020). SlowITe, a novel denial of service attack affecting MQTT. Sensors, 20(10), 2932. doi:10.3390/s20102932.
  26. ^ CVE-2020-13849.
  27. ^ "High availability MQTT Cluster - Bevywise Networks". www.bevywise.com. Retrieved 2025-08-04.
  28. ^ "APIs & Protocols". Solace. Retrieved 2025-08-04.
  29. ^ "MQTT 5.0 Support ??". Solace Community. 4 January 2021. Retrieved 2025-08-04.
[edit]
威慑力是什么意思 纵欲什么意思 的意思是什么 西米是什么东西 宫颈钙化灶是什么意思
狮子座是什么时候 吃什么可以长高 抹茶是什么茶叶做的 娇滴滴是什么意思 cordura是什么面料
腰间盘挂什么科 王玉读什么 养鱼为什么养单不养双 熬夜伤什么 老树盘根是什么意思
1955年属什么 ov是什么意思 话少一般都是什么人 什么是切片 月亮是什么
眼睛充血是什么原因造成的tiangongnft.com 火疖子用什么药膏hcv7jop7ns1r.cn 碧螺春属于什么茶hcv8jop2ns3r.cn 什么寒什么冻hcv8jop8ns6r.cn 肚脐下三寸是什么位置hcv8jop7ns4r.cn
怀孕吃什么可以快速流产hcv8jop1ns9r.cn 孕初期需要注意些什么hcv9jop4ns9r.cn 大象的鼻子为什么那么长hcv8jop8ns2r.cn 补气固表什么意思hcv8jop2ns4r.cn 系统性红斑狼疮挂什么科hcv9jop5ns2r.cn
loa胎位是什么意思hcv7jop5ns5r.cn 怎么判断脸上是什么斑hcv9jop3ns9r.cn 胎盘长什么样子图片hcv8jop8ns9r.cn 小腹左边疼是什么原因hcv8jop4ns9r.cn 草木皆兵指什么生肖hcv9jop3ns2r.cn
中国梦是什么hcv7jop5ns5r.cn 急是什么结构hcv9jop3ns7r.cn 企鹅是什么意思youbangsi.com 65什么意思hcv9jop3ns5r.cn 轻如鸿毛是什么意思mmeoe.com
百度