In the previous tutorial, a basic architecture of an IOT system was discussed. From the discussions in the previous tutorial, it must be clear that communication network is the backbone of any IOT system. It is only the (internet) network that enables IOT devices (boards) and cloud based services and applications to communicate with each other. Without internet network, IOT is nothing. Data communication on an internet network is not as straight forward. There are myriad of heterogeneous devices connected over internet and these plethora of unique devices need to communicate in a secure, reliable and routed fashion. Also, the devices may be running unique applications or services that would have their own framework and domain. With such diversity at ends, the internet manages to establish connection and communication between or among devices by implementation of standard protocols at different stages or layers.
Any internet network is a stack of technologies. There are technologies to connect devices physically (to co-located devices or routers), assign them logical addresses, route data through the network and manage data exchange at the client ends.
For standardization and sake of implementation of protocols, these technologies are arranged in different layers. Typical internet networks follow Open Systems Interconnection (OSI) model which is an ISO standard model for internet. The OSI model architectures the internet into seven layers – Physical, Data Link, Network, Transport, Session, Presentation and Application. Though the actual implementation of OSI model is done through TCP-IP model which simplifies the seven-layer OSI model to four-layer internet protocol suite. In TCP-IP model (realistic implementation of OSI Model), the physical and data link layer are merged to form physical and network access layer and the session, presentation and application layers of OSI model are merged to a single application layer.
Comparison of OSI and TCP-IP Model Layers
The stack transverse from both client ends connecting through the physical transmission medium and in-between networks/servers on internet.
Device to Device Communication over Internet
The cloud networks for IOT ecosystems practically do not have any standard architecture as these networks are highly customized environments with variable complexities. Though, various architecture models for IOT systems can be compared with typical OSI or TCP-IP models due to similar implementation of architecture layers. Generalizing various architecture models deployed or recommended by standard organizations, a cloud or IOT network architecture would have the following four layers –
1) Infrastructure layer
2) Service Discovery/Service Management/Discovery Layer
3) Application Layer
4) Business Layer
IOT Reference Architecture Compared to OSI and TCP-IP Models
Each layer has various protocols for handling data transfer. The protocols are set of rules which are predefined and the devices must follow them to communicate with each other or communicate over network. Let us discuss each layer and protocols involved at them –
Infrastructure layer – In this layer, IOT devices (including sensor networks) and technologies physically connecting co-located devices, or devices to standard internet network, are included. Compared to OSI model, this layer merges physical, data link, network and transport layers of typical internet network. On comparing with TCP-IP model, this layer merges physical and network access, internet and transport layers. So, in general, this layer can be divided into following sub-layers –
1) Physical and Link/ MAC/ Network Access Layer – In physical layer, the individual bits are encoded and arranged in data link layer frames and the encoded data arranged in protocol defined frames is pushed to the wired or wireless data communication link. In case the data link is wireless, it is the physical layer which determines frequency and data transfer rate. Similarly, the physical layer also decodes the incoming bits and bytes and transfer them to the sitting processor or controller of the IOT device. The data link layer is responsible for encapsulating data packets into frames, access data link through Media Access Control (MAC) protocol and deliver or receive data over the communication link. Some of the standard protocols defined for physical and network access layers are as follow –
• Ethernet
• Bluetooth Low Energy
• Wireless HART
• Zigbee
• Z-wave
• RFID
• IEEE 802.11.ah
• IEEE 802.15.4e
• LoRaWAN
• DASH7
• Weightless
• HomePlug
• G.9959
• LTE-A
• DECT/ULE
• ISA 100.11a
• ANT
• NFC
• EPC Global
• EddyStone
• EnOcean
• WiMax
• NB-IOT
• EC-GSM-IOT (Extended Coverage GSM-IOT)
• RPMA
• LTE-MTC (LTE-Machine Type Communication)
• Cellular (GPRS/2G/3G/4G/5G)
• CDMA
• Thread
• INSTEON
• DigiMesh
2) Network or Network Encapsulation or Adaption Layer – This layer is responsible for addressing of data packets over internet. The incoming data grams from transport layer contain source and destination addresses. At network layer, the packets are encapsulated with unique addresses which are called IP addresses. Earlier IPv4 was used for addressing at network layer but its IP addresses have already exhausted. So, a new network layer protocol IPv6 has been specified which will have 128 bit addresses. The IPv6 has address space for 1038 addresses. 6LoWPAN is another network layer protocol for low power wireless personal area networks. It is an IPv6 protocol developed for wireless sensor networks and home area networks. So, the popular network layer protocols are as follow –
• IPv4
• IPv6
• 6LoWPAN
• 6Lo
• 6TiSCH
• IPv6 over Bluetooth Low Energy
• IPv6 over G.9959
3) Transport or Routing Layer – This layer is responsible for routing of data packets. At this layer, ordering of packets, error detection and correction in delivery of data packets is performed. Some of the popular protocols specified for Transport layer are as follow –
• TCP
• UDP
• DTLS
• TLS
• RPL
• CARP
• CORPL
• QUIC
• uIP
• ROLL
• Aeron
• CCN (Content Centric Networking)
• NanoIP
• TSMP (Time Synchronized Mesh Protocol)
Service Discovery or Service Management Layer – This layers differentiates the IOT networks or cloud networks with typical internet networks. The IOT devices need to find other devices, services and resources over internet. So, there is a need for resource management and registration process on cloud networks. For this purpose, service discovery and management protocols are specified. Some of the popular protocols for service discovery on IOT systems are as follow –
• DNS-SD (DNS-Service Discovery)
• mDNS (Multicast Domain Name System)
• uPnP
• Simple Discovery Service Protocol
Some of the currently available service discovery platforms and technologies are as follow –
• HyperCat
• Physical Web
• Wi-Fi Aware
• Bluetooth Beacons
• Shazam
• Open Hybrid
• Chirp
Application Layer – This is the highest layer within communication network. It is the interface between the (IOT) devices and the network. This layer is implemented through a dedicated application at the device end. Like for a computer, application layer is implemented by the browser. It is the browser which implements application layer protocols like HTTP, HTTPS, SMTP and FTP. Same way, there are application layer protocols specified in context to IOT as follow –
• MQTT
• SMQTT
• CoAP
• DDS
• XMPP
• AMQP
• RESTful HTTP
• MQTT-SN
• STOMP
• SMCP
• LLAP
• SSI
• LWM2M
• M3DA
• XMPP-IOT
• ONS 2.0
• SOAP
• Websocket
• Reactive Streams
• HTTP/2
• JavaScript IOT
Business Layer – This layer actually is not part of communication network. It lies at the IOT end point. It can be a cloud or server implementing dedicated applications or providing specific business or industrial solutions within the IOT system. Like it may be interconnecting various IOT devices to Enterprise Resource Planning (ERP) or Knowledge Management (KM) solution. This layer is actually responsible for integrating devices, services and solutions seamlessly and integrating cloud and devices for vertical specific (Health, Transport, Energy, Education etc) implementation.
In addition to protocols specified for different network layers, an IOT system may be utilizing additional protocols for device management, device identification, context awareness or semantics and data security. Some of the device management protocols are as follow –
• OMA-DM
• TR-069
• OMA-CP
Some of the data security protocols are as follow –
• Open Trust Protocol (OTrP)
• X.509
Some of the popular Semantic Protocols are as follow –
• SensorML
• IOTDB
• RAML
• SENML
• Semantic Sensor Net Ontology
• LsDL
• Wolfram Language Connected Devices
In the next tutorial, the physical and network access layer protocols and standards will be discussed.
Filed Under: Articles
Questions related to this article?
👉Ask and discuss on Electro-Tech-Online.com and EDAboard.com forums.
Tell Us What You Think!!
You must be logged in to post a comment.