Customers and things are connected via the Internet of Things (IoT) at any time and place. IoT provides a significant contribution to modern communication. The IoT creates the modern world, where things represent smart devices, mobile phones, wireless nodes, and many other objects. Contiki is an operating system focusing on implementing low-power IoT devices. Cooja is the Contiki network simulator, and it is the tool to simulate large and small networks of Contiki motes. The software package in the Contiki-Cooja simulator contains a UNIX-style shell for OS interface and debugging. A network can be implemented with a package of different layers and corresponding protocols. Various OSI layers are given along with their protocols.
• Application Layer (COAP, MQTT)
• Transport Layer (TCP, UDP, DTLS, TLS)
• MAC and Adaptation Layer (IEEE 802.15.4, IETF 6TiSCH, and 6LoWPAN)
• Network Layer (RPL)
Most of the research studies focus on application and routing layer protocols to improve the IoT communication performance. There are two aspects to improving the performance of routing and application layer protocols.
The RPL consists of different node attributes, link quality measurements, and Objective Functions (OFs) to construct the Destination Oriented Directed Acyclic Graph (DODAG) to root devices separately. To improve the efficiency of OFs, it explores the trickle algorithm. Recent researchers mainly focus on the OFs and Trickle improvements to enhance routing layer protocol efficiency.
Most of the recent researcher focuses on the study of RPL vulnerability analysis and its objective functions in RPL, especially with multiple intrusions against RPL in IoT. Most of the previous RPL studies are insufficient to cover all the security issues of IoT applications. Moreover, only a limited investigation has been done on machine learning-based IDS.
Congestion is one of the main issues in IoT application layer protocols, and limiting the congestion at the application layer is an important goal. CoAP provides a basic congestion control mechanism. It depends on a fixed interval retransmission timeout and binary exponential backoff for congestion control. However, the default CoAP congestion control is considered ineffective, especially under group communication, and it lacks in handling rapid, frequent requests. It tends to buffer overflow and packet loss. Moreover, if congestion occurs at the communication, the gateway may receive the delayed packet or incomplete packet. In such a case, the gateway requests the smart sensors to retransmit the packets, leading to unnecessary delay and overhead. Thus, effective congestion control is essential for CoAP.
The MQTT has not been designed with default security operations such as data confidentiality and integrity, and it does not apply any encryption scheme to data. The attackers can capture the MQTT topic and corresponding messages exchanged between the publisher-subscriber pair and degraded the performance of MQTT.
The Datagram TLS (DTLS) is suitable to make the CoAP secure.The DTLS provides authentication, key exchange, and protection for the data communication between legal entities. Like TLS, the DTLS/CoAP has to exchange high numbers of handshake messages between sensors. It fragments the packets into the 127-byte, but it tends to cause data loss and communication delays. Another main issue associated with the DTLS protocol is the high possibility of implementing Denial-of-Service (DOS) attack against the server. The possibility of a DoS attack in DTLS/CoAP architecture consumes high bandwidth, battery, and memory resources for malicious Hello messages.
Most of the applied protocols in different layers can be evaluated using the metrics of Packet Delivery Ratio, Packet Loss, Throughput, Control Overhead, Delay, Energy Consumption, Network Lifetime, and Message Size Overhead.