The Internet of things will utilize the existing networking infrastructure,technologies and protocols currently used in homes/offices and on the Internet, and will introduce many more.
The purpose of this article is to give you a quick overview of what networking protocols are likely to be used to build the IOT.
Note: You should have a understanding of basic Networking and Networking technologies before you continue
The IOT will consist of an array of new devices that are very different to tablets and PCs.
The main characteristics of these devices are likely to be.
- They will be low powered – battery or solar.
- Probably low unit cost
- They will have limited processing power and memory.
- Operate over a wide variety of ranges.
The IOT will run over the existing TCP/IP network.
The TCP/IP networking model uses a 4 layer model with protocols defined at each level.
The areas that are showing the greatest activity are the datalink (levels 1and 2) and application layer (level 4).
The network and transport layers are likely to remain unaltered.
At the moment these layers are designed to connect our computers and mobile devices to the Internet and already have established protocols and technologies.:
- Data link level – e.g. Ethernet,Wi-Fi, 3G for mobile
- Networking e.g. IP (version 4)
- Transport level e.g. TCP, UDP
- Application level – e.g. HTTP, SMTP
Each of these levels will have protocols and technologies both old and new that you will need to be acquainted with when designing systems and services for the IOT.
Data Link Level
At this layer you will have a requirement to connect devices that are nearby e.g. on Local networks, and that are more distant e.g. Metropolitan and wide area networks.
Current computer networks use Ethernet and Wi-Fi at this level for home/office networking (LANs) and 3G/4G for Mobile connections (WANs).
However many IOT devices, like sensors, will be low powered (battery only).
Ethernet isn’t suitable for these applications but low powered W-fi and low powered Bluetooth are.
Although existing wireless technologies (Wi-Fi, Bluetooth,3G/4G) will be used to connect these devices, other newer wireless technology, especially designed for IOT applications, will also need to be considered, and will likely grow in importance.
Networking Level or Layer
The protocol that is set to dominate at the networking level is IPv6.
It is very unlikely that IPv4 will be used,, but it may play a role in the initial stages.
Transport Level or Layer
At the transport level TCP has dominated and is used by HTTP and many other protocols (SMTP, POP3, IMAP4 etc).
However because of the requirement for low protocol overhead I would expect UDP to feature much more in the IOTs.
See TCP vs UDP for more details
Application Level Protocols
HTTP is probably the best known protocol at this level as it it the protocol that powers the Web (WWW).
HTTP is also going to be important to the Internet of things as it is used for REST APIs which are becoming the main mechanism for Web Applications and services to communicate.
However messaging is likely to become just as important to the IOTs as it has become for Person to Person (P2P) communications. e.g. Whats App
IMO Messaging (Machine to Machine M2M) will probably become the Email of the IOT world.
There are several messaging protocols currently in use. Many where designed and developed before the IOTs became a buzzword.
However some messaging protocols e.g. COAP have been developed for the IOTs.
Which of these protocols will dominate is unsure, but because of the very many different requirements of Internet connected devices there will be more than one.
- MQTT– (Message Queuing Telemetry Transport) Uses TCP/IP. Publish subscribe model requires a message broker (switch). See an Introduction to MQTT for beginners
- AMQP -( Advanced Message Queuing Protocol) Uses TCP/IP. Publish subscribe model and Point to Point .
- COAP-(Constrained Application Protocol) -Uses UDP designed specifically for IOT uses request response model like HTTP. RFC 7252
- DDS– (Data Distribution Service) –
This article covers the main protocols and their main uses.
The conclusion of this articles seems to be that the IOT will consist of a collection of protocols depending on their intended use.
However if you look back to the early days of the Internet HTTP was just one of many protocols, but it has become the dominant one.
Even though HTPP wasn’t designed for file transfer it is used for file transfer. It wasn’t designed for email either, but it is used for email.
IMO IOT messaging protocols will follow a similar pattern with most of the services using 1 dominant protocol.
Below are the Google trend charts showing how the popularity of MQTT, COAP and AMQP has changed over the last few years.
Google Trends Overview
Over the last few years MQTT has emerged as the most popular, and is the one I’m currently focusing on on this site.
- IOT and Messaging
- What’s the Right Messaging Standard for the IoT?
- real-time protocols IOT
- Slideshare overview of main IOT messaging Protocols Good comparison of MQTT and DDS
- Comparison of Modbus and MQTT IOT protocols
- MQTT,MQTT-SN and COAP