Communication protocols related to Internet of Things (IoT)

Posted in 知识科普  |  Tagged , , ,

summarize

communication protocol

The Internet of Things (IoT) is represented as a global network that intelligently connects all objects, whether devices, systems or humans, with self-configuring capabilities based on standard and interoperable protocols and formats. This is accomplished throughSmart Sensors, identification technology and computing, the Internet of Things has been called the information wave after computers and the Internet.IoT supports hundreds of protocols. Among many protocols, wireless protocols play an important role in IoT development. We generally categorize them into two main types, one is transmission protocols and the other is communication protocols. Transmission protocols are generally responsible for networking and communication between devices within a subnet; communication protocols are mainly device communication protocols running on top of the traditional Internet TCP/IP protocols, which are responsible for data exchange and communication between devices over the Internet;

Due to the diversity of IoT interface types, the communication protocols are also very diverse. Each communication protocol will have its own scope of application; for example, AMQP, JMS, REST/HTTP are all working in the Ethernet application environment. Because the basic protocol of the Internet is TCP/IP; resulting in http communication protocol is very widely used, its development cost is low, and the degree of openness is high; therefore, many IoT applications are also based on the http protocol for development; in the traditional web technology based on the construction of IoT protocol standards. Industrial Internet of Things protocol is very much, here we only list the application layer protocols commonly used in industrial Internet of Things:

MQTT protocol

MQTT (Message Queuing Telemetry Transport) is a messaging protocol based on the publish/subscribe paradigm (replacing the request/reply commonly used in previous Internet approaches) under the ISO standard (ISO/IEC PRF 20922). It works on the TCP/IP family of protocols and is a publish/subscribe messaging protocol designed for remote devices with low hardware performance and poor network conditions, for which a messaging middleware is required.The MQTT protocol is lightweight, simple, open, and easy to implement, characteristics that make it very widely applicable and has become a standard protocol for the Internet of Things. In many cases, the simplicity of the specification makes it ideal for IoT scenarios that require low power consumption and limited network bandwidth, including constrained environments such as machine-to-machine (M2M) communication and the Internet of Things (IoT), where it has been used extensively for communicating remote sensing data over satellite links, occasional dial-up medical devices, smart homes, and some miniaturized devices.

The main benefits of MQTT are:

Lightweight and efficient, it minimizes the resources required for client and network bandwidth.
Bidirectional communication between devices and servers is supported. In addition, messages can be broadcast to groups of things.
Scalable to millions of things.
Specifies the Quality of Service (QoS) level to support message reliability.
Supports persistent sessions between devices and servers, thereby reducing the reconnection time required on unreliable networks.
Messages can be encrypted using TLS and support client authentication protocols.

CoAP protocol

CoAP Constrained Application Protocol (CoAP) is a Web-like protocol in the world of Internet of Things (IoT), as many of the devices in the wireless IoT are resource-constrained, these devices have only a small amount of memory space and limited computing power. For this reason, the CoRE (Constrained RESTful Environment) working group of the IETF (Intemet Engineering Task Force) develops relevant application layer protocols in the form of REST (Representational State Transfer) for constrained nodes. Ideal for one-to-one M2M communications in LAN environments; e.g., small, low-power sensors, switches, valves, and similar components that need to be remotely controlled or monitored over a standard Internet network, servers may not respond to unsupported types.

CoAP is a service layer protocol for resource-constrained Internet devices such as wireless sensor network nodes.CoAP is designed to be easily converted to HTTP to simplify integration with the Web, while also meeting the special requirements of multicast support, very low overhead, and simplicity. Multicast, low overhead and simplicity are important for Internet of Things (IoT) and machine-to-machine (M2M) communications, which are often deeply embedded and have much less memory and power than traditional Internet devices. Therefore, efficiency is very important.CoAP can run on most devices that support UDP or UDP emulation

AMQP protocol(Interoperability)

AMQP (Advanced Message Queuing Protocol), advanced message queuing protocol, used for business systems such as PLM, ERP, MES, etc. for data exchange; the earliest application of the financial system between the transaction messaging, in the Internet of Things applications, mainly for mobile handheld devices and the backend of the data center communication and analysis.

AMQP is a binary application layer protocol designed to efficiently support a variety of messaging applications and communication models. It provides flow-controlled, message-oriented communication with message delivery guarantees such as at most once (each message is delivered once or never), at least once (each message is sure to be delivered, but can be delivered multiple times) and exactly once (messages are always sure to arrive and do so only once), as well as SASL and/or encryption-based authentication and/or cryptographic breakers. It assumes an underlying reliable transport layer protocol such as Transmission Control Protocol (TCP).

The AMQP specification is divided into several layers: (1) a type system, (2) a symmetric asynchronous protocol for transferring messages from one process to another, (3) a standardized, extensible message format, and (4) a set of standardized, but extensible, "messaging functions".

REST/HTTP (loosely coupled service calls)

At the application level of IoT, resources in IoT are often opened through REST/HTTP to realize services being called by other applications. It is used to realize the loose coupling of client-server interaction and reduce the interaction latency between client and server.

Good aspects: 1, simple, flexible and easy to extend.2, with a mature ecological specification; 3. Stateless protocols, conducive to the realization of distributed clustering.
The bad: plaintext transmission, all data can be easily accessed. Unable to validate the identity of both communicating parties. Leads to malicious access. Cannot prove the integrity of the message and may be tampered with.

DDS protocol (high reliability, real time)

DDS (Data Distribution Service for Real-Time Systems), a data distribution service for real-time systems; DDS well supports data distribution and device control between devices, data transfer between devices and the cloud, while the real-time efficiency of DDS's data distribution is very high, and it can simultaneously distribute millions of messages in seconds to many devices at the same time.

OMG is a computer industry standards consortium; founded in 1989 by 11 companies (including Hewlett-Packard, IBM, Sun Microsystems, Apple Computer, American Airlines, iGrafx, and Data General); responsible for DDS releases and maintenance

DDS is a network middleware that simplifies complex network programming. It implements a publish-subscribe model for sending and receiving data, events, and commands between nodes. The node generating the message (the publisher) creates a "topic" (e.g., temperature, location, pressure) and publishes a "sample", which DDS makes available to subscribers who declare an interest in the topic.

DDS offers very many guaranteed paths to quality of service (QoS) for aerospace and defense, air traffic control, self-driving cars, medical devices, robotics, power generation, simulation and testing, smart grid management, transportation systems, and other applications that require real-time data exchange.

XMPP protocol (instant messaging)

XMPP (Extensible Messaging and Presence Protocol) Extensible Messaging and Presence Protocol, originally named Jabber; an open-source form of organization-generated instant messaging protocol for the Web; designed for instant messaging (IM), status messages and contact list maintenance. Based on XML (Extensible Markup Language), it supports the near real-time exchange of structured data between two or more network entities. The protocol is designed to be extensible, providing numerous applications beyond traditional IM in the broader field of message-oriented middleware, including VoIP, video, file transfer, gaming, remote system monitoring, and other usage application areas.

Unlike most commercial instant messaging protocols, XMPP is defined in open standards at the application layer.The architecture of an XMPP network is similar to e-mail; anyone can run their own XMPP server, and there is no central master server. This federated open systems approach allows users to interoperate with others on any server using a "JID" user account (similar to an email address). XMPP implementations can be developed using any software license, and many server, client, and library implementations are distributed as free and open source software. Many freeware and commercial software implementations also exist.

Originally developed by the open source community, these protocols officially became a ratified instant messaging standard in 2004, and new extensions and features continue to be developed. A variety of XMPP client software is available for desktop and mobile platforms and devices

JMS (Java Message Service)

JMS (Java Message Service), or message service, which is a well-known message queuing protocol in the JAVA platform.Java Message Service Application Programming Interface, is a Java platform on the message-oriented middleware (MOM) API for sending messages between two applications, or distributed systems, for asynchronous communication.Java Message Service is a platform-independent API, and most MOM providers offer support for JMS.

The JMS API supports two different models: peer-to-peer, publish and subscribe. A useful use case is where you want the client and server to communicate with each other, but the client doesn't actually have the address of the server (for example, you may have multiple servers). The client only needs to know the proxy and the queue/topic name, and the server can also connect to the

BACnet

BACnet is a communication protocol for intelligent buildings, defined by the International Organization for Standardization (ISO), the American National Standards Institute (ANSI), and the American Society of Heating, Refrigerating, and Air-Conditioning Engineers (ASHRAE).BACnet is designed for communication for intelligent building and control system applications, and can be used in heating, ventilation and air-conditioning (HVAC) systems (including heating, ventilation, air conditioning), as well as lighting control, access control systems, fire detection systems and their associated equipment. Advantages of the system can reduce the cost of maintenance and installation is easier than the general industrial communication protocols, and provides five commonly used standard protocols in the industry, which can prevent the monopoly of the equipment suppliers and system operators, and therefore the future system scalability and compatibility is greatly increased!

The BACnet protocol defines a number of services used to communicate between building devices. Protocol services include Who-Is, I-Am, Who-Has, and I-Have, which are used for device and object discovery. Services such as Read Attribute and Write Attribute are used for data sharing. Beginning with ANSI/ASHRAE 135-2016, the BACnet protocol defines 60 object types for which operations are performed by services.

The BACnet protocol defines a number of data link/physical layers, including ARCNET, Ethernet, BACnet/IP, BACnet/IPv6, BACnet/MSTP, point-to-point over RS-232, master-slave/token passing over RS-485, ZigBee and LonTalk.

PROFINET

PROFINET was launched by PROFIBUS International (PROFIBUS International, PI), is a new generation of automation bus standard based on industrial Ethernet technology;PROFINET is a complete solution for different needs, its function includes 8 main modules, in order of real-time communication, distributed field devices, motion control, Distributed automation, network installation, IT standards and information security, fail-safe and process automation. PROFINET can realize data transmission services under different latencies, ranging from 100ms to 31.25us; according to the time requirements of the application can be divided into several application areas of PROFINET, such as: low-latency corresponds to high real-time requirements of the field of motion control; medium-high latency corresponds to the process/factory. High latency corresponds to the process/factory automation field.

MQTT, DDS, AMQP, XMPP, JMS, REST, CoAP, these protocols have been widely used, and each protocol has at least 10 code implementations, all claiming to support real-time publish/subscribe IoT protocols, but in the design of the specific IoT system architecture, you need to take into account the actual scenarios of the communication needs, select the appropriate protocols

Editor-in-chief of the website.

Content review.
en_USEnglish