[This article was published by Velmurugan Manoharan, Sr. Software Engineer at Prodapt, originally on Dataottam.]
TCP/IP stack is the recent development in the traditional OSI (Open Systems Interconnection) model. It has gone through a series of modifications similar to M2M/IoT. OSI, a seven-layered model, was standardized by ISO. TCP and IP, which were the predominantly used protocols, reduced the seven-layered architecture to a four-layered one. However, the functionality and features of the layers remain the same.
To help readers new to TCP/IP, this article will explain the above architecture by comparing it with delivery fleets. A protocol is nothing but a set of rules or standards to be followed for the execution of a process. For instance, if a person has to press the “Like” button on Facebook, it involves only the physical activity of moving the mouse cursor over the button and clicking on it. But internally, the PC generates a piece of data which travels miles.
Consider a package, which has to be transported from A to B via a delivery service. The package, in this case, is data; the delivery service vehicle is the transport medium; and the roads are the transportation links (channels).
Similarly, a piece of data generated from the user application (web/mobile) has to travel through a few important layers (Transport, Network and Physical). The package will initially be labeled with secure credentials to ensure the delivery to the right person. In TCP/IP, the Transport layer will ensure that the data is sent through the appropriate connection based on its type.
Network layer is comparable to the door address and the Physical layer (communication channel in TCP/IP) to the street/highway number.
With respect to IoT, amendments and additions have been made to the existing protocols and released as proprietary (modifications owned by copyrighted authority) and Open Alliance versions. In the following image, we have added the most commonly used protocols and terms that we come across in IoT.
As mentioned earlier, the scope of this article is to provide the basics of existing protocols. Upcoming articles can explain the detailed aspects of protocols and their specifications.
The Physical layer plays a vital role in establishing the communication channel. IoT’s significance involves the following traits:
- Low power consumption
- Long battery life
- Low bandwidth consumption
- Smaller and lighter devices
Ability to connect and operate more devices in a single environment
The above features can be achieved with effective Physical layer standards. IEEE 802.15.4 (ZigBee, 6LoWPAN, WirelessHART, Mi-Wi), IEEE 802.15.1 (Bluetooth Low Energy (BLE) – Bluetooth 4.0), Near Field Communication (NFC), etc. are the standards set by specific bodies such as IEEE (Institute of Electrical and Electronic Engineers) and proprietary vendors (Z-Wave by SIGMA DESIGNS). These standards specify the following items:
- Operating frequency – similar to public bus timings
- Bandwidth usage – capacity per bus
- Power consumption – mileage of each vehicle
Once physical connectivity has been established, there has to be a unique method for differentiating the devices operating in their own range. The network address plays a vital role in identifying each PC connected to the same router, similar to unique numbers or IDs representing buses departing from a terminus at the same time.
In IoT, each alliance has its own network address. For instance, ZigBee is one alliance with its own network addresses. Similarly, BLE and Z-Wave have their own network addresses respective to their environments.
Wi-Fi devices come with IP stack in their chip, enabling IP-based connectivity. The IP layer aids the respective devices to effectively communicate within their operating range.
6LoWPAN (IPv6 Low Power Wireless Personal Area Network) devices also operate in IEEE 802.15.4, but they have the network stack with IP connectivity (IPv6). As an analogy, consider TV remotes which could be operated on the internet.
The Transport layer plays the role of advanced safes and locking mechanisms in networks and data exchanges. IoT networks, being low-powered, are easily prone to attacks. The Transport layer has to be embedded with efficient security features, in addition to being responsible for effective bandwidth consumption and session maintenance.
The applications developed on top of the Transport layer have to select the appropriate Transport layer protocol for effective power and bandwidth preservation.
Finally, the application layer serves as the interface between the user and the desired sensor application. Protocols such as HTTP/HTTPS (Hyper Text Transfer Protocol – Secure) have been in existence ever since IP began. A common browser makes use of HTTP. With IoT, protocols such as Message Queuing Telemetry Protocol (MQTT), Advanced Message Queuing Protocol (AMQP), Constrained Application Protocol (CoAP), etc., have emerged significantly. For instance, Adhaar card makes use of AMQP, and Facebook Messenger uses the MQTT protocol. CoAP, a lighter version of the heavyweight HTTP protocol, is more effective when used in combination with 6LoWPAN.
So, the selection of appropriate Application layer protocols depends on the verticals (healthcare, smart home, asset tracking, etc.,) for which they are designed. This would aid the underlying protocols to effectively work on conserving their respective features and aiding in achieving the goal of IoT.
For now, we have discussed IoT personal area network (PAN) protocols
LoRA and SIGFOX are IoT wide area network (WAN) protocols which have not been covered in this blog.
PAN and WAN differ in their coverage range
PAN Connectivity range: 1 – a few meters
WAN Connectivity range: 1- many kilometers
Hope this article covers the basic idea on existing IoT protocols and their respective positioning in the TCP/IP stack. Keep visiting the blog for more information on the standards and their specifications.