After reading this chapter, the reader will be able to:
List common communication protocols in IoT
Identify the salient features and application scope of each communication protocol
Understand the terminologies and technologies in IoT communication
Determine the requirements associated with each of these communication protocols in real-world solutions
Determine the most appropriate communication protocol for their IoT implementation
Having covered the various connectivity technologies for IoT in the previous chapter, this chapter specifically focuses on the various intangible technologies that enable communication between the IoT devices, networks, and remote infrastructures. We organize the various IoT communication protocols according to their usage into six groups: 1) Infrastructure protocols, 2) discovery protocols, 3) data protocols, 4) identification protocols, 5) device management protocols, and 6) semantic protocols. These protocols are designed to enable one or more of the functionalities and features associated with various IoT networks and implementations such as routing, data management, event handling, identification, remote management, and interoperability. Figure 8.1 outlines the distribution of these IoT communication protocol groups .
Before delving into the various IoT communication protocols, we outline some of the essential terms associated with IoT networks that are indirectly responsible for the development of these communication protocols.
Constrained nodes is a term associated with those nodes where regular features of Internet-communicating devices are generally not available. These drawbacks are often attributed to the constraints of costs, size restrictions, weight restrictions, and available power for the functioning of these nodes. The resulting restrictions of memory and processing power often limit the usage of these nodes. For example, most of these nodes have a severely limited layer 2 capability and often lack full connectivity features and broadcasting capabilities. While architecting their use in networks and networked applications, these nodes require special design considerations. The issues of energy optimization and bandwidth utilization are dominant work areas associated with these nodes .
Constrained networks ,  are those networks in which some or all of the constituent nodes are limited in usage aspects due to the following constraints:
limited processing power resulting in restrictions on achieving smaller duty cycles.