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 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 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.
There are other data link protocols that have been designed specifically for the IOT like:
Mobile networks 3G and 4G will still be used for WAN connectivity but public Wi-Fi networks may also play a large role.
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.
Application Level -Messaging Protocols
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) –
Related tutorials and references:
- Internet Society IOT overview pdf
- A guide to M2M and the Internet of Things
- Internet of Things Wiki–